/* RESET */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;/* vertical-align: top; */line-height:normal;}
html, body {height:100%;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {display: block;}
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after {content:'';content: none;}
table {border-collapse:collapse;border-spacing:0;}

/* STYLE */

:root{
	--clr-accent: #0b2;
	--clr-on-accent: #fff;
	--clr-accent-hov: #1c3;
	--clr-on-accent-hov: #fff;
	
	--clr-num2: #f3702a;
	--clr-on-num2: #fff;
	--clr-num2-hov: #f84;
	--clr-on-num2-hov: #fff;
	
	--clr-icon: #09a;
	--clr-on-icon: #fff;
	--clr-icon-hov: #1ab;
	--clr-on-icon-hov: #fff;
	
	--clr-plate:#fff;
	--clr-border:#eee;
	--clr-light:#f7f7f7;
	--clr-bg:#eee;
	
	--clr-footer-link:#ddd;
	--clr-footer-link-hov:#fff;
	
	--clr-h:#000;
	--clr-text-cont:#444;
	
	--bg-light-gradient:linear-gradient(#fafafa, #efefef);
	
	--dim-social-head:20px;
	--dim-plate: 20px;
	--dim-radius:10px;
	--dim-scroll: 5px;
	
	--fnt-family-1: Roboto, sans-serif;
	--fnt-family-2: Times New Roman, serif;
	--fnt-family-3: "Playfair Display SC", serif; 
	
	--anim-delay:0.1s;
}

.colors-2 {
	--clr-accent: #5AD;
	--clr-accent-hov: #6be;
	--clr-num2:#78B;
	--clr-num2-hov: #89c;
}

.colors-3 {
	--clr-num2:#d20;
	--clr-num2-hov: #e30;
}

.colors-4 {
	--clr-num2:#f32;
	--clr-num2-hov: #f43;
}

.colors-5 {
	--clr-num2:#f60;
	--clr-num2-hov: #f80;
}

.grd-1 {background: linear-gradient(135deg, #00dc00, #00d501, #00ba01);}
.grd-2 {background: linear-gradient(133deg, var(--clr-num2) 48%, var(--clr-num2-hov) 80%);}

.clr-accent {color:var(--clr-accent);}
.clr-icon {color:var(--clr-icon);}
.clr-num2 {color:var(--clr-num2);}

.ic-mark { position: relative; padding: 10px; display: block; width: fit-content; }
.ic-mark:after { background: var(--clr-icon); border-radius: 50%; position: absolute; display: block; content: ""; left: 0px; width: 100%; height: 100%; top: 0px; opacity: 0.2; }
.ic-mark i { position: relative; z-index: 1; background: var(--clr-icon); color: var(--clr-on-icon); text-align: center; padding: 5px; display:block; aspect-ratio:1; font-size: 18px; line-height: 20px; border-radius: 50%; }

.icon {background: url() no-repeat center center / contain;}
.icon.ic-step1 { background-image: url(../img/ic_step1.svg);}
.icon.ic-step2 { background-image: url(../img/ic_step2.svg);}
.icon.ic-step3 { background-image: url(../img/ic_step3.svg);}
.icon.ic-step4 { background-image: url(../img/ic_step4.svg);}
.icon.ic-step5 { background-image: url(../img/ic_step5.svg);}
.icon.ic-step6 { background-image: url(../img/ic_step6.svg);}
.icon.ic-arrow { background-image: url(../img/ic_arrow.svg);}

html, body { padding: 0px; margin: 0px; width:100%; color:#777;}
.container {margin:0 auto; width:calc(100% - 40px); max-width:1140px; padding:20px;}

body {
	font: normal 14px/20px var(--fnt-family-1);
	background: #FFF;
	color: #777;
}

::selection {
    color: var(--clr-on-accent);
    background-color: var(--clr-accent);
}

a { color:#333; text-decoration:none; transition: color 0.5s; }
a:hover {color:#111;}

.unselectable,
.not-sel {
	-moz-user-select: none; 
	-khtml-user-select: none; 
	-webkit-user-select: none; 
	-o-user-select: none;
}
.clear:after {content:''; display:block; clear:both;}
.hide {display:none;}
.sticked { position: fixed; top: 0; z-index:100; }

.blocks:after {display:block; clear:both; content:'';}
.blocks > * {float:left;}

.block-1-2 {width:50%;}
.block-1-3 {width:33%;}
.block-2-3 {width:67%;}

textarea, input, select {
	display: block;
    max-width: unset;
    width:100%;
    box-sizing:border-box;
    padding: 10px;
    font: 300 16px/20px var(--fnt-family-1);
    color: #555;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ddd;
    border-radius: 0.25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    resize:vertical;
}

textarea:focus, input:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);
}

/* Base range input styling - removing default appearance */
input[type="range"] {
	-webkit-appearance: none;
    width: 100%;
    height: 0;
    border-radius: 10px;
    background: #f5f5f5;
    outline: none;
    margin: 10px 0;
}

/* Removing focus outline glow */
input[type="range"]:focus {
    outline: none;
}

/* Webkit (Chrome, Safari, Opera) track styling */
input[type="range"]::-webkit-slider-track {
    height: 8px;
    border-radius: 4px;
    background: #ddd;
}

/* Webkit thumb styling */
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* Firefox track styling */
input[type="range"]::-moz-range-track {
    height: 8px;
    border-radius: 4px;
    background: #ddd;
    border: none;
}

/* Firefox thumb styling */
input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
}

/* IE/Edge track styling */
input[type="range"]::-ms-track {
    height: 8px;
    border-radius: 4px;
    background: transparent;
    border-color: transparent;
    color: transparent;
}

/* IE/Edge thumb styling */
input[type="range"]::-ms-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    cursor: pointer;
}

/* Custom color examples */

/* Blue theme */
input[type="range"]::-webkit-slider-thumb {
    background: var(--clr-accent);
}

input[type="range"]::-moz-range-thumb {
    background: var(--clr-accent);
}

input[type="range"]::-ms-thumb {
    background: var(--clr-accent);
}

input[type="range"]::-webkit-slider-track {
    background: var(--clr-accent);
}

input[type="range"]::-moz-range-track {
    background: var(--clr-accent);
}

input[type="range"]::-ms-track {
    background: var(--clr-accent);
}

hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0,0,0,.1);
}

.font-1 {font-family: var(--fnt-family-1);}
.font-2 {font-family: var(--fnt-family-2);}

h1, h2, h3, h4, h5, h6 { font-weight: normal; margin:0 0 1.5rem; color:var(--clr-h); }
.h1, .h2, .h3, .h4, .h5, .h6 { font-weight: normal; color:var(--clr-h);}

.h1, h1 {font-size: 2.0rem;}
.h2, h2 {font-size: 1.7rem;}
.h3, h3 {font-size: 1.5rem;}
.h4, h4 {font-size: 1.3rem;}
.h5, h5 {font-size: 1.2rem;}
.h6, h6 {font-size: 1.0rem;}

small {font-size:75%;}

p {font-size:14px; line-height:25px; margin-bottom:20px;}

/*
::-webkit-scrollbar {width: 8px;}
::-webkit-scrollbar-track {background:#0001;}
::-webkit-scrollbar-thumb {background:#555; border-radius:4px;}
::-webkit-scrollbar-thumb:hover  {cursor:pointer;background:#000;}
*/

textarea.small, input.small, select.small, button.small {padding:10px;}

/* MODALS */

.modal-window.wide { width: calc(100% - 40px); max-width: 1140px;}
.modal-window {
	position:fixed;
	max-height: 92vh;
	z-index:101;
	display:none;
	left:50%;
	top:50%;
	width:400px;
	max-width: 90%;
	border-radius:20px;
	overflow:hidden;
	transform:translate(-50%,-50%);
	box-shadow: 0 0 20px #0007;
}
.modal-window.active { display:block; }

.modal-window .wrapper { padding:30px; background:var(--clr-plate);  }
.modal-window .close {cursor:pointer;}
.modal-window .caption .close:hover {color:var(--clr-accent);}
.modal-window .caption {
    margin: 0 0 20px;
    padding: 0 0 10px;
    border-bottom: 1px solid var(--clr-accent);
    font-weight: 400;
    color: var(--clr-h);
    font-size: 28px;
    display:flex;
}
.modal-window .caption span {flex:1 0;}
.modal-window .caption .close {}
.modal-window .long-list {overflow-y:scroll; padding-right:10px;}

.long-list::-webkit-scrollbar-corner { background: #0000;}
.long-list::-webkit-scrollbar { width: var(--dim-scroll); height: var(--dim-scroll); background: #0001;}
.long-list::-webkit-scrollbar-thumb { background: var(--clr-accent); border-radius:calc(var(--dim-scroll) / 2);}
.long-list::-webkit-scrollbar-track { background: #0001; }

#overlay {
	position:fixed;
	display:none;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:100;
	background:#0007;
}

#overlay.active {
	display:block;
}

/* FORM UI */

.input {position:relative;}
.input .icon {position:absolute; height:100%; right:0; top:0; aspect-ratio:1; text-align: center;}
.input .reset {cursor:pointer; opacity:0.8;}
.input .reset {opacity:1; z-index:1;}

.filter-list .item:hover {color:var(--clr-h); cursor:pointer; text-decoration: underline;}
.filter-list .item.active {color:var(--clr-num2); font-weight:bold;}

.radio,
.checkbox,
.switch { display:flex; align-items:center; font-size:1rem; line-height:1rem; cursor:pointer;}

.radio input,
.checkbox input,
.switch input { display: none; }

.radio span,
.checkbox span,
.switch span { flex-grow:1; display:block; margin:0 10px; }

.radio:hover i,
.checkbox:hover i,
.switch:hover i { background-color: var(--clr-bg-dark); }

.radio i,
.checkbox i,
.switch i {
	position:relative;
	user-select: none;
	width:1rem;
	height:1rem;
	display: block;
	box-shadow: inset 0 0 3px #0005;
	background-color: var(--clr-bg);
	transition: background-color 0.3s ease;
}

.radio i:before,
.checkbox i:before,
.switch i:before {
	content:'';
	display: block;
	position:absolute;
}

.radio i { border-radius: 50%; }
.radio i:before {
    left: 25%;
    top: 25%;
    width: 50%;
    height: 50%;
    border-radius:50%;
    opacity:0;
    background-color: var(--clr-plate);
    transform: scale(2);
    transition: opacity 0.1s ease, transform 0.3s ease;
}

.checkbox i { border-radius: 3px; }
.checkbox i:before {
    left: 20%;
    top: -25%;
    width: 50%;
    height: 100%;
    border: solid white;
    border-width: 0 3px 3px 0;
    opacity:0;
    transform: rotate(45deg) scale(1);
    transition: opacity 0.1s ease, transform 0.3s ease;
}

.switch i { width:2rem; border-radius:1rem; }
.switch i:before {
	left:0;
	width:50%;
	height:100%;
	margin: -2px 0 0 -2px;
	border: 2px solid var(--clr-bg);
	border-radius: 50%;
	box-shadow: 0 0 5px #0003;
	background-color: var(--clr-plate);
	transition: left 0.3s ease;
}

.radio input:checked ~ i,
.checkbox input:checked ~ i,
.switch input:checked ~ i { background-color: var(--clr-accent); }

.radio input:checked ~ i:before { opacity:1; transform: scale(1); }
.checkbox input:checked ~ i:before { opacity:1; transform: rotate(45deg) scale(0.5); }
.switch input:checked ~ i:before { left:50%; border-color: var(--clr-accent); }

.list-date {display:block; text-align:center; background:none!important;}
.list-date span {display:inline-block; padding:5px 10px; background:var(--clr-plate-border); border-radius:5px;}

form.show-success .form {display:none;}
form.show-success .success-msg {display:block;}

.success-msg {display:none;}
.success-msg .ic-mark {margin:0 auto 10px;}
.success-msg .ic-mark i {width:40px;  height:40px; font-size: 34px; line-height: 40px;}

/* COMMON */

.list > * { margin-bottom:var(--dim-plate);}
.list > *:last-child {margin-bottom:0;}

.pos-absolute {position:absolute;}
.pos-relative {position:relative;}

.dsp-none {display:none;}
.dsp-flex {display:flex;}
.dsp-block {display:block;}
.dsp-in-block {display:inline-block;}

.flex-wrap {flex-wrap:wrap;}

.flex-column {flex-direction:column;}

.flex-grow, .flex-grow-c > * {flex-grow:1;}
.flex-shrink, .flex-shrink-c > * {flex-shrink:1;}
.flex-no-grow, .flex-no-grow-c > * {flex-grow:0;}
.flex-no-shrink, .flex-no-shrink-c > * {flex-shrink:0;}

.flex-a-center { align-items:center; }
.flex-a-top { align-items:flex-start; }
.flex-a-bottom { align-items:flex-end; }
.flex-a-stretch { align-items:stretch; }

.flex-j-center { justify-content:center; }
.flex-j-around { justify-content:space-around; }
.flex-j-between { justify-content:space-between; }
.flex-j-evenly { justify-content:space-evenly; }
 
.f-left {float:left;}
.f-right {float:right;}

.gap-10 {gap:10px;}
.gap-20 {gap:20px;}
.gap-30 {gap:30px;}
.gap-40 {gap:40px;}
.gap-50 {gap:50px;}

.rotate-15 { transform:rotate(15deg); }
.rotate-30 { transform:rotate(30deg); }
.rotate-45 { transform:rotate(45deg); }
.rotate-60 { transform:rotate(60deg); }
.rotate-90 { transform:rotate(90deg); }
.rotate-180 { transform:rotate(180deg); }

.rotate-n15 { transform:rotate(-15deg); }
.rotate-n30 { transform:rotate(-30deg); }
.rotate-n45 { transform:rotate(-45deg); }
.rotate-n60 { transform:rotate(-60deg); }
.rotate-n90 { transform:rotate(-90deg); }
.rotate-n180 { transform:rotate(-180deg); }

.w10px {width:10px;}
.w20px {width:20px;}
.w30px {width:30px;}
.w40px {width:40px;}
.w50px {width:50px;}
.w60px {width:60px;}
.w70px {width:70px;}
.w80px {width:80px;}
.w90px {width:90px;}
.w100px {width:100px;}
.w150px {width:150px;}
.w200px {width:200px;}
.w250px {width:250px;}
.w300px {width:300px;}

.w-fit {width:fit-content;}

.pd-0 {padding:0;}

.pd-05 {padding:5px;}
.pd-10 {padding:10px;}
.pd-15 {padding:15px;}
.pd-20 {padding:20px;}
.pd-25 {padding:25px;}
.pd-30 {padding:30px;}
.pd-35 {padding:35px;}
.pd-40 {padding:40px;}
.pd-45 {padding:45px;}
.pd-50 {padding:50px;}

.pds-05 {padding:0 5px;}
.pds-10 {padding:0 10px;}
.pds-15 {padding:0 15px;}
.pds-20 {padding:0 20px;}
.pds-25 {padding:0 25px;}
.pds-30 {padding:0 30px;}
.pds-35 {padding:0 35px;}
.pds-40 {padding:0 40px;}
.pds-45 {padding:0 45px;}
.pds-50 {padding:0 50px;}

.pdc-05 {padding:5px 0;}
.pdc-10 {padding:10px 0;}
.pdc-15 {padding:15px 0;}
.pdc-20 {padding:20px 0;}
.pdc-25 {padding:25px 0;}
.pdc-30 {padding:30px 0;}
.pdc-35 {padding:35px 0;}
.pdc-40 {padding:40px 0;}
.pdc-45 {padding:45px 0;}
.pdc-50 {padding:50px 0;}

.pdt-05 {padding-top:5px;}
.pdt-10 {padding-top:10px;}
.pdt-15 {padding-top:15px;}
.pdt-20 {padding-top:20px;}
.pdt-25 {padding-top:25px;}
.pdt-30 {padding-top:30px;}
.pdt-35 {padding-top:35px;}
.pdt-40 {padding-top:40px;}
.pdt-45 {padding-top:45px;}
.pdt-50 {padding-top:50px;}

.pdb-05 {padding-bottom:5px;}
.pdb-10 {padding-bottom:10px;}
.pdb-15 {padding-bottom:15px;}
.pdb-20 {padding-bottom:20px;}
.pdb-25 {padding-bottom:25px;}
.pdb-30 {padding-bottom:30px;}
.pdb-35 {padding-bottom:35px;}
.pdb-40 {padding-bottom:40px;}
.pdb-45 {padding-bottom:45px;}
.pdb-50 {padding-bottom:50px;}

.mr-0 {margin:0;}

.mrc-05 {margin:5px 0;}
.mrc-10 {margin:10px 0;}
.mrc-15 {margin:15px 0;}
.mrc-20 {margin:20px 0;}
.mrc-25 {margin:25px 0;}
.mrc-30 {margin:30px 0;}
.mrc-35 {margin:35px 0;}
.mrc-40 {margin:40px 0;}
.mrc-45 {margin:45px 0;}
.mrc-50 {margin:50px 0;}

.mrb-05, .mrb-05-c > * {margin-bottom:5px;}
.mrb-10, .mrb-10-c > * {margin-bottom:10px;}
.mrb-15, .mrb-15-c > * {margin-bottom:15px;}
.mrb-20, .mrb-20-c > * {margin-bottom:20px;}
.mrb-25, .mrb-25-c > * {margin-bottom:25px;}
.mrb-30, .mrb-30-c > * {margin-bottom:30px;}
.mrb-35, .mrb-35-c > * {margin-bottom:35px;}
.mrb-40, .mrb-40-c > * {margin-bottom:40px;}
.mrb-45, .mrb-45-c > * {margin-bottom:45px;}
.mrb-50, .mrb-50-c > * {margin-bottom:50px;}

.text-a-center {text-align:center;}
.text-a-left {text-align:left;}
.text-a-right {text-align:right;}

.text-t-upper {text-transform:uppercase;}
.text-t-lower {text-transform:lowercase;}

.ic {vertical-align: middle; display:inline-block; width:20px; height:20px; background-size:contain; background-repeat: no-repeat; background-position:center center;}
.ic.chess {background-image:url(../img/icons/chess.svg)}
.ic.anketa {background-image:url(../img/icons/anketa.svg)}

.icon {background:url() no-repeat center center / contain; aspect-ratio:1; min-width:20px; display:inline-block;}
.icon-gift {background-image:url(../img/icon-gift.webp);}
.icon-doc {background-image:url(../img/icon-doc.webp);}
.icon-check {background-image:url(../img/icon-check.webp);}
.icon-document {background-image:url(../img/icon-document.webp);}
.icon-wallet {background-image:url(../img/icon-wallet.webp);}
.icon-tools {background-image:url(../img/icon-tools.webp);}
.icon-arrow-dotted {background-image:url(../img/icon-arrow-dotted.webp);}
.icon-arrow-arc {background-image:url(../img/icon-arrow-arc.webp);}

.fnt-w-light {font-weight:300;}
.fnt-w-normal {font-weight:normal;}
.fnt-w-bold {font-weight:bold;}

.row {margin:0 0 20px;}

a.link {border-bottom:1px solid var(--clr-accent); }
a.link:hover {border-bottom:1px solid var(--clr-accent-hov); color:var(--clr-accent);}

.btn {background:var(--clr-accent);  color:var(--clr-on-accent); border-radius:5px; cursor:pointer; display:inline-block; padding:5px 10px;}
.btn:hover {color:var(--clr-on-accent-hov); background:var(--clr-accent-hov);}

.button i {display:inline-block; margin:0 5px;}

.button.big {padding:20px; font: 300 18px/20px var(--fnt-family-1);}
.button.large {padding:25px; font: 400 20px/20px var(--fnt-family-1);}

.button {border:2px solid var(--clr-accent); background:var(--clr-accent); font-size:16px; padding:10px 20px; color:var(--clr-on-accent); border-radius:5px; cursor:pointer; text-align:center; transition:all 0.5s;}
.button:hover {border-color:var(--clr-accent-hov); color:var(--clr-on-accent-hov); background:var(--clr-accent-hov);}

.button.outline.clean {background:#0000; color:var(--clr-accent);}
.button.outline.clean:hover {background:#0000; color:var(--clr-accent-hov);}

.button.outline {background:#0000; color:var(--clr-accent);}
.button.outline:hover {background:var(--clr-accent); color:var(--clr-on-accent);}

.button.outline.num2 {background:#0000; color:var(--clr-num2); border-color:var(--clr-num2);}
.button.outline.num2:hover {background:var(--clr-num2); color:var(--clr-on-num2); border-color:var(--clr-num2);}

.button.grd-2 {border-color:var(--clr-num2); background: linear-gradient(133deg, var(--clr-num2) 48%, var(--clr-num2-hov) 80%); }
.button.grd-2:hover{border-color:var(--clr-num2-hov);  background: linear-gradient(0deg, var(--clr-num2) 100%, var(--clr-num2-hov) 89%);}

.button.iconic {background:var(--clr-icon); color:var(--clr-on-icon); border-color:var(--clr-icon);}
.button.iconic:hover {background:var(--clr-icon-hov); color:var(--clr-on-icon); border-color:var(--clr-icon);}

.button.off {background:#000; border-color:#0000; color:#FFF; cursor:default;}
.button.outline.off {border-color:#000; color:#000;}
.button.outline.off:hover {color:#000;}

.radial-pulse {
  animation: radial-pulse 3s infinite !important;
}

@keyframes radial-pulse {
  0% { box-shadow: 0 0 0 0px var(--clr-num2); }
  100% { box-shadow: 0 0 0 15px rgba(0, 0, 0, 0); }
}

.grid { display:grid; }
.grid.row-2 { grid-template-columns: repeat(2,1fr); }
.grid.row-3 { grid-template-columns: repeat(3,1fr); }
.grid.row-4 { grid-template-columns: repeat(4,1fr); }
.grid.row-5 { grid-template-columns: repeat(5,1fr); }
.grid.row-6 { grid-template-columns: repeat(6,1fr); }
.grid.row-7 { grid-template-columns: repeat(7,1fr); }
.grid.row-8 { grid-template-columns: repeat(8,1fr); }
.grid.row-9 { grid-template-columns: repeat(9,1fr); }
.grid.row-10 { grid-template-columns: repeat(10,1fr); }
.grid.row-11 { grid-template-columns: repeat(11,1fr); }
.grid.row-12 { grid-template-columns: repeat(12,1fr); }

.card { box-shadow: 0.4em 0.4em 5px hsl(0deg 0% 48% / 50%); transition: .5s; }
.card.lift:hover { box-shadow: 0.1em 0.1em 2px hsl(0deg 0% 48% / 50%); transform: translateX(2px) translateY(2px); }

.img-holder {display:block; overflow:hidden; position:relative; height:0; padding:100% 0 0; }
.img-holder img {position:absolute; display:block; top:0; left:0; object-fit:cover; width:100%; height:100%; }
img.img-contain {object-fit:contain!important;}
img.img-cover {object-fit:cover!important;}

.zoom-in {overflow:hidden; border-radius:10px; position:relative; }
.zoom-in img {transition:all 1s;}
.zoom-in:hover img {transform:scale(1.1);}
.zoom-in:after {
	content:''; 
	position:absolute; 
	top:0; 
	left:0; 
	width:100%; 
	height:100%; 
	z-index:1; 
	background:url(../img/zoom-in.webp) no-repeat center center #0007; 
	opacity:0; 
	transition:opacity 0.7s;
}
.zoom-in:hover:after {opacity:1; }

.marked-left {border-left:5px solid var(--clr-accent); padding-left:10px;}
.marked-bottom {border-bottom:5px solid var(--clr-accent); padding-bottom:10px;}
.marked-circle {position:relative;}
.marked-circle > * {z-index:1; position: relative;}
.marked-circle:before {height:50%; aspect-ratio:1; left:0; bottom:0; border-radius:50%; content:''; position:absolute; background:var(--clr-icon); transform:translateX(-50%); z-index:0;}
.marked {border-radius:var(--dim-radius); background: var(--clr-icon); color:var(--clr-on-icon); padding:0 20px;}

.wrapper {padding:20px;}

.text-content img {max-width:100%; border-radius:var(--dim-radius);}

form .status {text-align:center;font-size: 16px;}
form .error {color:#D00;border-color:#d00;}
form .off {opacity:0.8; cursor:default!important;}

.form-consent {font-size:13px; line-height:1.35;}
.form-consent .checkbox {align-items:flex-start;}
.form-consent .checkbox span {margin:0 0 0 10px; font-size:13px; line-height:1.35; color:#666;}
.form-consent .checkbox a {color:var(--clr-icon); text-decoration:underline;}
.form-consent .checkbox.error span {color:#D00;}
.form-consent .checkbox.error i {box-shadow:inset 0 0 3px #d005;}

.cookie-bar {
	position:fixed;
	right:16px;
	bottom:16px;
	z-index:90;
	max-width:420px;
	background:#fff;
	border-radius:var(--dim-radius);
	box-shadow:0 10px 40px rgb(2 2 2 / 18%);
	padding:16px 18px;
	display:none;
}
.cookie-bar.active {display:block;}
.cookie-bar p {margin:0 0 12px; font-size:13px; line-height:1.45; color:#555;}
.cookie-bar a:not(.button) {color:var(--clr-icon); text-decoration:underline;}

.clients-page {padding:20px 0 40px;}
.clients-tabs {flex-wrap:wrap; margin:0 0 24px;}
.clients-tabs .button {margin:0;}
.clients-tabs .button.active,
.clients-tabs .button:hover {background:var(--clr-accent); color:var(--clr-on-accent); border-color:var(--clr-accent);}
.clients-panel {display:none;}
.clients-panel.active {display:block;}
.clients-panel h2 {margin:0 0 16px;}
.clients-panel h3 {margin:20px 0 10px;}

.bg {background:url() no-repeat center center / contain;}
.bg-s-contain {background-size:contain;}
.bg-s-cover {background-size:cover;}

.bg-p-x-left {background-position-x:left;}
.bg-p-x-right {background-position-x:right;}
.bg-p-x-center {background-position-x:center;}

.bg-p-y-left {background-position-y:left;}
.bg-p-y-right {background-position-y:right;}
.bg-p-y-center {background-position-y:center;}

.bg-p-left-top {background-position:left top;}
.bg-p-left-center {background-position:left center;}
.bg-p-left-bottom {background-position:left bottom;}

.bg-p-center-top {background-position:center top;}
.bg-p-center {background-position:center center;}
.bg-p-center-bottom {background-position:center bottom;}

.bg-p-right-top {background-position:right top;}
.bg-p-right-center {background-position:right center;}
.bg-p-right-bottom {background-position:right bottom;}

.bg-russia {background-image:url(../img/bg-russia.webp);}
.bg-banya-slice {background-image:url(../img/bg-banya-slice.webp);}
.bg-banya-big {background-image:url(../img/bg-main-banya.webp);}
.bg-grass {background-image:url(../img/bg-grass.webp);}
.bg-venik {background-image:url(../img/bg-venik.webp);}
.bg-leafs {background-image:url(../img/bg-leafs.webp);}
.bg-leafs-1 {background-image:url(../img/bg-leafs-1.webp);}
.bg-leafs-2 {background-image:url(../img/bg-leafs-2.webp);}
.bg-ctree {background-image:url(../img/bg-ctree.webp);}
.bg-birds {background-image:url(../img/bg-birds.webp);}
.bg-bath-stones {background-image:url(../img/bg-bath-stones.webp);}
.bg-venik-vedro {background-image:url(../img/bg-venik-vedro.webp);}

.bg-sky {position:relative; background:linear-gradient(#fffA, #fff7), url(../img/bg-sky.webp) no-repeat center center / cover;}
.bg-sky:after,
.bg-sky:before {content:''; position:absolute; width:100%; top:unset; bottom:0; left:0; height:100px; display:block; background:url(../img/bg-clouds.webp) repeat-x bottom center / contain;}
.bg-sky:before {top:0; bottom:unset; transform: scaleY(-1); }

.bg-sky.bg-grass {position:relative; background:url(../img/bg-bushes.webp) no-repeat 5% 100% / 15%, url(../img/bg-grass.webp) repeat-x bottom center / 600px 160px, linear-gradient(#fffA, #fff7), url(../img/bg-sky.webp) no-repeat center center / cover;}

.main-menu {border-bottom: 1px solid transparent;}
.main-menu.sticked {width:100%; background:#fffe; border-bottom-color: var(--clr-bg); box-shadow: 0 10px 20px #0001;}

.sub-menu { opacity:0; position:absolute; z-index:10; max-height:0; overflow:hidden; transition:all 0.5s; padding:10px 20px; background-color: #fff; border-radius:10px; border: 1px solid #f2f2f2; box-shadow: 0 5px 30px #0002; }
.sub-menu > * {display:block; padding:10px 0; border-bottom:1px solid #eee; white-space: nowrap;}
.sub-menu > *:last-child {border:none; margin:0;}
.sub-menu a:hover {color:var(--clr-num2);}
.has-sub-menu:hover .sub-menu { display:block; opacity:1; max-height:500px; }
.has-sub-menu:hover i {color:var(--clr-num2);}

.brcr {text-align: center; font-size: 16px; margin: 0 0 40px;}
.brcr a:hover {color:var(--clr-accent);}
.brcr span {opacity:0.5;}

.spoiler .spoiler-content {display:none;}
.spoiler.active .spoiler-content {display:block;}
.spoiler-head {display:flex; gap:10px; align-items:center; justify-content: space-between;}

.spoiler-head .spoiler-flag:before {font-family: 'Font Awesome 5 Free'; font-weight: 900;}
.spoiler-head .spoiler-flag:before { content: "\f078"; }
.spoiler.active .spoiler-flag:before { content: "\f077"; }

.tabs { display: flex; flex-wrap: wrap; gap: 40px; margin: 20px 0; padding: 20px 0; border: 1px solid var(--clr-border); border-right: none; border-left: none;}
.tabs a {font-size:20px; display:inline-block; padding:5px; border-bottom:2px solid #fff0; transition:all 0.5s;}
.tabs a:hover {color:var(--clr-num2);}
.tabs .active {border-color:var(--clr-num2); color:var(--clr-num2);}

.hidden {display:none;}
.hidden.active {display:block;}

.panels .panel {display:none;}
.panels .panel.active {display:block;}

.phone {display:flex; gap:5px; align-items:center;}
.phone-holder > * {display:block;}
.phone-holder .phone-info {font-size: 85%; }

/* SLIDER */

.snap-slider {
	--num-slides:1;
	display: flex;
	align-items: stretch;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

.snap-slider > *,
.snap-slider .slide {
	scroll-snap-align: start;
	flex: 0 0 calc(100% / var(--num-slides));
	gap:20px;
	width: calc(100% / var(--num-slides));
	position: relative;
}

.snap-slider::-webkit-scrollbar {display:none; width: 6px; height: 6px;}
.snap-slider::-webkit-scrollbar-thumb { background: var(--clr-num2); }
.snap-slider::-webkit-scrollbar-track { background: #fff7; }

.snap-slider.scrollbar::-webkit-scrollbar { display:block;  }

/* HEADER */

.header {border-bottom:1px solid #eee;}
.header .container {padding:20px;}
.header .top-menu {display:flex; gap:20px; justify-content: space-between;}
.header .top-menu .list-menu {display:flex; gap:15px; flex-wrap: wrap;}
.header .top-menu .list-menu .current > a {color:var(--clr-num2);}
.header .top-menu .list-menu a:hover {color:var(--clr-num2);}
.header .top-menu .contacts {display:flex; gap:15px; flex-wrap: wrap; align-items: center;}

/* MAIN-MENU */

.main-menu .container {padding:20px;}
.logo {display:block; position:relative; height:50px; aspect-ratio:2; background:url(../img/logo.svg) no-repeat left center / contain;}
.logo.ny-cap:after {
    position: absolute;
    aspect-ratio: 1;
    height: 50%;
    left: -15%;
    top: -15%;
    content: "";
    background: url(../img/ny-cap.svg) no-repeat left center / contain;
    transition: transform 0.2s ease-in-out 0s;
}
.logo.ny-cap:hover:after {transform: translate(-10px, -10px) rotate(-15deg);}

.menu-blocks {display:flex; gap:20px; align-items:center; justify-content:space-between; flex-wrap:wrap;}
.menu-blocks .catalog-menu {display:flex; gap:20px; flex-grow: 1; justify-content: center;}

.catalog-menu .catalog-item {display:flex; align-items:center; gap:10px; position: relative;}
.catalog-menu .catalog-item .sub-menu {top:100%; right:0;}
.catalog-menu .catalog-item .icon {transition:all 0.3s; width:35px; position:relative; background:var(--clr-icon); -webkit-mask:url() no-repeat 50% 50% / contain; mask:url() no-repeat 50% 50% / contain; }
.catalog-menu .catalog-item > a:hover {color:var(--clr-icon-hov);}
.catalog-menu .catalog-item:hover .icon {background:var(--clr-icon-hov);}

.main-menu .catalog-item a {font-weight:500;}

.menu-tree ul li > ul {display:none; margin-left: 40px;}
.menu-tree ul li.active > ul {display:block;}

.menu-tree .catalog-menu .catalog-item { margin: 0 0 10px; padding: 0 0 10px; border-bottom: 1px solid var(--clr-border); }
.menu-tree .has-children > .catalog-item:after { color: var(--clr-accent); content: "\f055"; font-family: 'Font Awesome 5 Free'; font-weight: 900; position: absolute; right: 0;}
.menu-tree .has-children.active > .catalog-item:after { content: "\f056"; color: var(--clr-num2); }

.product-plate { border-radius:var(--dim-radius); border:1px solid transparent; overflow:hidden; transition:all 0.5s;}
.product-plate .img-holder {margin:10px;}
.product-plate .title {padding:10px; transition:all 0.5s;}
.product-plate:hover {border-color:var(--clr-accent);}
.product-plate:hover .title {background:var(--clr-accent); color:var(--clr-on-accent);}

/* mobile-menu */

.social.colored .fa-whatsapp {background:#1d4;}
.social.colored .fa-viber {background:#65a;}
.social.colored .fa-telegram-plane {background:#2ae;}
.social.colored .fa-vk {background:#07f;}
.social.colored .fa-youtube {background:#f01;}

.mobile-menu .container {padding:20px;}
.mobile-menu-header {align-items:center; }
.mobile-menu-header .toggler a { position:fix; z-index:11; font-size: 30px; text-align:center; color:var(--clr-h); background:#fff; width:50px; height:50px; line-height:50px; border-radius:50%;}
.mobile-menu-header .logo {margin:0 auto; height: 50px;}
.mobile-menu-header .social a i {display:inline-block; text-align:center; background:var(--clr-num2); color:var(--clr-on-num2); margin:5px; font-size:16px; width:30px; height:30px; line-height:30px; border-radius:50%;}
.mobile-menu-header .social .soc_wa,
.mobile-menu-header .social .soc_vb {display:inline-block;}
.mobile-menu-header .phones {font-size: 12px;}

#mobile-menu {border-radius:0; margin:0; background:var(--clr-plate); left:0; top:0; width:70%; height:100%; max-height: unset; overflow-y:scroll; z-index:10001;}
#mobile-menu .wrapper {padding:20px;}
#mobile-menu h3 {font-size:18px;}
#mobile-menu .catalog-item  { margin:0 0 10px;}
#mobile-menu .catalog-item span {font-size:18px; line-height:20px; }
#mobile-menu .site-menu .menu-item {font-size:16px; margin:0 0 15px;}

#mobile-menu .wrapper > * {
	margin: 0 0 15px;
    padding: 0 0 15px;
    border-bottom: 1px solid var(--clr-border);
}
#mobile-menu .wrapper .catalog-tree {border:none;}
#mobile-menu .wrapper > *:last-child {border:none; margin:0; padding:0;}
#mobile-menu .contacts > * {margin:0 0 10px;}
#mobile-menu .contacts .social a {margin-right:5px;}
#mobile-menu .contacts i {width:20px;}
#mobile-menu .region-choose-ctrl a {font-size:16px;}

.line-break:before { content: ' '; display: block; }

/* PRESENTATION */

.presentation {position:relative; overflow:hidden;}
.presentation h2 {font-size: 40px; margin: 20px 0 0;}

.iconized {position:relative;}
.iconized .icon {position:absolute; width:35px; left:0; top:50%; transform:translate(-50%,-50%);}

.presentation .info {margin:0 0 50px;}

.presentation .feature-item {display:flex; align-items:center; gap:10px; transition:all 0.5s; cursor:default;}
.presentation .feature-item .mark {position:relative; padding:10px; display: block; width: fit-content;}
.presentation .feature-item .mark:after {background:var(--clr-icon); border-radius:50%; position:absolute; display:block; content:''; left:0; top:0; width:100%; height:100%; left;0; top:0; opacity:0.2;}
.presentation .feature-item .mark i {position:relative; z-index:1; background:var(--clr-icon); color:var(--clr-on-icon); text-align:center; padding:5px; display:block; height:20px; width:20px; font-size:18px; line-height:20px; border-radius:50%;}
.presentation .feature-item .text {font-size:16px; color: var(--clr-h);}

.presentation .feature-item:hover {transform:scale(1.05);}

.presentation .bochka {position:relative; min-height:500px;}
.presentation .bochka .bg {position:absolute; height:100%; aspect-ratio:2;}
.presentation .bochka .bg.bg-tree.bg-banya-big { background:url(../img/bg-main-banya.webp?v=2) no-repeat 0px 100% / 60%, url(../img/bg-tree.webp) no-repeat 100px 10% / 50%;}

.presentation .top-birds {position:absolute; width:100%;}

.presentation .banya-area {
	position: absolute;
    display: block;
    width: 60%;
    height: 80%;
    top: 20%;
    left: 0;
}

/* PROMO */

.promo .wrapper { --clr-h:#fff; color:#fff; background: linear-gradient(135deg, #00bb22 0%, #00dc00 50%, #00d501 50%, #00d501 75%, #00ba01 75%); border-radius:var(--dim-radius); }
.promo .h2 {font-size:3rem; padding: 0 20px;}
.promo .h2 span {font-size:70%;}
.promo .block {position:relative;}
.promo .text {width:100%;}
.txt-shadow {text-shadow: 0 0 10px #007;}

/* QUIZ */

.quiz h2 {text-align:center; font-size:36px; margin:0 0 40px;}

.quiz-features {display:flex; margin:0 0 40px; gap:20px; justify-content:center;}
.quiz-features .icon {width:40px; height:40px; flex: 0 0 40px; margin-right:10px; }
.quiz-features .feature {display:flex; align-items:center; flex: 0 0 40%;}

.quiz .quiz-content {height:770px; display:flex; flex-direction:column; background:var(--clr-plate); border-radius:10px; box-shadow: 0px 10px 40px 0px rgb(2 2 2 / 15%);}
.quiz .quiz-content > * {padding:20px; border-bottom:1px solid var(--clr-border);}

.quiz .quiz-header {font-size:1.5rem; color:var(--clr-h); }

.quiz .quiz-panels {flex:1 0;}
.quiz .quiz-panels .wrap {height:100%; position:relative;}
.quiz .quiz-panel {}
.quiz .quiz-panel .content {display:none;}
.quiz .quiz-panel.active {position:absolute; z-index:1; height:100%; width:100%; padding-right:10px; overflow-y:auto; overflow-x:hidden;}
.quiz .quiz-panel.active > .content {display:block; width: 100%;}

.quiz .quiz-panel::-webkit-scrollbar {width: 2px;}
.quiz .quiz-panel::-webkit-scrollbar-track {background:#0001;}
.quiz .quiz-panel::-webkit-scrollbar-thumb {background:var(--clr-accent); border-radius:2px;}
.quiz .quiz-panel::-webkit-scrollbar-thumb:hover  {cursor:pointer; background:var(--clr-accent-hov);}

.quiz .quiz-panel.final.active { display:flex; align-content:center; flex-wrap:wrap; overflow:visible;}
.quiz .quiz-panel.final form {margin:0 auto; width:50%;}

.quiz-items .quiz-item {text-align:left; position:relative; border-radius: var(--dim-radius); border:1px solid var(--clr-border); transition: all 0.5s;}
.quiz-items .quiz-item.active,
.quiz-items .quiz-item:hover {border-color: var(--clr-accent);}
.quiz-items .quiz-item .photo {border-radius:var(--dim-radius);  padding:65% 0 0;}
.quiz-items .quiz-item .photo img {object-fit:contain;}
.quiz-items .quiz-item .title {padding:5px 10px; font-size:14px;}

.quiz-items .quiz-item .fa-info {
    background: var(--clr-icon);
    color: var(--clr-on-icon);
    line-height: 20px;
    font-size: 10px;
    width: 20px;
    text-align: center;
    border-radius: 50%;
    background: var(--clr-icon-hov);
    cursor:pointer;
    position: absolute;
    right: 5px;
    top: 5px;
}

.quiz-items .quiz-item.active .title {color:var(--clr-h);}
.quiz-items .quiz-item.active .photo:after {position:absolute; left:0; top:0; content:"\f00c"; font-family: 'Font Awesome 5 Free'; font-weight:900; font-size:12px; color:#fff; background:var(--clr-accent); text-align:center; width:25px; height:25px; line-height:25px; border-radius:var(--dim-radius) 0 var(--dim-radius) 0; display:block;}

.mode-list .quiz-items {display:flex; flex-direction:column;}
.mode-list .quiz-items .quiz-item {text-align:left; cursor:pointer; animation-duration: 0.5s;}
.mode-list .quiz-item .photo {display:none;}
.mode-list .quiz-items .quiz-item .title {display:flex; align-items:center; padding:10px;}
.mode-list .quiz-item .title em {position:relative; width:20px; height:20px; margin-right:20px; border-radius:50%; border:2px solid var(--clr-border); display:block;}
.mode-list .quiz-item .title em:before {content:""; position:absolute; left:20%; top:20%; width:60%; height:60%; border-radius:50%; background:var(--clr-border);}

.mode-list .quiz-item.active .title em { border-color:var(--clr-accent);}
.mode-list .quiz-item.active .title em:before { background:var(--clr-accent);}

.mode-list[data-select="multy"] .quiz-item .title em,
.mode-list[data-select="multy"] .quiz-item .title em:before {border-radius:0;}

.quiz-footer .quiz-progress .text {margin:0 0 10px; font-size:14px;}
.quiz-footer .quiz-progress .bar {background:var(--clr-border); border-radius:5px; height:10px;}
.quiz-footer .quiz-progress .bar span {display:block; width:0%; height:100%; border-radius:5px; background:var(--clr-accent);}
.quiz-footer .quiz-buttons {display:flex; gap:20px;}
.quiz-footer .quiz-buttons .button.off {opacity:0.3;}

/* CATEGORY */

.catalog-category h2 {text-align:center; font-size:40px; margin:0 0 40px; }
.catalog-category h2 span {font-weight: 600;}
.catalog-category .see-all .button {display:inline-block;}
.catalog-category .see-all {text-align:center; margin:0 0 40px;}

.category-picture {
	position:relative;
	aspect-ratio: 2.4;
    border-radius: var(--dim-radius);
    overflow: hidden;
}
.category-picture .cat-text { padding-left: 30px; z-index:1; position:relative; display: flex; flex-direction: column; justify-content: center; width:50%; height:100%; background: url(../img/bg-cloud.webp) no-repeat 100% 50% / 130%; }
.category-picture .cat-text h2 {font-size: 2.4rem;}
.category-picture .cat-image {position:absolute; width:100%; height: 100%; top:0; left:0; background-repeat: no-repeat;  background-position: center right; background-size: cover; }

.product-list {margin:0 0 50px;}

.product-list .product {position:relative; color:var(--clr-h); background-color: #fff; border-radius: 10px; box-shadow: 0px 10px 40px 0px rgb(2 2 2 / 15%);}

.badge {display: none; position:absolute; z-index:20; background:var(--clr-num2); color:var(--clr-on-num2); right:10px; top:10px; border-radius:10px; text-align:center; padding: 10px;}
.product-list .product .wrapper > * {margin:0 0 20px;}

.product-list .product .title {font-size:24px; color:var(--clr-h);}

.product-list .product .product-images {position:relative; display:block; aspect-ratio:1.4; background:var(--clr-plate); display:flex; overflow:hidden; border-radius:10px 10px 0 0;}
.product-list .product .product-images img {position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; transition:all 0.5s;}
.product-list .product .product-images img.static {object-fit:contain; left:5%; top:5%; width:90%; height:90%; transition:all 0.5s;}
.product-list .product .product-images img.static:hover {transform:scale(1.1);}

.product-list .product .product-images > * { flex:1 0; }
.product-list .product .product-images .handle {position: relative; z-index:10; height:100%;}
.product-list .product .product-images .handle:after {height:4px; width:calc(100% - 4px); content:''; display:block; background:#fff7; bottom:0; margin:2px; border-radius:2px; position: absolute;}
.product-list .product .product-images .handle:hover:after {background:var(--clr-num2);}
.product-list .product .product-images .handle:hover + img {z-index:9;}
.product-list .product .product-images > *:first-child img {z-index:2;}

.product-list .product .buttons {gap:5px;}
.product-list .product .buttons > * {display:block; padding:15px; margin:0 0 10px;}

.product-list .product .param {display:flex; gap:10px;}
.product-list .product .param > * { margin:0 0 10px;}
.product-list .product .param .name {width:50%;}
.product-list .product .param .value {font-weight:bold;}

.prices {display:flex; gap:5px;}
.prices span {font-size:24px; font-weight:400;}
.prices .new {color:var(--clr-accent);}
.prices .old {color:#bbb;}
.prices .old span {position:relative;}
.prices .old span:after {content:''; position:absolute; display:block; height:2px; width:110%; top:50%; left:-5%; background:#777;}
.prices > * {text-align:left;}

/* GALLERY */

.gallery-cap {display:flex; gap:40px; margin:0 0 40px; color:var(--clr-h); align-items:center; justify-content: center;}
.gallery-cap .number {font-size:80px;}
.gallery-cap .text {font-size:40px;}

/* FOUNDER */

.founder h2 {font-size:60px;}
.founder .container {padding:20px;}
.founder .our-features {display:flex; gap:20px;}
.founder .our-feature > * {margin:0 0 20px;}
.founder .our-feature p {font-size:16px;}
.founder .our-feature .cap {
    font-size: 18px;
    font-weight: 400;
    color: var(--clr-h);
    margin:0 0 20px;
}
.founder .our-feature .icon {width:80px; position:relative;}
.founder .our-feature .mark {position:relative; width: fit-content;}
.founder .our-feature .mark:before {width:90%; height:90%; left:5%; top:5%; background:var(--clr-accent); position:absolute; display:block; content:''; border-radius:50%; opacity:0.7; transition:all 0.5s;}
.founder .our-feature .mark:hover:before {opacity:0.9; transform:scale(1.2);}
.founder .idea {margin:0 0 40px; line-height:30px; font-size: 20px; color: var(--clr-h);}

.founder-photo {height:100%; min-height:500px; position:relative; background:url(../img/founder.webp) no-repeat center bottom / contain;}
.founder-photo .info {position:absolute; bottom:5%; text-align:center; width:90%;}
.founder-photo .info > *{position:relative;}
.founder-photo .info span {position:relative; z-index:1;}
.founder-photo .info > *:after {content:''; display:block; position:absolute; top:0; left:0; width:100%; height:100%; background:var(--clr-accent); border-radius:5px; transform: skewX(-30deg);}

.founder-photo .info .name {color:var(--clr-on-accent); padding:10px; font-size:20px; margin: 0 0 -5px 0; z-index:2;}
.founder-photo .info .name:after {background:var(--clr-accent);}
.founder-photo .info .cap {color:var(--clr-on-num2); padding:10px;}
.founder-photo .info .cap:after {background:var(--clr-num2); }

/* FACTORY */

.factory h2 {font-size:40px;}
.factory p {color:var(--clr-h);}

/* PLACE */

.place-blocks {display:flex; gap:100px; align-items:center;}
.place-blocks .info h2 {font-size:40px;}
.place-blocks p {font-size:1rem; color:var(--clr-h);}
.place .img-holder {padding:50% 0 0;}

/* CONSTRUCTION */

.construction .bg-ctree {background:url(../img/bg-ctree.webp) no-repeat 0% 20% / 40%;}

.const-blocks {display:flex; gap:40px;}
.construction .schema {height:0; padding-top:90%; position:relative;}
.construction .schema .schema-mark:hover .mark i {transform:scale(1.2);}
.construction .schema .schema-mark.active .mark {background:var(--clr-accent);}

.construction .schema .schema-mark .mark {position: absolute; padding:10px; border-radius:50%; border:1px solid #fff; display:block; background:#0003; cursor:pointer; transition:all 0.3s; transform:translate(-50%,-50%);}
.construction .schema .schema-mark .mark i {color:var(--clr-on-accent); background:var(--clr-accent); border-radius:50%; width:20px; height:20px; text-align:center; padding:10px; font-size:20px; line-height:20px; transition:all 0.3s;}
.construction .schema .schema-mark .desc {
	width:250px;
	position: absolute;
	z-index:1;
	display:none;
	opacity:0;
	border-radius: 5px;
	background-color: #fff;
	padding:20px;
	border: 1px solid rgb(242, 242, 242);
	box-shadow: 0 5px 30px rgb(0 0 0 / 10%);
	font-size:16px; 
	line-height:25px;
	transition:all 0.5s;
}
.construction .schema .schema-mark:hover .desc {display:block;}
.construction .schema .schema-mark.active .desc {opacity:1; display:block; transform:translate(40px,-30px);}

.construction .text
.construction .text h2 {font-size:24px;}
.construction .text p {font-size:16px; line-height:25px;}
.construction .text .bg {height:150px;}

/* REVIEWS */

.reviews-blocks {display:flex; gap:40px; align-items:center;}

.reviews-blocks .text {text-align:center;}
.reviews-blocks .text h2 {font-size:40px;}
.reviews-blocks .text p {font-size:16px; line-height:25px;}
.reviews-blocks .text p b {font-size:48px; color:var(--clr-accent); margin:0 0 15px;}

.review-links .img-holder {padding: 0 0 50%; margin:0 0 10px; border-radius:var(--dim-radius); background:var(--bg-light-gradient);}
.review-links .img-holder img {top:5%; left:5%; width:90%; height:90%; transform:scale(0.9);}
.review-links .item:hover .img-holder {background:var(--clr-accent);}
.review-links .item:hover span {color:var(--clr-accent);}
.review-links .item:hover .img-holder img {filter: brightness(0) invert(1);}

.video-wrapper { background-color: #fff; border-radius: 15px; box-shadow: 0px 0px 25px 5px rgb(0 0 0 / 5%); padding:25px; }

.reviews-slider .slide-controls {margin:0 0 20px; display:flex; gap:20px; font-size:20px; }
.reviews-slider .slide-controls a {cursor:pointer; transition:all 0.5s;}
.reviews-slider .slide-controls a:hover {opacity:0.7;}

.video-wrapper .videos {position:relative; height:0; padding-top:60%; background:#0001; border-radius:5px; overflow:hidden;}
.video-wrapper .video-item:before {position:absolute; content:''; display:block; left:0; top:0; width:100%; height:100%; background:#0007;}
.video-wrapper .video-item {position:absolute; display:block; left:0; top:0; width:100%; height:100%;}
.video-wrapper .video-item img {object-fit:cover; width:100%; height:100%;}
.video-wrapper .video-item.active {z-index:10;}
.video-wrapper .video-item .title {
	position: absolute;
    color: #fff;
    top: 0;
    left: 0;
    width: calc(100% - 40px);
    padding: 20px;
    font-size: 20px;
    line-height: 30px;
    background: linear-gradient(180deg, #0009 50%, transparent);
}

.video-link:after {
    position: absolute;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 70px;
    height: 70px;
    content: '';
    display: block;
    background: url(../img/play.svg) no-repeat center center / 50% #0009;
    transition: transform 0.5s;
}
.video-link:hover:after {
    transform: translate(-50%,-50%) scale(1.25);
}

.video-wrapper.video-portrait .videos {
	height: auto;
	width: min(340px, calc(72vh * 9 / 16), 100%);
	margin: 0 auto;
	padding-top: 0;
	aspect-ratio: 9 / 16;
	background: #000;
	border-radius: 16px;
}
.video-wrapper.video-portrait .video-item {border: 0;}

/* PROMO BANNER */

.promo-banner {padding:20px 0;}
.promo-banner-link {display:block; cursor:pointer; border-radius:15px; overflow:hidden;}
.promo-banner-link img {display:block; width:100%; height:auto; border-radius:15px;}

/* REEL REVIEWS */

.reel-reviews {padding:20px 0 40px;}
.reel-reviews h2 {font-size:40px; margin:0 0 30px;}
.reel-reviews-slider {position:relative; padding:0 60px; touch-action: pan-y;}
.reel-reviews-slider .iterator-content {position:relative;}
.reel-reviews .reel-review {display:none; align-items:flex-start; gap:40px; background:#fff; border-radius:15px; box-shadow:0 0 25px 5px rgb(0 0 0 / 5%); padding:25px;}
.reel-reviews .reel-review.active {display:flex;}
.reel-reviews .reel-review-video {flex:0 0 280px; width:280px; aspect-ratio:9/16; border-radius:16px; overflow:hidden; background:#000; position:relative;}
.reel-reviews .reel-review-video iframe {display:block; width:100%; height:100%; border:0;}
.reel-reviews .reel-review-info {flex:1 1 auto; min-width:0;}
.reel-reviews .reel-review-title {font-size:26px; line-height:34px; color:var(--clr-h); margin:0 0 16px;}
.reel-reviews .reel-review-text {font-size:17px; line-height:28px; color:var(--clr-text-cont); margin:0 0 20px;}
.reel-reviews .reel-review-text p {margin:0 0 12px;}
.reel-reviews .reel-review-text p:last-child {margin:0;}
.reel-reviews .reel-review-client {font-size:16px; font-weight:600; color:var(--clr-h); margin:0 0 6px;}
.reel-reviews .reel-review-address {font-size:14px; color:#888; margin:0 0 10px;}
.reel-reviews .reel-review-project {font-size:16px; color:var(--clr-h);}
.reel-reviews .reel-review-project a {color:var(--clr-accent);}
.reel-reviews .reel-review-project a:hover {color:var(--clr-accent-hov);}
.reel-reviews .slide-ctrl {position:absolute; top:50%; margin-top:-25px; width:50px; height:50px; border-radius:50%; background:#fff; box-shadow:0 0 20px rgb(0 0 0 / 10%); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:5; color:#333; font-size:18px; transition:all 0.3s;}
.reel-reviews .slide-ctrl:hover {color:var(--clr-accent);}
.reel-reviews .slide-ctrl.prev {left:0;}
.reel-reviews .slide-ctrl.next {right:0;}

/* BUY-PROC */

.buy-process h2 {font-size:48px;}
.buy-process-list {gap:40px; margin:40px 0;}
.buy-process-list .buy-item > * {margin:0 0 20px;}
.buy-process-list .buy-item .cap {font-size:20px; font-weight:400; color:var(--clr-h); }
.buy-process-list .buy-item .text p {font-size:16px; line-height:25px;}
.buy-process-list .buy-item .num span {text-align:center; padding:10px; display:inline-block; width:30px; height:30px; font-size: 28px; line-height:30px; border-radius:50%; background:var(--clr-num2); color:var(--clr-on-num2);}
.buy-process .icon { width: 50px; height: 50px;}
/* PRODUCT */

.caption {border-bottom:1px solid #eee; margin:0 0 40px;}
.caption h2 {font-size:32px;}

.product-info.card-info { /* background:url(../img/bg-bath-stones.webp) no-repeat top right / 90px; */}

.product-card .main-photo {position:relative; width:100%; aspect-ratio:1.4;}
.product-card .main-photo img {width:100%; height:100%; object-fit:cover; border-radius: var(--dim-radius);}
.product-card .main-photo .badge {left:10px; right:unset;}

.fotorama {display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:20px 0;}
.fotorama > * { width:calc(20% - 10px); aspect-ratio:1.2;}
.fotorama img {width:100%; height:100%; object-fit:cover; border-radius:10px;}

.product-card .prices {gap:20px;}
.product-card .prices > *:first-child {flex:1 0;}
.product-card .buttons {display:flex; gap:20px; align-items:center;}
.product-card .buttons > .button {flex:1 0; font-size:16px;}
.product-card .buttons .alt {font-size:12px; text-align: center;}
.product-card .buttons .alt .link {font-size: 18px; }
.prices.p-info > * {text-align: center; flex:1 0;}

.product-card ul.list {gap:20px 40px;}
.product-card ul.list li {font-size:18px; line-height:25px; padding:0 0 10px 40px; position:relative; border-bottom: 1px solid var(--clr-border);}
.product-card ul.list li:before {position:absolute; left:0; top:0; content:"\f00c"; font-family: 'Font Awesome 5 Free'; font-weight:900; font-size:12px; color:#fff; background:var(--clr-accent); text-align:center; width:25px; height:25px; line-height:25px; margin-right:20px; border-radius:50%; display:inline-block;}

.product-card .params {font-size:20px; margin:20px 0 40px;}
.product-card .param {display:flex;}
.product-card .param .dots {flex-grow:1; border-bottom:1px dashed #bbb; margin:0 10px;}
.product-card .param .value {color:var(--clr-h);}

.option-item {display:flex; gap:20px;}
.option-item .img-holder {flex:0 0 150px; width:150px; height:150px; padding:0; border-radius:10px;}
.option-item .title { font-size: 16px; line-height: 25px; color: var(--clr-h); margin: 0 0 20px; }

.option-item .toggler a {display:inline-block;}
.option-item .toggler .remove {display:none;}
.option-item .toggler.active .remove {display:inline-block;}
.option-item .toggler.active .add {display:none;}

.cart .row {display:flex; gap:10px; justify-content:space-between; color:var(--clr-h);}
.cart .row > *:first-child {flex:1 0;}
.cart .row > *:last-child {flex-base: fit-content;}

.extra-cat .cat-box .title {font-size:20px; color:var(--clr-h); margin:0 0 20px;}
.extra-cat .extra-cat .cat-box .title {font-size:16px;}
.extra-cat .extra-items-list {margin:0 0 20px; padding:0 0 20px; border-bottom:1px solid var(--clr-border);}
.extra-cat .extra-item {text-align:center; position:relative;}
.extra-cat .extra-item .photo {border-radius:var(--dim-radius); border:1px solid transparent;}
.extra-cat .extra-item .price {padding-top:5px; font-size:14px; color:var(--clr-accent);}
.extra-cat .extra-item .title {padding-top:5px; font-size:16px; word-break: break-word;}

.extra-cat .extra-item .fa-info {
    background: var(--clr-icon);
    color: var(--clr-on-icon);
    line-height: 20px;
    font-size: 10px;
    width: 20px;
    text-align: center;
    border-radius: 50%;
    margin: 0 5px;
}
.extra-cat .extra-item .fa-info { background: var(--clr-icon-hov); cursor:pointer; }


.extra-cat .extra-item.active .title {color:var(--clr-h);}
.extra-cat .extra-item.active .photo {border-color:var(--clr-accent);}
.extra-cat .extra-item.active .photo:after {position:absolute; left:0; top:0; content:"\f00c"; font-family: 'Font Awesome 5 Free'; font-weight:900; font-size:12px; color:#fff; background:var(--clr-accent); text-align:center; width:25px; height:25px; line-height:25px; border-radius:var(--dim-radius) 0 var(--dim-radius) 0; display:block;}

.extra-items-list.free .price {display:none;}

.price-constructor .prices .total-text {font-size:20px;color:var(--clr-h);}
.price-constructor .prices .total {text-align:right; color:var(--clr-accent);}

/* CONTACTS */

.contact-point > * {margin-bottom:10px; font-size:16px;}
.contact-point .point-name {font-size:20px; margin:0 0 15px; color:var(--clr-h);}
.contact-point i {display:inline-block; width:25px;}

.contact-map {min-height:400px; height:100%;}

/* ARTICLES */

.page.article .caption h2 {font-size:1.5rem;}

.article-image {height: unset; aspect-ratio: 1.8; padding: 0; border-radius:var(--dim-radius);}

.article-body ul li,
.article-body p {font-size:16px; line-height:30px; color:var(--clr-text-cont);}
.article-body > * {margin-bottom:20px;}
.article-body a {display:inline-block; border-bottom:1px solid var(--clr-accent);}
.article-body a:hover {color:var(--clr-accent);}
.article-body ul {list-style: disc outside; padding-left: 20px;}

.article-content > * {margin:0 0 20px;}
.article-actions a {display:inline-block;}
.article-date {font-size:1rem; color:var(--clr-icon);}
.article-date i {margin:0 10px 0 0;}
.article-tags {font-size:1rem;}
.article-tags a {display:inline-block;}
.article-tags a:hover { color:var(--clr-accent-hov);}

.article-item .anonce {display:flex; gap:20px; margin:0 0 40px; padding:0 0 40px; border-bottom:1px solid var(--clr-border);}
/** > .article-item:last-child {border:none; padding:0;}*/
.article-item .img-holder {flex: 1 0 200px; height: 200px; aspect-ratio: 1; padding: 0; border-radius:var(--dim-radius);}
.article-item .img-holder img {transition:all 1s;}
.article-item .img-holder:hover img {transform:scale(1.1);}

.article-item .text > * {margin:0 0 15px;}
.article-item .text {display:block;}
.article-item .title {display:block; font-size:20px; color:var(--clr-h); margin:0 0 10px; padding:0 0 10px; border-bottom:1px solid var(--clr-border);}
.article-item .title:hover a {color:var(--clr-icon-hov);}
.article-item .desc { line-height: 25px; font-size: 16px; overflow: hidden; max-height: 100px; height:100px; margin: 0 0 25px; }
.article-item .fa {margin:0 10px 0 0;}
.article-item .button {display:inline-block;}

.articles-list .cap {font-size:1.5rem; padding-bottom:20px; margin:0 0 40px; border-bottom:1px solid var(--clr-border);}
.articles-list .cap b {color:var(--clr-num2);}
.articles-list .not-found {font-size:1rem; margin:0 0 20px;}

.articles-sidebar {background:var(--clr-light); border-radius:var(--dim-radius); border: 1px solid var(--clr-border);}
.articles-sidebar .cap {font-size:1rem; color:var(--clr-h); padding:0 0 10px; margin:0 0 10px; border-bottom:1px solid var(--clr-border);}
.articles-sidebar .list {margin:0 0 20px;}
.articles-sidebar a {color:var(--clr-icon);}
.articles-sidebar a:hover {color:var(--clr-icon-hov);}

.articles-sidebar .categories .list > * {display:block; font-size:1.1rem; margin:0 0 10px;}
.articles-sidebar .categories a {border-bottom:1px solid #0000;}
.articles-sidebar .categories a:hover {border-color:var(--clr-icon-hov)}

.articles-sidebar .years .items {display:flex; flex-wrap:wrap; gap:20px; margin: 0 0 40px;}
.articles-sidebar .years .items a {flex:1 0 calc(50% - 20px); text-align:center; font-size:1rem; line-height:2rem; border:1px solid var(--clr-icon); border-radius:var(--dim-radius);}
.articles-sidebar .years .items a:hover {color:var(--clr-on-icon); background:var(--clr-icon);}

.articles-sidebar .tags a {display: inline-block; margin:0 5px 5px 0;}
.articles-sidebar .tags a:after { content: ','; }
.articles-sidebar .tags a:last-child:after { content: '';}
.articles-sidebar .tags a:hover {text-decoration:underline;}

.articles-sidebar .tags a.wt-1 {font-size:100%;}
.articles-sidebar .tags a.wt-2 {font-size:110%;}
.articles-sidebar .tags a.wt-3 {font-size:120%;}
.articles-sidebar .tags a.wt-4 {font-size:130%;}
.articles-sidebar .tags a.wt-5 {font-size:140%;}

.pagination {display:flex; gap:5px; justify-content:center; margin-bottom:40px;}
.pagination a {display:inline-block; text-align:center; aspect-ratio:1; line-height:30px; width:30px; border-radius:var(--dim-radius); border:1px solid var(--clr-accent); color:var(--clr-accent);}
.pagination a.current {border-color:var(--clr-accent); background:var(--clr-accent); color:var(--clr-on-accent);}
.pagination a:hover {border-color:var(--clr-accent-hov); }

/* FEEDBACK */

.feedback .container {padding:50px 20px; margin:20px auto;}
.feedback .h2 {font-size:48px; line-height:50px; margin:0 0 50px;}
.feedback .contacts {font-size:20px; display:flex; flex-wrap:wrap; gap:20px; align-items:flex-end; align-content:flex-end}
.feedback .contacts p span {padding-left:30px; position:relative; display: block; font-size:20px;}
.feedback .contacts p span i {position:absolute; left:0; top:0;}
.feedback .contacts > * {flex-grow:1; width:calc(50% - 20px); align-self: flex-start;}
.feedback .contacts i {color:var(--clr-accent-hov);}
.feedback .contacts .social a {margin-right:20px; font-size:24px;}
.feedback .contacts .social a i {color:var(--clr-h); transition:all 0.3s;}
.feedback .contacts a:hover,
.feedback .contacts .social a:hover i {color:var(--clr-accent);}
.feedback-blocks {display:flex; gap:100px;}
.feedback-alert {font-size: 1rem; color: var(--clr-num2)!important;}

/* PRE-FOOTER */

.pre-footer {background:#161616; padding:40px 0; color:#eee;}
.pre-footer a {color:var(--clr-footer-link);}
.pre-footer a:hover {color:var(--clr-footer-link-hov);}
.pre-footer .h2 {color:#fff; font-size:28px; margin:0 0 20px;}
.pre-footer i.fa {margin:0 5px 0 0;}
.pre-footer .social { border-top: 1px solid #fff3; padding:20px 0; margin:20px 0;}
.pre-footer .social a {margin-right:20px; font-size:24px;}
.pre-footer .list-menu > * {padding:10px 0;}

.pre-footer .catalog-item {margin:10px 0;}
.pre-footer .catalog-item .icon- {background:var(--clr-footer-link);}

/* CALL-BACK form */

#call-back .contacts .phone {font-size:18px; justify-content: center;}
#call-back .contacts .social {font-size: 24px;}
#call-back .contacts .social a {padding:0 5px;}
#call-back .contacts .social a:hover i { color: var(--clr-accent-hov); }

/* REGIONS CHOOSER */

#region-choose {max-width: 1140px; width:calc(100% - 40px); height: 90vh;} 
#region-choose .wrapper {height:calc(100% - 60px);}
#region-choose input {padding: 10px; font: 300 16px/20px var(--fnt-family-1); }
#region-choose .input .icon {line-height:40px; font-size:20px;}
#region-choose .grid{ align-content: start; }
#region-choose .caption { border-bottom:none; }

/* FOOTER */

.footer {background:#161616;}
.footer p {font-size:14px; line-height:20px; margin:0 0 15px;}
.footer a {color:#999;}
.footer a:hover {color:#EEE;}
.footer .container { border-top: 1px solid #fff3; text-align:center; padding:20px;}
.footer span {margin:10px;}

.footer .powered-by {margin:0; font-size:12px; opacity:0.5; transition:all .5s;}
.footer .powered-by:hover {opacity:1;}

.to-top {
	display:block;
	position: fixed;
	z-index:1111;
	bottom: 20px;
	left: -40px;
	width: 40px;
	height: 40px;
	cursor: pointer;
	border-radius:3px;
	background:url(../img/top.svg) no-repeat center center / 35% #0005;
	/* box-shadow: 0 0 0 3px rgb(0 0 0 / 20%); */
	opacity:0;
	transition:all 0.5s;
}

.to-top.show {opacity:0.8; left:20px;}
.to-top:hover { opacity:1; }



/**************************************
	EFFECTS
**************************************/

/* Shine effect */

.anim-shine:before {
    animation: shine 4s infinite;
    animation-delay: 0.5s;
}

@keyframes shine {
	0%   { left: 0; opacity: 0; }
	5%   {opacity: 0.0}
	48%  {opacity: 0.4}
	80%  {opacity: 0.0}
	100% { left: 80%}
}

.shine {
	position:relative;
}

.shine:before {
    position: absolute;
    content: '';
    opacity: 0;
    top: 0;
    left: 0;
    width: 20%;
    height: 100%;
    transform: skew(-20deg);
}

.shine:before { background: linear-gradient(to right, #fff0 0%, #fff6 30%, 50%, #fffA 70%, #fffA 71%, #fff0 100%); }

/* anim delays */

.anim-delay-1 {animation-delay: calc(var(--anim-delay) * 1);}
.anim-delay-2 {animation-delay: calc(var(--anim-delay) * 2);}
.anim-delay-3 {animation-delay: calc(var(--anim-delay) * 3);}
.anim-delay-4 {animation-delay: calc(var(--anim-delay) * 4);}
.anim-delay-5 {animation-delay: calc(var(--anim-delay) * 5);}
.anim-delay-6 {animation-delay: calc(var(--anim-delay) * 6);}
.anim-delay-7 {animation-delay: calc(var(--anim-delay) * 7);}
.anim-delay-8 {animation-delay: calc(var(--anim-delay) * 8);}
.anim-delay-9 {animation-delay: calc(var(--anim-delay) * 9);}
.anim-delay-10 {animation-delay: calc(var(--anim-delay) * 10);}
.anim-delay-11 {animation-delay: calc(var(--anim-delay) * 11);}
.anim-delay-12 {animation-delay: calc(var(--anim-delay) * 12);}
.anim-delay-13 {animation-delay: calc(var(--anim-delay) * 13);}
.anim-delay-14 {animation-delay: calc(var(--anim-delay) * 14);}
.anim-delay-15 {animation-delay: calc(var(--anim-delay) * 15);}
.anim-delay-16 {animation-delay: calc(var(--anim-delay) * 16);}
.anim-delay-17 {animation-delay: calc(var(--anim-delay) * 17);}
.anim-delay-18 {animation-delay: calc(var(--anim-delay) * 18);}
.anim-delay-19 {animation-delay: calc(var(--anim-delay) * 19);}
.anim-delay-20 {animation-delay: calc(var(--anim-delay) * 20);}
