/* Breadcrumbs */
.breadcrumbs {
	list-style: none;
	padding-left: 0;
}

.breadcrumbs li {
	display: inline-block;
	padding-right: 6px;
}

.breadcrumbs li:not(:last-child) a:after {
	content: '/';
	padding-left: 6px;
}
/* Breadcrumbs */

/* Pagination */
.pagination {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}

.pagination a, .pagination .current {
	display: block;
	padding: 4px 6px;
	margin: 0 6px;
	border: 1px solid #fccb46;
}

.pagination a.disabled, .pagination .current {
	pointer-events: none;
	color: #fff;
	background: #fccb46;
}

.pagination a:not(.disabled):hover {
	background: rgba(45,111,156,.1);
}

@media (min-width:1199px) {
	.pagination a {
		padding: 4px 8px;
	}
}

/* Pagination */

/* Prices */
.prices {
	margin-top: 25px;
	margin-bottom: 25px;
}
.prices .header {
	border-bottom: 1px solid #eee;
	text-transform: uppercase;
	font-size: 16px;
	padding-bottom: 8px;
	margin-bottom: 12px;
}

.prices ul {
	list-style: none;
	padding: 0;
}

.prices ul li {
	display: flex;
	justify-content: space-between;
}

.prices ul li {
	margin-bottom: 10px;
	font-weight: bold;
}

.prices ul li a {
	color: #222222;
}
/* Prices */

/* Sorting */
.sorting {
	padding-top: 15px;
	padding-bottom: 15px;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
	margin-bottom: 25px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.sorting .label {
	width: 100%;
	text-align: center;
	margin-bottom: 8px;
}

.sorting div:not(.label) {
	padding: 10px;
	border: 1px solid #ddd;
	margin-left: 10px;
	margin-right: 10px;
	cursor: pointer;
}

.sorting .active:not(.label) {
	background: #dddddd;
}

@media (min-width: 768px) {

	.sorting {
		justify-content: flex-start;
	}
	.sorting .label {
		width: auto;
		line-height: 38px;
		margin-bottom: 0;
	}
}
/* Sorting */


.results-counter {
	color: #777;
	padding: 9px 0;

}

.top-archive {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	margin-bottom: 25px;
}

.top-archive .sort {
	width: 50%;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.top-archive .sort .label {
	display: none;
}




/* Breadcrumbs */
.breadcrumbs {
	list-style: none;
	padding-left: 0;
}

.breadcrumbs li {
	display: inline-block;
	padding-right: 6px;
}

.breadcrumbs li:not(:last-child) a:after {
	content: '/';
	padding-left: 6px;
}
/* Breadcrumbs */

.reviews {
    display: flex;
    padding-top: 10px;
    margin-bottom: 25px;
}

.reviews .count {
    padding-top: 1px;
    cursor: pointer;
}

.reviews .count a{
    color: #555;
    font-size: 12px;
}

.stars {
    position: relative;
    height: 12px;
    width: 90px;
}

.stars > div {
    position: absolute;
}
.default-stars {
    opacity: .3;
    white-space: nowrap;
}

.rate-stars {
    overflow: hidden;
    color: #ffb300;
    white-space: nowrap;
}

#map {
    height: 0;
    -webkit-transition: height .4s;
    -o-transition: height .4s;
    transition: height .4s;
}

#map.active {
    width: 100%;
    height: 290px;
    background: #ccc;
}

.main-info {
	margin-bottom: 25px;
}


.map-container {
	margin-bottom: 25px;
	height: 80px;
	overflow: hidden;
}

.map-container.active {
	height: 400px;
}

.map-placeholder {
	height: 80px;
	background: url(../img/map.jpg) center/cover no-repeat;
	position: relative;
}

.map-placeholder:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,.4);
}

#btn-show-on-map {
    position: absolute;
    width: 140px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#btn-hide-map {
    display: none;
    margin-top: -27px;
    opacity: .7;
}


.right-side {
    margin-top: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    position: relative;
}

.right-side:before {
    content: '';
    position: absolute;
    width: 70%;
    height: 1px;
    left: 15%;
    top: 0;
    background: #eee;
}

.right-side .hint {
    margin-top: 10px;
    font-size: 12px;
    color: #ccc;
    text-align: center;
}

.btn-order {
    padding: 15px 0;
    font-size: 15px;
    max-width: 320px;
    margin: auto;
}

.img-container {
	margin: 0 auto 16px;
}

.img-container img{
	display: block;
	max-width: 100%;
	height: auto;
	margin: auto;
}

.main-info .center .spec {
	margin-bottom: 15px;
	color: #777;
}

.clinic-name {
	line-height: 1.5;
	margin-top: 8px;
	margin-bottom: 8px;
}

.place .address {
	margin-top: 8px;
	margin-bottom: 8px;
	line-height: 1.5;
}

.subway {
    list-style: none;
    margin: 7px 0;
    padding-left: 0;
}

.subway li {
    display: inline-block;
    position: relative;
    padding-right: 10px;
    padding-left: 12px;
}

.experience {
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 13px;
}

.doctor-info {
	margin-bottom: 25px;
}

.doctor-info p {
	line-height: 1.5;
}

.doctor-info ul {
	padding-left: 15px;
	line-height: 1.5;
}

.price {
	margin-top: 10px;
	margin-bottom: 31px;
	font-size: 17px;
	font-weight: bold;
}

.specialization {
	padding-top: 25px;
	padding-bottom: 25px;
}

.specialization ul {
	list-style: none;
	padding-left: 0;
}

.specialization .title {
	font-weight: bold;
	margin-bottom: 10px;
}

.specialization > ul > li {
	margin-bottom: 15px;
}

.specialization ul ul li {
	display: inline-block;
	padding: 5px 10px 5px 0;
}
/* Reviews in content */

.reviews-header {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
}

.reviews-header h2 {
	width: 50%;
}

.reviews-header .sort {
	width: 50%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.reviews-header .sort .label {
    display: none;
}

.reviews-header .sort #reviews_sort_order{
    padding-right: 16px;
}

@media (min-width: 768px) {
	.reviews-header .sort .label {
	    color: #777;
	    padding-right: 10px;
	    display: block;
	}
}

.content-reviews-list {
    list-style: none;
    padding-left: 0;
}

.content-reviews-list li {
    margin-bottom: 25px;
}

.content-reviews-list .top {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    border-bottom: 1px solid #eee;
    padding-bottom: 6px;
    align-items: center;
}

.content-reviews-list .top > div {
    margin-right: 10px;
}

.content-reviews-list .top .reaction {
    font-size: 16px;
}

.content-reviews-list .top .published {
    color: #cccccc;
}
.show-all-button .btn-primary {
    max-width: 240px;
    padding-left: 15px;
    padding-right: 15px;
    /*margin: auto;*/
}

.reviews-bottom {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}

.reviews-bottom .btn-secondary {
	padding-left: 15px;
	padding-right: 15px;
}

/* Reviews Form */
#add-review-form {
	max-width: 100%;
	margin: auto;
	position: relative;
}

#add-review-form .thanks-screen {
	display: none;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

#add-review-form .thanks-screen.active {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	font-size: 20px;
    color: #30a035;
	background: #fff;
}

#add-review-form .title {
	text-align: center;
	font-size: 20px;
	margin-top: 15px;
	margin-bottom: 20px;
}

#add-review-form .set-stars {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	margin-bottom: 15px;
}

#add-review-form .set-stars .star {
	font-size: 18px;
	color: #bdbdbd;
	padding-left: 7px;
	padding-right: 7px;
	cursor: pointer;
}

#add-review-form .set-stars .star.hover,
#add-review-form .set-stars .star:hover,
#add-review-form .set-stars .star.active {
	color: #ffb300;
}

#add-review-form .form-row input, 
#add-review-form .form-row textarea {
	width: 100%;
	border: 1px solid #ddd;
}

#add-review-form .form-row {
	margin-bottom: 15px;
}

#add-review-form .form-row input {
	padding: 8px 6px;
}

#add-review-form .form-row textarea {
	resize: none;
	height: 80px;
	padding: 8px 6px;
}

#add-review-form .form-row .error {
	font-size: 12px;
	margin-top: 4px;
	margin-bottom: 0;
	color: #f00;
}

#add-review-form .form-row button {
	border: 0;
	padding-left: 15px;
	padding-right: 15px;
	margin: auto;
}

#add-review-form .form-row button.disabled {
	pointer-events: none;
}


@media (min-width: 768px) {
	#add-review-form {
		max-width: 640px;
	}
}
/* Reviews Form */

/* Reviews in content */

@media (min-width: 768px) {
	.main-info {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}

	.img-container {
		border: 1px solid #eee;
		padding: 10px;
		margin-bottom: 10px;
	}

	.stars {
	    height: 18px;
	    width: 105px;
	}

	.main-info .left-side {
		width: 25%;
	}

	.main-info .center {
		width: 45%;
		padding-left: 15px;
		padding-right: 15px;
	}

	.main-info .right-side {
		width: 30%;
		margin: 0;
		padding-right: 0;
    	padding-left: 15px;
	}

	.right-side:before {
	    left: 0;
	    top: 0;
	    height: 100%;
	    width: 1px;
	}

	#btn-hide-map {
	    margin-top: -30px;
	}
 }

@media (min-width: 1199px) {

	.main-info .left-side {
		width: 25%;
	}

	.main-info .center {
		width: 40%;

	}

	.main-info .right-side {
		width: 35%;
	}

	#btn-hide-map {
	    margin-top: -46px;
	}
}

/* Sorting */
.sorting {
    padding-top: 15px;
    padding-bottom: 15px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    margin-bottom: 25px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.sorting .label {
    width: 100%;
    text-align: center;
    margin-bottom: 8px;
}

.sorting div:not(.label) {
    padding: 10px;
    border: 1px solid #ddd;
    margin-left: 10px;
    margin-right: 10px;
    cursor: pointer;
}

.sorting .active:not(.label) {
    background: #dddddd;
}

@media (min-width: 768px) {

    .sorting {
        justify-content: flex-start;
    }
    .sorting .label {
        width: auto;
        line-height: 38px;
        margin-bottom: 0;
    }
}
/* Sorting */