@import url("/css/fonts/icomoon/stylesheet.css");

.hide {
	display:none !important;
}
.left {
	float:left !important;
}
.right {
	float:right !important;
}
.a-center {
	text-align:center !important;
}
.a-right {
	text-align:right !important;
}

.bright {
	display:inline-block;
	padding:2px 7px;
	font-weight: bold;
	line-height:1.25;
	text-align:center;
	color:#fff;
	background:#657043;
	border-radius:4px;
}

/* Hide publications more one line */
.row-single {
	display:flex;
	flex-wrap: nowrap;
	overflow:hidden;
}

.doctors-list .data, .publications-list .data {
	width:100%;
	align-items: stretch;
}

.products-data {
	justify-content: flex-start;
	flex-wrap: wrap;
	display: -webkit-flex;
	display: flex;
}

.detail-text .text img {
	-webkit-border-radius: 32px;
	border-radius: 32px; 
	-moz-border-radius:32px;
	-khtml-border-radius:32px;
}


.error {
	background:#ffeeee !important;
	border:1px solid #ff0000 !important;
}

.cart-error {
	background:#ffeeee !important;
	border:1px solid #ff0000 !important;
}

/* Фильтры */
.filter-container {
	position:relative;
}
.filter-container-dropdown {
	display: none;
	position: absolute;
	z-index: 100;
	left: 0;
	top: 30px;
	width: 75vw;
	max-width:1300px;
	min-width:340px;
	padding-top: 21px;
}
.filter-container-dropdown.open {
	display:block;
}
.filter-container-dropdown .content{
	background: #FFFFFF;
	border: 2px solid #657043;
	box-shadow: 0px 14px 34px rgba(0, 0, 0, 0.2);
	border-radius: 32px;
	padding: 32px 16px;
	position: relative;
	z-index: 10;
}
.filter-menu-arrow{
	position: absolute;
	top: 6px;
	left: 48px;
	z-index: 20;
	width: 30px;
	height: 30px;
	background: #fff;
	border: 2px solid #657043;
	transform: rotate(45deg);
}
.filter-menu-arrow:after{
	display: block;
	content: ' ';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20;
	width: 30px;
	height: 30px;
	background: #fff;
}
.filter-menu{
	display: flex;
	flex-wrap: wrap;	
}
.filter-menu .item{
	padding: 0 16px;
	flex: 0 0 33.3%;
	max-width: 33.3%;
}
.filter-menu .item a{
	display: block;
	/*border-top: 1px solid #E5E5E5;*/
	text-decoration: none;
	padding: 12px 16px;
	margin-bottom: 1px;
}
.filter-menu .item:first-child a{
	border-top: 0;
}
.filter-menu .item a.selected, .filter-menu .item a:hover{
	display: block;
	border-bottom: 0;
	background: #657043;
	border-radius: 8px;
	color: #fff;	
}



/* Accordion */
.accordion {
	
}
.accordion a{
	color:#e5ead0;
}
.accordion a:hover{
	color:#000;
}


/* Вставки ЯНДЕКС */
.yandex {
	display:flex;
	flex-direction:row;
}
.yandex .response {
	position:relative;
	display:block;
	flex-grow:1;
	width:320px;
	height:560px;
	border:1px solid #e6e6e6;
	border-radius: 10px;
	overflow:hidden;
}
.yandex .response a {
	position:absolute;
	display:block;
	padding:0 15px;
	bottom:8px;
	left:0;
	width:100%;
	max-height:14px;
	font-size:10px;
	font-family:YS Text,sans-serif;
	text-align:center;
	text-decoration:none;
	text-overflow:ellipsis;
	white-space:nowrap;
	color:#b3b3b3;
	overflow:hidden;
}

.yandex .tour {
	position:relative;
	display:block;
	flex-grow:15;
	margin:0 0 0 25px;
	width:320px;
	height:560px;
	border-radius:20px;
	overflow:hidden;
}
.yandex .tour .caption {
	position:absolute;
	bottom:8px;
	left:12px;
}
.yandex .tour .caption a {
	display:inline-block;
	margin: 0 12px 0 0;
	padding: 0 4px 2px 4px;
	font-family:Commissioner, sans-serif;
	font-size: 12px;
	line-height: 14px;
	color: #000;
	background: #fff;
	border-radius: 4px;
	pointer-events: auto;
}

.yandex iframe {
	position:relative;
	width:100%;
	height:100%;
	border:none;
}



/* Карта на страничке КОНТАКТЫ */
.desktop {
	display:block;
}
.mobile {
	display:none;
}


/* Cart */
.cart-container {
	width:100%;
	margin:0 0 2em 0;
}
.cart-container b {
	font-weight:500;
}

/* Products */
table.cart {
	margin:0 0 5em 0;
	width:100%;
	border:0;
/*	border-collapse: collapse;*/
	border-spacing: 0;
	box-sizing: border-box;
}
table.cart td, table.cart th {
	padding:18px 5px;
	vertical-align:top;
}
table.cart tbody td, table.cart tbody th {
	border-bottom:1px solid #ddd;
}
table.cart thead td, table.cart thead th {
	vertical-align:middle;
}
table.cart th {	
	font-weight:100;
	text-align:left;
}
table.cart img {
	width:100%;
	max-width:135px;
}
table.cart p {
	padding:0 0 10px 0;
}
table.cart span {
	font-weight:100;
}
table.cart .total {
	font-weight:500;
	text-align:center;
	white-space:nowrap;
}

.cart-container .price:after {
	display:inline;
	padding:0 0 0 5px;
	content:'₽';
}

/* Итоговая стоимость заказа */
.cart-container .results {
	margin:0 10em 5em 10em;
}
.cart-container .line {
	display:flex;
	justify-content: space-between;
	align-items: flex-end;

	margin-bottom:3em;
	position:relative;
	border-bottom:1px dotted #858586;
}
.cart-container .line .title, .cart-container .line .value {
	margin-bottom:-1px;
	font-size:1.2em;
	font-weight:500;
	background:#fff;
}
.cart-container .line span {
	padding:0 0 0 1em;
	font-size:0.7em;
	font-weight:100;
	text-transform:uppercase;
}


/* Доставка */
.cart-container .delivery {
	margin:0 0 5em 0;
}

.cart-container .notes {
	margin:0 0 2em 0;
	padding:20px 40px;
	background:#F7F9Fa;
}
.cart-container .notes a {
	color:#657043;
	text-decoration:none;
}

/* Оформление заказа */
.cart-container .notes a:hover {
	text-decoration:underline;
}
.cart-container .form-item label {
	display:block;
}
.cart-container .form-item input, .cart-container .form-item textarea {
	border-radius:0;
}
.cart-container .form-item .is-required::after {
	position:relative;
	padding:0 0 0 0.5em;
	font-size:1.2em;
	content:"*";
	color:#ff0000;
}

.cart-container .order-total-cost {
	display:inline-block;
	padding:10px 0 0 0;
	font-size:1.5em;
	font-weight:500;
}


/* Counter */
.counter {
	display:flex;
	align-items:center;

	position:relative;
	margin:0 0 20px 0;
	width:100%;
	max-width:120px;
	min-width:100px;
	border:1px solid #ddd;
	overflow:hidden;
}
.counter a {
	position: relative;
	display: block;
	text-decoration:none;
	color:#ddd;
	cursor:pointer;
	user-select: none;
}
.counter a:hover {
	color:#657043;
}
.counter a:before {
	display:block;
	padding:5px 10px;
	width:15px;
	height:100%;
	font-size:1.5em;
	text-align:center;
}
.counter a.minus:before {
	content: '-';
}
.counter a.plus:before {
	content: '+';
}
.counter input {
	display: block;
	padding: 0;
	width:100%;
	min-width:2em;
	height: 100%;
	line-height: 100%;
	font-size:1em;
	text-align: center;
	border: 0;
	background: #f7f7f7;
	background-color: #fff;
	outline: 0;
	user-select: none;
}



/* CHECKBOX */
.checkbox2 {
	vertical-align: top;
	width: 17px;
	height: 17px;
	margin: 0 3px 0 0;
}
.checkbox2 + label {
	cursor: pointer;
}
.checkbox2:not(checked) {
	position: absolute;
	z-index: -1;
	opacity: 0;
	margin: 10px 0 0 7px;
}
.checkbox2:not(checked) + label {
	position: relative;
	padding: 0 0 0 35px;
}
/* Checkbox */
.checkbox2:not(checked) + label:before {
	content: '';
	position: absolute;
	top: 3px;
	left: 0;
	width: 18px;
	height: 18px;
	border: 1px solid #CDD1DA;
	border-radius: 0;
	background: #FFF;
}
.checkbox2:not(checked) + label:after {
	font-family:"icomoon";
	content: '\EA10';
	position: absolute;
	top: 1px;
	left: 2px;
	width: 18px;
	height: 18px;
	color:#657043;
	border-radius: 0;
/*	background: #000;*/
/*	box-shadow: inset 0 1px 1px rgba(0,0,0,.5);*/
	opacity: 0;
	transition: .2s;
}
/* Radiobox */
input[type=radio]:not(checked) + label:before {
	border-radius: 50%;
}
input[type=radio]:not(checked) + label:after {
	border-radius: 50%;
}
.checkbox2:checked + label:after {
	opacity: 1;
}
.checkbox2:focus + label:before {
/*	box-shadow: 0 0 0 3px rgba(255,255,0,.7);*/
}

.checkbox2.error:not(checked) + label:before {
	background:#ffeeee !important;
	border:1px solid #ff0000 !important;
}


@media (max-width: 450px){
	table.cart {
		font-size:12px;
	}
	
	table.cart td, table.cart th {
		padding:15px 2px;
	}
	
	.price {
/*		padding:25px 2px 15px 2px !important;*/
		font-size:12px;
	}
	
	.cart-photo {
		display:none;
	}
	
	.checkbox2:not(checked) + label {
		padding: 0 0 0 25px;
	}
	
	.counter {
		min-width:85px;
	}
	
	.counter a:before {
		padding:4px 8px;
	}
	
	.yandex {
		flex-direction:column;
	}
	.yandex .response {
		flex-grow:1;
		width:100%;
	}
	.yandex .tour {
		flex-grow:1;
		margin:25px 0 0 0;
		width:100%;
	}
	
	.desktop {
		display:none;
	}
	.mobile {
		display:block;
	}
}