@import url('https://fonts.googleapis.com/css2?family=Agdasima:wght@400;700&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
:root{
	--smoky-white: #f7f6f2;
	--black: #000;
	--white: #fff;
	--white-900: rgba(255, 255, 255, 0.9);
	--white-800: rgba(255, 255, 255, 0.8);
	--white-700: rgba(255, 255, 255, 0.7);
	--white-600: rgba(255, 255, 255, 0.6);
	--white-500: rgba(255, 255, 255, 0.5);
	--black-900: rgba(0, 0, 0, 0.9);
	--black-800: rgba(0, 0, 0, 0.8);
	--black-700: rgba(0, 0, 0, 0.7);
	--black-600: rgba(0, 0, 0, 0.6);
	--black-500: rgba(0, 0, 0, 0.5);
	--black-400: rgba(0, 0, 0, 0.4);
	--black-300: rgba(0, 0, 0, 0.3);
	--black-200: rgba(0, 0, 0, 0.2);
	--black-100: rgba(0, 0, 0, 0.1);
	--black-30: rgba(0, 0, 0, 0.03);

	--font-family: "Montserrat", sans-serif;
	--font3: "Agdasima", sans-serif;

	--h1: max(60px, 100rem);
	--h2: max(54px, 72rem);
	--h3: max(20px, 24rem);

	--body_L: max(20px, 20rem);
	--body_M: max(18px, 18rem);
	--body_S: max(16px, 16rem);

	--button: max(18px, 18rem);
	--quote: max(24px, 42rem);

	--ease: cubic-bezier(.38, .005, .215, 1);
	--ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
	--power3-out: linear( 0, 0.1538 4.09%, 0.2926 8.29%, 0.4173 12.63%, 0.5282 17.12%, 0.6255 21.77%, 0.7099 26.61%, 0.782 31.67%, 0.8425 37%, 0.8887 42.23%, 0.9257 47.79%, 0.9543 53.78%, 0.9752 60.32%, 0.9883 67.11%, 0.9961 75%, 1 );
}
::selection {
	color: var(--smoky-white);
	background-color: var(--black);
}
.banner ::selection,
.time-img-main ::selection,
.promo ::selection,
.faq-item.active ::selection,
.invite-block ::selection,
.slick-current .review-item ::selection,
.bulletin-block ::selection,
.footer ::selection,
.res-content h2::selection,
.res-text::selection {
	color: var(--black);
	background-color: var(--smoky-white);
}
/************************* reset *************************/
html{
	height: 100%;
	margin: 0;
	padding: 0;width: 100%;
	background: var(--black);
	font-size: 0.0625vw;
}
body{
	height: 100%;
	width: 100%;
	position: relative;
	margin: 0;
	padding: 0;
	color: var(--black);
	font-weight: 400;
	font-size: var(--body_S);
	line-height: 130%;
	letter-spacing: -0.01em;
	font-family: var(--font-family), Arial, Helvetica, sans-serif;
	min-width: 320px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
h1, h2, h3, h4, h5, h6, p, ul, li, a, span, div, input, textarea, select, form, fieldset, button, dl, dd, dt, figure, figcaption, blockquote, caption, aside, section {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	box-sizing: border-box;
}
img {
	margin: 0;
	padding: 0;
	border-style: none;
	vertical-align: bottom;
}
input, textarea, select, button {
	font-weight: 400;
	font-family: var(--font-family), Arial, Helvetica, sans-serif;
	vertical-align:middle;
	border: 0;
	outline: 0;
	background: none;
}
a:hover {text-decoration: none;}
ul li {list-style: none;}
/************************* common styles *************************/
.holder {
	padding: 0 max(10px, 20rem);
}
h1, .h1 {
	display: block;
	font-family: var(--font3);
	font-weight: 400;
	font-size: var(--h1);
	line-height: 93%;
	letter-spacing: -0.03em;
	text-transform: uppercase;
}
h2, .h2 {
	display: block;
	font-family: var(--font3);
	font-weight: 400;
	font-size: var(--h2);
	line-height: 93%;
	letter-spacing: -0.03em;
	text-transform: uppercase;
}
h3, .h3 {
	display: block;
	font-weight: 500;
	font-size: var(--h3);
	line-height: 120%;
	letter-spacing: -0.03em;
	text-transform: uppercase;
}
a {transition: all 0.25s;}
p {margin: 0 0 max(30px, 30rem);}
p:last-child {margin: 0;}
p a, .article li a {color: var(--black);}
p a:hover, .article li a:hover {
	color: var(--dusty-blue-digital);
	text-decoration: underline;
}
.center {text-align: center;}
.upper {text-transform: uppercase;}
.button-holder {text-align: center;}
.button {
	position: relative;
	display: inline-block;
	min-width: max(185px, 185rem);
	padding: max(9px, 9rem) max(30px, 40rem);
	color: var(--white);
	font-size: var(--button);
	line-height: 140%;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background: var(--black);
	border: 1px solid var(--black);
	border-radius: 4px;
	transition: all 0.25s;
}
.button:hover {
	color: var(--black-800);
	background: transparent;
}
.button-border {
	color: var(--black-800);
	background: transparent;
	border: 1px solid var(--black);
}
.button-border:hover {
	color: var(--white);
	background: var(--black);
	border: 1px solid var(--black);
}
.button-white {
	color: var(--black);
	background: var(--white);
	border: 1px solid var(--white);
}
.button-white:hover {
	color: var(--white);
	background: transparent;
	border: 1px solid var(--white);
}
.button-white.button-border {
	color: var(--white);
	background: transparent;
	border: 1px solid var(--white);
}
.button-white.button-border:hover {
	color: var(--black);
	background: var(--white);
	border: 1px solid var(--white);
}
/************************* form-block *************************/
.wpcf7-form-control-wrap input {
	display: block;
	width: 100%;
	height: max(60px, 60rem);
	padding: 0 max(30px, 30rem);
	margin: 0 0 max(10px, 10rem);
	font-size: var(--body_S);
	letter-spacing: -0.01em;
	color: var(--black);
	background: var(--black-30);
	border: 1px solid var(--black-100);
}
.wpcf7-form-control-wrap textarea {
	display: block;
	width: 100%;
	height: max(110px, 120rem);
	padding: max(23px, 23rem) max(30px, 30rem);
	margin: 0 0 max(10px, 10rem);
	font-size: var(--body_S);
	letter-spacing: -0.01em;
	color: var(--black);
	resize: vertical;
	background: var(--black-30);
	border: 1px solid var(--black-100);
}
.wpcf7-form-control-wrap input:focus,
.wpcf7-form-control-wrap textarea:focus {
	border: 1px solid var(--black-300);
}
.inactive {
	opacity: 0.4;
	pointer-events: none;
}
::-webkit-input-placeholder {color: var(--black);}
:-moz-placeholder {color: var(--black); opacity: 1;}
::-moz-placeholder {color: var(--black); opacity: 1;}
:-ms-input-placeholder {color: var(--black);}
.error input,
.error textarea {
	color: #f00;
}
.error-msg {
	display: none;
	margin: -2px 0 max(10px, 10rem);
	color: #f00;
	opacity: 0.8;
}
.error .error-msg {
	display: block;
}
.input-box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.input-box .wpcf7-form-control-wrap {
	width: calc(50% - max(5px, 5rem));
}
.form-button {
	padding: max(30px, 33rem) 0 0;
	text-align: center;
}
.form-button .button {
	width: 100%;
}
.check-item {
	position: relative;
	margin: 0 0 max(10px, 10rem);
}
.check-input {
	position: absolute;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.check-label {
	display: block;
	padding: 0 0 0 max(26px, 26rem);
	color: var(--black-600);
	cursor: pointer;
}
.check-label a {
	color: var(--black-600);
	text-decoration: underline;
}
.check-label a:hover {
	color: var(--black);
}
.check-label::before {
	position: absolute;
	top: max(1px, 1rem);
	left: 0;
	display: block;
	content: '';
	width: max(17px, 17rem);
	height: max(17px, 17rem);
	box-sizing: border-box;
	background: var(--black-30);
	border: 1px solid var(--black-100);
	border-radius: 2px;
}
.check-input:checked + .check-label::before {
	background: var(--black-30) url(../images/check-active.svg) 50% 50%;
	background-size: max(23px, 23rem);
}
/************************* wrapper *************************/
#wrapper {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 100dvh;
	padding: max(84px, 139rem) 0 0;
	background: var(--smoky-white);
}
/************************* header *************************/
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 500;
	background: var(--smoky-white);
	border-bottom: 1px solid var(--black);
	transition: all 0.3s linear;
}
.header-up {
    top: min(-75px, -125rem);
}
.main-page .header {
	border-color: transparent;
}
.main-page .header-fixed {
	border-color: var(--black);
}
.header-line {
	position: relative;
	z-index: 500;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: max(40px, 40rem);
	padding: 0 max(10px, 20rem);
	height: max(36px, 36rem);
	background: var(--black);
}
.header-link {
	position: relative;
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--white);
	text-decoration: none;
}
.header-link::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--white);
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.header-link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
.header-block {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: max(70px, 82rem);
	position: relative;
}
.header-logo {
	position: relative;
	z-index: 550;
}
.header-nav-wrap {
	display: flex;
	align-items: center;
}
.header-nav-list {
	display: flex;
	align-items: center;
}
.header-nav {
	flex: 1;
}
.header-nav-list {
	display: flex;
	gap: max(32px, 76rem);
	margin: 0 auto;
}
.header-nav-list li {
	position: relative;
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
}
.header-nav-list > li > a {
	position: relative;
	display: inline-block;
	vertical-align: top;
	color: var(--black-400);
	text-decoration: none;
}
.header-nav-list > li > a::before{
    position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--black);
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.header-nav-list > li > a:hover,
.header-nav-list > li > a.active,
.header-nav-list > li > a.active-sub {
	color: var(--black);
}
.header-nav-list > li > a:hover::before,
.header-nav-list > li > a.active::before,
.header-nav-list > li > a.active-sub::before {
	transform: scaleX(1);
	transform-origin: left;
}
.nav-parent {
	position: relative;
}
.subnav-mask {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.25);
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s;
}
.subnav-mask.active {
	opacity: 1;
	visibility: visible;
	transition-delay: 0.2s;
}
.subnav-bg {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: max(240px, 240rem);
	background: var(--smoky-white);
	transition: transform 0.5s;
	transform: translateY(-100%);
}
.subnav-bg.active {
	transform: translateY(0%);
}
.subnav {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	padding: max(20px, 20rem) 0 0;
}
.subnav.active {
	display: block;
}
.subnav-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: max(16px, 16rem);
	opacity: 0;
	transition-delay: 0s;
}
.header-nav.active .subnav-list {
	opacity: 1;
	transition: opacity 0.25s 0.4s;
}
.subnav-list a {
	position: relative;
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--black);
	text-decoration: none;
	white-space: nowrap;
}
.subnav-list a::after {
	position: absolute;
	left: 0;
	bottom: -1px;
	content: '';
	height: 1px;
	background: var(--black);
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.subnav-list a:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
.header-nav-list > li:last-child {
	display: none;
}
.header-button .button:first-child {
	display: none;
}
.mob-nav-icon {
	position: relative;
	z-index: 550;
	padding: 10px 0;
	display: none;
}
.mob-nav-block {
    position: relative;
	display: block;
    width: 30px;
    height: 1px;
    margin: 7px 0;
	background: var(--black);
	transition: all .3s linear;
}
.mob-nav-block:after {
    content: "";
    position: absolute;
    top: -7px;
    left: 0;
    width: 30px;
    height: 1px;
    background: var(--black);
	transition: all .3s linear;
}
.mob-nav-block:before {
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
   	width: 30px;
    height: 1px;
    background: var(--black);
	transition: all .3s linear;
}
.mob-nav-icon.active .mob-nav-block {
    background: none;
}
.mob-nav-icon.active .mob-nav-block:before {
    top: 0;
    transform: rotate(45deg);
}
.mob-nav-icon.active .mob-nav-block:after {
    top: 0;
    transform: rotate(-45deg);
}

/************************* loader *************************/
.loader-block {
	position: fixed;
	overflow: hidden;
	inset: 0;
	z-index: 10000;
	overscroll-behavior: contain;
}
.loader-block.scroll {
	overscroll-behavior: unset;
}
.loader-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.loader-block::after {
	position: absolute;
	inset: 0;
	content: '';
	background: url(../images/loader.svg) 50% 50% no-repeat;
	background-size: cover;
}
.loader-mask {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	background: var(--smoky-white);
	transition: all 2.5s cubic-bezier(.61,.91,.76,.16);
}
.loader-start .loader-mask {
	transform: translateY(-100%);
}
.loader-start .loader-block {
	opacity: 0;
	visibility: hidden;
	transition: all 1s linear 2.5s;
}

/************************* hero *************************/
.hero {
	margin: min(-14px, -20rem) 0 max(188px, 190rem);
}
.hero-block {
	display: flex;
	gap: max(10px, 10rem);
}
.hero-main {
	position: relative;
	width: 69%;
}
.hero-bg {
	position: relative;
	overflow: hidden;
	height: max(561px, 645rem);
	border-radius: max(4px, 4rem);
}
.hero-bg::before, .hero-bg::after {
	position: absolute;
	inset: 0;
	content: '';
}
.hero-main .hero-bg::before {
	background: linear-gradient(183deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}
.hero-side .hero-bg::before {
	background: linear-gradient(183deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}
.hero-side .hero-bg::after {
	background: var(--black-400);
}
.hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero-bg .video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 10;
}
.hero-main h1 {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: max(22px, 22rem);
	color: var(--white);
}
.hero-side {
	position: relative;
	width: calc(31% - max(10px, 10rem));
}
.hero-info {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: max(22px, 32rem);
	padding: 0 max(10px, 20rem) max(20px, 40rem);
}
.hero-text {
	font-family: var(--font3);
	font-weight: 400;
	font-size: max(32px, 32rem);
	line-height: 93%;
	letter-spacing: -0.03em;
	color: var(--white);
}

/************************* about *************************/
.about {

}
.about-block {
	display: flex;
	gap: max(40px, 90rem);
}
.about-side {
	width: max(360px, 510rem);
	min-width: max(360px, 510rem);
}
.about-side h2 {
	margin: 0 0 max(20px, 70rem);
}
.about-img {
	flex: 1;
}
.about-img-wrap {
	height: max(355px, 672rem);
}
.about-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.about-img-name {
	padding: max(2px, 2rem) 0 0;
	color: var(--black-800);
}
.about-bottom {
	display: flex;
	padding: 60px 0 0;
}
.about-bottom .about-img:first-child {
	width: max(360px, 510rem);
	min-width: max(360px, 510rem);
	margin: min(-140px, -190rem) max(40px, 90rem) 0 0;
	flex: none;
}
.about-bottom .about-img {
	display: flex;
	flex-direction: column;
}
.about-bottom .about-img-wrap {
	height: auto;
	flex: 1;
}
.about-center {
	padding: max(80px, 144rem) max(40px, 110rem) 0 0;
}
.about-text {
	width: max(320px, 320rem);
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--black-800)
}

/************************* main-qoute *************************/
.main-qoute {
	margin: 0 0 max(230px, 320rem);
}
.main-qoute .qoute-text {
	max-width: max(720px, 1200rem);
	margin: 0 auto;
}
.main-qoute .qoute-text::before {
    background: url(../images/logo-min-2.svg) 50% 50% no-repeat;
    background-size: contain;
	opacity: 0.2;
}

/************************* main-section *************************/
.main-section {
	margin: 0 0 max(120px, 207rem);
}
.box-min .box-content .button {
    margin: 0 auto 0 0;
}

/************************* banner *************************/
.banner {
	position: relative;
	margin: 0 0 max(120px, 207rem);
}
.banner-bg {
	display: block;
	height: max(660px, 800rem);
	max-height: 100dvh;
}
.banner-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.banner-bg::after {
	position: absolute;
	inset: 0;
	content: '';
	background: var(--black-300);
}
.banner-block {
	position: absolute;
	inset: 0;
	padding: 0 max(10px, 20rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--white);
	text-align: center;
}
.banner-block h2 {
	margin: 0 0 max(20px, 20rem);
}
.banner-text {
	max-width: max(860px, 860rem);
	margin: 0 0 max(40px, 40rem);
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--white-800);
}

/************************* time *************************/
.time-img {
	display: flex;
	gap: max(20px, 20rem);
	margin: 0 0 max(20px, 30rem);
}
.time-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.time-img-side {
	aspect-ratio: 1/1;
	margin: 0 0 auto;
}
.time-img-side:last-child {
	margin: auto 0 0;
}
.time-img-main {
	position: relative;
	width: max(660px, 760rem);
	min-width: max(660px, 760rem);
	height: max(420px, 566rem);
}
.time-img-main h2 {
	position: absolute;
	max-width: max(320px, 480rem);
	left: max(25px, 25rem);
	bottom: max(30px, 30rem);
	color: var(--smoky-white);
}
.time-content {
	width: max(660px, 760rem);
	margin: 0 auto;
}
.time-text {
	max-width: max(660px, 660rem);
	margin: 0 0 max(40px, 40rem);
	font-size: 18px;
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--black-800);
}

/************************* review *************************/
.review h2 {
	padding: 0 0 max(20px, 20rem);
	margin: 0 0 max(20px, 20rem);
	border-bottom: 1px solid var(--black-200);
}
.review-slider {
	margin: 0 min(-10px, -20rem);
}
.review-slide:not(.slick-center) .review-item {
	cursor: pointer;
}
.review-item {
	width: max(640px, 910rem);
	height: max(390px, 390rem);
	padding: max(40px, 50rem) max(40px, 60rem);
	display: flex;
	flex-direction: column;
	background: url(../images/logo-bg.svg) 100% 100% no-repeat;
	background-size: contain;
	transition: all 0.45s;
}
.review-text {
	max-width: max(630px, 630rem);
	font-size: var(--body_L);
	line-height: 130%;
	letter-spacing: -0.01em;
	color: var(--black-400);
	transition: all 0.45s;
}
.review-author {
	margin: auto 0 0;
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--black-200);
	transition: all 0.45s;
}
.slick-slide[aria-hidden="true"][tabindex="-1"] + .slick-center .review-item,
.slick-current .review-item {
	background-color: var(--black);
}
.slick-slide[aria-hidden="true"][tabindex="-1"] + .slick-center .review-text {
	color: var(--white);
}
.slick-slide[aria-hidden="true"][tabindex="-1"] + .slick-center .review-author {
	color: var(--white-600);
}
.review-slider .slick-arrow {
	top: min(-95px, -95rem);
	margin-top: 0;
	background: var(--smoky-white) url(../images/chevron-left.svg) 50% 50% no-repeat;
	background-size: max(24px, 24rem);
	border-color: var(--black-100);
}
.review-slider .slick-prev {
	right: max(78px, 78rem);
	left: auto;
}
.review-slider .slick-next {
	right: max(10px, 20rem);
}
.review-slider .slick-arrow:hover {
	border-color: var(--black);
}

/************************* bulletin *************************/
.bulletin {
	padding: 0 0 max(25px, 25rem);
}
.bulletin-wrap {
	position: relative;
}
.bulletin-bg {
	overflow: hidden;
	display: block;
	height: max(600px, 800rem);
	border-radius: max(4px, 4rem);
}
.bulletin-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bulletin-block {
	position: absolute;
	left: max(24px, 40rem);
	bottom: max(24px, 40rem);
	width: max(680px, 744rem);
	padding: max(24px, 34rem) max(24px, 46rem) max(24px, 36rem);
	color: var(--smoky-white);
	background: var(--black);
	border-radius: max(4px, 4rem);
}
.bulletin-block h2 {
	margin: 0 0 max(20px, 31rem);
}
.bulletin-text {
	max-width: max(590px, 590rem);
	margin: 0 0 max(60px, 60rem);
	font-size: max(18px, 20rem);
	line-height: 130%;
	letter-spacing: -0.03em;
	color: var(--white-800);
}
.bulletin-block .button {
	width: 100%;
}

/************************* breadcrumbs *************************/
.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: max(10px, 10rem);
	padding: 0 max(10px, 20rem);
	margin: 0 0 max(43px, 43rem);
}
.breadcrumbs li {
	display: flex;
	align-items: flex-start;
	gap: max(10px, 10rem);
	padding: 0;
	margin: 0;
	color: var(--black);
	list-style: none;
}
.breadcrumbs li::before {
	display: block;
	content: '/';
	color: var(--black-400);
}
.breadcrumbs li:last-child::before {
	color: var(--black-400);
}
.breadcrumbs li:first-child::before {display: none;}
.breadcrumbs a {
	position: relative;
	color: var(--black-400);
	text-decoration: none;
}
.breadcrumbs a:hover {
	color: var(--black);
}
.breadcrumbs a::before{
    position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--black);
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.breadcrumbs a:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}

/************************* top *************************/
.top {
	padding: 0 0 max(120px, 160rem);
}
.top.no-padding {
	padding: 0;
}
.top-block {
	display: flex;
	justify-content: space-between;
	gap: max(40px, 40rem);
	padding: 0 0 max(60px, 120rem);
}
.top-block h1 {
	max-width: max(480px, 795rem);
}
.top-2 .top-block h1 {
	max-width: max(500px, 900rem);
}
.top-side {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: max(32px, 40rem);
	width: 100%;
	max-width: max(550px, 550rem);
}
.top-text {
	width: 100%;
	max-width: max(520px, 520rem);
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--black-800);
}
.top-text:last-child {
	margin: auto 0 0;
}
.top-text a {
	color: var(--black-800);
}
.top-text a:hover {
	color: var(--black);
}
.top-side .button {
	margin: auto 0 0;
}
.top-banner {
	overflow: hidden;
	position: relative;
	height: max(355px, 628rem);
	border-radius: max(3px, 3rem);
}
.top-banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-banner::after {
	position: absolute;
	inset: 0;
	content: '';
	background: linear-gradient(183deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.6) 100%);
}
.top .holder > .button {
	display: none;
}

/************************* section *************************/
.section {
	padding: 0 0 max(120px, 160rem);
}

/************************* box *************************/
.box {
	display: flex;
	gap: max(30px, 50rem);
}
.box-side {
	flex: 1;
}
.box-img {
	display: block;
	height: max(355px, 672rem);
}
.box-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.box-content {
	width: max(530px, 580rem);
	min-width: max(530px, 580rem);
	display: flex;
	flex-direction: column;
}
.box-2 .box-content {
	width: max(570px, 620rem);
	min-width: max(570px, 620rem);
}
.box-3 .box-content {
	width: max(590px, 690rem);
	min-width: max(590px, 690rem);
}
.box-4 .box-content {
	width: max(650px, 750rem);
	min-width: max(650px, 750rem);
}
.box-5 .box-content {
	width: max(510px, 510rem);
	min-width: max(510px, 510rem);
	padding-bottom: max(90px, 90rem);
}
.box-4 h2 {
	max-width: max(460px, 640rem);
}
.box-4 .box-text,
.box-reverse.box-4 .box-text {
	max-width: max(660px, 680rem);
}
.box-3 .box-text,
.box-reverse.box-3 .box-text {
	max-width: max(620px, 640rem);
}
.box-2 .box-text,
.box-reverse.box-2 .box-text {
	max-width: max(560px, 580rem);
}
.box-content .box-img {
	display: none;
}
.box-content h2 {
	margin: 0 0 max(20px, 54rem);
}
.box-text {
	max-width: max(500px, 520rem);
	margin: 0 0 max(30px, 50rem);
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--black-800);
}
.box-text:last-child {
	margin: 0;
}
.box-text .big {
	font-size: max(18px, 20rem);
	line-height: 130%;
}
.box-text p {
	margin: 0 0 max(20px, 30rem);
}
.box-text ul {
	display: flex;
	flex-direction: column;
	gap: max(10px, 10rem);
	margin: 0 0 max(20px, 30rem);
}
.box-text p:last-child,
.box-text ul:last-child {
	margin: 0;
}
.box-text ul li {
	position: relative;
	padding: 0 0 0 27px;
}
.box-text ul li::before {
	position: absolute;
	top: 11px;
	left: 12px;
	content: '';
	width: 3px;
	height: 3px;
	background: var(--black-800);
	border-radius: 50%;
}
.box-content .button {
	min-width: max(232px, 232rem);
	margin: auto auto 0 0;
}
.box-reverse {
	flex-direction: row-reverse;
}
.box-reverse .box-text {
	max-width: max(470px, 470rem);
}
.box-min {
	max-width: max(760px, 766rem);
	margin: 0 auto;
	gap: max(20px, 20rem);
}
.box-min .box-side {
    flex: none;
	width: calc(50% - max(10px, 10rem));
}
.box-min .box-content {
	width: calc(50% - max(10px, 10rem));
    min-width: 1px;
}
.box-min .box-content h2 {
	max-width: max(300px, 400rem);
}
.box-min .box-text {
	margin: auto 0 max(40px, 70rem);
}
.box-min .box-text:last-child {
	margin-bottom: 0;
}
.box-min .box-text-top {
	margin: 10px 0 0;
}
.box-min-text-2 {
	max-width: max(320px, 320rem);
}
.box-min-2 {
	max-width: max(1020px, 1020rem);
}
.box-min-2 .box-content h2 {
    max-width: max(400px, 500rem);
}

/************************* triple *************************/
.triple {
	display: flex;
	padding: max(50px, 65rem) 0 0;
}
.triple-left {
	width: max(510px, 510rem);
    min-width: max(510px, 510rem);
	margin: min(-100px, -130rem) max(30px, 50rem) 0 0;
}
.triple-content {
	width: 48%;
	padding: 0 max(30px, 30rem) 0 0;
}
.triple-right {
	width: 52%;
}
.triple-content .box-img {
	display: none;
}
.triple-content .box-text {
    margin: 0 0 max(20px, 20rem);
}
.triple-content .button {
	margin: 30px 0 0;
}

/************************* title-block *************************/
.title-block {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: max(30px, 60rem);
}
.title-block-wrap {
	max-width: max(1100px, 1100rem);
	display: flex;
	flex-direction: column;
	gap: max(20px, 30rem);
}
.title-block-text {
	font-size: var(--body_L);
	line-height: 130%;
	letter-spacing: -0.03em;
}
.title-block .button {
	margin: 0 0 max(6px, 6rem);
}
.faq-title-2 {
	max-width: max(600px, 840rem);
}

/************************* promo *************************/
.faq-section .title-block {
	margin: 0 0 max(20px, 30rem);
}

/************************* promo *************************/
.qoute {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: max(510px, 555rem);
	padding: 0 max(10px, 20rem);
	color: var(--white);
	background: var(--black);
}
.qoute-text {
	position: relative;
	max-width: max(620px, 1100rem);
	padding: max(108px, 170rem) 0 0;
	font-weight: 300;
	font-size: var(--quote);
	line-height: 120%;
	letter-spacing: -0.03em;
	text-align: center;
}
.qoute-text::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: '';
    width: max(50px, 84rem);
    height: max(87px, 145rem);
    background: url(../images/logo-min.svg) 50% 50% no-repeat;
    background-size: contain;
	opacity: 0.3;
}

/************************* serv *************************/
.serv h2 {
	margin: 0 0 max(20px, 40rem);
	text-align: center;
}
.serv-top-text {
	max-width: max(800px, 880rem);
	margin: 0 auto max(40px, 54rem);
	text-align: center;
	font-size: max(18px, 20rem);
	line-height: 130%;
	letter-spacing: -0.03em;
}
.serv-block {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: max(50px, 50rem) 0;
}
.serv-item {
	width: 33.33%;
	padding: max(10px, 20rem);
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: max(25px, 25rem);
}
.serv-icon img {
	width: max(104px, 104rem);
}
.serv-text {
	max-width: max(380px, 380rem);
	text-align: center;
	color: var(--black-800);
}
.serv-item:nth-child(3n + 2){
	border-left: 1px solid var(--black-100);
	border-right: 1px solid var(--black-100);
}
.serv-item:last-child {
	border-left: 1px solid var(--black-100);
	border-right: 1px solid var(--black-100);
}
.serv-item:nth-child(3n + 3):last-child {
	border-left: 0;
	border-right: 0;
}

/************************* choice *************************/
.choice h2 {
	margin: 0 0 max(20px, 37rem);
	text-align: center;
}
.choice-top-text {
	max-width: max(740px, 740rem);
	margin: 0 auto max(32px, 32rem);
	text-align: center;
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--black-800);
}
.choice-block {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: max(20px, 20rem);
}
.choice-item {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
}
.choice-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.4s var(--ease);
}
.choice-item:hover .choice-img {
	transform: scale(1.1);
}
.choice-content {
	position: absolute;
	inset: 0;
	background-color: var(--black-500);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: max(24px, 31rem);
}
.choice-title {
	font-family: var(--font3);
	font-weight: 400;
	font-size: max(44px, 52rem);
	line-height: 93%;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: var(--white);
}
.choice-content .button {
	min-width: max(177px, 177rem);
}

/************************* gallery *************************/
.gallery h2 {
	margin: 0 0 max(35px, 58rem);
	text-align: center;
}
.gallery .tabs {
	max-width: max(560px, 640rem);
	margin: 0 auto max(20px, 32rem);
}
.gallery-slider {
	margin: 0 min(-10px, -20rem);
}
.gallery-slide:not(.slick-center) .gallery-wrap {
	cursor: pointer;
}
.gallery-wrap {
	width: max(616px, 976rem);
	height: max(355px, 560rem);
	padding: 0 max(8px, 8rem);
}
.gallery-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.slick-arrow {
	position: absolute;
	z-index: 10;
	top: 50%;
	margin-top: min(-24px, -24rem);
	width: max(48px, 48rem);
	height: max(48px, 48rem);
	font-size: 0;
	cursor: pointer;
	background: var(--smoky-white) url(../images/slider-arrow.svg) 50% 50% no-repeat;
	background-size: max(28px, 28rem);
	border: 1px solid var(--black);
	border-radius: 50%;
	transition: all 0.25s;
}
.gallery-slider .slick-arrow {
	border-color: var(--smoky-white);
}
.gallery-slider .slick-arrow:hover {
	border-color: var(--black);
}
.slick-prev {
	left: max(32px, 72rem);
	transform: scale(-1, 1);
}
.slick-next {
	right: max(32px, 72rem);
}
.slick-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: min(-32px, -32rem);
	display: flex;
	justify-content: center;
	gap: max(16px, 16rem);
}
.slick-dots button {
	display: block;
	width: max(8px, 8rem);
	height: max(8px, 8rem);
	font-size: 0;
	cursor: pointer;
	background: var(--black-200);
	border-radius: 50%;
	transition: all 0.25s;
}
.slick-dots .slick-active button {
	background: var(--black);
}
.slick-dots button:hover {
	background: var(--black);
}
.gallery-tab {
	display: none;
}
.gallery-tab.vis {
	display: block;
}
.gallery-menu {
	padding: max(12px, 28rem) 0 0;
}
.gallery-menu h3 {
	margin: 0 0 max(24px, 50rem);
	text-align: center;
}
.gallery-menu-block {
	max-width: max(800px, 980rem);
	margin: 0 auto;
}
.gallery-menu-wrap {
	display: flex;
	justify-content: space-between;
	width: 110%;
}
.gallery-menu-col {
	width: calc(50% - max(15px, 40rem));
}
.gallery-menu-title {
	margin: 0 0 max(15px, 15rem);
	font-weight: 500;
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
}
.gallery-menu-text {
	margin: 0 0 max(32px, 50rem);
	font-size: var(--body_S);
	line-height: 130%;
	letter-spacing: -0.01em;
	color: var(--black-800);
}
.plan {
	position: relative;
	width: max(616px, 976rem);
	padding: 0 max(8px, 8rem);
}
.gallery-slide:not(.slick-center) .plan {
	cursor: pointer;
}
.plan-img {
	position: relative;
}
.plan-info {
	position: absolute;
	left: max(24px, 42rem);
	bottom: max(16px, 34rem);
	height: max(80px, 98rem);
}
.plan-name {
	margin: 0 0 max(8px, 14rem);
	font-weight: 500;
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
}
.plan-name:last-child {
	margin: 0;
}
.plan-space {
	font-size: var(--body_S);
	line-height: 130%;
	letter-spacing: -0.01em;
}
.plan-logo {
	position: absolute;
	top: max(16px, 34rem);
	left: max(16px, 34rem);
	width: max(60px, 110rem);
}
.plan-logo img {
	width: 100%;
}
.plan-resize {
	position: absolute;
	right: max(16px, 32rem);
	bottom: max(16px, 40rem);
	width: max(16px, 27rem);
	height: max(16px, 27rem);
	background: url(../images/resize.svg) 50% 50% no-repeat;
	background-size: contain;
}
.plan-main {
	display: block;
	height: max(355px, 560rem);
}
.plan-main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.event {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(20px, 20rem);
}
.event-item {
	position: relative;
	overflow: hidden;
	height: max(355px, 483rem);
}
.event-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.event-item::after {
    position: absolute;
    inset: 0;
    content: '';
    background: var(--black-600);
}
.event-wrap {
	position: absolute;
    inset: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 16px;
}
.event-content {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-height: max(244px, 294rem);
	color: var(--white);
	text-align: center;
}
.event-content h2 {
	max-width: max(300px, 540rem);
}
.gallery .event-content h2 {
	margin: 0 0 max(20px, 32rem);
}
.event-text {
	max-width: max(410px, 410rem);
	margin: 0 0 max(24px, 32rem);
	font-size: var(--body_S);
	line-height: 150%;
	letter-spacing: -0.01em;
}
.event-wrap .button {
	margin: auto 0 0;
}


/************************* promo *************************/
.promo {
	position: relative;
}
.promo-bg {
	position: relative;
	display: block;
	height: max(480px, 555rem);
}
.promo-bg::after {
	position: absolute;
	inset: 0;
	content: '';
	background: var(--black-800);
}
.promo-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.promo-block {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.promo-wrap {
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: max(900px, 1200rem);
	padding: max(16px, 26rem) max(75px, 90rem) 0;
	color: var(--white);
	text-align: center;
}
.promo-wrap::before,
.promo-wrap::after {
	position: absolute;
	top: 0;
	content: '';
	width: max(50px, 67rem);
	height: max(87px, 116rem);
	background: url(../images/logo-min.svg) 50% 50% no-repeat;
	background-size: contain;
}
.promo-wrap::before {
	left: 0;
}
.promo-wrap::after {
	right: 0;
}
.promo-wrap h2 {
	margin: 0 0 max(20px, 37rem);
}
.promo-wrap h2:last-child {
	margin: 0;
}
.promo-text {
	margin: 0 0 max(20px, 28rem);
	max-width: max(610px, 670rem);
	font-size: max(18px, 20rem);
	line-height: 130%;
	letter-spacing: -0.03em;
}
.promo-text:last-child {
	margin: 0;
}
.promo-text-2 {
	max-width: max(840px, 930rem);
}
.promo-powered {
	margin: 0 0 max(30px, 35rem);
}
.promo-powered img {
	width: max(90px, 90rem);
	margin: 0 0 0 max(16px, 16rem);
}
.promo-powered:last-child {
	margin: 0;
}

/************************* res *************************/
.res {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(20px, 20rem);
	padding: max(60px, 120rem) 0 0;
	border-top: 1px solid var(--black);
}
.res-item {
	position: relative;
	overflow: hidden;
	color: var(--smoky-white);
	text-decoration: none;
}
.res-img {
	position: relative;
	overflow: hidden;
	height: max(355px, 483rem);
}
.res-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.4s var(--ease);
}
.res-item:hover img {
	transform: scale(1.1);
}
.res-img::after {
	position: absolute;
	inset: 0;
	content: '';
	background: var(--black-700);
}
.res-content {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: max(20px, 20rem);
	text-align: center;
}
.res-bg {
	width: 100%;
	height: max(355px, 483rem);
	object-fit: cover;
	transition: all 0.4s var(--ease);
}
.res-item:hover .res-bg {
	transform: scale(1.1);
}
.res-content h2 {
	margin: 0 0 max(24px, 65rem);
}
.res-content h2:last-child {
	margin: 0;
}
.res-text {
	max-width: max(300px, 300rem);
	margin: min(-10px, -50rem) 0 max(24px, 24rem);
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--smoky-white);
}
.res-text:last-child {
	margin: 0;
}
.res-content .button {
	min-width: max(200px, 240rem);
}

/************************* faq *************************/
.faq h1 {
	max-width: max(600px, 1000rem);
	margin: 0 auto max(24px, 31rem);
	text-align: center;
}
.faq-block {
	border-bottom: 1px solid var(--black-300);
}
.faq-item {
	display: flex;
	justify-content: space-between;
	position: relative;
	overflow: hidden;
	padding: max(24px, 30rem) max(60px, 80rem) max(24px, 30rem) max(24px, 30rem);
	border-top: 1px solid var(--black-300);
	transition: all 0.25s;
}
.faq-plus {
	position: absolute;
	top: max(24px, 30rem);
	right: max(20px, 40rem);
}
.faq-plus svg {
	display: block;
	width: max(19px, 26rem);
	height: max(19px, 26rem);
	transition: all 0.25s;
}
.faq-plus path {
	fill: var(--black);
	transition: all 0.25s;
}
.faq-col {
	width: calc(50% - max(15px, 36rem));
}
.faq-top {
	position: relative;
	color: var(--black-500);
	text-decoration: none;
	transition: all 0.25s;
}
.faq-top::after {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 230%;
	content: '';
}
.faq-img {
	display: block;
	max-width: max(480px, 600rem);
	height: max(200px, 200rem);
	margin: max(18px, 19rem) 0 0;
}
.faq-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.faq-hidden {
	display: none;
}
.faq-col:last-child .faq-hidden {
	height: 100%;
}
.faq-col:last-child .faq-text {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.faq-text .button {
	margin: auto auto 0 0;
	opacity: 0;
	transition: all 0.3s linear 0.2s;
}
.faq-item.active .button {
	opacity: 1;
}
.faq-text {
	max-width: max(690px, 690rem);
	color: var(--white-900);
	transition: all 0.25s;
}
.faq-text p {
	margin: 0 0 max(20px, 20rem);
}
.faq-text ul {
	display: flex;
	flex-direction: column;
	gap: max(20px, 20rem);
	margin: 0 0 max(20px, 20rem);
}
.faq-text p:last-child,
.faq-text ul:last-child {
	margin: 0;
}
.faq-text ul li {
	position: relative;
	padding: 0 0 0 27px;
}
.faq-text ul li::before {
	position: absolute;
	top: 11px;
	left: 12px;
	content: '';
	width: 3px;
	height: 3px;
	background: var(--white-900);
	border-radius: 50%;
}
.faq-item.active,
.faq-item.active-bg {
	background: var(--black);
}
.faq-item.active .faq-top,
.faq-item.active-bg .faq-top {
	color: var(--white);
}
.faq-item.active .faq-plus svg,
.faq-item.active-bg .faq-plus svg {
	transform: rotate(45deg);
}
.faq-item.active .faq-plus path,
.faq-item.active-bg .faq-plus path {
	fill: var(--smoky-white);
}
.faq-item.vis .faq-hidden {
	display: block;
}

/************************* promo *************************/
.invite {
	position: relative;
}
.invite-bg {
	position: relative;
	display: block;
	height: max(680px, 830rem);
	max-height: 100dvh;
}
.invite-bg::after {
	position: absolute;
	inset: 0;
	content: '';
	background: var(--black-700);
}
.invite-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.invite-block {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.invite-wrap {
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	padding: max(117px, 130rem) max(10px, 20rem) 0;
	color: var(--white);
	text-align: center;
}
.invite-wrap::before {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	width: max(50px, 67rem);
	height: max(87px, 116rem);
	background: url(../images/logo-min.svg) 50% 50% no-repeat;
	background-size: contain;
}
.invite-wrap h2 {
	max-width: max(700px, 960rem);
	margin: 0 0 max(40px, 80rem);
}
.invite-wrap .button {
	min-width: max(250px, 250rem);
}
.invite-text {
	max-width: max(700px, 960rem);
	margin: min(-20px, -53rem) 0 max(40px, 52rem);
	font-size: max(18px, 20rem);
	line-height: 130%;
	letter-spacing: -0.03em;
}
.invite-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: max(16px, 20rem) max(20px, 20rem);
}

/************************* contact *************************/
.contact h1 {
	max-width: max(600px, 1000rem);
	margin: 0 auto max(40px, 67rem);
	text-align: center;
}
.contact-block {
	max-width: max(1000px, 1220rem);
	margin: 0 auto;
	display: flex;
	align-items: flex-start;
	gap: max(32px, 70rem);
}
.contact-form {
	width: 53.5%;
	min-width: 53.5%;
	position: relative;
}
.form-sent .form-main {
	opacity: 0;
	pointer-events: none;
}
.form-sent .form-result {
	display: flex;
}
.form-result {
	position: absolute;
	inset: 0;
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.contact .form-result h1 {
    margin: 0 auto max(24px, 24rem);
}
.form-result-text {
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--black-800);
}
.contact-form .check-item {
	max-width: max(430px, 430rem);
}
.contact-side {
	flex: 1;
}
.contact-block h3 {
	margin: 0 0 max(25px, 25rem);
}
.contact-text {
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--black-800);
}
.contact-text-item {
	margin: 0 0 max(35px, 35rem);
}
.contact-text-item:last-child {
	margin: 0;
}
.contact-text p {
	margin: 0 0 max(15px, 15rem);
}
.contact-text p:last-child {
	margin: 0;
}
.black {
	color: var(--black);
}
.contact-text ul {
	display: flex;
	flex-direction: column;
	margin: 0 0 max(15px, 15rem);
}
.contact-text ul:last-child {
	margin: 0;
}
.contact-text ul li {
	position: relative;
	padding: 0 0 0 27px;
}
.contact-text ul li::before {
	position: absolute;
	top: 11px;
	left: 12px;
	content: '';
	width: 3px;
	height: 3px;
	background: var(--black-800);
	border-radius: 50%;
}
.contact-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: max(25px, 25rem);
	margin: 0 0 max(40px, 40rem);
	font-size: var(--body_M);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--black-800);
}
.contact-adress {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: max(10px, 10rem);
}
.contact-link {
	position: relative;
	color: var(--black);
	text-decoration: none;
}
.contact-link::after {
	position: absolute;
	left: 0;
	bottom: 2px;
	content: '';
	height: 1px;
	background: var(--black);
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.contact-link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

/************************* blog *************************/
.blog {
	max-width: max(1040px, 1165rem);
	margin: 0 auto;
}
.blog h1 {
	margin: 0 0 max(30px, 30rem);
	text-align: center;
}
.blog .search {
	margin: 0 auto max(40px, 64rem);
}
.blog h3 {
	margin: 0 0 max(28px, 40rem);
	text-align: center;
}
.blog-block {
	display: grid;	
	grid-template-columns: repeat(3, 1fr);
	gap: max(20px, 80rem) max(20px, 20rem);
	padding: 0 0 max(60px, 120rem);
}
.blog-block:last-child {
	padding: 0;
}
.blog-img {
	overflow: hidden;
	height: max(220px, 284rem);
	margin: 0 0 max(20px, 21rem);
	border-radius: max(4px, 4rem);
}
.blog-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.4s var(--ease);
}
.blog-item:hover .blog-img img {
	transform: scale(1.1);
}
.blog-title {
	max-width: max(330px, 330rem);
	min-height: calc(3.9  * var(--body_L));
	margin: 0 0 max(9px, 9rem);
	font-size: var(--body_L);
	line-height: 130%;
	letter-spacing: -0.03em;
}
.blog-text {
	max-width: max(330px, 330rem);
	margin: 0 0 max(15px, 15rem);
	color: var(--black-600);
	display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: calc(5.2 * var(--body_S));
}
.underline {
    --line: var(--black);
    --color: var(--black);
    text-decoration: none;
    color: var(--color);
    position: relative;
}
.underline span {
	background-image: linear-gradient(0deg, var(--line) 0%, var(--line) 100%);
	background-position: 100% 100%;
	background-repeat: no-repeat;
	background-size: var(--background-size, 100%) 1px;
	transition: background-size .2s linear var(--background-delay, .15s);
	font-size: 16px;
	line-height: 20px;
	transform: translateZ(0);
}
.underline svg {
	vertical-align: top;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
	width: 16px;
	height: 24px;
	position: relative;
	left: -8px;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1px;
	stroke: var(--line);
	stroke-dasharray: 7.95 29.9;
	stroke-dashoffset: var(--stroke-dashoffset, 46);
	transition: stroke-dashoffset var(--stroke-duration, .15s) var(--stroke-easing, linear) var(--stroke-delay, 0s);
}
.underline:hover {
	--background-size: 0%;
	--background-delay: 0s;
	--stroke-dashoffset: 26;
	--stroke-duration: .3s;
	--stroke-easing: cubic-bezier(.3, 1.5, .5, 1);
	--stroke-delay: .195s;
}
.tabs {
	margin: 0 0 max(25px, 25rem);
}
.tabs-list {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid var(--black-200);
}
.tabs-link {
	margin: 0 0 -1px;
	padding: 0 max(20px, 25rem) max(15px, 15rem);
	font-size: var(16px, 18rem);
	line-height: 140%;
	letter-spacing: -0.03em;
	color: var(--black-400);
	text-decoration: none;
	text-align: center;
	border-bottom: 1px solid transparent;
}
.tabs-link:hover {
	color: var(--black);
}
.tabs-link.active {
	color: var(--black);
	border-bottom: 1px solid var(--black);
}
.tabs-mob {
	display: none;
}
.search {
	position: relative;
	max-width: max(440px, 510rem);
}
.search .wpcf7-form-control-wrap input {
    height: max(37px, 37rem);
    padding: 0 0 max(12px, 12rem);
    margin: 0;
    background: transparent;
	border-top: 0;
	border-left: 0;
	border-right: 0;
	border-color: var(--black-200);
}
.search-button {
	position: absolute;
	top: max(4px, 4rem);
	right: max(2px, 2rem);
	width: max(18px, 18rem);
	height: max(18px, 18rem);
	cursor: pointer;
	background: url(../images/loupe.svg) 50% 50% no-repeat;
	background-size: contain;
}
.blog .search-text h3 {
	margin: 0 0 max(20px, 20rem);
	text-align: left;
}

/************************* blog-box *************************/
.blog-section .title-block {
	margin: 0 0 max(18px, 18rem);
}
.blog-box {
	display: flex;
	border-top: 1px solid var(--black-300);
	border-bottom: 1px solid var(--black-300);
}
.blog-col {
	width: 50%;
	display: flex;
	flex-direction: column;
	border-left: 1px solid var(--black-300);
}
.blog-col:first-child {
	border-left: 0;
}
.blog-box .blog-item {
	display: flex;
	justify-content: space-between;
	padding: max(17px, 17rem);
}
.blog-box .blog-img {
	width: calc(50% - max(8px, 8rem));
	height: max(220px, 254rem);
	margin: 0;
}
.blog-box .blog-item-content {
	display: flex;
	flex-direction: column;
	width: calc(50% - max(8px, 8rem));
}
.blog-box .blog-item {
	border-top: 1px solid var(--black-300);
}
.blog-box .blog-item:first-child {
	border-top: 0;
}
.blog-box .blog-item-big {
	flex: 1;
	padding-left: 0;
}
.blog-box .blog-item-big .blog-img {
	height: auto;
}
.blog-box .underline {
	margin: auto 0 0;
}
.blog-box .blog-title {
	min-height: 1px;
	margin: 0 0 max(17px, 17rem);
}
.blog-box .blog-text {
    -webkit-line-clamp: none;
    height: calc(2.6 * var(--body_S));
}
.blog-box .blog-item-big .blog-text {
    overflow: visible;
    text-overflow: unset;
    height: auto;
}

/************************* blog-more *************************/
.blog-more {
	max-width: max(1040px, 1165rem);
	margin: 0 auto;
	padding: max(60px, 77rem) 0 0;
	border-top: 1px solid var(--black-200);
}
.blog-more h2 {
	margin: 0 0 max(32px, 42rem);
	text-align: center;
}

/************************* article *************************/
.article {
	max-width: max(940px, 1040rem);
	margin: 0 auto max(70px, 80rem);
}
.article:last-child {
	margin: 0;
}
.article h2 {
	max-width: max(700px, 980rem);
	margin: 0 auto max(24px, 42rem);
	text-align: center;
}
.article-img {
	height: max(220px, 555rem);
	margin: 0 0 max(40px, 40rem);
	border-radius: max(4px, 4rem);
}
.article-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.article-content {
	max-width: max(860px, 860rem);
	margin: 0 auto;
	color: var(--black-600);
}
.article h3:first-child {
	padding: 0;
}
.article h3 {
	margin: 0 0 max(30px, 30rem);
	padding: max(40px, 40rem) 0 0;
	color: var(--black);
}
.article p {
	margin: 0 0 max(20px, 20rem);
}
.article p:last-child {
	margin: 0;
}
.article ul {
	display: flex;
	flex-direction: column;
	gap: max(21px, 21rem);
	margin: 0 0 max(20px, 20rem);
}
.article ul ul {
	gap: 0;
}
.article ul:last-child {
	margin: 0;
}
.article ul li {
	position: relative;
	padding: 0 0 0 27px;
}
.article ul li::before {
	position: absolute;
	top: 11px;
	left: 12px;
	content: '';
	width: 3px;
	height: 3px;
	background: var(--black-800);
	border-radius: 50%;
}
.article ol {
	display: flex;
	flex-direction: column;
	gap: max(21px, 21rem);
	padding: 0 0 0 27px;
	margin: 0 0 max(20px, 20rem);
}
.article ol ol {
	gap: 0;
}
.article ol:last-child {
	margin: 0;
}
.with-underline {
	text-decoration: underline;
}
.article-category {
	display: flex;
	gap: 16px max(30px, 30rem);
	padding: max(20px, 40rem) 0 0;
}
.article-category-text {
	font-size: var(--body_L);
    line-height: 130%;
    color: var(--black);
}
.article-category-block {
	display: flex;
	flex-wrap: wrap;
	gap: max(20px, 20rem);
	padding: max(4px, 4rem) 0 0;
}
.article-category-item {
	color: var(--black-600);
}
.article-category-item:hover {
	color: var(--black);
}

/************************* policy *************************/
.policy {
	max-width: max(1030px, 1030rem);
	margin: 0 auto;
	color: var(--black-800);
}
.policy h1 {
	margin: 0 0 max(40px, 50rem);
	text-align: center;
	color: var(--black);
}
.policy h3 {
	margin: 0 0 max(30px, 30rem);
	padding: max(10px, 10rem) 0 0;
	color: var(--black);
}
.policy-top {
	padding: 0 0 max(60px, 60rem);
}
.policy ul {
	display: flex;
	flex-direction: column;
	gap: max(21px, 21rem);
	margin: 0 0 max(30px, 30rem);
}
.policy ul ul {
	gap: 0;
}
.policy ul:last-child {
	margin: 0;
}
.policy ul li {
	position: relative;
	padding: 0 0 0 27px;
}
.policy ul li::before {
	position: absolute;
	top: 11px;
	left: 12px;
	content: '';
	width: 3px;
	height: 3px;
	background: var(--black-800);
	border-radius: 50%;
}

/************************* page404 *************************/
.page404 {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: max(80px, 80rem) 10px max(120px, 177rem);
}
.page404-num {
	margin: 0 0 max(41px, 51rem);
}
.page404-num img {
	width: max(355px, 467rem);
}
.page404 h3 {
	margin: 0 0 max(9px, 9rem);
}
.page404-text {
	margin: 0 0 max(28px, 28rem);
	color: var(--black-900);
}
.page404 .button {
	min-width: max(304px, 304rem);
}

/************************* footer *************************/
.footer {
	padding: max(40px, 54rem) 0 max(25px, 27rem);
	margin: auto 0 0;
	color: var(--white);
	background: var(--black);
}
.footer .holder {
	padding: 0 max(10px, 60rem);
}
.footer-logo {
	margin: 0 0 max(50px, 60rem);
	text-align: center;
}
.footer-logo img {
	width: max(200px, 200rem);
}
.footer-block {
	display: flex;
	justify-content: space-between;
	padding: max(60px, 70rem) 0 max(70px, 95rem);
	border-top: 1px solid var(--white);
}
.footer-col {
	width: 28%;
}
.footer-col:nth-child(even){
	width: 22%;
}
.footer-col h3 {
	margin: 0 0 max(22px, 22rem);
}
.footer-nav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: max(7px, 7rem);
}
.footer-link {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	color: var(--white-800);
	text-decoration: none;
}
.footer-link span {
	position: relative;
}
.footer-link span::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--white);
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.footer-link:hover span::after {
	transform: scaleX(1);
	transform-origin: left;
}
.footer-line {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 0 0 max(70px, 90rem);
}
.footer-line-item:last-child {
	width: 22%;
}
.footer-line h3 {
	margin: 0 0 max(10px, 10rem);
}
.footer-text {
	max-width: max(390px, 390rem);
	margin: 0 0 max(40px, 43rem);
	color: var(--white-800);
}
.footer-line-item:first-child .button {
	min-width: max(220px, 220rem);
}
.footer-line-item:last-child .button {
	min-width: max(240px, 240rem);
}
.footer-logos {
	display: flex;
	justify-content: space-between;
	padding: 0 0 max(26px, 26rem);
}
.footer-logos-item {
	display: flex;
	align-items: flex-start;
	gap: max(20px, 20rem);
	width: 22%;
}
.gptw {width: max(67px, 67rem);}
.equal-housing {width: max(110px, 110rem);}
.b2k {width: max(141px, 215rem);}
.footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.footer-copy {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: max(8px, 8rem);
	width: 28%;
}
.footer-copy-text {
	color: var(--white-800);
}
.footer-links {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: max(8px, 8rem);
	width: 22%;
}
.footer-info {
	width: 28%;
	color: var(--white-700);
}
.footer-studio {
	width: 22%;
	color: var(--white-500);
}
.footer-studio img {
	display: inline-block;
	vertical-align: top;
	width: max(21px, 21rem);
	margin: 0 1px;
}
.footer-studio a {
	position: relative;
	color: var(--white);
	text-decoration: none;
}
.footer-studio a::after {
	position: absolute;
	left: 0;
	bottom: -1px;
	content: '';
	height: 1px;
	background: var(--white);
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.footer-studio a:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

/************************* animations *************************/
.fade {
	opacity: 0;
	transform: translateY(35px);
	transition: opacity 0.5s ease-in-out 0.2s, transform 1.9s var(--power3-out) 0.2s;
}
.fade.ani_start {
	opacity: 1;
	transform: translateY(0px);
}
.img-float {
	overflow: hidden;
}
.img-float img {
	height: 120%;
}

/************************* media *************************/
@media screen and (max-width: 1480px) {
	.box-text .big,
	.promo-text,
	.bulletin-text  {
		line-height: 140%;
	}
	.invite-text {
		line-height: 140%;
		color: var(--white-800);
	}
	.serv-top-text {
		line-height: 140%;
		color: var(--black-800);
	}
}
@media screen and (max-width: 1200px) {
	.footer-line-item:last-child .button {
		min-width: max(220px, 220rem);
	}
	.triple-left {
		width: max(310px, 310rem);
		min-width: max(310px, 310rem);
	}
	.about-center {
		padding: max(60px, 100rem) max(40px, 80rem) 0 0;
	}
	.about-text {
		width: max(260px, 260rem);
	}

}
@media screen and (max-width: 1024px) {
	#wrapper, body.lock {overflow: hidden;}
	.header-line {display: none;}
	body.lock {overflow: hidden;}
	.mob-nav-icon {display: block;}
	.header-nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 540;
		overflow: hidden;
		box-sizing: border-box;
		box-shadow: none;
		display: block;
		height: 0;
		background: var(--smoky-white);
		transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.header-nav.vis {
		height: 100dvh;
	}
	.header-nav::after {
		position: absolute;
		top: 70px;
		left: 0;
		right: 0;
		content: '';
		border-top: 1px solid var(--black-600);
	}
	.header-nav-wrap {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 100dvh;
		padding-top: 70px;
		padding-bottom: 150px;
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
	}
	.header-nav-list {
		flex-direction: column;
		justify-content: center;
		gap: 20px;
		padding: 0 max(10px, 20rem);
		height: 100%;
		margin: 0;
		overflow-y: auto;
		transition: gap 0.3s linear;
	}
	.header-nav-list > li {
		text-align: center;
		transition: padding 0.3s linear;
	}
	.header-nav-list > li > a {
		color: var(--black-800);
	}
	.sub-active {
		gap: 10px;
	}
	.sub-active > li > a {
		color: var(--black-400);
	}
	.sub-li-active {
		padding: 14px 0;
	}
	.sub-active > .sub-li-active > a {
		color: var(--black-800);
	}
	.subnav {
		position: relative;
		top: auto;
		left: auto;
		padding: 16px 0 0;
		background: none;
	}
	.subnav-list {
		align-items: center;
		opacity: 1;
	}
	.subnav a {
		color: var(--black-800);
	}
	.header-button {
		position: absolute;
		top: auto;
		right: 0;
		left: 0;
		bottom: 0;
		z-index: 50;
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: max(10px, 20rem);
		background: var(--smoky-white);
	}
	.header-button .button {
		width: 100%;
	}
	.header-nav-list > li:last-child {
		display: block;
	}
	.header-button .button:first-child {
		display: block;
	}
	.footer {
		padding: 65px 0 max(25px, 27rem);
	}
	.footer-logo {
		margin: 0 0 65px;
	}
	.footer-block {
		flex-wrap: wrap;
		gap: 64px 0;
		padding: max(60px, 70rem) 0 max(32px, 95rem);
	}
	.footer-col,
	.footer-col:nth-child(even){
		width: 50%;
	}
	.footer-line {
		flex-direction: column-reverse;
		align-items: center;
		gap: 70px;
		text-align: center;
	}
	.footer-line-item:last-child {
		width: 100%;
	}
	.footer-line h3 {
		margin: 0 0 14px;
	}
	.footer-logos {
		padding: 0 0 45px;
	}
	.footer-logos-item {
		width: auto;
	}
	.footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}
	.footer-links {
		order: 1;
		flex-direction: row;
		gap: 74px;
		width: 100%;
		margin: 0 0 16px;
	}
	.footer-copy {
		gap: 16px;
		width: 100%;
		order: 4;
	}	
	.footer-info {
		width: 100%;
		order: 2;
		margin: 0 0 46px;
	}
	.footer-studio {
		width: 100%;
		order: 3;
		margin: 0 0 46px;
	}
	.contact-block {
		flex-direction: column;
		gap: 120px;
	}
	.contact-form {
		width: auto;
		min-width: 1px;
	}
	.form-sent {
		overflow: hidden;
		max-height: 400px;
	}
	.form-result-text {
		max-width: max(240px);
	}
	.box .box-content {
		width: 50%;
		min-width: 50%;
	}
	.promo-wrap {
		max-width: max(700px, 1200rem);
	}
	.tabs-desk {display: none;}
	.tabs-mob {display: block;}	
	.blog-block {
		grid-template-columns: repeat(2, 1fr);
	}
	.faq-item {
		flex-direction: column;
		gap: 0;
		padding: max(24px, 30rem) max(10px, 30rem) max(24px, 30rem);
	}
	.faq-col {
		width: 100%;
	}
	.faq-top {
		display: block;
		padding-right: 40px;
	}
	.faq-plus {
		position: absolute;
		top: 50%;
		margin-top: -9px;
		right: 10px;
		transition-delay: 0.4s;
	}
	.faq-item.active .faq-plus {
		top: 24px;
		margin-top: 0;
		transition-delay: 0s;
	}
	.faq-img {
		margin: 18px 0;
	}
	.top-side {
		max-width: 48%;
	}
	.triple {
		flex-direction: column;
	}
	.triple-left {
		width: auto;
		min-width: 1px;
		margin: 0 0 20px;
	}
	.triple-content {
		width: auto;
		padding: 0;
	}
	.triple-right {
		display: none;
	}
	.triple .box-img {
		height: max(355px, 400rem);
	}
	.triple-content .box-img {
		display: block;
		margin: 0 0 20px;
	}
	.triple-content .box-text {
		max-width: none;
	}
	.triple-content .button {
		margin: 40px 0 0;
	}
	.box-5 .box-content {
		padding: 0;
	}
	.serv-item {
		width: 50%;
		padding: 0 20px;
	}
	.serv-item:nth-child(3n + 2){
		border-left: 0;
		border-right: 0;
	}
	.serv-item:nth-child(2n + 1){
		border-right: 1px solid var(--black-100);
	}
	.serv-item:last-child {
		border-left: 0;
		border-right: 0;
	}
	.choice-block {
		grid-template-columns: repeat(2, 1fr);
	}
	.hero-side {
		min-width: 300px;
	}
	.time-img {
		display: flex;
		gap: 0;
		margin: 0 0 max(20px, 30rem);
	}
	.time-img-side {
		display: none;
	}
	.time-img-main {
		position: relative;
		width: 100%;
		min-width: 1px;
	}
	.time-content {
		width: auto;
	}
	.gallery-menu-wrap {
		width: auto;
	}
	
}
@media screen and (max-width: 1023px) {
	.about-bottom .about-img:last-child {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.box {
		flex-direction: column;
		gap: max(30px, 50rem);
	}
	.box-side {
		display: none;
	}
	.box-content .box-img {
		display: block;
		margin: 0 0 max(20px, 60rem);
	}
	.box .box-content {
		width: auto;
		min-width: 1px;
	}
	.box .box-text {
		max-width: none;
	}
	.top .holder > .button {
		display: block;
		margin: 60px 0 0;
	}
	.top .holder .top-block + .button {
		margin-top: 0;
	}
	.no-padding .holder > .button {
		margin-bottom: 60px;
	}
	.top-block {
		flex-direction: column;
	}
	.top-side .button {display: none;}
	.top-side {
		max-width: none;
	}
	.promo-bg {
		height: 660px;
	}
	.promo-wrap {
		padding: max(117px, 130rem) max(10px, 20rem) 0;
	}
	.promo-wrap::before {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		content: '';
		width: max(50px, 67rem);
		height: max(87px, 116rem);
		background: url(../images/logo-min.svg) 50% 50% no-repeat;
		background-size: contain;
	}
	.promo-wrap::after {
		display: none;
	}
	.promo-text {
		color: var(--white-800);
	}
	.promo-text br {display: none;}
	.footer-line {
		align-items: stretch;
		text-align: left;
	}
	.breadcrumbs {
		margin: 0 0 83px;
	}
	.button {
		width: 100%;
		min-width: 1px;
		padding: 16px 15px;
	}
	.page404 h3 {
		margin: 0 0 16px;
	}
	.page404-text {
		margin: 0 0 40px;
	}
	.page404 .button {
		min-width: 1px;
	}
	.input-box .wpcf7-form-control-wrap {
		width: 100%;
	}
	.blog h1 {
		margin: 0 0 32px;
		text-align: left;
	}
	.search {
		max-width: none;
	}
	.blog h3 {
		text-align: left;
	}
	.blog-title {
		min-height: 1px;
		margin: 0 0 17px;
	}
	.blog-text {
		max-width: 360px;
		margin: 0 0 17px;
		overflow: visible;
		text-overflow: unset;
		-webkit-line-clamp: unset;
		height: auto;
	}
	.article h2 {
		margin: 0 0 max(24px, 42rem);
		text-align: left;
		font-size: var(--h1);
    	line-height: 93%;
	}
	.faq h1 {
		margin: 0 0 40px;
		text-align: left;
	}
	.res {
		grid-template-columns: repeat(1, 1fr);
		border-top: 0;
	}
	.res-item .button {
        width: auto;
        min-width: 200px;
        padding: max(9px, 9rem) max(30px, 40rem);
    }
	.promo-powered {
		margin: 0 0 60px;
	}
	.box-text {
		margin: 0 0 60px;
	}
	.box-text:last-child {
		margin: 0;
	}
	.qoute-text::before {
		opacity: 1;
	}
	.invite-bg {
		position: absolute;
		inset: 0;
		height: auto;
		max-height: none;
	}
	.invite-block {
		position: relative;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 80px 0 65px;
	}
	.invite-text {
		margin: min(-20px, -53rem) 0 60px;
	}
	.faq-section {
		position: relative;
		padding-bottom: 120px;
	}
	.faq-section .title-block .button {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
	}
	.blog-section .title-block .button {
		display: none;
	}
	.blog-box {
		flex-direction: column;
		gap: 20px;
		padding: 20px 0 0;
		border-bottom: 0;
	}
	.blog-col {
		width: 100%;
		border-left: 0;
		gap: 20px;
	}
	.blog-col:first-child {
		padding: 0 0 20px;
		border-bottom: 1px solid var(--black-300);
	}
	.blog-box .blog-item {
		flex-direction: column;
		gap: 20px;
		padding: 0 0 20px;
	}
	.blog-box .blog-img {
		width: 100%;
	}
	.blog-box .blog-item-content {
		width: 100%;
	}
	.blog-box .blog-text {
		height: auto;
	}
	.blog-box .blog-item {
		border-top: 0;
	}
	.triple {
		padding: 20px 0 0;
	}
	.serv-top-text {
		margin: 0 0 60px;
	}
	.serv-item {
		width: 100%;
		padding: 0 0 60px;
		border-bottom: 1px solid var(--black-100);
	}
	.serv-item:nth-child(2n + 1){
		border-right: 0;
	}
	.serv-item:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}
	.gallery-wrap {
		width: auto;
		padding: 0 10px;
	}
	.gallery-slider {
		padding: 0 0 80px;
	}
	.gallery-slider .slick-arrow {
		bottom: 0;
		top: auto;
		margin-top: 0;
	}
	.gallery-slider .slick-prev {
		left: 10px;
	}
	.gallery-slider .slick-next {
		right: 10px;
	}
	.gallery-slider .slick-dots {
		bottom: 20px;
	}
	.wpcf7-form-control-wrap input {
		padding: 0 20px;
	}
	.choice-block {
		grid-template-columns: repeat(1, 1fr);
	}
	.choice-content {
		justify-content: flex-end;
		padding: 0 10px 48px;
	}
	.choice-content .button {
        width: auto;
        min-width: 200px;
        padding: max(9px, 9rem) max(30px, 40rem);
    }
	.hero-block {
		position: relative;
		gap: 0;
	}
	.hero-main {
		position: static;
		width: 0;
	}
	.hero-main .hero-bg {
		display: none;
	}
	.hero-main h1 {
		bottom: auto;
		top: 0;
		z-index: 20;
		padding: 15px 10px;
		color: var(--smoky-white);
	}
	.hero-side {
		width: 100%;
		min-width: 1px;
	}
	.hero-info {
		align-items: flex-start;
		text-align: left;
		gap: max(22px, 32rem);
		padding: 0 max(10px, 20rem) max(20px, 40rem);
	}
	.hero-text {
		max-width: 240px;
	}
	.hero-info .button {
        padding: max(9px, 9rem) max(30px, 40rem);
		font-weight: 500;
    }
	.main-qoute .qoute-text {
		max-width: 300px;
	}
	.time-img-main {
		height: max(355px, 566rem);
	}
	.time-img-main h2 {
		left: 12px;
		right: 12px;
		bottom: 12px;
	}
	.time-text {
		margin: 0 0 60px;
	}
	.banner-text {
		max-width: 340px;
		margin: 0 0 60px;
	}
	.faq-no-button {
		padding-bottom: 0;
	}
	.review-slide {
		padding: 0 10px;
	}
	.review-item {
		width: auto;
		height: auto;
		min-height: 520px;
		padding: 32px 20px;
	}
	.review-slider .slick-arrow {
		top: -75px;
		width: 34px;
		height: 34px;
		background-size: 17px;
	}
	.review-slider .slick-prev {
		right: 51px;
	}
	.bulletin {
		padding: 0 0 120px;
	}
	.bulletin-bg {
		height: 945px;
	}
	.bulletin-block {
		left: 10px;
		right: 10px;
		bottom: 10px;
		width: auto;
		padding: 35px 20px;
	}
	.bulletin-block h2 {
		max-width: 280px;
	}
	.bulletin-text {
		max-width: 300px;
	}
	.about {
		position: relative;
		padding-bottom: 120px;
	}
	.about-block {
		flex-direction: column;
		gap: 0;
	}
	.about-side .button {
		position: absolute;
		inset: 0;
		top: auto;
	}
	.about-bottom {
		flex-direction: column;
		gap: 20px;
		padding: 40px 0 0;
	}
	.about-bottom .about-img:first-child {
		width: 100%;
		min-width: 1px;
		margin: 0;
		flex: none;
	}
	.about-img-name {
		padding: 12px 0 0;
	}
	.about-bottom .about-img-wrap {
		height: max(355px, 672rem);
		flex: none;
	}
	.about-bottom .about-img:last-child {
        display: block;
    }
	.about-center {
        padding: 96px 0;
    }
	.about-text {
        max-width: 340px;
		width: auto;
		margin: 0 auto;
		text-align: center;
    }
	.box-min .box-content h2 {
		max-width: 340px;
	}
	.box-min .box-content h2 br {
		display: none;
	}
	.article-category {
		flex-direction: column;
	}
	.article-category-block {
		padding: 0;
	}
	.plan {
        width: auto;
        padding: 0 10px;
    }
	.plan-info {
		position: static;
		height: auto;
		padding: 16px 0 0;
	}
	.gallery-menu-wrap {
		flex-direction: column;
		gap: max(32px, 50rem);
	}
	.gallery-menu-col {
		width: 100%;
	}
	.event {
		grid-template-columns: repeat(1, 1fr);
	}
	.event-content {
		min-height: 1px;
	}
	

}
@media screen and (max-width: 576px) {
	.page404-num img {
		width: 100%;
	}
	.blog-block {
		grid-template-columns: repeat(1, 1fr);
	}
	.blog-item {
		padding: 0 0 20px;
		border-bottom: 1px solid var(--black-300);
	}
	.blog-item:last-child {
		padding: 0;
		border-bottom: 0;
	}
	.article h3 {
		max-width: 310px;
	}
	.box-content h2 {
		max-width: 340px;
	}
	.top-block h1 {
		max-width: 330px;
	}
	.res-text {
		max-width: 280px;
		margin: 0 0 24px;
	}
	.qoute-text {
		max-width: 330px;
	}
	.invite-wrap h2 {
		max-width: 300px;
	}

}