:root {
	--base-shadow: 9px 5px 38.7px 4.3px rgba(75, 85, 100, 0.14);
	--icon-shadow: 1px 3px 13px 0px rgba(75, 85, 100, 0.48);
	--marengo:#4B5564;
	--hmarengo:#313745;
	--red:#ED1C24;
	--hred:#D40008;
	--text:#272727;
}

html, body{
	margin:0px;
	padding:0px;
}

html{
	background:#fff;
}

body{
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings: "wdth" 100;	
	font-size:16px;
	color:var(--text);
	/*overflow-x:hidden;*/
}

body.is-hidden{
	overflow:hidden;
}

iframe{
	border: none;
	vertical-align: top;
}

img{
	max-width:100%;
	height: auto;
	vertical-align:top;
	border:none;
	outline:none;
}

a{
	text-decoration:underline;
	color:#3D94D7;
}

a:hover{
	text-decoration:none;
	color:#3D94D7;
}




.wr{
	max-width:1140px;
	margin:0px auto;
}

.btn{
	display:inline-flex;
	vertical-align:top;
	gap:10px;
	align-items:center;
	justify-content:center;
	padding:0px 20px;
	height:53px;
	background:var(--marengo);
	color:#fff;
	text-decoration:none;
	border-radius:7px;
	box-sizing:border-box;
	font-size:17px;
	box-shadow:none;
	border:none;
	outline:none;
	cursor:pointer;
}

.btn .btn-icon{
	flex-shrink:0;
	line-height:0px;
	font-size:0px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.btn .btn-icon svg path{
	fill:#fff;
}

.btn:hover{
	background:var(--hmarengo);
	color:#fff;
}

.btn:hover .btn-icon svg path{
	fill:#fff;
}

.btn.btn-red{
	background:var(--red);
	color:#fff;
}

.btn.btn-red:hover{
	background:var(--hred);
	color:#fff;
}

.btn.btn-red:hover .btn-icon svg path{
	fill:#fff;
}


/****/

.btn.btn-lgray{
	background:#EDEEEF;
	color:var(--text);
}

.btn.btn-lgray:hover .btn-icon svg path{
	fill:var(--text);
}

.btn.btn-lgray:hover{
	background:var(--hmarengo);
	color:#fff;
}

.btn.btn-lgray:hover .btn-icon svg path{
	fill:#fff;
}

/****/

.btn.btn-lgray2{
	background:#EDEEF0;
	color:var(--marengo);
}

.btn.btn-lgray2:hover .btn-icon svg path{
	fill:var(--text);
}

.btn.btn-lgray2:hover{
	background:var(--hmarengo);
	color:#fff;
}

.btn.btn-lgray2:hover .btn-icon svg path{
	fill:#fff;
}


/****/

.btn.btn-white{
	background:#fff;
	color:var(--marengo);
}

.btn.btn-white .btn-icon svg path{
	fill:var(--marengo);
}

.btn.btn-white:hover{
	/*background:var(--red);*/
	color:var(--red);
}

.btn.btn-white:hover .btn-icon svg path{
	fill:var(--red);
}

/****/

.btn.btn-white-hred{
	background:#fff;
	color:var(--marengo);
}

.btn.btn-white-hred .btn-icon svg path{
	fill:var(--marengo);
}

.btn.btn-white-hred:hover{
	background:var(--red);
	color:#fff;
}

.btn.btn-white-hred:hover .btn-icon svg path{
	fill:#fff;
}

/****/

.btn.btn-white2{
	background:#fff;
	color:var(--marengo);
	border:1px solid #ECECEC;
}

.btn.btn-white2 .btn-icon svg path{
	fill:var(--marengo);
}

.btn.btn-white2:hover{
	background:#ECECEC;
	color:var(--text);
}

.btn.btn-white2:hover .btn-icon svg path{
	fill:var(--marengo);
}

/***/

.btn.btn-big{
	padding:0px 45px;
	height:70px;
}

.btn.btn-full{
	width:100%;
}

.btn.btn-full70{
	width:100%;
	height:70px;
	font-size:20px;
	font-weight:500;
}

/****/




.link-simple{
	display:inline-flex;
	align-items:center;
	gap:10px;
	color:var(--text);
	text-decoration:none;
}

.link-simple .link-simple-icon{
	flex-shrink:0;
	line-height:0px;
	font-size:0px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.link-simple .link-simple-icon svg path{
	color:var(--text);
}

.link-simple:hover{
	color:var(--red);
}

.link-simple:hover .link-simple-icon svg path{
	fill:var(--red);
}

/******/

a.link-marengo{
	color:var(--marengo);
	text-decoration:underline;
}

a.link-marengo:hover{
	color:var(--marengo);
	text-decoration:none;
}

a.link-text{
	color:var(--text);
	text-decoration:underline;
}

a.link-text:hover{
	color:var(--text);
	text-decoration:none;
}


/****/

.text-icon{
	display:inline-flex;
	align-items:center;
	gap:10px;	
}

.text-icon.text-icon-flex{
	display:flex;
}

.text-icon-i{
	flex-shrink:0;
	line-height:0px;
	font-size:0px;
	display:flex;
	align-items:center;
	justify-content:center;	
}

.text-icon-txt{
	
}


h1.text-icon,
h2.text-icon,
h3.text-icon,
h4.text-icon,
h5.text-icon,
h6.text-icon{
	display:flex;
}

.txt-underline{
	text-decoration:underline;
}

.txt-center,
.center{
	text-align:center;
}

.txt-right{
	text-align:right;
}

.txt-left{
	text-align:left;
}

.uppercase{
	text-transform:uppercase;
}


/*****/

.marengo{
	color:var(--marengo);
}

.red{
	color:var(--red);
}


/*****/

h1{
	margin:24px 0px 24px 0px;
	font-weight: 500;
	font-size: 32px;
	line-height: 1;

}

h2,.h2{
	font-size:32px;
	font-weight:500;
	margin:30px 0px;
}



/*****/

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="date"],
textarea{
	background:#F0F0F0;
	font-size:18px;
	font-weight:300;
	line-height:1;
	color:var(--marengo);
	font-family: "Roboto", sans-serif;
	box-sizing:border-box;
	border-radius:5px;
	border:none;
	outline:none;
	box-shadow:none;
}

input[type="text"]::placeholder,
input[type="tel"]::placeholder,
input[type="email"]::placeholder,
input[type="password"]::placeholder,
input[type="date"]::placeholder,
textarea::placeholder{
	color: rgba(39, 39, 39, 0.17);
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="date"]{
	height:55px;
	padding:0px 21px;
}

textarea{
	padding:15px 21px;
	min-height:93px;
	resize:none;
}

button,
input[type="sumbit"]{
	font-family: "Roboto", sans-serif;
}

/*****/

table {
  border-collapse: collapse;
}

.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
}

.table td, .table th {
  padding: .75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}

.table-striped tbody tr:nth-of-type(2n+1) {
  background-color: rgba(0,0,0,.05);
}

.table-bordered td, .table-bordered th {
  border: 1px solid #dee2e6;
}

.table-wr{
	overflow-x:auto;
	padding-bottom:2px;
}

/******/

figure.fcol{
    display: grid;
    grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    justify-content: center;
	margin-bottom:30px;
	height: auto !important;
	width: auto !important;
	background: none;
	border: none;
}

figure.fcol img{
	width:100%;
	max-height:none;
	border-radius:20px;
	max-width:none !important;
}

figure.fcol.fcol_link{}

figure.fcol.fcol_link a{
	color:#000;
	text-decoration:none;
	font-size:14px;
	font-weight:bold;
	text-align:center;
}

figure.fcol.fcol_link a img{
	margin-bottom:10px;
}

figure.fcol.fcol_link a:hover{
	color:var(--blue);
	text-decoration:none;
}

/****/

.pic2cols{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
}

.pic2cols img{
	border-radius:5px;
}

.pic2full{}

.pic2full img{
	width:100%;
	height:auto;
}

.pic3cols{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:16px;
}

.pic3cols img{
	border-radius:5px;
}


.grid-4pics{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	align-items:flex-end;
	gap:16px;
}

/*****/

form.form{}

form.form .form-line{
	margin-bottom:15px;
}

form.form label{
	display:block
}

form.form label span.l{
	display:block;
	font-size:17px;
	line-height:1;
	margin-bottom:9px;
}

form.form label .error,
form.form label .error-message{
	display:none;
	padding-top:5px;
	font-size:13px;
	color:var(--red);
}

form.form input[type="text"],
form.form input[type="tel"],
form.form input[type="email"],
form.form input[type="password"],
form.form input[type="date"],
form.form textarea{
	width:100%;
}

form.form textarea{
	resize:none;
}

form.form .form-send{
	margin-top:18px;
}

form.form .form-send .btn{
	width:100%;
	height:60px;
}

form.form .form-caption{
	margin-bottom:26px;
	font-weight:500;
	line-height:1;
	font-size:24px;
}

form.form .form-message,
form.form .message{
	text-align:center;
	font-weight:500;
	padding-top:20px;
	display:none;
}

form.form label.error input[type="text"],
form.form label.error input[type="tel"],
form.form label.error input[type="email"],
form.form label.error input[type="password"],
form.form label.error input[type="date"],
form.form label.error textarea{
	border:1px solid var(--red);
} 


.form-group{
	margin-bottom:10px;
}

.form-group label,
.form-item .form-head{
	display:block;
	font-weight:bold;
	margin-bottom:10px;
	font-size:14px;
}

.form-group label.radio_inp{
	font-weight:normal;
}

.form-group label span,
.form-item .form-head span{
	font-weight:normal;
}

.form-group.form-group-full{}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="date"],
.form-group input[type="password"],
.form-group input[type="tel"],
.form-group textarea{
	width:100%;
}





.form-group select,
.form-group .jq-selectbox{
	width:100%;
}


.form-group.form-group-tip{}

.form-group.form-group-tip label{
	font-weight:normal;
	margin-bottom:0px;
}

.form-error-message{
	font-size:14px;
	color:var(--red);
}

.request-form-success{
	text-align:center;
}

.request-form-success .icon{
	width:60px;
	height:60px;
	margin:0px auto;
	margin-bottom:10px;
}

.request-form-success .icon svg{
	width:60px;
}

.request-form-success .icon svg path{
	fill:var(--blue);
}

.form-item{}


.form_popup_header{
	margin-bottom:20px;
	min-height:24px;
	font-size:14px;
	padding-right:63px;
}

.form_popup .send{}

.form_popup .send .btn{
	height:50px;
	background:var(--red);
}

.form_popup .send .btn:hover{
	background:var(--marengo);
	color:#fff;
}

.form_popup{}

.form_popup textarea{
	min-height:75px;	
}

.form_popup .title{
	font-size:16px;
	text-transform:uppercase;
	font-weight:bold;
	margin-bottom:15px;
}

.form_popup .title span{
	font-weight:normal;
}

.form_popup-1-cols{
	width:330px;
}

.form_popup-2-cols{
	width:720px;
}

.form_popup .send .btn{
	width:100%;
	box-sizing:border-box;
	max-width:330px;
}

.form_popup .note{
	padding-top:10px;
	font-size:10px;
	margin:0px;
}

.form_popup .note.privacy-checked{
	margin:0px 0px 10px 0px;
	padding: 0px;
}


.qdi-checkbox{
	display:flex;
	gap:10px;
	align-items:center;
	cursor:pointer;
}

.qdi-checkbox input{
	position:absolute;
	visibility:hidden;
	left:-9999px;
}

.qdi-checkbox .qdi-checkbox-icon{
	display:flex;
	justify-content:center;
	align-items:center;
	width:27px;
	height:27px;
	border: 1px solid #EDEEF0;
	border-radius: 4px;
	background:#fff;
	box-sizing:border-box;	
	flex-shrink:0;
}

.qdi-checkbox .qdi-checkbox-icon svg path{
	fill:#fff;
}

.qdi-checkbox input:checked ~ .qdi-checkbox-icon{
	background:var(--marengo);
	border: 1px solid var(--marengo);
}

.qdi-checkbox .qdi-checkbox-txt{}

/*****/

.qdi-checkbox-switch{
	cursor:pointer;
	display:flex;
	gap:10px;
	align-items:center;
}

.qdi-checkbox-switch input{
	position:absolute;
	left:-9999px;
	visibility:hidden;
}

.qdi-checkbox-switch .qdi-checkbox-icon{
	width:39px;
	height:20px;
	border-radius:100px;
	display:inline-block;
	vertical-align:top;
	position:relative;
	background:var(--marengo);
	transition:background 0.1s;
}

.qdi-checkbox-switch .qdi-checkbox-icon::before{
	content:'';
	position:absolute;
	border-radius:50%;
	background:#fff;
	width:16px;
	height:16px;
	left:2px;
	top:2px;
	transition:left 0.1s;
}

.qdi-checkbox-switch input:checked ~ .qdi-checkbox-icon{
	background:var(--red);
	
}

.qdi-checkbox-switch input:checked ~ .qdi-checkbox-icon::before{
	left:21px;
}


/*****/

.qdi-radio{
	display:flex;
	gap:10px;
	align-items:center;
	cursor:pointer;
}

.qdi-radio input{
	position:absolute;
	visibility:hidden;
	left:-9999px;
}

.qdi-radio .qdi-checkbox-icon{
	display:flex;
	justify-content:center;
	align-items:center;
	width:20px;
	height:20px;
	border: 1px solid #E6E6E6;
	border-radius:2px;
	background:#EEEEEE;
	box-sizing:border-box;	
	flex-shrink:0;
}

.qdi-radio .qdi-checkbox-icon::before{
	content:none;
	display:block;
	width:10px;
	height:10px;
	background:var(--marengo);
	border-radius:2px;
}

.qdi-radio .qdi-checkbox-icon svg path{
	fill:#fff;
}

.qdi-radio input:checked ~ .qdi-checkbox-icon::before{
	content:'';
}

.qdi-radio .qdi-checkbox-txt{}

/******/

.js_drop_file{}

.js_drop_file input{
	position:absolute;
	left:-9999px;
	visibility:hidden;
}

.js_drop_file .drop_file-zone{
	display:block;
	padding:23px 23px 25px 23px;
	background:#F0F0F0;
	font-size:15px;
	text-align:center;
	border:1px dashed #B3B3B3;
	border-radius:14px;
	cursor:pointer;
}

.js_drop_file .drop_file-pic{
	flex-direction:column;
	gap:5px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:11px;
}

.js_drop_file .drop_file-pic img{
	max-width:35px;
	max-height:35px;
	display:none;
}

.js_drop_file .drop_file-pic-txt{
	display:none;
	white-space:nowrap;
	overflow:hidden;
	text-overflow: ellipsis;
	width:100%;
	text-align:center;
}


/******/


#red_alert{
	background:#ED1C24;
}

#red_alert .wr{
	display:flex;
	justify-content:center;
	align-items:center;
	height:46px;
	color:#fff;
	position:relative;
	font-size:16px;
	gap:14px;
}

#red_alert .js_close{
	position:absolute;
	right:0px;
	top:50%;
	margin-top:-12px;
	cursor:pointer;
}

#red_alert a{
	color:#fff;
	text-decoration:none;
}

#red_alert .icon svg path{
	fill:#fff;
}

/****/


.sert_slider_block{
	padding:30px 90px;
	border-radius:20px;
	background:#fff;
	box-shadow:var(--base-shadow);
	margin:0px auto;
}

.sert_slider_block img{
	max-width:100%;
}

.sert_slider_block .owl-item img{
	width:100%;
}

.sert_slider_block_list.owl-loaded .owl-nav button.owl-prev,
.sert_slider_block_list.owl-loaded .owl-nav button.owl-next{

}

.sert_slider_block_list.owl-loaded .owl-nav button.owl-prev span,
.sert_slider_block_list.owl-loaded .owl-nav button.owl-next span{
	display:none;
}

.sert_slider_block_list.owl-loaded .owl-nav button.owl-prev{
	left:-65px;
}

.sert_slider_block_list.owl-loaded .owl-nav button.owl-next{
	right:-65px;
	
}

/******/

#wrapper{
	max-width: 100vw;
	overflow-x:hidden;
}


header.tmpl{
	position:relative;
}

header.tmpl > .wr{
	box-sizing:border-box;
	/*padding:14px 6px 20px 6px;*/
	padding:14px 0px 20px 0px;
	/*box-shadow: 0px 10px 16.4px 0px #0000000F;*/
}

header.tmpl .mobile_logo{
	text-align:center;
	margin-bottom:1rem;
	display:none;
}

header.tmpl .line1{
	display:flex;	
	align-items:center;
	margin-bottom:20px;
}

header.tmpl .line1 .city{
	margin-right:54px;
	display:flex;
	gap:10px;
	align-items:center;
	color:var(--marengo);
	font-weight:500;
	font-size:13px;
}

header.tmpl .line1 .city .city-icon{
	flex-shrink:0;
	
}

header.tmpl .line1 .email{
	font-size:13px;
	font-weight:500;
	margin-right:171px;
}

header.tmpl .line1 .email a.link-simple{
	color:var(--marengo);
}

header.tmpl .line1 .email a.link-simple .link-simple-icon svg path{
	fill:var(--marengo);
}

header.tmpl .line1 .email a.link-simple:hover{
	color:var(--red);
}

header.tmpl .line1 .email a.link-simple:hover .link-simple-icon svg path{
	fill:var(--red);
}

header.tmpl .line1 .phone{
	font-size:13px;
	font-weight:600;
}

header.tmpl .line1 .phone a.link-simple{
	color:var(--marengo);
}

header.tmpl .line1 .phone a.link-simple .link-simple-icon svg path{
	fill:var(--marengo);
}

header.tmpl .line1 .phone a.link-simple:hover{
	color:var(--red);
}

header.tmpl .line1 .phone a.link-simple:hover .link-simple-icon svg path{
	fill:var(--red);
}

header.tmpl .line1 .phone.phone2{
	margin:0px 35px;
}

header.tmpl .line1 .send{
	margin-left:auto;
}

header.tmpl .line1 .send .btn{
	height:37px;
	font-size:12px;
	font-weight:500;
}

header.tmpl .line2{
	display:flex;	
	align-items:center;
}

header.tmpl .line2 .logo{
	margin-right:37px;
	flex-shrink:0;
}

header.tmpl .line2 .btns{
	margin-right:10px;
	display:flex;
	gap:10px;
}

header.tmpl .line2 .btns .btn{
	height:37px;
	font-size:12px;
	white-space:nowrap;
}

header.tmpl .btn.btn-hservice{
	width:130px;
	gap:20px;
}

header.tmpl .line2 .search{
	flex-grow:1;
	margin-right:25px;
}

header.tmpl .line2 .links{
	margin-right:25px;
	display:flex;
	align-items:flex-end;
	gap:19px;	
}

header.tmpl .line2 .links .link-simple{
	flex-direction:column;
	justify-content:center;
	text-align:center;
	gap:4px;
	font-size:12px;
}

header.tmpl .line2 .links .soc_link{
	position:relative;
}

header.tmpl .social{
	display:none;
	position:absolute;
	background:#fff;
	z-index:400;
	padding:10px 10px;
	border-radius:6px;
	margin-top:18px;
	font-size:12px;
	transform: translateX(-50%);
	left: 50%;
}

header.tmpl .social a{
	display:flex;
	padding:5px;
	box-sizing:border-box;
	line-height:1.1;
	text-decoration:none;
	color:#606060;
	background:#EDEEEF;
	margin-bottom:5px;
	align-items: center;
	gap:10px;
	font-weight:500;
	border-radius:6px;
	white-space:nowrap;
}

header.tmpl .social a:last-of-type{
	margin-bottom:0px;
}

header.tmpl .social a .icon{
	border-radius:6px;
	width:25px;
	height:25px;
	display:flex;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	background:var(--marengo);
}

header.tmpl .social a .icon svg{

}

header.tmpl .social a .icon svg path{
	fill:#fff;
}


header.tmpl .social a:hover{
	color:#313745;
}

header.tmpl .social a:hover span.icon{
	background:#313745;
}


header.tmpl .line2 .personal{}

header.tmpl .line2 .personal .btn{
	height:38px;
	font-size:12px;
	font-weight:600;
}

.header_profile_links{}

.header_profile_links a.link-simple{}

.header_profile_links a.link-simple .link-simple-icon{
	position:relative;
}

.header_profile_links .basket_header_count{
	line-height:1;
	font-size:10px;
	display:flex;
	position:absolute;
	border-radius:50%;
	justify-content:center;
	align-items:center;
	width:20px;
	height:20px;
	right:-13px;
	top:-11px;
	color:#fff;
	background:var(--red);
}

main.tmpl{
	padding:22px 0px 30px 0px;
}










.main_btns{
	display:flex;
	gap:19px;
	align-items:center;
	justify-content:center;
	margin:30px 0px;
}

.main_btns .btn{
	width:232px;
}

#page_cat_mb_ral{
	position:relative;
	background:#4C5564;
	margin:30px 0px;
}

#page_cat_mb_ral::before {
	content: '';
	position: absolute;
	height: 100%;
	width: 100vw;
	left: 0px;
	top: 0px;
	margin-left: calc( 0px - ((100vw - 100%)/2) );
	background:#4C5564;
}

#page_cat_mb_ral .body{
	display:flex;
	justify-content:space-between;
	align-items:center;	
	height:61px;
	padding:0px 48px;
	font-size:19px;
	color:#fff;
	position:relative;
	z-index:20;
	font-weight:600;
	gap:20px;
	text-align:center;
	line-height:1;
}

#page_cat_mb_ral .body b{
	font-weight:400;
	color:#A7A7A7;
}

#page_cat_mb_ral .icon{
	line-height:0;
}

/**********/

.price-block{}

.price-block .price{
	color:var(--red);
	font-size:24px;
	font-weight:bold;
	line-height:1.1;
}

.price-block .old-price{
	color:#787878;
	text-decoration:line-through;
	font-size:16px;
	font-weight:300;
	line-height:1.1;
}

.price-block .percent{
	display:inline-block;
	vertical-align:top;
	line-height:1;
	padding:4px;
	background:var(--red);
	color:#fff;
	margin-left:auto;
}

/*********/

.product-list{
	display:grid;
	gap:28px 30px;
	grid-template-columns:1fr 1fr 1fr;
	margin:30px 0px;
}

.product-list.product-list-col4{
	grid-template-columns:1fr 1fr 1fr 1fr;
}

.product_item{
	padding:11px 18px 18px 18px;
	display:flex;
	flex-direction:column;
	border:1px solid #EDEEF0;
	border-radius:5px;
	position:relative;
}

.product_item .dop{
	margin-top:auto;
}

.product_item .pic{
	margin-bottom:28px;
	display:flex;
	/*height:312px;*/
	height:230px;
	align-items:center;
	justify-content:center;
	
}

.product_item .pic a{
	display:block;
	width:100%;
	height:100%;
	background-position:right 10px bottom 10px, center center;
	background-size:auto, contain;
	background-repeat:no-repeat;
}

.product_item .pic a img{
	display:none;
}

.product_item .price-block-wr{
	margin-bottom:15px;
}

.product_item .price-block{
	display:flex;
	align-items:center;
	gap:10px;	
}

.product_item .price-block-nds {
	color: var(--red);
	font-size: 14px;
	margin-top:3px;
}

.product_item .price-block .price{
	font-size:18px;
}

.product_item .price-block .old-price{
	font-size:13px;
}


.product_item .desc{
	margin-bottom:20px;
	line-height:1.1;
	font-size:16px;
}

.product_item .desc a{
	text-decoration:none;
	color:var(--text);
}

.product_item .desc a:hover{
	text-decoration:underline;
	color:var(--text);
}

.product_item .dop{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:21px;
}

.product_item .artikul{
	font-size:13px;
	font-weight:300;
	line-height:1.1;
}

.product_item .rating{
	display:flex;
	gap:6px;
}

.product_item .rating .rating-star{
	width:16px;
	height:16px;
	background:url(images/star.svg) 0px 0px no-repeat;
	background-size:contain;
}

.product_item .more{}

.product_item .more .btn{
	width:100%;
	/*
	height:56px;
	font-size:20px;
	*/
	height: 37px;
	font-size: 12px;
	font-weight: 500;
}

.product_item .chars_list{
	margin-bottom:15px;
}

.product_item .chars_list .chars{
	display:flex;
	align-items:center;
	gap:15px;
	padding-bottom:10px;
	border-bottom:1px solid #DFDFDF;
	margin-bottom:10px;
}

.product_item .chars_list .chars:last-of-type{
	padding-bottom:0px;
	border-bottom:none;
	margin-bottom:0px;	
}

.product_item .chars_list .chars .zag{
	width:100px;
	font-size:15px;
	font-weight:500;
}

.product_item .chars_list .chars .val{
	margin-left:auto;
	font-size:13px;	
}

.product_item .chars_list .chars .cpic.color{
	width:52px;
	height:34px;
	border-radius:4px;
	border:1px solid #EEEEEE;
}

.product_item .labels{
	position:absolute;
	left:15px;
	top:15px;
}

.product_item .gallery{
	position:absolute;
	right:10px;
	top:10px;
	display:flex;
	flex-direction:column;
	gap:5px;
}

.product_item .gallery .gallery-item{
	width:50px;
	height:50px;
	border-radius:3px;
	border:1px solid #EEEEEE;
	display:flex;
	align-items:center;
	justify-content:center;
}

.show_all{
	margin:30px 0px;
}

.show_all .btn{
	width:100%;
	height:62px;
	background:#F4F4F4;
	color:var(--text);
	font-size:20px;
}

.show_all .btn .btn-icon svg path{
	fill:var(--text);
}

.show_all .btn:hover{
	background:#D7D7D7;
	color:var(--text);
}

.show_all .btn:hover .btn-icon svg path{
	fill:var(--text);
}







/***/







footer.tmpl{
	background:var(--marengo);
	color:#fff;
	padding:46px 0px 45px 0px;
	font-size:14px;
	line-height:1.07;
}


footer.tmpl .wr{}

footer.tmpl .line1{
	display:flex;
	gap:40px;
	margin-bottom:41px;
}

footer.tmpl .line1 .col4{
	margin-left:auto;
}

footer.tmpl .line1 ul{
	display:grid;
	gap:21px;
	list-style:none;
	margin:0px;
	padding:0px;
}

footer.tmpl .line1 ul li{
	
}

footer.tmpl .line1 ul li a{
	color:#fff;
	text-decoration:none;
}

footer.tmpl .line1 ul li a:hover{
	color:#fff;
	text-decoration:underline;
}

footer.tmpl .line1 .head{
	display:flex;
	align-items:center;
	gap:18px;
	margin-bottom:18px;
}

footer.tmpl .line1 .social{
	display:flex;
	justify-content:flex-end;
	gap:10px;
}

footer.tmpl .line1 .social a{
	width:36px;
	height:36px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:5px;
}

footer.tmpl .line1 .social a:hover{
	background:#fff;
}

footer.tmpl .line1 .social a:hover svg path{
	fill:var(--marengo);
}

#foot_menu{
	margin-bottom:31px;
	text-transform:uppercase;
}

#foot_menu ul{
	list-style:none;
	margin:0px 0px 0px 0px;
	padding:0px;
	display:flex;
	justify-content:space-between;
	gap:10px;
}

#foot_menu ul li{}

#foot_menu ul li a{
	color:#fff;
	text-decoration:none;
}

#foot_menu ul li a:hover{
	color:#fff;
	text-decoration:underline;
}


#foot_smenu{
	padding:0px 11px;
}

#foot_smenu ul{
	list-style:none;
	margin:0px 0px 0px 0px;
	padding:0px;
	display:flex;
	justify-content:space-between;
	gap:10px;
}

#foot_smenu ul li{}

#foot_smenu ul li a{
	color:#fff;
	text-decoration:none;
}

#foot_smenu ul li a:hover{
	color:#fff;
	text-decoration:underline;
}

/**********/






.pagination{
	display:flex;
	gap:3px;
	margin:54px 0px 52px 0px;
	justify-content:center;
	align-items:center;
}

.pagination span,
.pagination a{
	width:30px;
	height:30px;
	flex-shrink:0;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:14px;
	font-weight:300;
	text-decoration:none;	
	border:1px solid #D7D7D7;
	box-sizing:border-box;
}

.pagination span{
	background:var(--marengo);
	color:#fff;
}

.pagination a{
	color:var(--marengo);
	background:#F5F5F5;
}

.pagination a:hover{
	background:var(--marengo);
	color:#fff;
}

.pagination a.arrow{
	background:var(--marengo);
	border:none;
}

.pagination a.arrow:hover{
	background:var(--hmarengo);
}

.pagination a.arrow.prev{
	margin-right:5px;
}

.pagination a.arrow.next{
	margin-left:5px;
}

/******/

#callback_block{
	display:grid;
	gap:26px;
	grid-template-columns:1fr 1fr;
	margin-top:30px;
}

#callback_block .cleft{
	background: var(--marengo);
	color:#fff;
	font-size:24px;
	font-weight:300;
	line-height:1;
	padding:39px 35px 39px 35px;
	min-height:347px;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	position:relative;
}

#callback_block .cleft::before{
	content:'';
	background:url(images/callback_block_cleft.webp) 0px 0px no-repeat;
	background-size:cover;	
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	mix-blend-mode: luminosity;
}

#callback_block .cleft .head{
	display:flex;
	align-items:center;
	gap:24px;
	margin-bottom:40px;
	font-size:32px;
	font-weight:500;
	position:relative;
	z-index:10;
}

#callback_block .cleft .head .head-icon{
	line-height:0px;
}

#callback_block .cleft .desc{
	margin-bottom:24px;
	position:relative;
	z-index:10;
}

#callback_block .cleft .more{
	margin-top:auto;
	display:flex;
	gap:5px;
	position:relative;
	z-index:10;
}

#callback_block .cleft .more .btn{
	width:206px;
	font-weight:16px;
	font-weight:500;
}

#callback_block .cleft .more .square{
	display:inline-flex;
	align-items:center;	
	justify-content:center;
	height:53px;
	width:49px;
	border-radius:6px;
	background:#fff;
}

#callback_block .cright{
	padding:35px 102px 39px 35px;
	background:url(images/callback_block_right.webp) left 0px bottom 0px no-repeat #EEEEEE;
	background-size:cover;
	font-size:24px;
	font-weight:300;
	min-height:347px;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	position:relative;
}

#callback_block .cright b{
	font-weight:400;
}

#callback_block .cright .icon{
	position:absolute;
	top:31px;
	right:30px;
}

#callback_block .cright .desc{
	margin-bottom:20px;
}

#callback_block .cright .desc::before{
	content:'';
	display:inline-block;
	width:30px;
	height:2px;
	background: rgba(39, 39, 39, 0.18);
	vertical-align:middle;
	margin-right:13px;
}

#callback_block .cright .more{
	margin-top:auto;
}

#callback_block .cright .more .btn{
	width:206px;
	box-shadow: 0px 5px 10.4px 0px #00000066;
}


.direct_block{
	display:flex;
	
}

.direct_block .body{
	min-height:408px;
	box-sizing:border-box;
	padding:33px 33px 41px 41px;
	background:var(--marengo);
	color:#fff;
	font-size:24px;
	line-height:1;
	display:flex;
	flex-direction:column;
	gap:31px;
	width:600px;
	flex-shrink:0;
}

.direct_block .body .num{
	font-size:23px;
	font-weight:300;
	color: #7E7E7E;
}

.direct_block .body .caption{
	font-size:32px;
	font-weight:500;
	text-transform:uppercase;
}

.direct_block .body .desc{
	max-width:389px;
}

.direct_block .body .more{
	margin-top:auto;
}

.direct_block .body .more .btn{
	width:194px;
}

.direct_block .pic{
	background-color:var(--red);
	background-size:cover;
	background-position:center center;
	border-top:17px solid #fff;
	border-bottom:17px solid #fff;
	flex-grow:1;
}




p.p-icon{
	padding-left:44px;
	/*font-size:24px;*/
	font-weight:500;
	background-position:left 0px top 0px;
	background-repeat:no-repeat;
}


/****/




.sert-block{
	margin:30px 0px;
}

.sert-block .sert-block-caption{
	font-size:32px;
	font-weight:500;
	margin-bottom:30px;
}

/********/




.about_us_block{
	display:flex;
	gap:30px;
	margin-bottom:30px;
}

.about_us_block .pic{
	flex-shrink:0;
	width:545px;
	background:#F7F7F7;
	text-align:center;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
}

.about_us_block .pic figure{
	position:relative;
	padding:0px;
	margin:0px;
}

.about_us_block .pic figure figcaption{
	width:100%;
	max-width:405px;
	left:50%;
	transform:translate(-50%);
	bottom:22px;
	padding:22px 15px 15px 15px;
	background:#fff;
	text-align:center;
	font-size:16px;
	font-weight:300;
	color:#6F6F6F;
	position:absolute;
}

.about_us_block .pic figure figcaption::before{
	content:'';
	position:absolute;
	background:url(images/page-company-quote-icon.svg) center center no-repeat var(--marengo);
	width:30px;
	height:30px;
	left:29px;
	top:-15px;
}


.about_us_block .pic figure figcaption span{
	display:block;
	line-height:1;
}

.about_us_block .pic figure figcaption span.name{
	color:var(--marengo);
	font-size:20px;
	font-weight:500;
	margin-bottom:9px;
}

.about_us_block .pic figure figcaption span.titul{}

.about_us_block .body{
	display:flex;
	flex-direction:column;
	gap:30px;
	font-size:16px;
}

.about_us_block h1{
	font-size:32px;
	margin-bottom:0px;
}

.about_us_block .desc{
	
}

.about_us_block .subcaption{
	font-size:32px;
	font-weight:500;
	padding-left:23px;
	background:url(images/page-our-projects-header-icon.svg) left top no-repeat;
}


.about_us_block .more{}

.about_us_block .more .btn{
	font-size:20px;
	font-weight:600;
	height:70px;
}


.font-12{
	font-size:12px;
}

.font-14{
	font-size:14px;
}

.font-16{
	font-size:16px;
}

.font-18{
	font-size:18px;
}

.font-20{
	font-size:20px;
}

.font-22{
	font-size:22px;
}

.font-24{
	font-size:24px;
}

.font-26{
	font-size:26px;
}

.font-28{
	font-size:28px;
}

.font-30{
	font-size:30px;
}

.font-32{
	font-size:32px;
}

.w-300{
	font-weight:300;
}

.w-500{
	font-weight:500;
}

.w-600{
	font-weight:600;
}


.mb-5{
	margin-bottom:5px;
}

.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;
}

.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;
}


ol.gray_block_ol{
	list-style:none;
	padding:0px;
	margin:30px 0px;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:21px;
	counter-reset: ol-counter;
}

ol.gray_block_ol li{
	color:#fff;
	background:var(--marengo);
	padding:40px 30px 40px 40px;
	font-size:18px;
	line-height:1;
	counter-increment: ol-counter;
}

ol.gray_block_ol li .head{
	display:flex;
	align-items:center;
	gap:20px;
	margin-bottom:38px;
	text-transform:uppercase;
	font-size:28px;
	font-weight:500;
}

ol.gray_block_ol li .head::before{
	content:'0' counter(ol-counter) '/';
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--red);
	width:50px;
	height:50px;
	color: rgba(255, 255, 255, 0.5);
	font-size:16px;
	font-weight:500;
}

ol.gray_block_ol.bright li{
	background:#F5F5F5;
	color:#000;
	
}

ol.gray_block_ol.bright li .head::before{
	background:var(--marengo);
	color: rgba(255, 255, 255, 0.49);
}

ol.gray_block_ol.bright li b{
	font-weight:500;
}

ol.gray_block_ol.bright li a{
	color:#000;
	text-decoration:underline;
}

ol.gray_block_ol.bright li a:hover{
	color:#000;
	text-decoration:none;
}

ol.gray_block_ol.bright li.logo{
	background-position:bottom 45px center;
	background-repeat:no-repeat;
}

.pagination{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:3px;
	margin:20px 30px;
}

.pagination span,
.pagination a{
	box-sizing:border-box;
	width:30px;
	height:30px;
	background:#F5F5F5;
	color:#000;
	text-decoration:none;
	display:flex;
	align-items:center;
	justify-content:center;
}

.pagination a{
	cursor:pointer;
}

.pagination a:hover{
	background:var(--marengo);
	color:#fff;
}

.pagination span{
	border: 1px solid rgba(75, 85, 100, 1)
}

.pagination span.prev,
.pagination span.next{
	
}

.pagination span.prev svg path,
.pagination span.next svg path{
	fill:var(--text);
}

.pagination a.prev,
.pagination a.next{
	background:var(--marengo);
}

.pagination a.prev:hover,
.pagination a.next:hover{
	background:var(--text);
}

.pagination a.prev svg path,
.pagination a.next svg path{
	fill:#fff;
}



ul.contact_info_grid{
	list-style:none;
	padding:0px;
	margin:38px 0px 14px 0px;
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:13px;
}

ul.contact_info_grid li{
	padding:20px 18px;
	background:#F5F5F5;
	border-radius:6px;
	display:flex;
	flex-direction:column;
	gap:1rem;
	/*font-size:24px;*/
	line-height:1;
}

ul.contact_info_grid li .head{
	font-weight:500;
}

ul.contact_info_grid li p{
	margin:0px;
}

ul.contact_info_grid li a{
	text-decoration:none;
	color:var(--text);
}

ul.contact_info_grid li a:hover{
	text-decoration:underline;
	color:var(--text);
}



.contact-alert{
	padding:26px;
	background:var(--marengo);
	color:#fff;
	/*font-size:24px;*/
	font-weight:500;
	line-height:auto;
	border-radius:6px;
	margin:30px 0px;
}

.contact-alert.text-icon a{
	color:#fff;
	text-decoration:none;
}

.contact-alert.text-icon a:hover{
	color:#fff;
	text-decoration:underline;
}

.contact-alert.text-icon{
	gap:28px;
}

.contact-alert.text-icon .text-icon-i svg path{
	fill:#fff;
}

.contact-alert.text-icon .text-icon-txt{
	display:flex;
	flex-direction:column;
	gap:1rem;
}

.contact-alert.text-icon .text-icon-txt p{
	margin:0px;
}

.contact-alert.text-icon.flex-start{
	align-items:flex-start;
}

.four_block{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:15px;
	margin:30px 0px;
}

.four_block a{
	background-size:cover;
	background-position:center center;
	min-height:220px;
	border-radius:6px;
}

.four_block a img{
	visibility:hidden;
}


.simple_message_block{
	padding:23px;
	background:var(--marengo);
	color:#fff;

	margin:30px 0px;
	border-radius:6px;
}

.simple_message_block .txt{
	margin:0px auto 18px auto;
	max-width:648px;
	text-align:center;
}

.simple_message_block .more{
	text-align:center;
}

.simple_message_block .more .btn{
	height:70px;
	width:100%;
	max-width:337px;
	font-size:20px;
	font-weight:600;
}

.js-quantity{
	display:inline-flex;
	gap:6px;
}

.js-quantity .js-quantity-button{
	width:23px;
	height:30px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--marengo);
	cursor:pointer;
}

.js-quantity .js-quantity-button svg path{
	fill:#fff;
}

.js-quantity .js-quantity-button:hover{
	background:var(--text);
}

.js-quantity input[type="text"]{
	height:30px;
	min-width:0px;
	width:41px;
	background:#F5F5F5;
	border: 1px solid #E3E3E3;
	font-size:14px;
	font-weight:300;
	border-radius:0px;
	padding:0px;
	text-align:center;
}

.arr_accordeon{
	margin-bottom:30px;
}

.arr_accordeon .pane:not(:last-of-type){
	margin-bottom:10px;
}

.arr_accordeon .header,
.show-next{
	border:none;
	margin:0px;
    padding: 20px 72px 20px 20px;
	font-size:18px;
	font-weight:normal;
	cursor:pointer;
	position:relative;
	border-radius:5px;
	background:#EDEEF0;
}

.arr_accordeon .header::after{
	content:'';
	position:absolute;
	width:32px;
	height:32px;
	border-radius:50%;
	right:23px;
	top:50%;
	margin-top:-16px;
	background:url(images/accordeon_select.svg) center center no-repeat var(--marengo);
}

.arr_accordeon .pane.open .header::after{
	transform:rotate(180deg);
}

.arr_accordeon .header span.link{
	cursor:pointer;	
}

.arr_accordeon .pane .ar_body{
	height:0px;
	overflow:hidden;
}



.arr_accordeon .pane.open .ar_body{
	height:auto;
}

.arr_accordeon .pane .ar_body_wr,
.hide-description{
	padding:35px 20px;
	border-radius:5px;
	background: #F6F6F6; 
	margin-bottom:0px;
	font-size: 16px; 
}


.hide-description{
	display:none;
}

.left-block{
	margin-bottom:25px;
}

.left-block .left-block-caption{
	font-size:16px;
	font-weight:500;
	line-height:1.1;
	margin-bottom:10px;
}

.left-block .left-block-caption.text-icon{
	justify-content:space-between;
	display:flex;
}

.labels{
	display:flex;
	flex-direction:column;
	gap:5px;
	align-items:flex-start;
}

.labels .label{
	height:23px;
	line-height:1;
	display:flex;
	padding:0px 8px;
	background:var(--red);
	color:#fff;
	min-width:92px;
	align-items:center;
	justify-content:center;
	font-size:13px;
	font-weight:500;
	border-radius:4px;
}

.labels .label.label_pod-zakaz,
.labels .label.label-pod-zakaz{
	background:#A3A3A3;
}

.labels .label.label-action{
	background:var(--red);
}

.labels .label.label-rasprodaja{
	background:#E3AA00;
}

.labels .label.label_v-nalichii,
.labels .label.label-v-nalichii{
	background:#18C254;
}

.labels .label.label_ne-postavlyaetsya,
.labels .label.label-ne-postavlyaetsya{
	background:#444853;
}

.labels .label.label-prodano{
	background:#444853;
}

