@import url('../fonts/Gilroy2/stylesheet.css');

*{box-sizing:border-box;padding:0;margin:0;font:inherit;}b,strong{font-weight:bold}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border:0}button,input,optgroup,select,textarea{font-family:inherit;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{display:block}table{border-collapse:collapse;border-spacing:0}

*:not(ymaps):not(ymaps *) {}

:root {
	--yellow: #E9C356;
	--blue: #497FEA;
	--white: #FFFFFF;
	--black: #020A0A;
	--grey-bg: #FAFAFA;
	--grey-light: #C5CFD1;
	--grey-lighter: #EAEAEA;
	--grey: #969FA4;
	--grey-dark: #949390;
	--red: #9D0000;
	--border-width: 20px;
	--border-width-rev: -20px;
	--text-s: 15px;	
	--page-box-indent: 80px;
	--font-primary: 'Gilroy', sans-serif;
	/* --font-primary: 'Blacker Sans Text', serif; */
	--font-secondary: "Playfair", serif;
	/* --font-secondary: 'Bodoni', serif; */
	--font-special: 'Berold', serif;
	--transition: all 0.25s ease;
}

/* plain html  */

html {  } /* height 100% is important for popup */
html, body { width: 100%; height: 100%; position: relative; overflow-x: hidden; } /* height 100% is important for popup */
body {font-family: var(--font-primary); font-size: 18px; min-height: 100%; background: #FFF; color: var(--black); font-weight: 300;  }
a { color: var(--black); text-decoration: none; }
a:hover, .hover:hover { opacity: 0.9; cursor: pointer; }
img { display: block; max-width: 100%; height: auto;}
svg { display: flex; max-width: 100%; width: auto; height: auto;}
p { line-height: 130%; margin-bottom: 1em;}
p:last-child {margin-bottom: 0;}
i, em { font-style: italic;}

h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 { display: inline-block;}
h1, .h1 { font-size: clamp(46px, 7vw, 100px); line-height: 85%; font-weight: 900; }
/* h1, .h1 { font-size: 100px; line-height: 85%; font-weight: 900; font-family: var(--font-primary); } */
h2, .h2 { font-size: clamp(32px, 7vw, 80px); line-height: 85%; font-weight: 900;  } 
h3, .h3 { font-size: 52px; line-height: 85%; font-weight: 900; }
h4, .h4 { font-size: 32px; line-height: 130%; font-weight: 900;}

/* forms */

input:not([type="checkbox"]):not([type="radio"]), button, .button, textarea, select {border: 1px solid var(--grey-light); display: flex; align-items: center; padding: 10px 20px; border-radius: 150px;}
:is(input, textarea):hover { box-shadow: 0px 0px 20px rgba(0,0,0,0.05); }
input:not([type="checkbox"]):not([type="radio"]), textarea { width: 100%;}
button, .button { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; background: var(--black); color: #FFF; border-color: rgba(0,0,0,0); transition: var(--transition);}
:is(button, .button):hover { cursor: pointer;  }
/* :is(button, .button):hover { cursor: pointer; transform: scale(1.01);} */
::placeholder { color: var(--grey-dark); }

:is(button, .button).transparent { background: transparent; } 
:is(button, .button).transparent-white { background: transparent; border-color: #FFF; color: #FFF;} 
:is(button, .button).wide { padding-left: 4em; padding-right: 4em; } 
:is(button, .button).white { background: #FFF; color: var(--black);} 
:is(button, .button).white.bordered { border: 1px solid var(--black);} 
:is(button, .button).yellow {background: var(--yellow);} 
.button-red {background: var(--white); color: var(--red); border: 1px solid var(--red);} 
.button-red:hover {background: #9d000013;} 
.button-rounded { border-radius: 9999px;} 

.button-arrow { transition: var(--transition); cursor: pointer; }
.button-arrow:hover { background: rgba(255,255,255,0.1); border-radius: 100px; }

.button-v1 { display: inline-flex; align-items: center; justify-content: center; gap: 20px; padding: 10px; padding-left: 30px; background: linear-gradient(90deg, #9ABF49 0%, #33727A 100%); backdrop-filter: blur(20.45px); border-radius: 100px; color: #FFF; cursor: pointer; font-weight: bold; border: 0; }

.button-v1 .circle { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 100px; background: #FFF; flex-shrink: 0; }
.button-v1:hover { filter: brightness(110%); }

/* helpers */

.flex { display: flex; flex-wrap: wrap; align-items: center;}
.flex-nowrap { display: flex; align-items: center;}
.flex-fill { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.flex-center { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-around;}
.flex-inline { display: inline-flex;}

.font-primary { font-family: var(--font-primary);}
.font-secondary { font-family: var(--font-secondary);}
.font-special { font-family: var(--font-special);}

.color-white { color: var(--white);}
.color-black { color: var(--black);}

.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }
.gap-6, .gap { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.gap-10 { gap: 2.5rem; }
.gap-12 { gap: 3rem; }

.ui-cols { display: flex; }
.ui-cols > * { display: block; flex: 1; }
/* .ui-cols > * { display: block; flex-basis: 0; flex-grow: 1; flex-shrink: 1;  } */
.ui-cols > .fixed { flex-basis: auto; flex-grow: 0; flex-shrink: 0;  }
.ui-cols.va-top { align-items: flex-start; }
.ui-cols.va-center { align-items: center; }

.ui-clear {display: block; clear: both; height: 0 !important; margin: 0px !important; }
.ui-clear:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0 !important; overflow: hidden; width: 100%;}

.ui-bg-cover { background-position: center; background-size: cover; background-repeat: no-repeat; }

.rub { position: relative; }
.rub::after { content: "₽";  }

.clear {display: block; clear: both; height: 0 !important; margin: 0px !important;  }
.clear:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0 !important; overflow: hidden; width: 100%;}
.float-right { float: right;}
.float-left { float: left;}

.css-transition { transition: var(--transition); }
.css-transitions * { transition: var(--transition); }

.color-white { color: #FFFFFF;}
.color-black { color: #000000;}
.text-nowrap { text-wrap: nowrap; white-space: nowrap;}

.ui-messages { margin: 20px 0px 20px; display: flex; flex-direction: column; align-items: flex-start}
.ui-messages li { list-style: none; padding: 10px 15px; margin-bottom: 10px; background: rgb(192, 228, 202); border-radius: 5px;}
.ui-messages li:before { content: "⚠"; margin-right: 10px;}
.ui-messages li.ok, .ui-messages li.good, .ui-messages li.success { background: rgb(192, 228, 202);}
.ui-messages li.error, .ui-messages li.bad { background: rgb(236, 177, 177);}
.ui-messages li.error:before, .ui-messages li.bad:before { content: "⚠"; }

.embed-video { position: relative; padding-bottom: 56.25%; height: 0; width: 100%; }
.embed-video iframe, .embed-video object, .embed-video embed {position: absolute; top: 0;	left: 0;	width: 100%; height: 100%;}
video { max-width: 100%; height: auto; display: block; }

/* более красивые прокрутки для блоков */
.scroll-block {  }
.scroll-block::-webkit-scrollbar { width:10px; }
.scroll-block::-webkit-scrollbar-track { background:rgba(255,255,255,0.05); border-radius:10px; }
.scroll-block::-webkit-scrollbar-thumb { background:linear-gradient(180deg,#666,#444); border-radius:10px; border:2px solid rgba(0,0,0,0.4); }
.scroll-block::-webkit-scrollbar-thumb:hover { background:linear-gradient(180deg,#777,#555); }
.scroll-block { scrollbar-width:thin; scrollbar-color:#555 rgba(255,255,255,0.05); }

/* for all pages */


.page-width { max-width: calc(1630px + var(--border-width) * 2); border: var(--border-width) solid rgba(0,0,0,0); border-top: 0; border-bottom: 0; margin-left: auto; margin-right: auto; }
.page-width-full { width: 100%; border: var(--border-width) solid rgba(0,0,0,0); border-top: 0; border-bottom: 0; margin-left: auto; margin-right: auto; }

.page-width-full .page-width { border-width: calc(var(--border-width) * 2); border-top: 0; border-bottom: 0; }

.page-box { margin-bottom: var(--page-box-indent);}
.page-box-dark {border-radius: 50px; margin-bottom: var(--page-box-indent); padding-top: var(--page-box-indent); padding-bottom: var(--page-box-indent); background: linear-gradient(131.54deg, #33727A 16.93%, #051214 229.33%); }

.pb-split-title {  display: flex; gap: 30px;}
.pb-split-title > .col-1 {  width: 390px; flex-shrink: 0; }
.pb-label { font-size: 14px; font-weight: 900; letter-spacing: 0.36em; text-transform: uppercase; margin-bottom: 20px; color: rgba(0,0,0,0.5); }
.page-box-dark .pb-label  { color: #FFF; opacity: 0.8; }
.pb-title { font-size: 80px; font-weight: 900; line-height: 85%; color: #454343; margin-bottom: 50px;}
.page-box-dark .pb-title  { color: #FFF; }
.pb-title span { background: linear-gradient(90deg, #9ABF49, #33727A); -webkit-background-clip: text; background-clip: text; color: transparent;}


.page-title { padding-bottom: 0px;}
.page-title > h1 {  }
.page-title .subtitle { }

.ui-underlined { position: relative; }
.ui-underlined::before { content: ""; position: absolute; left: 0; bottom: -0.4em; width: 50%; height: 1px; background: var(--grey-dark); }
.ui-underlined.centered::before {  left: 50%; transform: translateX(-50%);}

.pagination	{ margin-bottom: 40px; text-align: center;}


.breadcrumbs { display: none; flex-wrap: wrap; gap: 0.5em; margin-bottom: 40px; }
.breadcrumbs a { color: var(--grey); }

.pagination	{ margin-bottom: 40px; text-align: center;}
.pagination	.pages { display: flex; justify-content: center; align-items: center; gap: 1em; margin-bottom: 1em; }
.pagination	.page { padding: 5px 10px; border: 1px solid rgba(0,0,0,0); color: var(--black); }
.pagination	.page.current { border-color: rgba(0,0,0,1); color: var(--black); }
.pagination	.page:not(.current):hover { background-color: var(--grey-lighter);}
.pagination	.items-amount { margin-bottom: 1em; }

.page-formatting { line-height: 1.5; color: #454343; font-weight: 400; }
.page-formatting > *:first-child { margin-top: 0 !important; padding-top: 0;}
.page-formatting img { max-width: 100%; height: auto;}
:is(.page-formatting, #content) :is(p, li) { line-height: 1.6;}
:is(.page-formatting, #content) :is(h1, .h1) {margin: 0px 0 40px 0; }
:is(.page-formatting, #content) :is(h2, .h2) {margin: 30px 0 20px 0; }
:is(.page-formatting, #content) :is(h3, .h3) {margin: 20px 0 20px 0; }
:is(.page-formatting, #content) :is(h4, .h4) {margin: 10px 0 10px 0; }
:is(.page-formatting, #content) :is(h5, .h5) {margin: 0px 0 5px 0; }
.page-formatting p { margin-bottom: 1rem;}
.page-formatting img { margin-bottom: 1rem;}
.page-formatting figure { display: inline-block;}
.page-formatting figcaption { margin-bottom: 1rem; margin-top: -0.5rem; font-size: 0.8rem; color: #555; text-align: center; font-style: italic;}
.page-formatting ul, .page-formatting ol  { padding-bottom: 1.25rem; }
.page-formatting ul ul, .page-formatting ol ol { margin-left: 20px;}
.page-formatting ul li { list-style-type: disc; padding: 0px 0px 8px 2px; margin-left: 1.1em;   }
.page-formatting ol { column-count: 2; }
.page-formatting ol li { list-style-type: decimal; margin-left: 20px; margin-bottom: 10px; page-break-inside: avoid; break-inside: avoid-column; }
.page-formatting ol li::marker { font-size: 22px; font-weight: bold;}
.page-formatting li:last-child { padding-bottom: 0;}
.page-formatting li p:last-child { margin-bottom: 0;}
.page-formatting table { background-color: #FFF; border-collapse: collapse; width: 100%; margin: 30px 0; }
.page-formatting table tr:first-child { background: linear-gradient(90deg, #9ABF49 0%, #33727A 100%), #9ABF49; color: #FFF;}




.page-formatting table td { padding: 10px 11px; border: 1px solid rgba(0,0,0,0.075);}
/* .page-formatting table tr:nth-child(even) td { background: rgba(0,0,0,0.05);} */
.page-formatting table a { text-decoration: none; border-bottom: 1px solid rgba(0,0,0,0.1);}
.page-formatting table td.fit { width: 1px; }
.page-formatting table .header { font-weight: bold; }
.page-formatting table.no-border, .page-formatting table.no-border td { border: 0;}
.page-formatting .table-wrapper, .table-responsive { overflow-x: auto; margin-bottom: 1rem; }
.page-formatting blockquote { margin-bottom: 0;}
.page-formatting .full-width-block {
	width: 100vw; /* ширина вьюпорта */
	margin-left: calc(-50vw + 50%); /* компенсируем центрирование родителя */
}
.page-formatting .full-width-block-v2 {
	width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.search-form {position: relative; width: 100%;}
.search-form button { background: none; padding: 0; padding-right: 10px; border: none; cursor: pointer; position: absolute; right: 0; top: 0; bottom: 0; }

.accordion-theme-basic .accordion { }
.accordion-theme-basic .accordion-title { position: relative; padding-right: 40px;}
.accordion-theme-basic .accordion-title:hover { cursor: pointer;}
.accordion-theme-basic .accordion-title::after { content: ""; position: absolute; top: 0; right: 0; height: 100%; width: 12px; background-image: url("data:image/svg+xml;utf8,<svg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1 0.962158L6 5.96216L11 0.962158' stroke='%23020A0A' stroke-linecap='round' stroke-linejoin='round'/></svg>"); background-position: right center; background-repeat: no-repeat; color: #000000; transform: rotate(0deg); }
.accordion-theme-basic .accordion-title:hover::after { opacity: 0.8;  }
.accordion-theme-basic .accordion-item.opened .accordion-title::after { transform: rotate(180deg); }
.accordion-theme-basic .accordion-content { max-height: 0; overflow: hidden; transition: all 0.3s ease; }
.accordion-theme-basic .accordion-item.opened .accordion-content { max-height: 1000px; }

.arrow-v1 { width: 16px; height: 16px; color: #33727A;  }


header.main { color: #333333; }
.page-index header.main { color: #FFF;}
header.main .header-group { display: flex; align-items: center; justify-content: space-between; margin-top: 30px; margin-bottom: 40px; gap: 30px; position: relative; z-index: 88; }
.page-index header.main .header-group { margin-top: 0;  margin-bottom: 0px;}
header.main .logo {aspect-ratio: 178/92; width: 178px; flex-shrink: 0; background: url('../images/logotype.png') center no-repeat; background-size: contain;  }
.page-index header.main .logo { background-image: url('../images/logotype-index.png'); }

header.main nav {
	display: flex; 
	align-items: center;
	padding: 22px 41px;
	backdrop-filter: blur(20.45px);
	border-radius: 444px;
	position: relative;
	border: 1px solid rgba(154, 191, 73, 0.37);
}
.page-index header.main nav { background: rgba(255, 255, 255, 0.1); border: 0px solid rgba(255, 255, 255, 0); }
	
.page-index header.main nav::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit; 
	padding: 1px; 
	background: linear-gradient(to right, rgba(255, 255, 255, 0.3), transparent); 
	-webkit-mask: 
		linear-gradient(#fff 0 0) content-box, 
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
			mask-composite: exclude;   
	pointer-events: none; 
}

header.main nav li { list-style: none;}
header.main nav > ul { display: flex; flex-wrap: wrap;  margin: 0; padding: 0; gap: 10px 40px; }
header.main nav > ul > li { position: relative; z-index: 999;}
header.main nav > ul > li::before { content: ""; display: none; position: absolute; top: 100%; left: 0; z-index: 2; width: calc(100% * 2); height: 30px;  /* background: #DDD;  */}
header.main nav > ul > li:hover::before { display: block; }
header.main nav li a { color: #333333; font-weight: 500; text-wrap: nowrap;}
header.main nav .submenu { display: none; position: absolute; top: 100%; left: -20px; background: rgba(255,255,255,0.95); padding: 15px 20px; border: 1px solid rgba(154, 191, 73, 0.37); backdrop-filter: blur(20.45px); border-radius: 20px; margin-top: 10px; flex-direction: column; gap: 15px; z-index: 1000; overflow: hidden; box-shadow: 0 10px 20px rgba(0,0,0,0.2); opacity: 0; transition: all 0.3s ease-in-out;}
header.main nav .submenu li { position: relative;}
header.main nav .submenu a { color: #333333;}
header.main nav > ul > li:hover .submenu { display: flex; opacity: 1; }
.page-index header.main a { color: #FFF;}
header.main .phone-and-time { text-align: right; }
header.main .phone { font-weight: 700; font-size: 28px; text-wrap: nowrap; }
header.main .work-time { font-size: 16px; margin-top: 5px; display: flex; align-items: center; justify-content: flex-end; gap: 7px; color: #454343; opacity: 0.8; }
.page-index header.main .work-time { color: #FFF; opacity: 0.5; }
header.main .work-time .green-dot { width: 7px; height: 7px; background-color: #75FF5F; border-radius: 50%; display: inline-block; opacity: 50%; margin-top: 3px; }

header.main .burger { display: none; width: 50px; height: 50px;  align-items: center; justify-content: center; border-radius: 100px; cursor: pointer; background: #9ABF49; flex-shrink: 0; }
header.main .burger .non-active {}
header.main .burger .active {display: none;}
header.main .burger.active .non-active {display: none;}
header.main .burger.active .active {display: block;}

.mobile-menu { display: none; position: absolute; top: 100px; right: 0; max-width: 300px; height: auto; background: #FFF; z-index: 10000; padding: 25px; color: #333333 !important; border: 1px solid rgba(154, 191, 73, 0.37); backdrop-filter: blur(20.45px); border-radius: 40px; font-weight: 500; flex-direction: column; gap: 30px; }
.mobile-menu.active { display: flex !important;} 
.mobile-menu a { color: #333333 !important;}
.mobile-menu .nav { display: block !important;}
.mobile-menu .nav .submenu { margin-top: 10px; margin-left: 10px; font-size: 90%;}
.mobile-menu .phone-and-time { text-align: left !important; display: block !important;}
.mobile-menu .work-time { color: #333333 !important; justify-content: flex-start !important;}
.mobile-menu ul { list-style: none;}
.mobile-menu ul li { list-style: none; margin-bottom: 10px;}
.mobile-menu ul li:last-child { margin-bottom: 0;}
.mobile-menu .callback { display: block !important;}




.page-layout { display: flex; gap: 70px; margin-bottom: 100px; }
.page-layout .page-sidebar { flex-basis: 280px;  flex-shrink: 0; flex-grow: 0; display: flex; flex-direction: column; gap: 30px;  }
.page-layout .page-sidebar .box { }
.page-layout .page-sidebar .box-bg { background: #EEE; padding: 20px;}
.page-layout main { flex-grow: 1; }
.page-layout .page-content { max-width: 1000px;}

.page-sidebar .box-banner { height: 370px; background-size: cover; display: flex; flex-direction: column; justify-content: flex-end; padding: 25px; border-radius: 30px; color: #FFF; position: relative; font-size: 20px; font-weight: 700;  background: rgba(0,0,0,0.5); transition: all 0.3s ease; }
.page-sidebar .box-banner .badge { margin-bottom: 10px; opacity: 0.5; }
.page-sidebar .box-banner .title { }

.page-sidebar .box-banner .circle { position: absolute; top: 25px; right: 25px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 100px; background: #FFF; z-index: 3; }
.page-sidebar .box-banner .circle svg { transform: rotate(-45deg); transition: all 0.3s ease; }
.page-sidebar .box-banner:hover { opacity: 1; box-shadow: 0 10px 20px rgba(0,0,0,0.2);}
.page-sidebar .box-banner:hover .circle svg {transform: rotate(0deg);}


footer.main { margin-top: 100px; padding: 20px 0; border-top: 1px solid #E0E0E0;  }
footer.main .page-width { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; font-size: 14px; color: #454545; }


/* popups */

/* .popup_opened {width: 100vw; height: 100vh; overflow: hidden;} */

.popup {  position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 550;  align-items: center; justify-content: center; overflow: auto; box-sizing: border-box; padding: 5vh; display: none; opacity: 0; transition: opacity 0.3s ease; background: rgba(0,0,0,0.5); }
.popup.show { display: flex; opacity: 1; }
/* .popup .bg { position: absolute; top: 0px; right: 0; left: 0px; min-height: 100%; height: auto; background: rgba(0,0,0,0.5); z-index: 555; } */
.popup .box { position: relative; background: #FFF; padding: 40px; max-width: 600px; margin: auto; z-index: 560; border-radius: 30px;}
.popup .close { position: absolute; top: 20px; right: 20px; cursor: pointer; }
.popup .close img { width: 30px; height: auto; }
.popup .close:hover { transform: rotate(90deg);}
.popup .title { display: flex; justify-content: center; margin: 20px 0 30px;}
.popup .title::before { width: 20%;}
.popup .info { text-align: center; margin: 0 auto 30px auto; max-width: 80%;  }
.popup .row { margin-bottom: 1.5em; }

@media all and (max-width: 500px) {
	.popup { padding: 20px; }
	.popup .box { padding: 20px; }
	.popup .close img { width: 20px; }
}
@media all and (max-width: 400px) {
	.popup { padding: 0px; }
	.popup .box { padding: 20px; }
}

.popup[data-name="ask-recall"] .box { max-width: 400px;}
.popup[data-name="ask-recall"] .name-and-phone { gap: 1em;}
.popup[data-name="ask-recall"] .disclamer { font-size: 13.5px; color: var(--grey-dark); text-align: center;}
.popup[data-name="ask-recall"] .disclamer a { color: var(--yellow);}
.popup[data-name="ask-recall"] .input-file { display: flex; align-items: center; gap: 0.5em; color: var(--yellow); }
.popup[data-name="ask-recall"] .input-file input[type=file] { position: absolute; z-index: -1; opacity: 0; display: block; width: 0; height: 0; }
.popup[data-name="ask-recall"] button[type=submit] { width: 100%;}
.popup[data-name="ask-recall"] .socials { gap: 3em;}
.popup[data-name="ask-recall"] .socials > * { display: flex; align-items: center; gap: 0.5em;}
.popup[data-name="ask-recall"] .socials span { font-size: 14px;}
.popup[data-name="ask-recall"] .js-response.after-submit { text-align: center;}


/* misc */
form.qform { padding-left: 0 !important; padding-right: 0 !important;}
.y202303301825 li { list-style: none !important; }
#bronirovanie { background: #efefef; border-radius: 30px; padding: 30px; margin-top: 40px;}
#bronirovanie .bgs { font-size: 28px; font-weight: 900; text-align: center; padding-bottom: 15px;}


/* BLOCKS FROM INDEX PAGE  */

.pbi-8 {background: linear-gradient(131.54deg, #8AAC3F 16.93%, #53564A 229.33%);}
/* .pbi-8 .pb-title { font-size: 80px;} */
.pbi-8 .items {  display: flex; gap: 20px; flex-wrap: wrap; }
.pbi-8 .items .item { flex-basis: calc(25% - 15px); min-width: 350px; }
.pbi-8 .item .box { background: rgba(217, 217, 217, 0.28); border-radius: 30px; padding: 30px; color: #FFF; aspect-ratio: 1/1; }
.pbi-8 .item .step-number { font-size: 20px; font-weight: bold; margin-bottom: 20px; display: flex; align-items: center; rgba(255, 255, 255, 0.5); }
.pbi-8 .item .title { font-size: 28px; font-weight: 900; margin-bottom: 20px; line-height: 100%; }
.pbi-8 .item .descr { font-weight: 500; rgba(255, 255, 255, 0.8); }

@media all and (max-width: 1600px) {
    .pbi-8 .item.empty {display: none;}
}
@media all and (max-width: 860px) {
    .pbi-8 .items .item { flex-basis: 100%; min-width: auto;}
    .pbi-8 .items .item .box { aspect-ratio: auto; }
    .pbi-8 .item.poiner-1 {display: none;}
}


.pbi-9 { margin-bottom: 250px;}
.pbi-9 .page-width { position: relative; }
.pbi-9 .leaf { position: absolute; }
.pbi-9 .leaf-1 { top: 150px; left: 200px; transform: rotate(0deg); }
.pbi-9 .leaf-2 { top: 0px; left: -100px; z-index: -1; }
.pbi-9 .leaf-3 { top: 230px; right: 0px; transform: rotate(110deg);}

@media all and (max-width: 1180px) {
    .pbi-9 { margin-bottom: 100px;}
}

.pbi-10 {}
.pbi-10 .page-width { position: relative; }
.pbi-10 .reqs-and-map { display: flex; gap: 40px; }
.pbi-10 .reqs-and-map > * { flex: 1;}
.pbi-10 .col-1 { }
.pbi-10 .col-2 { }
/* .pbi-10 .col-1 { width: 590px; flex-shrink: 0;}
.pbi-10 .col-2 { flex: 1;} */
.pbi-10 .contact { margin-bottom: 22px; }
.pbi-10 .contact .title { font-size: 16px; font-weight: 500; color: rgba(52, 52, 52, 0.63); margin-bottom: 5px; }
.pbi-10 .contact .text { font-size: 24px; font-weight: bold; }

.pbi-10 .leaf { position: absolute; }
.pbi-10 .leaf-1 { top: 450px; left: 400px; transform: rotate(110deg); }
.pbi-10 .leaf-2 { top: 330px; left: -170px; z-index: -1; transform: scale(0.6); }
.pbi-10 .leaf-3 { top: 400px; right: -100px; transform: rotate(340deg);}

@media all and (max-width: 900px) {
    .pbi-10 .reqs-and-map { flex-direction: column; }
    .pbi-10 .col-1 { width: 100%; flex-shrink: 0; margin-bottom: 40px; }
}


/* -------------------------- */
/* ---------- responsive ---------- */
/* -------------------------- */ 
@media all and (min-width: 1600px) {} 
@media all and (max-width: 1600px) {
    .page-layout { flex-direction: column-reverse; }
    .page-layout .page-sidebar { flex-direction: row; flex-basis: 100%;  flex-shrink: 1; }
} 
@media all and (max-width: 1560px) {
    header.main .callback {display: none;}
}
@media all and (max-width: 1400px) {
    .pb-split-title { flex-direction: column; }
    .pb-title { font-size: clamp(42px, 5vw, 80px); }
}
@media all and (max-width: 1340px) {}
@media all and (max-width: 1320px) {
}
@media all and (max-width: 1310px) {
    header.main nav { padding: 16px 35px;}
}
@media all and (max-width: 1300px) {}
@media all and (max-width: 1280px) {} 
@media all and (max-width: 1279px) {} 
@media all and (max-width: 1240px) {} 
@media all and (max-width: 1200px) {
}
@media all and (max-width: 1180px) {} 
@media all and (max-width: 1160px) {}
@media all and (max-width: 1120px) {} 
@media all and (max-width: 1080px) {} 
@media all and (max-width: 1040px) {}
@media all and (max-width: 1024px) {} 
@media all and (max-width: 1023px) {} 
@media all and (max-width: 1010px) {
    header.main nav {display: none;}
    header.main .burger {display: flex;}
}
@media all and (max-width: 980px) {}
@media all and (max-width: 960px) {
} 
@media all and (max-width: 940px) {} 
@media all and (max-width: 920px) {} 
@media all and (max-width: 900px) {} 
@media all and (max-width: 890px) {} 
@media all and (max-width: 860px) {
}
@media all and (max-width: 840px) {
    .page-box-dark { padding-top: 40px; padding-bottom: 40px;}
} 
@media all and (max-width: 800px) {} 
@media all and (max-width: 768px) {
} 
@media all and (max-width: 767px) {} 
@media all and (max-width: 720px) {}
@media all and (max-width: 710px) {}
@media all and (max-width: 700px) {}
@media all and (max-width: 680px) {} 
@media all and (max-width: 670px) {} 
@media all and (max-width: 660px) {
    header.main .phone-and-time { display: none; }
    header.main .logo { width: 150px; }
}
@media all and (max-width: 640px) {
    .page-width-full .page-width { border-width: var(--border-width) ;}
} 
@media all and (max-width: 630px) {
} 
@media all and (max-width: 600px) {} 
@media all and (max-width: 590px) {}
@media all and (max-width: 580px) {
}
@media all and (max-width: 560px) {
} 
@media all and (max-width: 540px) {} 
@media all and (max-width: 520px) {} 
@media all and (max-width: 500px) {}
@media all and (max-width: 490px) {
}
@media all and (max-width: 480px) {}
@media all and (max-width: 470px) {}
@media all and (max-width: 460px) {} 
@media all and (max-width: 450px) {
} 
@media all and (max-width: 444px) {} 
@media all and (max-width: 430px) {} 
@media all and (max-width: 420px) {} 
@media all and (max-width: 414px) {} 
@media all and (max-width: 400px) {} 
@media all and (max-width: 359px) {}