:root {
    --color-primary: #275371;
    --color-primary-text: #B1D7F1;
    --color-primary-hover: #253E51;
	--green:#6EA343;
	--dgreen:#2c431a;
	--gray:#717171;
	--text:#2A4558;
	--blue:#0059B3;
	--red:#FF5050;
	--color-error:#B73C3C;
	--gray-10:#C2C7CA;
	--color-dark-charcoal:#333333;
}

html{
	background:url(images/inner-body-bg.png) top center no-repeat #F3FAFF;
	background-size: cover;
	padding:0px;
	margin:0px;
}

html.main-page{
	background:url(images/main-body-bg-layer3.webp) top right no-repeat, url(images/main-body-bg-layer2.webp) top center no-repeat, url(images/main-body-bg.webp) top center no-repeat;
	background-size:auto, auto, cover;
}

html.catalog-page{
	background:#F5FBFF;
}

body{
	padding:0px;
	margin:0px;
	font-family: "Manrope", sans-serif;
	font-optical-sizing: auto;
	font-weight: normal;
	font-style: normal;
	font-size:20px;
	line-height:1.2;
	letter-spacing:-5%;
	color:var(--text);
	min-height:100vh;
	min-height:100dvh;
	display:flex;
	flex-direction:column;
	position:relative;
}

.main-page body::after{
	content:'';
	background: #F5FBFF;
	position:absolute;
	left:0px;
	bottom:0px;
	width:100%;
	height:500px;
	z-index:1;
}

a{
	color:var(--blue);
	text-decoration:underline;
}

a:hover{
	color:var(--blue);
	text-decoration:none;
}

a.link-hover-underline{
	text-decoration:none;
}

a.link-hover-underline:hover{
	text-decoration:underline;
}

h1, h2, h3, h4, h5, h6 {

}

input[type="text"]:not(:where(.bx-core-adm-dialog *)),
input[type="password"]:not(:where(.bx-core-adm-dialog *)),
input[type="email"]:not(:where(.bx-core-adm-dialog *)),
input[type="tel"]:not(:where(.bx-core-adm-dialog *)),
input[type="phone"]:not(:where(.bx-core-adm-dialog *)),
input[type="number"]:not(:where(.bx-core-adm-dialog *)),
input[type="date"]:not(:where(.bx-core-adm-dialog *)),
textarea:not(:where(.bx-core-adm-dialog *)){
	font-family: "Manrope", sans-serif;
	font-optical-sizing: auto;
	font-weight: normal;
	font-style: normal;
	font-size:20px;
	background:#fff;
	border:1px solid #CFCFCF;
	box-shadow:none;
	outline:none;
	border-radius:50px;
	box-sizing:border-box;	
	height:70px;
	min-width:0px;
	letter-spacing:-5%;
}

input[type="text"]:not(:where(.bx-core-adm-dialog *)),
input[type="password"]:not(:where(.bx-core-adm-dialog *)),
input[type="email"]:not(:where(.bx-core-adm-dialog *)),
input[type="tel"]:not(:where(.bx-core-adm-dialog *)),
input[type="phone"]:not(:where(.bx-core-adm-dialog *)),
input[type="number"]:not(:where(.bx-core-adm-dialog *)),
input[type="date"]:not(:where(.bx-core-adm-dialog *)){
	padding:0px 30px;
}

textarea:not(:where(.bx-core-adm-dialog *)){
	padding:10px;
}

input[type="text"]::placeholder,
input[type="password"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
input[type="phone"]::placeholder,
input[type="number"]::placeholder,
input[type="date"]::placeholder,
textarea::placeholder{
	color:#D9D9D9;
}

input.phone{
    font-variant-numeric: tabular-nums;
}

svg{
	vertical-align:top;
}

img{
	vertical-align:top;
	max-width:100%;
}

iframe{
	vertical-align:top;
	border:none;
}

.wr{
	max-width:1300px;
	padding:0px 10px;
	margin:0px auto;
}

.wr.wr-no-padding{
	padding:0px;
}


h1,h2,h3,h4,h5{}

.h1,
h1{
	font-size:32px;
	padding:0px;
	font-weight:600;
	line-height:1.12;
	margin:13px 0px 26px;
	color:var(--text);
}

h1 .h1-note{
	color:#C2C7CA;
	font-size:14px;
	font-weight:500;
	display:inline-block;
	margin-left:0.6rem;	
}

.btn{
	display:inline-flex;
	justify-content:center;
	align-items:center;
	gap:10px;
	cursor:pointer;
	color:#fff;
	text-decoration:none;
	background:var(--color-primary);
	font-family: "Manrope", sans-serif;
	font-optical-sizing: auto;
	font-weight:400;
	font-size:15px;
	line-height:1;
	letter-spacing:-5%;
	border:none;
	outline:none;
	box-shadow:none;
	height:44px;
	padding:0px 25px;
	border-radius:78px;
	box-sizing:border-box;
}



.btn .btn-icon{
	font-size:0px;
	line-height:1;
	flex-shrink:0;	
}

.btn .btn-icon svg path{
	fill:#fff;
}

.btn:hover{
	background:var(--color-primary-hover);
	color:var(--color-primary-text);
}

.btn:hover .btn-icon svg path{
	fill:var(--color-primary-text);
}

.btn:disabled{
	background:#D4DAE1;
	color:#fff;
}

/***/

.btn.gap-15{
	gap:15px;
}

.btn.gap-20{
	gap:20px;
}

.btn.gap-25{
	gap:25px;
}

.btn.no-border{
	border:none !important;
}

.btn.height-52{
	height:52px;
}

/***/

.btn.btn-lgray{
	background: rgba(195, 213, 227, 0.2);
	color: rgba(37, 62, 81, 0.64);
}

.btn.btn-lgray:hover{
	background: #000;
	color: #fff;
}

.btn-txt-icon{
	 line-height:0px;
	 font-size:0px;
}

/****/

.btn.btn-white{
	color:#79AACE;
	background:#fff;
}

.btn.btn-white .btn-icon svg path{
	fill:#79AACE;
}

.btn.btn-white:hover{
	background:var(--color-primary-hover);
	color:#fff;
}

.btn.btn-white:hover .btn-icon svg path{
	fill:#fff;
	fill-opacity:1;
}

/****/

.btn.btn-white2{
	color:var(--color-primary);
	background:#fff;
}

.btn.btn-white2 .btn-icon svg path{
	fill:var(--color-primary);
}

.btn.btn-white2:hover{
	background:var(--color-primary-hover);
	color:#fff;
}

.btn.btn-white2:hover .btn-icon svg path{
	fill:#fff;
	fill-opacity:1;
}

/*****/


.btn.btn-light-gray{
	background:#CFCFCF;
	color:#2A4558;
}

.btn.btn-light-gray .btn-icon svg path{
	fill:#2A4558;
}

.btn.btn-light-gray:hover{
	background:#4C6B83;
	color:#fff;
}

.btn.btn-light-gray:hover .btn-icon svg path{
	fill:#fff;
}

/***/

.btn.btn-lk{
	background:#FAFAFA;
	color:#2A4558;
	border:1px solid #CFCFCF;
}

.btn.btn-lk .btn-icon svg path{
	fill: #2A4558;
}

.btn.btn-lk:hover{
	color:#FAFAFA;
	background:#2A4558;	
}

.btn.btn-lk:hover .btn-icon svg path{
	fill: #FFF;
}


/****/

.max-width-900{
	max-width:900px;
}

/****/

.link-simple{
	display:flex;
	align-items:center;
	cursor:pointer;
	gap:15px;
}

.link-simple .link-simple-txt{
	
}

.link-simple .link-simple-icon{
	 line-height:0px;
	 font-size:0px;	
}

.text-icon{
	display:inline-flex;
	align-items:center;
	cursor:pointer;
	gap:15px;
}

.text-icon.text-icon-flex{
	display:flex;
}

.text-icon .text-icon-txt{
	
}

.text-icon .text-icon-i{
	line-height:0px;
	font-size:0px;	
}

/*****/


.icon-text{
	display:inline-flex;
	align-items:center;	
	gap:15px;
}

a.icon-text{
	cursor:pointer;
}

.icon-text-icon-flex{
	display:flex;
}

.icon-text-column{
	flex-direction:column;
	align-items:center;
}

.icon-text.gap-5,
.icon-text-gap-5{
	gap:5px;
}

.icon-text.gap-10,
.icon-text-gap-10{
	gap:10px;
}

.icon-text .text-icon-txt{
	
}

.icon-text .icon-text-icon{
	line-height:0px;
	font-size:0px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.icon-text.align-items-start{
	align-items:start;
}

/********/

.fw-300{
	font-weight:300;
}

.fw-500{
	font-weight:500;
}

.fw-600{
	font-weight:600;
}

.fs-12 { font-size: 12px; }
.fs-13 { font-size: 13px; }
.fs-14 { font-size: 14px; }
.fs-15 { font-size: 15px; }
.fs-16 { font-size: 16px; }
.fs-17 { font-size: 17px; }
.fs-18 { font-size: 18px; }
.fs-19 { font-size: 19px; }
.fs-20 { font-size: 20px; }
.fs-22 { font-size: 22px; }
.fs-24 { font-size: 24px; }
.fs-26 { font-size: 26px; }
.fs-28 { font-size: 28px; }
.fs-30 { font-size: 30px; }
.fs-32 { font-size: 32px; }


.ta-center { text-align: center; }

.br-5{
	border-radius:5px;
}


.br-10{
	border-radius:10px;
}

.br-15{
	border-radius:15px;
}

.br-20{
	border-radius:20px;
}

.br-30{
	border-radius:30px;
}

.br-40{
	border-radius:40px;
}

.bg-white{
	background:#fff;
}

.p-10{
	padding:10px;
}

.p-20{
	padding:20px;
}

.p-30{
	padding:30px;
}

.p-40{
	padding:40px;
}

.ml-10{margin-left:10px;}
.ml-15{margin-left:15px;}
.ml-20{margin-left:20px;}
.ml-30{margin-left:30px;}
.ml-40{margin-left:40px;}

.mt-10{margin-top:10px;}
.mt-15{margin-top:15px;}
.mt-20{margin-top:20px;}
.mt-30{margin-top:30px;}
.mt-40{margin-top:40px;}

.mb-10{
	margin-bottom:10px;
}

.mb-15{
	margin-bottom:15px;
}

.mb-20{
	margin-bottom:20px;
}

.mb-30{
	margin-bottom:30px;
}

.mb-40{
	margin-bottom:40px;
}

.mb-50{
	margin-bottom:50px;
}

.mb-60{
	margin-bottom:60px;
}

.color-red{
	color:var(--red);
}

.color-dark-charcoal{
	color:var(--color-dark-charcoal);
}


.list-reset{
	padding:0px;
	list-style:none;
	margin:0px;
}

.grid{
    display: grid;
	gap:20px;
}

.cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
}


.flex {
    display: flex;
}

.flex-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
	gap: 10px;
}

.flex-start {
    display: flex;
    justify-content: flex-start;
    align-items: center;
	gap: 10px;
}

.flex-end {
    display: flex;
    justify-content: flex-end;
    align-items: center;
	gap: 10px;
}

.flex-column {
    display: flex;
    flex-direction: column;
}

.flex.baseline{
	align-items:baseline;
}

.flex.gap-5{
	gap:5px;
}

.flex.gap-10{
	gap:10px;
}

.flex.gap-15{
	gap:15px;
}

.flex.gap-20{
	gap:20px;
}

.flex.gap-30{
	gap:30px;
}

.color-gray-10{
	color:var(--gray-10);
}

.color-69{
	color:#696969
}



/********/

/*
.js-quantity{
	display:inline-flex;
	align-items:center;
	gap:2px;
}

.js-quantity .js-quantity-button{
	width:30px;
	height:30px;
	display:flex;
	align-items:center;
	justify-content:center;
	background: rgba(219, 219, 219, 0.25);
	box-sizing:border-box;
	border: 1px solid #EFEFEF;
	cursor:pointer;
	border-radius:50%;
}

.js-quantity .js-quantity-button svg path{
	fill:#fff;
}

.js-quantity .js-quantity-button:hover{
	background:var(--text);
	border:none;
}

.js-quantity .js-quantity-button:hover svg path{
	stroke:#fff;
}

.js-quantity input[type="text"]{
	height:30px;
	min-width:0px;
	width:26px;
	background:transparent;
	border: none;
	font-size:16px;
	font-weight:500;
	border-radius:0px;
	padding:0px;
	text-align:center;
}
*/

/*******/

.form{
	box-sizing: border-box;
}

.form.card{
	padding:30px;
	border-radius:40px;
	background:#fff;	
}

.form .form-caption{
	font-size:28px;
	letter-spacing:-5%;	
	margin-bottom:28px;
	line-height:1;
}

.form .form-desc{
	font-size:20px;
	letter-spacing:-5%;	
	margin-bottom:15px;	
	font-weight:300;
	line-height: 1.2;
}

.form .form-group,
.form .form-line{
	margin-bottom:28px;
}

.form .form-group{
	display:grid;
	gap:10px;
}

.form .form-group-2{
	grid-template-columns:1fr 1fr;
}

.form .form-group-3{
	grid-template-columns:1fr 1fr 1fr;
}

.form label{
	display:block;
}

.form label span.l{
	display:block;
	margin-bottom:15px;
	font-size:20px;
	letter-spacing:-5%;
}

.form label span.l .red,
.form label span.l .required{
	color:var(--red);
}

.form label input[type="text"],
.form label input[type="password"],
.form label input[type="email"],
.form label input[type="tel"],
.form label input[type="date"],
.form label textarea{
	width:100%;
	min-width:0px;
}

.form label textarea{
	height:150px;
}

.form label select{
	width:100%;
	background:url(images/select-icon.svg) right 30px center no-repeat #fff;
    -moz-appearance:none; /* Firefox */
    -webkit-appearance:none; /* Safari and Chrome */
    appearance:none;
	height:55px;
	border:1px solid #CFCFCF;
	border-radius:50px;
	padding:0px 60px 0px 30px;
	font-size:16px;
	font-weight:500;
}

.form .form-send .btn{
	width:100%;
	height:58px;
}

.form .form-send-logo{
	display:flex;
	gap:18px;
	align-items:center;
	padding:0px 37px 0px 0px;
	background:#F4F4F4;
	border-radius:79px;
}

.form .form-send-logo .btn{
	height:65px;
}

.form .form-send-logo .form-send-logo-pic{
	flex-shrink:0;
	line-height: 0;
}

.form .form-send-logo .form-send-logo-pic svg{
	width:108px;
	height:auto;
}

.form .form-send-logo .form-send-logo-pic svg path{
	fill:#BABABA;
}

.form .form-actions{
	display:flex;
	align-items:center;
	gap:10px;
}

.form .form-actions .last{
	margin-left:auto;
}


.form .form-subcaption{
	font-size:16px;
	font-weight:500;
	margin-bottom:15px;
}

.form .form-note{
	margin-top:28px;
	border-top:1px solid #E1E1E1;
	color:#5D5D5D;
	font-size:16px;
	padding-top:10px;
	text-align:center;
}

.form .form-note a{
	color:#5D5D5D;
}

.form .form-message{
	margin-bottom:10px;
	display:none;
}

/********/

.field{
	display:block;
	position:relative;
}

.field .field-input{
	position:relative;
	display:block;
}

.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field input[type="password"],
.field input[type="date"],
.field textarea{
	width:100%;
}

.field .field-label{
	display:block;
	margin-bottom:10px;
	font-size:13px;
	color:#CECFD0;
}

.field .field-label.large{
	margin-bottom:15px;
	font-size:20px;
	color:var(--text);
}

.field .field-label.large .red,
.field .field-label.large .required{
	color:var(--color-error);
}

.field .field-error{
	color:var(--color-error);
	padding-top:10px;
	display:block;
	font-size:12px;
	font-weight:500;
	display:none;
}

.field.error .field-error{
	display:block;
}

.field.error input[type="text"],
.field.error input[type="email"],
.field.error input[type="tel"],
.field.error input[type="password"],
.field.error input[type="date"],
.field.error textarea{
	border:1px solid var(--color-error) !important;
	color:var(--color-error) !important;
}

.field .field-icon{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	right:30px;
	display:none;
	line-height: 0;
}

.field:has(input:valid:not(:placeholder-shown)):not(:focus-within) .field-icon-valid {
	display:block;
}

.field:has(input:focus) .field-icon-clear{
	display:block;
}

.field.field-floating{

}

.field.field-floating input[type="text"],
.field.field-floating input[type="email"],
.field.field-floating input[type="tel"],
.field.field-floating input[type="password"],
.field.field-floating input[type="date"],
.field.field-floating textarea{
	background:#F6F6F6;
	border: 1px solid #CFCFCF;
	padding:30px 30px 10px 30px;
	height:auto;
	font-size:16px;
	line-height:1;
}

.field.field-floating .field-label{
	position:absolute;
	top:14px;
	font-size:14px;
	left:30px;
	color:#B6B6B6;
	
	font-weight:500;
	line-height:1;
	margin:0px;
	pointer-events:none;
	transition:all 0.2s;
	z-index:10;
}

.field.field-floating:has(input:placeholder-shown) .field-label{
	/*
	top:35px;	
	font-size:16px;
	*/
	top:14px;
	font-size:14px;
}

/*******/

.field-photo{
	cursor:pointer;
}

.field-photo input{
	visibility:hidden;
	position:absolute;
	left:-9999px;
}

.field-photo .field-photo-preview{
	display:block;
	position:relative;
	border-radius:50%;
	background-position:center center;
	background-repeat:no-repeat;
	background-image:url(images/personal.svg);
	width:85px;
	height:85px;
	background-color:#EDEDED;
}

.field-photo .field-icon{
	border:1px solid #E4E4E4;
	background:#fff;
	width:30px;
	height:30px;
	display:flex;
	justify-content:center;
	align-items:center;
	border-radius:50%;
	position:absolute;
	bottom:-3px;
	right:-6px;
	z-index:10;	
}

.field-photo .field-error{
	color:var(--red);
	font-size:12px;
	text-align:center;
	padding-top:10px;
	display:none;
}

/*****/

.field-block{
	position:static;
}

.field-block > .field-error{
	color:var(--red);
	padding-top:10px;
	display:block;
	font-size:12px;
	font-weight:500;
	display:none;	
}

.field-block.error{
	border:1px solid var(--red);
}

.field-block.error > .field-error{
	display:block;
}


/*****/

.switch{
	display:inline-flex;
	align-items:center;
	gap:10px;
	cursor:pointer;
}

.switch input{
	position:absolute;
	visibility:hidden;
	left:-9999px;
}

.switch-btn{
	width:40px;
	height:20px;
	border-radius:100px;
	position:relative;
	background:#D4DAE1;
	transition:background 0.2s;
}

.switch-btn::before{
	content:'';
	border-radius:50%;
	left:2px;
	top:50%;
	transform:translateY(-50%);
	width:16px;
	height:16px;
	background:#fff;
	position: absolute;
	transition:left 0.2s;
}

.switch:has(input:checked) .switch-btn{
	background:#0059B3;
}

.switch:has(input:checked) .switch-btn::before{
	left:21px;
}

/*******/

.switch-block{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:18px;
}

.switch-block.wide{
}

.switch-block-body{
	flex-grow:1;
	max-width:190px;
}

.switch-block.wide .switch-block-body{
	max-width:550px;
}

.switch-block-actions{
	flex-shrink:0;
}

.switch-block-caption{
	color:#231F20;
	font-size:16px;
	margin-bottom:6px;
}

.switch-block-note{
	color:#A8A8A8;
	font-size:14px;
}

/*******/

header.tmpl{
    position: sticky;
    top: 0;
	width:100%;
    z-index: 100;
	background:transparent;
	transition:background 0.4s;
	padding-bottom:10px;
}

header.tmpl.is-sticky{
	background:#F3FAFF;
}

header.tmpl .wr{
	position:relative;
}

header.tmpl .header-top{
	display:flex;
	gap:10px;
	align-items:center;
	margin-bottom:20px;
	padding-top:17px;
}

header.tmpl .contacts{
	margin-left:auto;
	display:flex;
	gap:17px;
	align-items:center;
	color:var(--text);
	font-size:15px;
}

header.tmpl .contacts a{
	color:var(--text);
	text-decoration:none;
}

header.tmpl .contacts a:hover{
	color:var(--text);
	text-decoration:underline;
}

header.tmpl .header-main{
	display:flex;
	gap:45px;
	align-items:center;
}

header.tmpl .logo{
	line-height:0px;
}

header.tmpl .tools{
	margin-left:auto;
	display:flex;
	gap:7px;
	align-items:flex-end;
}


header.tmpl .city .city-selected{
	display:flex;
	align-items:center;
	font-size:15px;
	color:var(--text);
	cursor:pointer;
	gap:4px;
}



main.tmpl{
	box-sizing:border-box;
	padding-top:71px;
	padding-bottom:61px;
	flex:1;
	width:100%;
	position:relative;
	z-index:2;
}

body.about main.tmpl{
	z-index:4;
}

.catalog-page main.tmpl{
	padding-bottom:115px;
}



/****************/

.qdi-checkbox{
	display:inline-flex;
	align-items:center;
	gap:11px;
	cursor:pointer;
}

.qdi-checkbox input{
	position:absolute;
	left:-9999px;
	visibility:hidden;
}

.qdi-checkbox .qdi-checkbox-icon{
	display:block;
	background:url(images/checkbox.svg) -100px 0px no-repeat #fff;
	width:18px;
	height:18px;
	box-sizing:border-box;
	border:1px solid #F1F1F1;
	border-radius:5px;
	flex-shrink:0;	
}

.qdi-checkbox input:checked ~ .qdi-checkbox-icon{
	background-color:#253E51;
	background-position:center center;
}

/*************/

.radio-blocks{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:15px;	
}

.radio-block{
	cursor:pointer;
}

.radio-block input{
	position:absolute;
	left:-9999px;
	visibility:hidden;
}

.radio-block .radio-block-body{
	position:relative;
	border: 1px solid #E8E8E8;
	border-radius:25px;
	padding:20px 30px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:12px;
}

.radio-block .radio-block-body::before{
	width:8px;
	height:8px;
	border-radius:50%;
	border:6px solid #F3F3F3;
	background: #F3F3F3;
	content:'';
	position:absolute;
	right:15px;
	top:15px;
}

.radio-block input:checked ~ .radio-block-body{
	border:1px solid var(--blue);
}

.radio-block input:checked ~ .radio-block-body::before{
	background: var(--blue);
}

.radio-block .radio-block-icon{
	height:25px;
	display:flex;
	align-items:center;
}

.radio-block .radio-block-icon img,
.radio-block .radio-block-icon svg{
	max-height:25px;
	width:auto;
}

.radio-block .radio-block-caption{
	font-size:20px;
	font-weight:500;
}

.radio-block .radio-block-text{
	color:#868686;
	font-size:14px;
}

/**************/

.person-type{
	display:flex;
	gap:15px;
	margin-bottom:28px;
}

.person-type label{
	font-weight: 500;
	font-size: 20px;
	leading-trim: NONE;
	line-height: 85%;
	letter-spacing: -5%;	
	cursor:pointer;
	user-select: none;
}

.person-type label input{
	position:absolute;
	visibility:hidden;
	left:-9999px;
}

.person-type .person-type-text{
	display:block;
	padding-bottom:15px;
	border-bottom:2px solid #B6B6B6;
	color:#B6B6B6;
}

.person-type label input:checked ~ .person-type-text{
	border-color:var(--blue);
	color:var(--blue);
}

/**************/




/**********/

.product-list{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:15px;
}

.product-item{
	padding:6px 20px 20px 20px;
	border-radius:30px;
	background:#fff;
	position:relative;
	display:flex;
	flex-direction:column;
}

.product-item .pic{
	margin-bottom:13px;
	height:200px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.product-item .pic img{
	max-width:100%;
	max-height:200px;
}

.product-item .name{
	line-height:1.12;
	color:#292929;
	font-size:17px;
	font-weight:600;
	margin-bottom:6px;
}

.product-item .name a{
	color:#292929;
	text-decoration:none;
}

.product-item .name a:hover{
	color:#CA373F;
	text-decoration:none;
}

.product-item .artikul{
	line-height:1.12;
	color:#AEAEAE;
	font-size:14px;
	font-weight:600;
	margin-bottom:10px;
}

.product-item .desc{
	line-height:1.64;
	font-size:16px;
	font-weight:500;
	margin-bottom:20px;
	color:#868686;
	leading-trim: NONE;
}


.product-item .price-block{
	display:flex;
	align-items:center;
	gap:9px;
	margin-bottom:18px;
}

.product-item .price-block .price{
	font-weight: 600;
	font-size: 25px;
	leading-trim: NONE;
	line-height: 112.99999999999999%;	
}

.product-item .price-block .old-price{
	font-size: 19px;
	leading-trim: NONE;
	line-height: 112.99999999999999%;
	color:#BFBFBF;
	text-decoration:line-through;
}

.product-item .send{
	margin-top:auto;
}

.product-item .send .btn{
	width:100%;
	height:52px;
	font-size:18px;
}

.labels{
	position:absolute;
	right:20px;
	top:21px;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:5px;
}

.labels .label{
	min-width:84px;
	padding:0px 9px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#2599D9;
	color:#fff;
	font-size:13px;
	font-weight:600;
	border-radius:3px;
	text-transform:uppercase;
	height:28px;
}

.labels .label.label_aktsiya,
.labels .label.label_action{
	background:#CA373F;
}

.labels .label.label_ne-postavlyaetsya,
.labels .label.label_net-v-nalichii{
	background:#9A9A9A;
}

.link-video{
	position:relative;
}

.link-video::after{
	content:'';
	width:196px;
	height:202px;
	background:url(images/play.svg) center center no-repeat;
	background-size:contain;
	position:absolute;
	z-index:2;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
}

footer.tmpl{
	/*background: linear-gradient( to bottom, #ebf8fe 0%, #d0effe 15%, #bfeafd 28%, #bbe9fd 40%, #bae8fc 60%, #bde9fd 75%, #c0eafd 100% );*/
	background:url(images/footer-bg-v2.webp) top center no-repeat #F5FBFF;
	background-size:cover;
	position:relative;
	z-index:3;
}

html.main-page footer.tmpl{
	background:url(images/footer-bg-v2.webp) top center no-repeat #F5FBFF;
	background-size:cover;
}

footer.tmpl::before{
	content:'';
	width:814px;
	height:594px;
	background:url(images/crystal.webp) right 0px bottom 0px no-repeat;
	position:absolute;
	right:0px;
	bottom:0px;
	background-size:contain;
	pointer-events:none;
	z-index:100;
}

footer.tmpl .wr{
	display:flex;
	gap:82px;
	padding-bottom:30px;
	align-items:flex-end;
	position:relative;
	z-index:120;
	margin-top:-21px;
}

footer.tmpl .col1{
	width:328px;
	flex-shrink:0;
}

footer.tmpl .col2{
	width:230px;
	flex-shrink:0;
	padding-bottom:40px;
}

footer.tmpl .col3{
	flex-grow:1;
	margin-bottom:40px;
	padding:20px 29px 23px 32px;
	background:#EEF8FF;
	border-radius:30px;
	max-width:405px;
	margin-left:auto;
	box-sizing:border-box;
}

footer.tmpl .logo{
	height:308px;
	background:#EEF8FF;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:10px;
	border-radius:30px;
}

footer.tmpl .footer-bottom{
	display:flex;
	justify-content:space-between;
	gap:10px;
	padding-right:40px;
	align-items:center;
}

footer.tmpl .copy{
	font-size: 13px;
	line-height: 85%;
	letter-spacing: -5%;
	text-align: center;
	leading-trim: NONE;
	color:#79AACE;
}

.footer-menu{}

.footer-menu ul{
	list-style:none;
	padding:0px;
	margin:0px 0px 46px 0px;
	display:flex;
	flex-wrap:wrap;
	gap:9px 24px;
	font-size: 14px;
	line-height: 1;
	letter-spacing: -5%;
	color:#275371;
}

.footer-menu li{}

.footer-menu a{
	color:#275371;
	text-decoration:none;
}

.footer-menu a:hover{
	color:#275371;
	text-decoration:underline;
}

footer.tmpl .for-privacy{
	list-style:none;
	padding:0px;
	margin:0px;
	display:grid;	
	gap:17px;
	max-width:135px;
}

footer.tmpl .for-privacy li{
	font-size:12px;
	line-height: 1;
	letter-spacing: -5%;
	color:#6C9DBE;	
}

footer.tmpl .for-privacy a{
	color:#6C9DBE;
	text-decoration:none;	
}

footer.tmpl .for-privacy a:hover{
	color:#6C9DBE;
	text-decoration:underline;	
}


footer.tmpl .caption{
	color:#9DB4C4;
	font-size:12px;
	line-height: 85%;
	letter-spacing: -5%;	
	margin-bottom:5px;
}

footer.tmpl .text{
	font-size:16px;
	line-height: 85%;
	letter-spacing: -5%;	
	margin-bottom:13px;	
}

footer.tmpl .text a{
	color:var(--text);
	text-decoration:none;
}

footer.tmpl .text a:hover{
	color:var(--text);
	text-decoration:underline;
}

footer.tmpl .actions{
	margin-top:18px;
}

footer.tmpl .actions .btn{
	font-size:14px;
	font-weight:400;
	padding:0px 33px;
	height:52px;
}

.rating-block{
	display:flex;
	gap:6px;
	align-items:center;
}

.rating-block .rating-block-stars{
	display:flex;
	gap:3px;
	align-items:center;
	line-height:0px;
}

.rating-block .rating-block-count{
	font-size:14px;
	font-weight:300;
	line-height:1.12;
}



.js-quantity{
	display:inline-flex;
	gap:5px;
}

.js-quantity .js-quantity-button{
	display:flex;
	align-items:center;
	justify-content:center;
	background:#F3F7F9;
	color:var(--text);
	cursor:pointer;
	flex-shrink:0;
	height:35px;
	box-sizing:border-box;
	width:21px;	
}

.js-quantity .js-quantity-button:hover{
	background:var(--text);
	color:#F3F7F9;	
}

.js-quantity input[type="text"]{
	height:35px;
	width:54px;
	flex-shrink:0;
	border-radius:6px;
	font-size:18px;
	border:1px solid #F1F1F1;
	text-align:center;
	padding:0px;
	box-sizing:border-box;
}




#demo_panel{
	border:1px solid #3baeee;
	padding:5px;
	border-radius:5px;
	position:fixed;
	left:-280px; 
	top:80px;
	background:white;
	width:300px;
	z-index:888;
	font-size:14px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px 10px;
}

#demo_panel a{
	display:block;
	margin-bottom:5px;
}


.chars_list{
	
}

.char_item{
	display:flex;
	align-items:baseline;
	gap:10px;
	font-size:13px;
	line-height:1.12;
}

.chars_list .char_item:not(:last-of-type){
	margin-bottom:10px;
}

.char_item .char_item-name{
	color:#868686;
	display:flex;
	align-items:baseline;
	width:225px;
	flex-shrink:0;
	gap:10px;
}

.char_item .char_item-name span{
	flex-shrink:0;
}

.char_item .char_item-name::after{
	flex-grow:1;
	content: "..................................................................................................................";
	overflow:hidden;
	text-overflow: "";
}

.char_item .char_item-value{
	flex-grow:1;
	color:#292929;
}




.ajax-load{
	margin-top:32px;
	text-align:center;
}

.ajax-load .btn{
	font-size:14px;
	font-weight:500;
	padding:0px 38px;
}

#personal{
	display:flex;
	gap:15px;
	margin-top:40px;
}

#personal > nav{
	flex-shrink:0;
	width:300px;
	gap:15px;
}

#personal > nav ul{
	list-style:none;
	margin:0px;
	padding:0px;
	border-radius:30px;
	background:#fff;
	overflow:hidden;
}

#personal > nav ul li{}

#personal > nav ul li a{
	display:block;
	padding:20px;
	text-decoration:none;
	color:var(--text);
	font-size:20px;
	font-weight:500;
}

#personal > nav ul li.selected a,
#personal > nav ul li a:hover{
	color:#fff;
	background:var(--text);
}

#personal > section{
	flex-grow:1;
}

#personal > section h1{
	font-size:24px;
	font-weight:500;
	margin-bottom:30px;
}