@import url('https://fonts.googleapis.com/css2?family=Sorts+Mill+Goudy:ital@0;1&display=swap');
:root{
	--beige_1: #FAF3E8;
	--beige_2: #FDFAF4;
	--beige_3: #EDE4DA;
	--gray: #4A4947;
	--blue: #2490DB;
	--light_blue: #80D8FF;

	--h1_max: max(60px, 230rem);
	--h1_big: max(30px, 170rem);
	--h1_min: max(30px, 110rem);
	--h2: max(30px, 68rem);
	--h3: max(22px, 44rem);
	--h4: max(22px, 28rem);
	--h5: max(22px, 24rem);

	--text_1: max(16px, 48rem);
	--text_2: max(16px, 32rem);
	--text_3: max(16px, 18rem);
	--text_4: max(16px, 16rem);
	--text_5: max(16px, 14rem);

	--caption_1: max(18px, 110rem);
	--caption_2: max(18px, 80rem);
	--caption_3: max(18px, 22rem);
	--caption_4: max(18px, 20rem);
	--caption_5: max(12px, 16rem);

	--link_1: max(14px, 20rem);
	--link_2: max(14px, 18rem);

	--button_1: max(16px, 26rem);
	--button_2: max(16px, 20rem);

	--ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
}
::selection {
	background-color: var(--light_blue);
}
/************************* reset *************************/
html{
	height: 100%;
	margin: 0;
	padding: 0;width: 100%;
	background: var(--beige_1);
	font-size: 0.052vw;
}
body{
	height: 100%;
	width: 100%;
	position: relative;
	margin: 0;
	padding: 0;
	color: var(--gray);
	font-size: var(--text_3);
	font-weight: 400;
	font-family: 'Sorts Mill Goudy', Arial, Helvetica, sans-serif;
	line-height: 130%;
	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: 'Sorts Mill Goudy', 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(16px, 40rem);
}
.holder:after {
	display: block;
	content: '';
	clear: both;
}
h1, .h1 {
	display: block;
	font-weight: 400;
	font-size: var(--h1_min);
	line-height: 90%;
}
h2, .h2 {
	display: block;
	font-weight: 400;
	font-size: var(--h2);
	line-height: 90%;
	letter-spacing: -0.03em;
}
h3, .h3 {
	display: block;
	font-weight: 400;
	font-size: var(--h3);
	line-height: 110%;
	letter-spacing: -0.05em;
}
h4, .h4 {
	display: block;
	font-weight: 400;
	font-size: var(--h4);
	line-height: 110%;
}
h5, .h5 {
	display: block;
	font-weight: 400;
	font-size: var(--h5);
	line-height: 110%;
}
a {transition: all .3s linear;}
p {margin: 0 0 max(10px, 24rem);}
p:last-child {margin: 0;}
p a, .article li a {color: var(--gray);}
.center {text-align: center;}
.upper {text-transform: uppercase;}
.button-holder {text-align: center;}
.button {
	position: relative;
	display: inline-block;
	padding: max(15px, 19rem) max(40px, 60rem) max(13px, 17rem);
	color: var(--gray);
	font-size: var(--button_1);
	line-height: 19px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background: none;
	border: 1px solid var(--gray);
	transition: none;
}
.button:hover {
	color: var(--beige_1);
	background: var(--gray);
}
.button-light {
	color: var(--gray);
	background: var(--beige_1);
	border-color: var(--beige_1);
}
.button-light:hover {
	color: var(--beige_1);
	background: transparent;
}
/************************* form-block *************************/
.wpcf7-form-control-wrap input {
	display: block;
	width: 100%;
	height: 40px;
	padding: 0;
	margin: 0 0 28px;
	font-size: 16px;
	color: rgba(77, 73, 71, 1);
	background: none;
	border-bottom: 1px solid var(--gray);
}
.wpcf7-form-control-wrap textarea {
	display: block;
	width: 100%;
	height: 159px;
	padding: 12px 0;
	margin: 0 0 28px;
	font-size: 16px;
	color: rgba(77, 73, 71, 1);
	resize: vertical;
	background: none;
	border-bottom: 1px solid var(--gray);
}
.inactive {
	opacity: 0.4;
	pointer-events: none;
}
::-webkit-input-placeholder {color: rgba(77, 73, 71, 0.6);}
:-moz-placeholder {color: rgba(77, 73, 71, 1); opacity: 0.6;}
::-moz-placeholder {color: rgba(77, 73, 71, 1); opacity: 0.6;}
:-ms-input-placeholder {color: rgba(77, 73, 71, 0.6);}
.form-button {
	padding: 2px 0 0;
}
.error-msg {
	display: none;
	margin: -20px 0 20px;
	font-size: 16px;
	line-height: 140%;
	color: rgba(255, 0, 0, 0.6);
}
.error .error-msg {
	display: block;
}
.check-item {
	position: relative;
}
.check-input {
	position: absolute;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.check-label {
	display: block;
	padding: 4px 0 4px 31px;
	color: var(--gray);
	font-size: 14px;
	line-height: 16px;
	cursor: pointer;
}
.check-label a {color: var(--gray);}
.check-label:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 24px;
	height: 24px;
	box-sizing: border-box;
	background: url(../images/checkbox.svg) 50% 50% no-repeat;
	background-size: contain;
}
.check-label:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 24px;
	height: 24px;
	background: url(../images/checkbox-active.svg) 50% 50% no-repeat;
	background-size: contain;
	opacity: 0;
}
.check-input:checked + .check-label:after {opacity: 1;}
/************************* wrapper *************************/
#wrapper {
	position: relative;
}
/************************* header *************************/
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 300;
	background: var(--blue);
	transition: all 0.4s ease-out;
}
.header-transparent {
	background: transparent;
}
.header-up {
	top: min(-75px, -85rem);
}
.header-transparent.header-fixed,
.header-transparent.header-blue {
	background: var(--blue);
}
.header-block {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: max(65px, 85rem);
	position: relative;
}
.header-logo {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	gap: max(2px, 3rem);
}
.header-logo a {text-decoration: none;}
.header-logo-img {
	width: max(25px, 45rem);
}
.header-logo-text {
	width: max(87px, 153rem);
}
.header-nav {
	flex: 1;
}
.header-nav-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header-nav-list {
	display: flex;
	gap: max(25px, 30rem);
	margin: 0 auto;
}
.header-nav-list li {
	display: flex;
}
.header-nav-list a {
	position: relative;
	font-size: max(16px, 18rem);
	line-height: 125%;
	color: var(--beige_1);
	text-decoration: none;
}
.header-nav-list a::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--beige_1);	
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.header-nav-list a:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
.header-right {
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	gap: max(25px, 30rem);
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.header-link {
	position: relative;
	font-size: max(16px, 18rem);
	line-height: 125%;
	color: var(--beige_1);
	text-decoration: none;
}
.header-link::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--beige_1);	
	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-lang {
	display: flex;
}
.header-lang-item {
	display: flex;
	color: var(--beige_1);
}
.header-lang-item::after {
	content: '/';
	padding: 0 3px;
}
.header-lang-item:last-child::after {
	display: none;
}
.header-lang-link {
	display: block;
	font-size: max(16px, 18rem);
	line-height: 125%;
	color: var(--beige_1);
	text-decoration: none;
	opacity: 0.4;
}
.header-lang-link:hover,
.header-lang-link.active {
	opacity: 1;
}
.header-mail {display: none;}
.mob-nav-icon {
	display: none;
	font-size: 16px;
	line-height: 125%;
	color: var(--beige_1);
	text-decoration: none;
}
/************************* hero *************************/
.hero {
	position: relative;
}
.hero-bg {
	height: max(665px, 1300rem);
	max-height: 100dvh;
}
.hero-content {
	position: absolute;
	inset: 0;
	padding: 0 max(16px, 40rem);
	display: flex;
	flex-direction: column;
}
.hero-links {
	display: flex;
	padding: 0 max(16px, 40rem) max(10px, 14rem);
	margin: auto min(-16px, -40rem);
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
.hero-links a {
	position: relative;
	font-size: 16px;
	line-height: 125%;
	color: var(--beige_1);
	text-decoration: none;
}
.hero-links a:nth-child(1) {margin-right: max(100px, 390rem);}
.hero-links a:nth-child(2) {margin-right: auto;}
.hero-links a:nth-child(3) {margin-left: auto;}
.hero-links a:nth-child(4) {margin-left: max(100px, 390rem);}
.hero-links a::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--beige_1);	
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.hero-links a:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
.hero-title {
	max-width: max(150px, 1000rem);
	font-size: var(--h1_big);
	line-height: 80%;
	text-transform: capitalize;
	color: var(--beige_1);
}
.hero-title span {
	display: block;
	padding-left: max(100px, 465rem);
}


/************************* category *************************/
.category {
	padding: max(60px, 130rem) 0 max(60px, 200rem);
}
.category-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin: 0 0 20px;
	padding: 0 0 max(20px, 40rem);
	border-bottom: 1px solid rgba(74, 73, 71, 0.3);
}
.category-tabs {
	display: flex;
	gap: 15px max(20px, 60rem);
}
.category-tabs a {
	position: relative;
	font-size: max(18px, 24rem);
	line-height: 110%;
	color: rgba(77, 73, 71, 0.6);
	text-decoration: none;
}
.category-tabs a:hover,
.category-tabs .active {
	color: var(--gray);
}
.category-tabs a::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--gray);	
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.category-tabs a:hover::after,
.category-tabs .active::after {
	transform: scaleX(1);
	transform-origin: left;
}
.swiper.category-slider {
	margin: 0 min(-16px, -40rem);
    padding: 0 max(16px, 40rem);
}
.category-slider .swiper-slide {
	width: max(363px, 465rem);
}
.category-slider .swiper-slide:last-child {
	width: max(343px, 445rem);
}
.category-item {
	display: block;
	width: max(343px, 445rem);
	color: var(--gray);
	text-decoration: none;
}
.category-img {
	overflow: hidden;
	margin: 0 0 10px;
}
.category-img img {
	width: 100%;
	height: max(432px, 580rem);
	object-fit: cover;
	transition: all 0.4s ease-in-out;
}
.category-item:hover img {
	transform: scale(1.05);
}
.category-item h5 {
	padding: 11px 0;
	border-top: 1px solid rgba(0, 0, 0, 0.3);
	border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
.category .button-holder {
	display: none;
}

/************************* promo *************************/
.promo {
	overflow: hidden;
	padding: 0 0 max(80px, 200rem);
}
.promo h2 {
	margin: 0 0 max(30px, 60rem);
	text-align: center;
}
.promo-wrap {
	position: relative;
}
.promo-wrap::before{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	width: max(340px, 580rem);
	height: max(417px, 711rem);
	background: url(../images/media/promo-ark.png) 0 0 no-repeat;
	background-size: contain;
}
.promo-slider .slick-list {
	overflow: visible;
}
.promo-slider {
	max-width: max(540px, 990rem);
	padding: 0 max(40px, 130rem);
	margin: 0 auto;
}
.promo-slide {
	padding: max(160px, 270rem) 80rem 0;
}
.promo-slide a {
	color: var(--gray);
	text-decoration: none;
}
.promo-img {
	display: flex;
	width: max(227px, 389rem);
	height: max(227px, 389rem);
	margin: 0 auto max(47px, 96rem);
}
.promo-img img {
	max-width: 100%;
	max-height: 100%;
	margin: auto auto 0;
	transition: all 0.4s ease-out;
}
.promo-title {
	margin: 0 0 8px;
	font-size: max(18px, 32rem);
	line-height: 110%;
	letter-spacing: -0.03em;
	text-align: center;
	opacity: 0;
	transition: all 0.3s ease-out;
}
.promo-text {
	font-size: max(16px, 20rem);
	line-height: 110%;
	text-align: center;
	opacity: 0;
	transition: all 0.3s ease-out;
}
.slick-current .promo-title {
	opacity: 1;
}
.slick-current .promo-text {
	opacity: 0.8;
}
.promo-slider .slick-arrow {
	position: absolute;
	top: 50%;
	z-index: 10;
	width: max(30px, 41rem);
	height: max(60px, 79rem);
	font-size: 0;
	background: url(../images/slider-arrow-3.svg) 50% 50% no-repeat;
	background-size: contain;
	cursor: pointer;
}
.promo-slider .slick-prev {
	left: 0;
	transform: scale(-1, 1);
}
.promo-slider .slick-next {
	right: 0;
}
.slick-disabled {opacity: 0.5;}


/************************* main-about *************************/
.main-about {
	padding: max(40px, 100rem) 0;
	background-color: var(--blue);
}
.main-about-block {
	display: flex;
	gap: 20px;
}
.main-about-photo {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(11px, 13rem) max(11px, 20rem);
}
.main-about-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--beige_1);
	text-align: center;
}
.main-about-item img {
	width: 100%;
}
.main-about-content h2 {
	margin: 0 0 max(20px, 37rem);
}
.main-about-text {
	max-width: max(225px, 400rem);
	margin: 0 0 max(25px, 40rem);
	font-size: max(18px, 32rem);
	line-height: 110%;
	letter-spacing: -0.03em;
}

/************************* main-trends *************************/
.main-trends {
	padding: max(80px, 200rem) 0;
}
.mt-top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin: 0 0 20px;
	padding: 0 0 max(20px, 40rem);
	border-bottom: 1px solid rgba(74, 73, 71, 0.3);
}
.mt-top-text {
	max-width: max(320px, 445rem);
	font-size: max(18px, 24rem);
	line-height: 110%;
}
.mt-block {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px 20px;
}
.mt-item {
	position: relative;
}
.mt-item img {
	width: 100%;
}
.mt-content {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--beige_1);
	backdrop-filter: blur(25px);
	background: rgba(0, 0, 0, 0.2);
	opacity: 0;
	transition: all 0.4s ease-out;
}
.mt-item:hover .mt-content {
	opacity: 1;
}
.mt-content h3 {
	margin: 0 0 max(10px, 22rem);
}
.mt-content-text {
	max-width: max(180px, 230rem);
	margin: 0 0 max(20px, 47rem);
	font-size: max(16px, 20rem);
	line-height: 110%;
}
@media screen and (min-width: 1024px) {
	.mt-item .button {
		color: var(--beige_1);
		border-color: var(--beige_1);
	}
	.mt-item .button:hover {
		color: var(--gray);
		background: var(--beige_1);
	}
}

/************************* sign *************************/
.sign {
	position: relative;
}
.sign-bg {
	display: block;
	width: 100%;
	height: max(600px, 1000rem);
	max-height: 100dvh;
	object-fit: cover;
}
.sign-title {
	position: absolute;
	top: 40px;
	left: 0;
	right: 0;
	z-index: 10;
	padding: 0 max(16px, 40rem);
	font-size: var(--h1_min);
	line-height: 90%;
	text-transform: capitalize;
	text-align: center;
	color: var(--beige_1);
}
.sign-block {
	position: absolute;
	bottom: 40px;
	left: 0;
	right: 0;
	z-index: 10;
	padding: 0 max(16px, 40rem);
}
.sign-subtitle {
	max-width: max(520px, 690rem);
	margin: 0 auto 20px;
	font-size: max(22px, 30rem);
	line-height: 110%;
	text-align: center;
	color: var(--beige_1);
}
.sign-form {
	max-width: max(400px, 482rem);
	margin: 0 auto;
}
.sign-form-block {
	display: flex;
	gap: 12px;
}
.sign-form-content {
	flex: 1;
}
.sign-form .button {
	padding: max(9px, 13rem) max(40px, 60rem) max(7px, 11rem);
	font-size: max(16px, 20rem);
}
.sign-form .form-button {
    padding: 0;
}
.sign-form .wpcf7-form-control-wrap input {
	margin: 0 0 20px;
}
.sign-form .error-msg {
	margin: -13px 0 13px;
}
.form-thanks {
	display: none;
}
.sign-form-text {
	max-width: max(480px, 550rem);
	margin: 0 auto;
	line-height: 130%;
	text-align: center;
	color: var(--beige_1);
}
.form-sent .form-usual {
	display: none;
}
.form-sent .form-thanks {
	display: block;
}
@media screen and (min-width: 768px) {
	.sign-form .button {
		color: var(--beige_1);
		border-color: var(--beige_1);
	}
	.sign-form .button:hover {
		color: var(--gray);
		background: var(--beige_1);
	}
	.sign-form .wpcf7-form-control-wrap input {
		color: rgba(250, 243, 232, 1);
		border-bottom: 1px solid var(--beige_1);
	}
	.sign-form ::-webkit-input-placeholder {color: rgba(250, 243, 232, 0.6);}
	.sign-form :-moz-placeholder {color: rgba(250, 243, 232, 1); opacity: 0.6;}
	.sign-form ::-moz-placeholder {color: rgba(250, 243, 232, 1); opacity: 0.6;}
	.sign-form :-ms-input-placeholder {color: rgba(250, 243, 232, 0.6);}
	.sign-form .check-label {
		color: var(--beige_1);
	}
	.sign-form .check-label a {color: var(--beige_1);}
	.sign-form .check-label:before {
		background: url(../images/checkbox-light.svg) 50% 50% no-repeat;
		background-size: contain;
	}
	.sign-form .check-label:after {
		background: url(../images/checkbox-active-light.svg) 50% 50% no-repeat;
		background-size: contain;
	}
}

/************************* main-gallery *************************/
.main-gallery {
	padding: max(80px, 200rem) 0 max(60px, 200rem);
}

/************************* about page *************************/
/************************* about-hero *************************/
.about-hero {
	position: relative;
}
.about-hero .hero-bg {
	height: max(665px, 1080rem);
}
.about-hero-block {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 40px max(16px, 40rem) 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.4);
}
.about-hero-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.about-hero-subtitle {
	position: absolute;
	right: 0;
	bottom: max(15px, 36rem);
	width: max(150px, 285rem);
	color: var(--beige_1);
	font-size: max(12px, 18rem);
	line-height: 130%;
}
.about-hero-text {
	position: absolute;
	right: 0;
	top: -15px;
	width: max(150px, 285rem);
	color: var(--beige_1);
	font-size: max(12px, 18rem);
	line-height: 130%;
}
.about-hero .button {
	position: absolute;
	left: 0;
	bottom: max(15px, 36rem);
	transition-delay: 0.8s;
}
.about-hero-title {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: flex-end;
	color: var(--beige_1);
}
.about-hero-line {
	font-size: max(60px, 170rem);
	line-height: 90%;
	text-transform: capitalize;
	white-space: nowrap;
}
.about-hero-subtitle .text-inner {
	transition-delay: 0.4s;
}
.about-hero-text .text-inner {
	transition-delay: calc( 0.2s + ( 0.05s * ( var(--line-index)) ) );
}



/************************* about *************************/
.about-block {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: max(60px, 220rem) 0 max(80px, 340rem);
}
.about-subtitle {
	margin: 0 0 20px;
	font-size: 18px;
	line-height: 130%;
	text-align: center;
}
.about h2 {
	position: relative;
	z-index: 10;
	max-width: max(500px, 1450rem);
	margin: 0 0 20px;
	font-size: max(22px, 68rem);
	text-align: center;
}
.about-text {
	position: relative;
	z-index: 10;
	max-width: max(550px, 604rem);
	line-height: 130%;
	text-align: center;
}
.about-photo-item {
	position: absolute;
	width: max(100px, 300rem);
}
.about-photo-1 {
	left: 0;
	top: 200px;
}
.about-photo-2 {
	right: 0;
	top: 50px;
}
.about-photo-item img {
	width: 100%;
	object-fit: cover;
}

/************************* mission *************************/
.mission {
	padding: 0 0 max(80px, 200rem);
}
.mission-block {
	display: flex;
	justify-content: space-between;
}
.mission-side {
	width: 50%;
	max-width: max(220px, 445rem);
	display: flex;
	flex-direction: column;
}
.mission-content {
	width: 50%;
}
.mission-side h2 {
	max-width: max(220px, 445rem);
	margin: 0 0 30px;
}
.mission-text {
	margin: 0 0 max(30px, 138rem);
	font-size: max(16px, 32rem);
	line-height: 110%;
	letter-spacing: -0.03em;
}
.mission-img img {
	width: 100%;
	object-fit: cover;
}
.mission-photo {
	margin: 0 0 20px;
}
.mission-photo img {
	width: 100%;
	height: max(343px, 978rem);
	object-fit: cover;
}
.mission-photo-text {
	max-width: max(500px, 550rem);
	line-height: 130%;
}

/************************* banner *************************/
.banner {
	position: relative;
}
.banner-wrap {
	position: relative;
	max-height: 100vh;
	height: max(343px, 1000rem);
}
.banner-content {
	position: absolute;
	top: max(20px, 120rem);
	left: 0;
	padding: 0 max(16px, 40rem);
	color: var(--beige_1);
}
.banner-content h4 {
	max-width: max(380px, 480rem);
	margin: 0 0 20px;
}
.banner-text {
	max-width: 445px;
	font-size: 16px;
	line-height: 125%;
}

/************************* leading *************************/
.leading {
	padding: max(80px, 200rem) 0;
}
.leading-block {
	display: flex;
	align-items: center;
}
.leading-photo {
	width: 50%;
}
.leading-photo img {
	width: 100%;
	height: max(343px, 853rem);
	object-fit: cover;
}
.leading-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 50%;
	padding-left: max(16px, 40rem);
	text-align: center;
}
.leading-title {
	max-width: max(320px, 600rem);
	margin: 0 0 20px;
	font-size: max(22px, 48rem);
	line-height: 90%;
	letter-spacing: -0.04em;
}
.leading-img {
	max-width: max(343px, 445rem);
	margin: 0 0 20px;
}
.leading-img img {
	width: 100%;
	min-height: 343px;
	object-fit: cover;
}
.leading-text {
	max-width: max(380px, 600rem);
	font-size: max(16px, 24rem);
	line-height: 110%;
}

/************************* related *************************/
.related {
	padding: max(80px, 200rem) 0 max(60px, 200rem);
}
.related h2 {
	padding: 0 0 max(30px, 40rem);
	margin: 0 0 20px;
	border-bottom: 1px solid rgba(74, 73, 71, 0.3);
}
.related .catalog-block {
	grid-template-columns: repeat(6, 1fr);
}
.catalog-item-big {
	grid-column: span 2;
}
.related .catalog-item:nth-child(2),
.related .catalog-item:nth-child(5) {
	align-self: end;
}
.related .catalog-img img {
	height: 400rem;
}
.related .catalog-item-big img {
	height: 650rem;
}
.related .catalog-name {
  	font-size: 18px;
	line-height: 130%;
}

/************************* product page *************************/
/************************* product *************************/
.product {
	padding: max(85px, 145rem) 0 max(60px, 160rem);
}
.product-block {
	display: flex;
	margin: 0 0 max(80px, 200rem);
}
.product-block:last-child {margin: 0;}
.product-side {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: max(40px, 50rem);
	width: 33.7%;
	padding: 0 20px 0 0;
}
.product-side h2 {
	margin: 0 0 max(20px, 30rem);
}
.product-line {
	display: flex;
	gap: 15px;
	margin: 0 0 max(20px, 30rem);
}
.product-category {
	font-size: 16px;
	line-height: 130%;
	color: rgba(74, 73, 71, 0.8);
}
.product-review {
	position: relative;
	font-size: 16px;
	line-height: 130%;
	color: rgba(74, 73, 71, 0.8);
	text-decoration: none;
}
.product-review::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--gray);	
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.product-review:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
.product-label {
	display: inline-flex;
	margin: 0 0 max(20px, 30rem);
	padding: 8px 8px 4px;
    font-size: 16px;
    line-height: 125%;
    text-transform: uppercase;
    color: var(--beige_1);
    background: var(--blue);
}
.product-size {
	margin: 0 0 max(20px, 30rem);
}
.product-size-text {
	padding: 10px 0 0;
	font-size: 16px;
	line-height: 130%;
	color: rgba(74, 73, 71, 0.8);
}
.product-text {
	max-width: max(470px, 530rem);
}
.faq {
	border-top: 1px solid rgba(74, 73, 71, 0.3);
}
.faq-item {
	border-bottom: 1px solid rgba(74, 73, 71, 0.3);
}
.faq-top {
	display: block;
	position: relative;
	padding: 20px 30px 20px 0;
	font-size: max(22px, 24rem);
	line-height: 110%;
	color: var(--gray);
	text-decoration: none;
}
.faq-top::after {
	position: absolute;
	top: 50%;
	right: 0;
	content: '';
	margin-top: -12px;
	width: 24px;
	height: 24px;
	background: url(../images/arrow-down.svg) 50% 50% no-repeat;
	background-size: contain;
	transition: all 0.4s ease-out;
}
.faq-top.active::after {
	transform: rotate(180deg);
}
.faq-hidden {
	display: none;
	max-width: max(470px, 530rem);
	padding: 0 0 20px;
}
.faq-hidden.vis {
	display: block;
}
.product-content {
	width: 66.3%;
}
.product-photo {
	display: flex;
	justify-content: space-between;
	margin: 0 0 14px;
}
.product-photo-single {
	width: calc(50% - 10px);
}
.product-photo-single img {
	width: 100%;
}
.photo-slider {
	width: calc(50% - 10px);
}
.photo-slide img {
	width: 100%;
	object-fit: cover;
}
.photo-slider .slick-dots {
	position: absolute;
	top: 20px;
	left: 20px;
	right: 20px;
	display: flex;
	background: rgba(250, 243, 232, 0.3);
}
.photo-slider .slick-dots li {
	flex: 1;
}
.photo-slider .slick-dots button {
	display: block;
	width: 100%;
	height: 2px;
	font-size: 0;
}
.photo-slider .slick-dots .slick-active button {
	background: var(--beige_1);
}
.product-controls {
	display: flex;
	justify-content: space-between;
}
.thumbs-slider {
	width: calc(50% - 10px);
}
.thumbs-slide {
	padding: 0 10px 0 0;
}
.slick-current .thumbs-item {
	border-color: var(--gray);
}
.thumbs-item {
	width: max(56px, 66rem);
	padding: 2px;
	border: 1px solid transparent;
	cursor: pointer;
}
.thumbs-item img {
	width: 100%;
}
.photo-controls-block {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	width: calc(50% - 10px);
}
.photo-controls-text {
	font-size: max(16px, 24rem);
	line-height: 110%;
}
.photo-arrows {
	display: flex;
	gap: 10px;
}
.photo-arrow {
	width: max(40px, 50rem);
	height: max(40px, 50rem);
	background: url(../images/slider-arrow-1.svg) 50% 50% no-repeat;
	border: 1px solid var(--gray);
}
.photo-prev {
	transform: scale(-1, 1);
}





/************************* ingridients *************************/
.ingridients {
	margin: 0 0 max(80px, 200rem);
}
.ingridients:last-child {margin: 0;}
.ingridients-top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin: 0 0 max(30px, 60rem);
}
.ingridients-top-text {
	max-width: max(320px, 445rem);
	font-size: max(18px, 24rem);
	line-height: 110%;
}
.ingridients-line {
	overflow: hidden;
	margin: 0 min(-16px, -40rem);
}
.ingridients-wrap {
	display: flex;
	gap: max(10px, 40rem);
	padding: 0 max(5px, 20rem);
}
.ingridients-item {
	width: max(270px, 445rem);
}
.ingridients-img {
	width: max(148px, 248rem);
	margin: 0 auto max(10px, 20rem);
}
.ingridients-img img {
	width: 100%;
}
.ingridients-content {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: max(10px, 20rem);
	height: max(140px, 260rem);
	text-align: center;
	border: 1px solid var(--gray);
}
.ingridients-content h5 {
	max-width: max(230px, 345rem);
}
.ingridients-text {
	font-size: 16px;
	line-height: 125%;
	max-width: max(230px, 345rem);
}

/************************* focus *************************/
.focus {
	display: flex;
	margin: 0 0 max(80px, 200rem);
}
.focus:last-child {margin: 0;}
.focus-side {
	flex: 1;
	padding: 0 30px 0 0;
}
.focus-img {
	width: 66%;
}
.focus-img img {
	width: 100%;
	min-height: 343px;
	object-fit: cover;
}
.focus-side .rating {
	margin: 0 0 max(20px, 30rem);
}
.focus-side .review-text {
	max-width: 390px;
	margin: 0 0 max(20px, 30rem);
}
.review-title {
	margin: 0 0 10px;
	font-size: 18px;
	line-height: 130%;
	opacity: 0.6;
}

/************************* catalog-section *************************/
.catalog-section {
	margin: 0 0 max(80px, 200rem);
}
.catalog-section:last-child {margin: 0;}
.catalog-section h2 {
	margin: 0 0 max(30px, 50rem);
}
.catalog-block {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: max(40px, 50rem) 20px;
}
.catalog-item {
	color: var(--gray);
	text-decoration: none;
}
.catalog-img {
	position: relative;
	overflow: hidden;
	margin: 0 0 max(10px, 20rem);
}
.catalog-img img {
	display: block;
	width: 100%;
	object-fit: cover;
	z-index: 5;
	transition: all 0.4s ease-in-out;
}
.catalog-item:hover .catalog-img img {
	transform: scale(1.05);
}
.catalog-label {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	padding: 8px 8px 4px;
	font-size: 16px;
	line-height: 125%;
	text-transform: uppercase;
	color: var(--beige_1);
	background: var(--blue);
}
.catalog-info {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}
.catalog-price {
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 125%;
}
.catalog-name {
	margin: 0 0 10px;
	font-size: var(--h5);
	line-height: 110%;
}
.catalog-category {
	margin: 0 0 10px;
	font-size: max(16px, 24rem);
	line-height: 110%;
	opacity: 0.4;
}
.catalog-name:last-child,
.catalog-category:last-child {
	margin: 0;
}
.size {
	display: flex;
	flex-wrap: wrap;
	padding: 10px 0 0;
	gap: max(8px, 10rem);
}
.size-item {
	position: relative;
}
.size-input {
	position: absolute;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.size-item-button:hover,
.size-item.active .size-item-button {
	border: 1px solid var(--gray);
}
.size-input:checked + .size-item-button {
	border: 1px solid var(--gray);
}
.size-item-button {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(84px, 135rem);
	height: max(37px, 60rem);
	font-size: max(16px, 24rem);
	line-height: 110%;
	background: var(--beige_3);
	border: 1px solid var(--beige_3);
	transition: none;
	cursor: pointer;
}
.size-item.disabled {
	pointer-events: none;
}
.size-item.disabled .size-item-button::after {
	position: absolute;
	top: 50%;
	left: 0;
	content: '';
	width: 100%;
	border-top: 1px solid var(--gray);
	transform: rotate(-35deg);
}

/************************* trends *************************/
.trends {
	margin: 0 0 max(80px, 200rem);
}
.trends:last-child {margin: 0;}
.trends h2 {
	margin: 0 0 max(30px, 50rem);
}
.trends-block {
	display: flex;
	margin: 0 -10px;
	gap: 40px 0;
}
.trends-col {
	width: 33.33%;
	padding: 0 10px;
}
.trends-item {
	display: block;
	color: var(--gray);
	text-decoration: none;
}
.trends-img {
	overflow: hidden;
	margin: 0 0 10px;
}
.trends-img img {
	width: 100%;
	transition: all 0.4s ease-in-out;
}
.trends-text {
	font-size: var(--h5);
	line-height: 110%;
}

/************************* review *************************/
.review {
	margin: 0 0 max(80px, 200rem);
}
.review:last-child {margin: 0;}
.review h2 {
	margin: 0 0 max(30px, 50rem);
}
.swiper.review-slider {
	margin: 0 min(-16px, -40rem);
	padding: 0 max(16px, 40rem);
	padding-bottom: max(30px, 40rem);
}
.review-slider .swiper-slide {
	width: 676px;
}
.review-slider .swiper-slide:last-child {
	width: 656px;
}
.swiper.review-slider .swiper-pagination-progressbar {
    top: auto;
	bottom: 0;
	left: max(16px, 40rem);
	right: max(16px, 40rem);
	width: auto;
	height: 2px;
	background: var(--beige_2);
}
.swiper.review-slider .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--gray);
}
.review-item {
	display: flex;
	gap: 20px;
	width: 656px;
	padding: 20px;
	background: var(--beige_2);
}
.review-img {
	width: 210px;
	min-width: 210px;
}
.review-img img {
	width: 100%;
}
.review-content {
	display: flex;
	flex-direction: column;
}
.review-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.rating {
	display: flex;
}
.star {
	width: 16px;
	height: 16px;
	background: url(../images/star-filled.svg) 50% 50% no-repeat;
	background-size: contain;
}
.review-date {
	font-size: 16px;
	line-height: 125%;
}
.review-text {
	margin: auto 0 max(16px, 27rem);
	font-size: 16px;
	line-height: 125%;
}
.review-author {
	font-size: 18px;
	line-height: 130%;
	color: rgba(0, 0, 0, 0.4);
}
.review .button-holder {
	display: none;
}

/************************* catalog-page *************************/
.catalog-page {
	padding: max(95px, 165rem) 0 max(70px, 160rem);
}
.catalog-page .catalog-block {
	margin: 0 0 max(30px, 50rem);
}
.catalog-page .button-holder {
	margin: 0 0 20px;
}
.catalog-page .button-holder .button {
	width: max(320px, 380rem);
}
.catalog-banner {
	grid-column: span 2;
}
.catalog-banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sorting {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 max(30px, 45rem);
}
.sorting-title {
	position: relative;
}
.sorting-title-link {
	position: relative;
	padding: 0 26px 0 0;
	font-size: max(30px, 44rem);
	line-height: 110%;
	letter-spacing: -0.05em;
	color: var(--gray);
	text-decoration: none;
}
.sorting-title-link::after {
	position: absolute;
	top: 50%;
	right: 0;
	content: '';
	width: 24px;
	height: 24px;
	margin-top: -12px;
	background: url(../images/sort-arrow.svg) 50% 50% no-repeat;
	background-size: contain;
	transition: all 0.4s ease-out;
}
.sorting-title-link.active::after {
	transform: rotate(180deg);
}
.sorting-title-hidden {
	position: absolute;
	top: 100%;
	left: 0;
	margin-top: 20px;
	z-index: 20;
	width: 193px;
	padding: 8px 0;
	background: var(--beige_3);
	display: none;
}
.sorting-title-hidden a {
	display: flex;
	align-items: center;
	height: 43px;
	padding: 0 20px;
	font-size: 18px;
	line-height: 130%;
	color: var(--gray);
	text-decoration: none;
}
.sorting-title-hidden a:hover {
	color: var(--blue);
}
.sorting-title-hidden .active,
.sorting-title-hidden .active:hover {
	color: var(--beige_1);
	background-color: var(--blue);
}

.sorting-block {
	position: relative;
	display: flex;
	gap: 30px;
}
.sorting-link {
	position: relative;
	padding: 0 26px 0 0;
	font-size: max(18px, 20rem);
	line-height: 24px;
	color: var(--gray);
	text-decoration: none;
}
.sorting-link::after {
	position: absolute;
	top: 0;
	right: 0;
	content: '';
	width: 24px;
	height: 24px;
	background: url(../images/sort-arrow.svg) 50% 50% no-repeat;
	background-size: contain;
	transition: all 0.4s ease-out;
}
.sorting-link.active::after {
	transform: rotate(180deg);
}
.sorting-link-gray {
	color: rgba(74, 73, 71, 0.5);
}
.sorting-link-gray span {
	color: var(--gray);
}
.sorting-hidden {
	position: absolute;
	top: 100%;
	right: 0;
	margin-top: 20px;
	z-index: 20;
	width: 252px;
	padding: 40px;
	background: var(--beige_3);
	display: none;
}
.sorting-filter .sorting-hidden {
	width: 360px;
}
.sorting-close {
	display: none;
}
.sort-title {
	margin: 0 0 20px;
	font-size: 18px;
	line-height: 130%;
}
.sort-radio {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.radio-item {
	position: relative;
}
.radio-input {
	position: absolute;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.radio-label {
	display: block;
	padding: 4px 0 0 34px;
	color: var(--gray);
	font-size: 16px;
	line-height: 125%;
	cursor: pointer;
}
.radio-label:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 24px;
	height: 24px;
	box-sizing: border-box;
	background: url(../images/radio.svg) 50% 50% no-repeat;
	background-size: contain;
}
.radio-input:checked + .radio-label:before {
	background: url(../images/radio-active.svg) 50% 50% no-repeat;
	background-size: contain;
}
.reset {
	display: inline-block;
	vertical-align: top;
	font-size: 14px;
	line-height: 110%;
	color: var(--gray);
	opacity: 0.4;
}
.filter-title {display: none;}
.filter-list {
	margin: 0 0 20px;
}
.filter-item {
	border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}
.filter-link {
	position: relative;
	display: block;
	padding: 9px 30px 9px 0;
	font-size: 20px;
	line-height: 24px;
	color: var(--gray);
	text-decoration: none;
}
.filter-link::after {
	position: absolute;
	top: 50%;
	right: 0;
	content: '';
	width: 24px;
	height: 24px;
	margin-top: -12px;
	background: url(../images/sort-arrow.svg) 50% 50% no-repeat;
	background-size: contain;
	transition: all 0.4s ease-out;
}
.filter-link.active::after {
	transform: rotate(180deg);
}
.filter-hidden {
	display: none;
	padding: 4px 0 20px 8px;
}
.filter-hidden.vis {
	display: block;
}
.filter-check {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.filter-check .check-label {
	padding: 2px 0 0 28px;
	font-size: 18px;
	line-height: 20px;
}
.filter-check .check-label:before {
	top: 0;
	width: 20px;
	height: 20px;
	background: url(../images/filter-check.svg) 50% 50% no-repeat;
}
.filter-check .check-label:after {
	top: 0;
	width: 20px;
	height: 20px;
	background: url(../images/filter-check-active.svg) 50% 50% no-repeat;
}
.sorting-hidden .button {
	display: none;
}
.catalog-empty {
	padding: 30px 0 0;
	height: max(300px, 500rem);
	border-top: 1px solid rgba(74, 73, 71, 0.3);
}

/************************* catalog-all *************************/
.catalog-all {
	padding: max(85px, 100rem) 0 max(80px, 200rem);
}
.products {
	display: flex;
	align-items: center;
	margin: 0 min(-16px, -40rem) max(80px, 100rem);
}
.products-content {
	width: 50%;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 0 max(16px, 40rem);
}
.products-img {
	width: 50%;
	height: max(343px, 510rem);
	overflow: hidden;
}
.masonry {
	position: relative;
	height: 3760rem;
	margin: 0 0 350rem;
}
.masonry .button-holder {display: none;}
.masonry-sorting {
	position: sticky;
	top: max(85px, 105rem);
	left: 0;
	width: 280px;
}
.masonry-sorting .sorting-link {
	display: none;
}
.masonry-sorting .sorting-hidden {
    position: relative;
    top: auto;
    right: auto;
    margin-top: 0;
    width: auto;
    padding: 0;
    background: transparent;
    display: block;
}
.masonry-sorting .sorting-filter .sorting-hidden {
    width: auto;
}
.masonry-sorting .filter-title {
	display: block;
	padding: 0 0 20px;
	font-size: 20px;
	line-height: 110%;
	border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}
.masonry-sorting .reset {
	position: absolute;
	top: 4px;
	right: 0;
}
.masonry-wrap .catalog-item {
	display: block;
	position: absolute;
}
.masonry-wrap .catalog-name {
	font-size: 18px;
}
.masonry-wrap .catalog-category {
	font-size: 16px;
}
.mw-1 {
	width: 314rem;
	top: 5%;
	left: max(19%, 300px);
}
.mw-2 {
	width: 314rem;
	top: 5%;
	left: 47%;
}
.mw-3 {
	width: 460rem;
	top: 0%;
	right: 0%;
}
.mw-4 {
	width: 314rem;
	top: 21.8%;
	right: 16%;
}
.mw-5 {
	width: 460rem;
	top: 38%;
	left: max(24.5%, 300px);
}
.mw-6 {
	width: 314rem;
	top: 49%;
	left: 58.9%;
}
.mw-7 {
	width: 460rem;
	top: 64.8%;
	left: max(24.5%, 300px);
}
.mw-8 {
	width: 614rem;
	top: 72%;
	right: 0%;
}

/************************* sign-cloud *************************/
.sign-cloud .sign-title {
	display: none;
}
.sign-cloud .sign-block .sign-title {
	position: static;
	display: block;
	margin: 0 0 20px;
	font-size: max(30px, 68rem);
	line-height: 90%;
	letter-spacing: -0.03em;
	text-transform: none;
}
.sign-cloud .form-usual .sign-subtitle {
    max-width: 400px;
    margin: 0 auto 40px;
    font-size: 18px;
    line-height: 130%;
}
.sign-cloud .sign-block {
    top: 50%;
	transform: translateY(-50%);
    bottom: auto;
}
.sign-cloud .sign-bg {
    height: max(400px, 768rem);
}
.sign-cloud .sign-block.form-sent .sign-title {
	display: none;
}

/************************* main *************************/
.main {
	padding: max(95px, 305rem) 0 max(60px, 160rem);
}

/************************* blog *************************/
.title {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.title-text {
	margin: 0 0 max(1px, 10rem);
	font-size: max(16px, 24rem);
	line-height: 110%;
}
.blog .title {
	margin: 0 0 20px;
}
.blog h1 {
	font-size: max(60px, 110rem);
}
.blog-block {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 20px;
	margin: 0 0 max(30px, 60rem);
}
.blog-block:last-child {margin: 0;}
.blog-item {
	display: block;
	color: var(--gray);
	text-decoration: none;
}
.blog-img {
	overflow: hidden;
	margin: 0 0 10px;
}
.blog-img img {
	width: 100%;
	min-height: 300px;
	object-fit: cover;
	transition: all 0.4s ease-in-out;
}
.blog-item:hover .blog-img img {
	transform: scale(1.05);
}
.blog-date {
	margin: 0 0 10px;
}
.blog-item h5 {
	margin: 0 0 10px;
	max-width: max(380px, 450rem);
}
.blog-text {
	max-width: max(400px, 450rem);
	margin: 0 0 20px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
  	-webkit-box-orient: vertical;
  	overflow: hidden;
  	text-overflow: ellipsis;
	height: max(63px, 71rem);
}
.more-link {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: var(--link_1);
	line-height: 110%;
	color: var(--gray);
	text-decoration: none;
	transition: all 0.3s linear;
}
.more-link-text {
	padding: 1px 0 0;
}
.more-link path {
	stroke: var(--gray);
	transition: all 0.3s linear;
}
.more-link:hover {
	color: var(--blue);
}
.more-link:hover path {
	stroke: var(--blue);
}
.blog-item:hover .more-link {
	color: var(--blue);
}
.blog-item:hover .more-link path {
	stroke: var(--blue);
}
.pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.pagination a {
	font-size: 24px;
	line-height: 110%;
	color: var(--gray);
	text-decoration: none;
}
.pagination a:hover,
.pagination .active {
	color: var(--blue);
}

/************************* article *************************/
.article-section {
	margin: 0 0 max(100px, 200rem);
}
.article-section:last-child {margin: 0;}
.article-section .h2 {
	max-width: max(400px, 1580rem);
	margin: 0 0 max(20px, 40rem);
	font-size: max(30px, 110rem);
	line-height: 100%;
    letter-spacing: 0;
}
.article-photo {
	height: max(192px, 650rem);
	margin: 0 0 max(20px, 50rem);
}
.article-date {
	padding: max(20px, 25rem) 0;
	margin: 0 0 20px;
	font-size: 16px;
	line-height: 125%;
	border-top: 1px solid rgba(0, 0, 0, 0.12);
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.article-wrap {
	position: relative;
}
.article-webs {
	position: absolute;
	top: 0;
	left: 0;
}
.article-webs-text {
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 130%;
}
.article-section .webs-item {
	border: 1px solid rgba(74, 73, 71, 0.5);
}
.article-section .webs-item path {
	fill: var(--gray);
}
.article-section .webs-item:hover {
	background: var(--gray);
	border-color: var(--gray);
}
.article-section .webs-item:hover path {
	fill: var(--beige_1);
}
.blog-section h2 {
	margin: 0 0 max(20px, 40rem);
}

/************************* contacts *************************/
.contacts-hero {
	position: relative;
	height: max(240px, 1000rem);
	max-height: 100dvh;
}
.contacts-hero h1 {
	position: absolute;
	left: max(16px, 40rem);
	bottom: max(30px, 50rem);
	color: var(--beige_1);
	font-size: max(60px, 110rem);
	line-height: 80%;
	text-transform: capitalize;
}
.contacts {
	padding: max(60px, 130rem) 0 max(60px, 160rem);
}
.contacts-block {
	position: relative;
	margin: 0 0 max(80px, 200rem);
}
.contacts-title {
	position: absolute;
	top: 0;
	left: 0;
	font-size: var(--caption_3);
	line-height: 130%;
	text-transform: uppercase;
}
.contacts-info {
	max-width: max(430px, 505rem);
	margin: 0 auto max(45px, 110rem);
	display: flex;
	justify-content: space-between;
	gap: max(20px, 46rem) 0;
}
.contacts-info-col {
	display: flex;
	flex-direction: column;
	gap: max(20px, 46rem);
}
.contacts-info-col h5 {
	margin: 0 0 10px;
	opacity: 0.6;
}
.contacts-info-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.contacts-info-text a {
	position: relative;
	color: var(--gray);
	text-decoration: none;
}
.contacts-info-text a::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--gray);	
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.contacts-info-text a:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
.contacts-form {
	max-width: max(430px, 505rem);
	margin: 0 auto;
}
.address {
	display: flex;
	align-items: center;
	padding: 0 max(20px, 150rem);
}
.address-side {
	flex: 1;
}
.address-title {
	margin: 0 0 20px;
	font-size: var(--h1_min);
	line-height: 80%;
}
.address-text {
	max-width: max(220px, 350rem);
	font-size: max(18px, 28rem);
	line-height: 110%;
}
.address-map {
	position: relative;
	width: 67.3%;
}
.address-map-img {
	width: 100%;
}
.address-logo {
	position: absolute;
	top: 24%;
	left: 5.8%;
	display: flex;
	align-items: center;
	flex-direction: column;
}
.address-logo-pin {
	width: max(30px, 70rem);
}
.address-logo-round {
	width: max(50px, 100rem);
}
.gallery {
	position: relative;
}
.gallery-title {
	position: absolute;
	top: 50%;
	left: 33.33%;
	right: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
}
.gallery-title a {
	position: relative;
	font-size: var(--text_2);
	line-height: 110%;
	letter-spacing: -0.03em;
	color: var(--gray);
	text-decoration: none;
}
.gallery-title a::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--gray);	
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.gallery-title a:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
.gallery-block {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: max(15px, 20rem);
}
.gallery-item {
	overflow: hidden;
	display: block;
}
.gallery-col:nth-child(2) {
	grid-column: 2 / span 2;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(15px, 20rem);
}
.gallery-item img {
	display: block;
	width: 100%;
	transition: all 0.4s ease-in-out;
}
.gallery-item:hover img {
	transform: scale(1.05);
}

/************************* policy *************************/
.policy .title {
	margin: 0 0 max(30px, 50rem);
}
.title {
	padding: 0 0 max(20px, 40rem);
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.article {
	max-width: max(800px, 910rem);
	margin: 0 auto;
}
.article h4 {
	margin: 0 0 20px;
	padding: 16px 0 0;
}
.article h4:first-child {
	padding: 0;
}

/************************* page404 *************************/
.page404 {
	padding: max(115px, 245rem) 0 max(60px, 160rem);
}
.page404-wrap {
	position: relative;
}
.page404-img {
	max-width: max(240px, 600rem);
	margin: 0 auto;
}
.page404-img img {
	width: 100%;
}
.page404-line {
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
}
.page404-line-wrap {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 0 10px;
}
.page404-line-text {
	font-size: max(30px, 110rem);
	line-height: 110%;
}
.page404-line-logo {
	width: max(24px, 88rem);
}




/************************* footer *************************/
.footer {
	padding: max(40px, 60rem) 0 28px;
	color: var(--beige_1);
	background: var(--blue);
}
.footer-block {
	position: relative;
	display: flex;
	justify-content: space-between;
	min-height: max(240px, 305rem);
	margin: 0 0 max(40px, 70rem);
}
.footer-logo {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
}
.footer-logo-img {
	width: max(76px, 239rem);
}
.footer-logo-text {
	width: max(76px, 199rem);
}
.footer-title {
	margin: 0 0 max(20px, 36rem);
	font-size: max(22px, 32rem);
	line-height: 110%;
	letter-spacing: -0.03em;
}
.footer-nav {
	display: flex;
	gap: max(60px, 90rem);
}
.footer-nav-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: max(10px, 13rem);
}
.footer-nav-link {
	position: relative;
	font-size: var(--text_3);
	line-height: 125%;
	color: var(--beige_1);
	text-decoration: none;
}
.footer-nav-link::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--beige_1);	
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.footer-nav-link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
.footer-right {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.footer-adress {
	max-width: max(240px, 255rem);
	margin: 0 0 max(10px, 20rem);
	font-size: var(--text_3);
	line-height: 125%;
}
.footer-phone {
	position: relative;
	margin: 0 0 max(10px, 20rem);
	font-size: var(--text_2);
	line-height: 110%;
	letter-spacing: -0.03em;
	color: var(--beige_1);
	text-decoration: none;
}
.footer-phone::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--beige_1);	
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.footer-phone:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
.footer-mail {
	position: relative;
	margin: 0 0 27px;
	font-size: var(--text_3);
	line-height: 125%;
	color: var(--beige_1);
	text-decoration: none;
}
.footer-mail::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--beige_1);	
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.footer-mail:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
.webs {
	display: flex;
	gap: 10px;
}
.webs-item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(250, 243, 232, 0.5);
	border-radius: 50%;
}
.webs-item path {
	fill: var(--beige_1);
	transition: all 0.3s linear;
}
.webs-item:hover {
	background: var(--beige_1);
	border-color: var(--beige_1);
}
.webs-item:hover path {
	fill: var(--blue);
}
.footer-name {
	margin: 0 0 max(20px, 42rem);
}
.footer-name img {
	display: block;
	width: 100%;
}
.footer-bottom {
	display: flex;
	justify-content: space-between;
	padding: max(10px, 15rem) 0 0;
	border-top: 1px solid var(--beige_1);
}
.footer-copy, .footer-link {
	font-size: 16px;
	line-height: 125%;
}
.footer-link {
	position: relative;
	color: var(--beige_1);
	text-decoration: none;
}
.footer-link::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--beige_1);	
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.footer-link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

/************************* animations *************************/
.cookie {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	bottom: max(30px, 60rem);
	z-index: 500;
	display: flex;
	width: max(800px, 1000rem);
}
.cookie-text {
	display: flex;
	align-items: center;
	padding: 15px 20px;
	flex: 1;
	font-size: max(14px, 16rem);
	line-height: 125%;
	background: var(--beige_1);
	border: 1px solid var(--gray);
	border-right: 0;
}
.cookie-text a {
	color: var(--gray);
}
.cookie-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(74px, 83rem);
	padding: 15px 10px;
	font-size: 16px;
	line-height: 125%;
	color: var(--gray);
	text-decoration: none;
	background: var(--beige_1);
	border: 1px solid var(--gray);
}
.cookie-button span {
	position: relative;
}
.cookie-button span::after {
	position: absolute;
	left: 0;
	bottom: 1px;
	content: '';
	height: 1px;
	background: var(--gray);
	transform: scaleX(0);
    transform-origin: right;
    transition: transform 1s var(--ease-out-expo);
    width: 100%;
}
.cookie-button:hover span::after {
	transform: scaleX(1);
	transform-origin: left;
}
.cookie-dark {
	color: var(--beige_1);
	background: var(--gray);
}
.cookie-dark span::after {
	background: var(--beige_1);
}

/************************* animations *************************/
.paralax {
	overflow: hidden;
}
.paralax img {
	width: 100%;
	height: 140%;
	object-fit: cover;
}
.fade {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s ease-in-out, transform 0.6s ease-in-out;
}
.fade.ani_start {
	opacity: 1;
	transform: translateY(0px);
}
.reveal {opacity: 0;}
.reveal.ani_start {opacity: 1;}
.text-wrap {
	overflow: hidden;
}
.text-inner {
	transition: transform 0.6s ease-in-out;
	transform: translateY(calc(100% + 20px));
}
.ani_start .text-inner {
	transform: translateY(0%);
}


/************************* media *************************/
@media screen and (max-width: 1440px) {
	.photo-arrow {
		background: url(../images/slider-arrow-2.svg) 50% 50% no-repeat;
	}
}
@media screen and (max-width: 1300px) {
	.blog-block {
		grid-template-columns: repeat(2, 1fr);
	}
	.article-webs {
		position: relative;
		top: auto;
		left: auto;
		margin: 0 0 40px;
	}
	.catalog-block {
		grid-template-columns: repeat(3, 1fr);
	}
	.category-top {
		flex-direction: column;
		align-items: flex-start;
	}
	.category-tabs {
		flex-wrap: wrap;
	}
	.hero-title {
		margin: 0 0 30px;
	}
	.mw-2 {
		left: 50%;
	}

}
@media screen and (max-width: 1024px) {
	.header-block {
		height: 55px;
	}
	.header-logo {
		position: relative;
		top: auto;
		left: auto;
		transform: none;
	}
	.mob-nav-icon {display: block;}
	.header-nav {
		position: fixed;
		top: 55px;
		left: 0;
		width: 100%;
		z-index: 540;
		overflow: hidden;
		box-sizing: border-box;
		box-shadow: none;
		display: block;
		height: 0;
		background: var(--beige_1);
		transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.header-nav.vis {
		height: calc(100dvh - 55px);
	}
	.header-nav-wrap {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: calc(100dvh - 55px);
		gap: 12px;
		padding-bottom: 35%;
		flex-direction: column;
		justify-content: center;
	}
	.header-nav-list {
		flex-direction: column;
		align-items: center;
		gap: 12px;
		margin: 0 auto;
	}
	.header-nav-list li {
		overflow: hidden;
	}
	.header-nav-list a {
		font-size: 32px;
		line-height: 110%;
		letter-spacing: -0.03em;
		color: var(--gray);
		transition: transform 0.6s ease-in-out;
		transform: translateY(calc(100% + 20px));
	}
	.header-nav.vis .header-nav-list a {
		transform: translateY(0%);
	}
	.header-nav-list li:nth-child(1) a{transition-delay: 0.1s;}
	.header-nav-list li:nth-child(2) a{transition-delay: 0.2s;}
	.header-nav-list li:nth-child(3) a{transition-delay: 0.3s;}
	.header-nav-list li:nth-child(4) a{transition-delay: 0.4s;}
	.header-nav-list li:nth-child(5) a{transition-delay: 0.5s;}
	.header-nav-list a::after {
		display: none;
	}
	.header-right {
		flex-direction: column;
		gap: 42px;
		position: static;
		transform: none;
	}
	.header-link {
		display: flex;
		overflow: hidden;
		font-size: 32px;
		line-height: 110%;
		letter-spacing: -0.03em;
		color: var(--gray);
	}
	.header-link::after {
		display: none;
	}
	.header-link span {
		transition: transform 0.6s ease-in-out;
		transform: translateY(calc(100% + 20px));
		transition-delay: 0.6s;
	}
	.header-nav.vis .header-link span {
		transform: translateY(0%);
	}
	.header-lang {
		opacity: 0;
		transition: all 0.6s ease-in-out;
		transform: translateY(calc(100% + 20px));
		transition-delay: 0.7s;
	}
	.header-nav.vis .header-lang {
		transform: translateY(0%);
		opacity: 1;
	}
	.header-lang-item {
		color: var(--gray);
	}
	.header-lang-link {
		font-size: 18px;
		color: var(--gray);
	}
	.header-mail {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 20px;
		font-size: 16px;
		line-height: 125%;
		color: var(--gray);
		text-decoration: none;
		text-align: center;
		opacity: 0;
		transition: all 0.6s ease-in-out;
		transform: translateY(calc(100% + 20px));
		transition-delay: 0.7s;
	}
	.header-nav.vis .header-mail {
		transform: translateY(0%);
		opacity: 1;
	}
	h1, .h1 {
		line-height: 95%;
	}
	h2, .h2 {
		line-height: 110%;
		letter-spacing: 0;
	}
	h3, .h3 {
		line-height: 120%;
	}
	h4, .h4 {
		line-height: 120%;
	}
	h5, .h5 {
		line-height: 120%;
	}
	.more-link {
		font-size: 16px;
		line-height: 125%;
	}
	.article-section .h2 {
		line-height: 95%;
	}
	.contacts-title {
		position: relative;
		top: auto;
		left: auto;
		max-width: max(430px, 505rem);
		margin: 0 auto 30px;
	}
	.address {
		padding: 0;
	}
	.product-block {
		flex-direction: column-reverse;
		gap: 40px;
	}
	.product-content {
		width: 100%;
	}
	.product-side {
		width: 100%;
		padding: 0;
	}
	.catalog-block {
        grid-template-columns: repeat(2, 1fr);
    }
	.trends-block {
		flex-wrap: wrap;
	}
	.trends-col {
		width: 50%;
	}
	.trends-img img {
		height: 435px;
		object-fit: cover;
	}
	.mt-block {
		grid-template-columns: repeat(3, 1fr);
	}
	.hero-title {
		line-height: 95%;
	}
	.category-tabs a,
	.promo-title {
		line-height: 130%;
	}
	.promo-text {
		line-height: 125%;
	}
	.main-about-text,
	.mt-top-text,
	.mt-content-text {
		line-height: 130%;
	}
	.about-hero-title {
		gap: 0;
		align-items: flex-start;
		margin: 0 0 16px;
	}
	.about-hero-line {
		max-width: max(400px, 800rem);
		line-height: 95%;
		white-space: normal;
	}
	.about-hero-subtitle {
		width: 250px;
		font-size: 16px;
	}
	.about-hero-text {
		width: 250px;
		font-size: 16px;
	}
	.about-hero .button {
		position: static;
	}
	.related .catalog-block {
		grid-template-columns: repeat(3, 1fr);
	}
	.catalog-item-big {
		grid-column: span 1;
	}
	.related .catalog-img img,
	.related .catalog-item-big img {
		height: max(320px, 650rem);
	}
	.masonry {
		position: relative;
		height: auto;
		margin: 0 0 max(80px, 200rem);
	}
	.masonry-sorting {
		width: auto;
		position: relative;
		top: auto;
		margin: 0 0 30px;
	}
	.masonry-sorting .sorting-link {
		display: inline-block;
		vertical-align: top;
	}
	.masonry-sorting .sorting-hidden {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		margin-top: 20px;
		width: 360px;
		padding: 40px;
		background: var(--beige_3);
	}
	.masonry-sorting .sorting-filter .sorting-hidden {
		width: 360px;
	}
	.masonry-sorting .filter-title {
		display: none;
	}
	.masonry-sorting .reset {
		position: static;
	}
	.masonry-wrap {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: max(40px, 50rem) 20px;
	}
	.masonry-wrap .catalog-item {
		display: block;
		position: static;
		width: auto;
	}
	.masonry-wrap .catalog-img img {
		height: 435px;
	}
	.cookie {
		left: 16px;
		right: 16px;
		transform: none;
		bottom: 16px;
		width: auto;
		flex-wrap: wrap;
	}
	.cookie-text {
		width: 100%;
		flex: none;
		border-right: 1px solid var(--gray);
		border-bottom: 0;
	}
	.cookie-button {
		width: 50%;
		margin: 0;
	}
	
	
}
@media screen and (max-width: 767px) {
	.footer-block {
		flex-direction: column;
		min-height: 1px;
		margin: 0 0 max(40px, 70rem);
	}
	.footer-logo {
		position: relative;
		left: auto;
		transform: none;
		margin: 0 0 26px;
	}
	.footer-title {
		line-height: 120%;
		letter-spacing: 0;
	}
	.footer-nav {
		flex-direction: column;
		gap: 10px;
	}
	.footer-left {
		margin: 0 0 30px;
	}
	.footer-adress {
		line-height: 130%;
	}
	.footer-phone {
		line-height: 125%;
		letter-spacing: 0;
	}
	.footer-mail {
		margin: 0 0 30px;
	}
	.footer-bottom {
		flex-direction: column;
		gap: 10px;
		border-top: 1px solid rgba(250, 243, 232, 0.3);
	}
	.footer-copy, .footer-link {
		line-height: 130%;
	}
	.blog-block {
		grid-template-columns: repeat(1, 1fr);
	}
	.blog .title {
		margin: 0 0 30px;
	}
	.blog-text {
		-webkit-line-clamp: 2;
		height: 42px;
	}
	.contacts-title,
	.contacts-info,
	.contacts-form {
		max-width: none;
	}
	.contacts-info-col {
		width: calc(50% - 15px);
	}
	.button {
		width: 100%;
	}
	.address {
		display: block;
	}
	.address-side {
		margin: 0 0 30px;
	}
	.address-title {
		line-height: 110%;
	}
	.address-text {
		max-width: 270px;
		line-height: 130%;
	}
	.address-map {
		width: auto;
		padding: 0 0 0 30px;
	}
	.address-logo {
		top: 5%;
		left: 0;
		gap: 5px;
	}
	.address-logo-round {
		width: 78px;
	}
	.gallery-title {
		position: static;
		transform: none;
		display: block;
		margin: 0 0 30px;
	}
	.gallery-title a {
		font-size: 32px;
	}
	.gallery-block {
		display: block;
		width: calc(100% + 16px);
	}
	.gallery-item {
		overflow: hidden;
		display: block;
		width: 290px;
		margin: 0 10px 0 0;
	}
	.gallery-col:nth-child(2) {
		display: block;
	}
	.product-photo {
		display: block;
		margin: 0 0 20px;
	}
	.product-photo-single {display: none;}
	.photo-slider {
		width: calc(100% + 16px);
	}
	.photo-slide img {
		width: 300px;
		height: 300px;
		margin: 0 10px 0 0;
	}
	.product-controls {display: block;}
	.thumbs-slider {
		display: none !important;
	}
	.photo-controls-block {
		width: auto;
		flex-direction: column;
	}
	.photo-controls-text {
		line-height: 130%;
	}
	.ingridients-top {
		flex-direction: column;
		align-items: flex-start;
	}
	.ingridients-top-text {
		line-height: 130%;
	}
	.ingridients-text {
		line-height: 130%;
	}
	.focus {
		display: block;
	}
	.focus-side {
		padding: 0 0 30px;
	}
	.focus-img {
		width: auto;
		height: 343px;
	}
	.review-title {
		max-width: 280px;
		font-size: 22px;
		line-height: 120%;
	}
	.review-text {
		line-height: 130%;
	}
	.review-author {
		font-size: 16px;
	}
	.catalog-block {
        grid-template-columns: repeat(1, 1fr);
    }
	.trends-col {
        width: 100%;
    }
	.trends-text {
		line-height: 120%;
	}
	.review-slider .swiper-wrapper {
		flex-direction: column;
		gap: 40px;
	}
	.review-slider .swiper-slide,
	.review-slider .swiper-slide:last-child {
		width: auto;
	}
	.review-item {
		flex-direction: column;
		width: auto;
	}
	.review-img {
		width: auto;
		min-width: 1px;
	}
	.review-top {
		margin: 0 0 16px;
	}
	.review-date {
		line-height: 130%;
	}
	.review .button-holder {
		display: block;
	}
	.hero-links {
		display: flex;
		justify-content: space-between;
	}
	.hero-links a:nth-child(1) {margin-right: 0;}
	.hero-links a:nth-child(2) {margin-right: 0;}
	.hero-links a:nth-child(3) {margin-left: 0;}
	.hero-links a:nth-child(4) {margin-left: 0;}
	.hero-title {
		font-size: 60px;
	}
	.hero-title span {
		padding: 0;
	}
	.category-slider .swiper-wrapper {
		flex-direction: column;
		gap: 40px;
		margin: 0 0 30px;
	}
	.category-slider .swiper-slide,
	.category-slider .swiper-slide:last-child {
		width: auto;
	}
	.category-slider .swiper-slide:nth-child(n + 4){display: none;}
	.category-item {
		width: auto;
	}
	.category .button-holder {
		display: block;
	}
	.promo h2 {
		max-width: 280px;
		text-align: left;
	}
	.promo-slider {
		max-width: none;
		padding: 0 0 75px;
	}
	.promo-slide {
		padding: max(160px, 270rem) 16px 0;
	}
	.promo-slider .slick-arrow {
		top: auto;
		bottom: 0;
		width: 50px;
		height: 50px;
		background: url(../images/slider-arrow-2.svg) 50% 50% no-repeat;
		border: 1px solid var(--gray);
	}
	.promo-slider .slick-prev {
		left: 50%;
		margin-left: -60px;
	}
	.promo-slider .slick-next {
		right: auto;
		left: 50%;
		margin-left: 10px;
	}
	.main-about-block {
		flex-direction: column;
		gap: 30px;
	}
	.main-about-content {
		align-items: flex-start;
		text-align: left;
	}
	.main-about-text {
		max-width: 295px;
		margin: 0 0 0;
	}
	.main-about-block .button {display: none;}
	.mt-top {
		flex-direction: column;
		align-items: flex-start;
		margin: 0 0 30px;
	}
	.mt-top-text {
		max-width: 300px;
	}
	.mt-block {
        grid-template-columns: repeat(1, 1fr);
    }
	.mt-content {
		position: static;
		align-items: flex-start;
		text-align: left;
		color: var(--gray);
		background: none;
		opacity: 1;
		padding: 10px 0 0;
	}
	.sign {
		padding: 0 max(16px, 40rem);
	}
	.sign-bg {
		height: max(180px, 1000rem);
		margin: 0 0 15px;
	}
	.sign-title {
		position: static;
		padding: 0 0 30px;
		line-height: 110%;
		text-align: left;
		color: var(--gray);
	}
	.sign-block {
		position: static;
		padding: 0;
	}
	.sign-subtitle {
		max-width: 330px;
		margin: 0 0 20px;
		line-height: 120%;
		text-align: left;
		color: var(--gray);
	}
	.sign-form {
		max-width: none;
		margin: 0;
	}
	.sign-form-block {
		flex-direction: column;
		gap: 30px;
	}
	.sign-form .button {
		padding: max(15px, 19rem) max(20px, 60rem) max(13px, 17rem);
	}
	.sign-form .form-button {
		padding: 0;
	}
	.sign-form .wpcf7-form-control-wrap input {
		margin: 0 0 20px;
	}
	.sign-form-text {
		max-width: none;
		margin: 0;
		text-align: left;
		color: var(--gray);
	}
	.about-hero-block {
		padding: 10px max(16px, 40rem) 30px;
	}
	.about-hero-subtitle {
		position: static;
		margin: 0 0 16px;
	}
	.about-hero-text {
		position: static;
		width: 280px;
		margin: 0 0 30px;
	}
	.about-hero-subtitle .text-inner {
		transition-delay: 0.2s;
	}
	.about-hero-text .text-inner {
		transition-delay: calc( 0.3s + ( 0.05s * ( var(--line-index)) ) );
	}
	.about-block {
		display: block;
	}
	.about-subtitle {
		text-align: left;
	}
	.about h2 {
		max-width: 300px;
		text-align: left;
	}
	.about-text {
		margin: 0 0 30px;
		text-align: left;
	}
	.about-photo {
		display: flex;
		gap: 10px;
	}
	.about-photo-item {
		flex: 1;
		position: static;
		width: auto;
	}
	.about-photo-item img {
		height: 172px;
		object-position: 50% 0;
		transform: none !important;
	}
	.mission-block {
		flex-direction: column;
		gap: 30px;
	}
	.mission-side {
		width: auto;
		max-width: none;
	}
	.mission-content {
		width: auto;
	}
	.mission-text {
		line-height: 130%;
		letter-spacing: 0;
	}
	.related .catalog-block {
        grid-template-columns: repeat(2, 1fr);
    }
	.related h2 {
		margin: 0 0 30px;
	}
	.related .catalog-name {
		font-size: 22px;
		line-height: 120%;
	}
	.leading-block {
		flex-direction: column;
		align-items: flex-start;
		gap: 30px;
	}
	.leading-photo {
		width: auto;
	}
	.leading-content {
		align-items: flex-start;
		width: auto;
		padding-left: 0;
		text-align: left;
	}
	.leading-img {
		order: 10;
		margin: 0;
	}
	.leading-title {
		line-height: 120%;
		letter-spacing: 0;
	}
	.leading-text {
		margin: 0 0 30px;
		max-width: 320px;
		line-height: 130%;
	}
	.banner {
		padding: 0 max(16px, 40rem);
	}
	.banner-wrap {
		height: max(192px, 1000rem);
	}
	.banner-big .banner-wrap {
		height: max(343px, 1000rem);
	}
	.banner-big .banner-wrap img {
		object-position: 100% 50%;
	}
	.banner-content {
		position: static;
		padding: 20px 0 0;
		color: var(--gray);
	}
	.banner-text {
		line-height: 130%;
	}
	.catalog-banner {
		grid-column: span 1;
	}
	.catalog-banner img {
		min-height: 435px;
	}
	.catalog-page .button-holder {
		margin: 0;
	}
	.catalog-page .button-holder .button {
		width: 100%;
	}
	.catalog-page .pagination {
		display: none;
	}
	.sorting {
		flex-direction: column;
		gap: 30px;
		align-items: stretch;
	}
	.sorting-block {
		justify-content: space-between;
	}
	.sorting-filter .sorting-link {
		padding: 0 0 0 32px;
	}
	.sorting-filter .sorting-link::after {
		left: 0;
		right: auto;
		background: url(../images/filter.svg) 50% 50% no-repeat;
		background-size: contain;
	}
	.sorting-filter .sorting-link.active::after {
		transform: rotate(0deg);
	}
	.sorting-hidden {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 600;
		margin-top: 0;
		width: auto;
		overflow-y: auto;
		padding: 20px 16px 60px;
		background: var(--beige_1);
	}
	.sorting-filter .sorting-hidden {
		width: auto;
		padding: 80px 16px 60px;
	}
	.sorting-close {
		display: block;
		position: absolute;
		top: 20px;
		right: 16px;
	}
	.sorting-close img {display: block;}
	.filter-title {
		display: block;
		padding: 0 0 20px;
		font-size: 18px;
		line-height: 130%;
		border-bottom: 1px solid rgba(0, 0, 0, 0.4);
	}
	.filter-link {
		font-size: 18px;
	}
	.filter-check .check-label {
		font-size: 16px;
	}
	.reset {
		position: absolute;
		top: 26px;
		right: 64px;
	}
	.sorting-title-hidden {
		margin-top: 14px;
	}
	.sorting-title-hidden a {
		height: 41px;
		font-size: 16px;
	}
	.sign-cloud {padding: 0 max(16px, 40rem) 80px;}
	.sign-cloud .sign-title {
		display: block;
		line-height: 110%;
		letter-spacing: 0;
		text-transform: none;
	}
	.sign-cloud .sign-block .sign-title {
		display: none;
	}
	.sign-cloud .form-usual .sign-subtitle {
		max-width: none;
		margin: 0 0 20px;
		font-size: 22px;
		line-height: 120%;
	}
	.sign-cloud .sign-block {
		transform: none;
	}
	.sign-cloud .sign-bg {
		height: max(180px, 768rem);
	}
	.masonry-sorting .sorting-hidden {
		position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 600;
        margin-top: 0;
        width: auto;
        overflow-y: auto;
        padding: 80px 16px 60px;
        background: var(--beige_1);
	}
	.masonry-sorting .sorting-filter .sorting-hidden {
		width: auto;
	}
	.masonry-sorting .filter-title {
		display: block;
	}
	.masonry-sorting .reset {
		position: absolute;
        top: 26px;
        right: 64px;
	}
	.sorting-hidden .button {
		display: block;
	}
	.products {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
		margin: 0 0 max(80px, 100rem);
	}
	.products-content {
		width: auto;
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 0;
	}
	.products-content h3 {
		font-size: 30px;
		line-height: 110%;
	}
	.products-text {
		max-width: 300px;
	}
	.products-img {
		width: auto;
	}



}
@media screen and (max-width: 576px) {
	.contacts-info {
		flex-direction: column;
	}
	.contacts-info-col {
		width: 100%;
	}
	.related .catalog-block {
        grid-template-columns: repeat(1, 1fr);
    }
	.related .catalog-img img,
	.related .catalog-item-big img {
		height: max(435px, 650rem);
	}
	.masonry-wrap {
        grid-template-columns: repeat(1, 1fr);
    }

}
@media screen and (max-width: 374px) {
		
}