/* !@group variables */

:root {

	--body: #fbf6ed;
	--text: #18391e;
	--title: #bf8d7a;
	--cta: #400515;
	--cta-hover: #6d0a25;
	--submenu: #fff5f2;
	--popup: #fffef6;


	--white: #ffffff;
	--tan: #d8bea4;
	--rose-lt: #f0d2c8;
	--rose: #bf8d7a;
	--green: #96a580;
	--brown: #846652;
	--grey: #f2ede1;
	--red: #400515;


	--selection: rgba(150, 165, 128, .5);
	--header: 23.5rem;
	--cta-height: clamp(7.2rem, 4.5vw, 9rem);
	--menu-back: rgba(191, 141, 122, .36);
	--attention: rgb(255, 0, 39);


	--font-family1: 'Pathway Extreme', sans-serif;
	--font-family2: 'Space Mono', monospace;
	--font-base: 10px;
}


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

	:root {

		--header: 12rem;
	}
}


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

	:root {

		--header: 8.6rem;
		--cta-height: 6rem;
	}
}

/* @end */


/* !@group global */

[data-aos] {
	visibility: hidden;
}

[data-aos='imgzoom'],
[data-aos].animate__animated {
	visibility: visible;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

::-moz-selection {

	color: var(--text);
	background: var(--selection);
}

::selection {

	color: var(--text);
	background: var(--selection);
}

html {

	-webkit-tap-highlight-color: transparent;
	font-size: var(--font-base);
	scroll-behavior: smooth;
}

body {

	-webkit-font-smoothing: antialiased;
	background: var(--body);
	color: var(--text);
	font-family: var(--font-family1);
	font-size: 1.8rem;
	line-height: 1.77;
	letter-spacing: .075ch;
}

img {

	display: block;
	max-width: 100%;
	height: auto;
}

img.static {

	min-width: auto;
	max-width: none;
	display: inline-block;
}

a:hover,
a:active {

	text-decoration: none;
	outline: none;
}

button {

	-webkit-appearance: none;
	border: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
	outline: none;
	font-family: var(--font-family1);
}

body.no-slide {
	padding-top: var(--header);
}

br.mobile {
	display: none;
}


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

	br.mobile {
		display: initial;
	}
}

/* @end */


/* !@group site header */

:is(.scroll, .no-slide) {

	--header: 12rem;
}

#site-header {

	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 5;
	background-color: rgba(255, 255, 255, 0);
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	pointer-events: none;
	transition:
		background-color .25s ease,
		box-shadow .25s ease;
}

#site-header :is(a, button) {
	pointer-events: all;
}

:is(.scroll, .no-slide) #site-header {

	background-color: var(--white);
	pointer-events: all;
}

.scroll #site-header {
	box-shadow: 0 0 1rem rgba(0, 0, 0, .1);
}

.menu-open #site-header {

	background-color: rgba(255, 255, 255, 0);
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

#site-header .inner {

	height: var(--header);
	width: 94%;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	transition: height .25s ease;
}

@media screen and (min-width: 1024px) and (max-width: 1400px) {

	#site-header .inner {
		height: 14rem;
	}
}

#site-header .left,
#site-header .right {

	display: flex;
	flex-direction: row;
	align-items: center;
	position: relative;
}

.header-contacts,
.lang-menu-container {

	display: flex;
	flex-direction: column;
	/* row-gap: 2.4rem; */
	row-gap: 1.2vh;
	position: absolute;
	top: calc(100% + 3.4rem);
	left: 4rem;
	transform-origin: center top;
	transform: translateX(-50%);
	transition: transform .25s ease, opacity .25s ease;
}

.lang-menu-container {
	top: calc(100% + 24vh);
	font-size: clamp(1.19rem, 0.85vw, 1.7rem);
}

body:is(.touch) .lang-menu-container {
	top: calc(100% + 18vh);
	left: 3rem;
}

.lang-menu-container a {
	color: #fff;
	text-decoration: none;
	transition: color .25s ease;
	text-transform: uppercase;
	transition: opacity .25s ease;
}

.lang-menu-container a:hover {
	opacity: .65;
}

.language-list-link.active {
	color: #fff;
	pointer-events: none;
}

.scroll .lang-menu-container {
	display: none;
}

.scroll .header-contacts {

	pointer-events: none;
	opacity: 0;
	transform: translateX(-50%) scaleY(0);
}

.header-contacts>li {

	display: block;
	width: 3.4rem;
	height: 3.4rem;
}

.header-contacts-scroll {

	display: flex;
	flex-direction: row;
	column-gap: 2rem;
	padding-left: clamp(3rem, 3vw, 6rem);
}

@media screen and (min-width: 1025px) and (max-width: 1600px) {

	.header-contacts-scroll {
		position: relative;
		left: -11rem;
		transition: left .25s ease;
	}

	.scroll .header-contacts-scroll {
		left: auto;
	}
}

.header-contacts-scroll .fade-scroll {
	pointer-events: none;
	opacity: 0;
	transition: opacity .25s ease;
}

.scroll .header-contacts-scroll .fade-scroll {

	pointer-events: all;
	opacity: 1;
}

.scroll .header-contacts a,
.scroll .header-contacts-scroll a {
	pointer-events: all !important;
}

.header-contacts-scroll .language-list-item,
.header-contacts-scroll .language-list-item a {
	pointer-events: none !important;
	opacity: 0;
	transition: opacity .25s ease;
}

.menu-open .header-contacts-scroll .language-list-item,
.menu-open .header-contacts-scroll .language-list-item a {
	pointer-events: all !important;
	opacity: 1;
}

/* .header-contacts-scroll .fade-scroll+.language-list-item {
	border-left: .1rem solid var(--rose-lt);
} */

.scroll .header-contacts-scroll .language-list-item,
.menu-open .header-contacts-scroll .language-list-item+.language-list-item {
	border-left: .1rem solid var(--rose-lt);
}

.scroll .header-contacts-scroll .language-list-item:first-of-type {
	border-left: none;
}


.header-contacts-scroll .language-list-link {

	color: #fff;
	font-size: 16px;
	line-height: 1;
	font-weight: 400;
	text-transform: uppercase;
	text-decoration: none;
	transition: color .25s ease;
	line-height: 1;
	margin-left: 2rem;
}

.scroll .header-contacts-scroll .language-list-link {
	color: var(--rose-lt);
}

body:is(.touch) .header-contacts-scroll .language-list-link {
	line-height: 1;
	margin-left: 1rem;
}

@media screen and (min-width: 1024px) and (max-width: 1440px) {

	.header-contacts-scroll .language-list-link {
		font-size: 14px;
	}
}

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

	.header-contacts>li.mobile-hide {
		display: none;
	}

	.header-contacts-scroll {

		column-gap: 1.5rem;
		padding-left: 0;
	}
}

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

	.main-menu-container .header-contacts-scroll {
		justify-content: flex-end;
		margin-bottom: 3rem;
	}
}

.header-contacts a,
.header-contacts-scroll a {
	pointer-events: none !important;
	color: var(--rose);
	background-color: transparent;
	display: flex;
	width: 3.4rem;
	height: auto;
	border-radius: 50%;
	font-size: 2.4rem;
	line-height: 1;
	text-decoration: none;
	position: relative;
	transition:
		color .25s ease,
		background-color .25s ease;
}

.header-contacts.first-load a {
	pointer-events: all !important;
}

.header-contacts-scroll li {
	height: 1.5rem;
}

.header-contacts-scroll .language-list-item a {
	width: auto;
}

.header-contacts-scroll .language-list-item.active a {
	color: #fff;
	pointer-events: none !important;
}

.scroll .header-contacts a {
	background-color: var(--body);
}

.menu-open .header-contacts a,
.menu-open .header-contacts-scroll a {
	color: var(--rose-lt);
}

.menu-open .header-contacts a {
	background-color: transparent;
}

.header-contacts a>[class^='icon-'],
.header-contacts-scroll a>[class^='icon-'] {

	line-height: 1;
	margin: auto;
	position: relative;
	top: -5px;
}

@media screen and (min-width: 1024px) and (max-width: 1440px) {

	.header-contacts a>[class^='icon-'],
	.header-contacts-scroll a>[class^='icon-'] {
		font-size: 1.8rem;
		top: -1px;
	}
}

.header-contacts a>.label {

	color: var(--text);
	background: var(--white);
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 600;
	padding: .5rem 1rem;
	border-radius: 2rem;
	pointer-events: none;
	position: absolute;
	left: -50%;
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
	opacity: 0;
	transition:
		opacity .35s ease,
		left .35s ease;
}

body:not(.touch) .header-contacts a:hover>.label {

	opacity: 1;
	left: calc(100% + 1rem);
}

#header-logo {
	margin-left: clamp(2.3rem, 2.3vw, 4.6rem);
}

#header-logo>img {

	display: block;
	width: clamp(17.93rem, 14.95vw, 29.9rem);
	height: clamp(6.9rem, 5.75vw, 11.5rem);
	transition:
		width .25s ease,
		height .25s ease;
}

:is(.scroll, .no-slide) #header-logo>img {

	width: clamp(12.83rem, 10.7vw, 21.4rem);
	height: clamp(4.91rem, 4.1vw, 8.2rem);
}

.header-menu {

	--color: var(--white);

	height: clamp(4.6rem, 3.3vw, 6.6rem);
	margin-right: clamp(3.5rem, 3.5vw, 7rem);
	display: flex;
	flex-direction: row;
	transition: color .25s ease;
}

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

	.header-menu {
		display: none;
	}
}

.header-menu.mobile {
	display: none;
}

:is(.scroll, .no-slide) .header-menu {
	--color: var(--text);
}

.menu-open .header-menu {
	--color: var(--rose-lt);
}

.header-menu li {

	border-right: .1rem solid var(--color);
	padding-right: clamp(1.2rem, 1.2vw, 2.4rem);
	display: flex;
	transition: border-color .25s ease;
}

.header-menu li+li {
	margin-left: clamp(3rem, 3vw, 6rem);
}

.header-menu li a,
body:not(.touch) .header-menu li a:hover,
.header-menu li.current-menu-item a {

	color: var(--color);
	font-size: clamp(1.19rem, 0.85vw, 1.7rem);
	line-height: 1.3;
	font-weight: 400;
	text-transform: uppercase;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	text-align: right;
	text-decoration: none;
	transition: color .25s ease;
}

.header-menu li a>span {

	font-size: clamp(1.33rem, 0.95vw, 1.9rem);
	font-weight: 500;
}


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

	:is(.scroll, .no-slide) {

		--header: 10rem;
	}

	.header-menu {
		margin-right: 0;
	}

	.header-menu li:last-of-type {

		border-right: none;
		padding-right: 0;
	}
}


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

	:is(.scroll, .no-slide) {

		--header: 7rem;
	}

	#site-header .inner {

		width: 100%;
		padding: 0 1rem;
	}

	#site-header .left {
		flex-grow: 1;
	}

	#header-logo {
		margin: 0 auto;
	}

	#header-logo>img,
	:is(.scroll, .no-slide) #header-logo>img {

		width: 12.83rem;
		height: 4.91rem;
	}

	.header-menu {
		display: none;
	}

	.header-menu.mobile {
		display: none;
		flex-direction: column;
		color: var(--white);
		z-index: 4;
		order: 2;
		margin-bottom: 0;
		margin-top: 3vh;
		border-top: .1rem solid var(--white);
		padding: 10vw 1vw 1vw;
	}

	.header-menu.mobile li {
		border-right: none;
		display: block;
	}

	.header-menu.mobile li.menu-item,
	.header-menu.mobile li .menu-item>a {
		padding: 0;
	}

	.header-menu.mobile li a>span {
		margin-left: 1vw;
		font-size: 16px;
	}

	.header-menu.mobile li a,
	body:not(.touch) .header-menu.mobile li a:hover,
	.header-menu.mobile li.current-menu-item a {
		display: inline-block;
		font-size: 16px;
		padding-left: 0;
	}

	.header-menu.mobile li+li {
		margin-left: 0;
	}
}

/* @end */


/* !@group main menu */

#open-menu {

	display: flex;
	width: 8rem;
	height: 8rem;
	border-radius: 50%;
	border: .15rem solid var(--rose);
	cursor: context-menu;
	transition: border-color .35s ease;
}

#open-menu>svg {
	margin: auto;
}

.menu-bar {

	fill: var(--rose);
	transform-origin: center;
	transition:
		fill .35s ease,
		transform .35s ease,
		opacity .35s ease;
}

#open-menu.open {
	cursor: pointer;
}

.open .menu-bar.open-bar {

	opacity: 0;
	transform: scaleX(0);
}

.open .menu-bar.close-1 {
	transform: rotate(45deg);
}

.open .menu-bar.close-2 {
	transform: rotate(-45deg);
}

.menu-open #open-menu {
	border-color: var(--rose-lt);
}

.menu-open .menu-bar {
	fill: var(--rose-lt);
}


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

	#open-menu {

		width: 6rem;
		height: 6rem;
		border-width: .2rem;
	}

	#open-menu>svg {

		display: block;
		width: 2.55rem;
		height: 1.87rem;
	}
}

/* @end */


/* !@group main cta */

.main-cta {

	color: var(--white);
	background-color: var(--cta);
	font-family: var(--font-family2);
	font-size: clamp(1.6rem, 1vw, 2rem);
	line-height: 1;
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
	height: var(--cta-height);
	padding: 0 clamp(4.8rem, 3vw, 6rem);
	border-radius: clamp(2.8rem, 1.8vw, 3.6rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	transition: background-color .25s ease;
	position: relative;
}

body:not(.touch) .main-cta:hover {
	background-color: var(--cta-hover);
}


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

	#main-cta {
		display: none;
	}
}

/* @end */


/* !@group mobile cta */

#mobile-cta {

	color: var(--white);
	background-color: var(--cta);
	font-family: var(--font-family2);
	font-size: 2rem;
	line-height: 1;
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
	height: var(--cta-height);
	display: none;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 5;
}


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

	#mobile-cta {
		display: flex;
	}
}

/* @end */


/* !@group header slider */

#slider-section {

	background-color: var(--red);
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.single #slider-section {

	background-color: var(--body);
	padding: 0 3rem;
}

#slider-section::before {

	content: '';
	display: block;
	background: linear-gradient(180deg, rgba(79, 44, 24, 1) 0%, rgba(79, 44, 24, 0) 100%);
	height: 66.66%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1;
	opacity: .85;
	mix-blend-mode: multiply;
	pointer-events: none;
}

.single #slider-section::before {
	display: none;
}

#slider-section .slide img {

	width: 100%;
	height: 100vh;
	height: 100dvh;
	max-height: 120rem;
	object-fit: cover;
	opacity: .77;
}

.header-slideshow {
	position: relative;
}

.single .header-slideshow {

	max-width: 140rem;
	margin: 0 auto;
}

.single .header-slideshow .offer-expired-badge {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	text-align: center;
	text-transform: uppercase;
	font-family: var(--font-family2);
	color: var(--white);
	font-size: clamp(2.4rem, 2vw, 4rem);
	background-color: rgba(64, 5, 21, 0.8);
	width: 100%;
	padding: clamp(2rem, 1.5vw, 3rem);
}

.header-slideshow .glide__slides {

	transform: translate3d(0, 0, 0) !important;
	width: 100vw !important;
	height: 100vh;
	height: 100dvh;
	max-height: 120rem;
}

.header-slideshow .slide {

	opacity: 0;
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity .75s ease;
	height: 100vh;
	height: 100dvh;
	max-height: 120rem;
	cursor: grab;
}

.header-slideshow .slide.is-active {

	opacity: 1;
	z-index: 1;
}

.single-slide {

	position: relative;
	height: 100vh;
	height: 100dvh;
	max-height: 120rem;
}

.single .header-slideshow {
	background-color: var(--red);
}

.single #slider-section .slide img,
.single .header-slideshow .glide__slides,
.single .header-slideshow .slide,
.single .single-slide {

	max-height: 84rem;
	aspect-ratio: 20 / 12;
}

.header-slideshow .slider-controls {

	position: absolute;
	left: 0;
	bottom: 0;
	width: 17.2vw;
	padding-bottom: 4.4rem;
	transition: opacity .35s ease;
}

.header-slideshow .slider-controls::after {

	content: '';
	display: block;
	background-color: var(--tan);
	width: .15rem;
	height: 21rem;
	position: absolute;
	right: 0;
	bottom: 0;
}

#slider-section .payoff {

	color: var(--body);
	height: 21rem;
	position: absolute;
	left: 17.2vw;
	bottom: 0;
	right: 0;
	display: flex;
	pointer-events: none;
	transition: opacity .35s ease;
}

#slider-section .payoff>span {

	font-family: var(--font-family2);
	font-size: 3.5rem;
	line-height: 1.28;
	text-transform: uppercase;
	padding-left: 9vw;
}

#slider-section .slider-logo {

	display: flex;
	flex-direction: row;
	justify-content: center;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	padding: 0 3rem;
	pointer-events: none;
	transition: opacity .35s ease;
}

.menu-open .header-slideshow .slider-controls,
.menu-open #slider-section .payoff,
.menu-open #slider-section .slider-logo {
	opacity: 0;
}

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

	#slider-section .slide img,
	.header-slideshow .glide__slides,
	.header-slideshow .slide,
	.single-slide {

		height: calc(100vh - var(--cta-height));
		height: calc(100dvh - var(--cta-height));
		max-height: 102.4rem;
	}
}


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

	.header-slideshow .slider-controls {

		width: 8rem;
		padding-bottom: 3rem;
	}

	.header-slideshow .slider-controls::after {
		display: none;
	}

	#slider-section .payoff {

		height: initial;
		left: 8rem;
		bottom: 3rem;
	}

	#slider-section .payoff>span {

		font-size: 2.4rem;
		padding-left: 1.5rem;
		text-wrap: balance;
	}

	.header-contacts {

		top: calc(100% + 2rem);
		left: 3rem;
		row-gap: 1.2rem;
	}
}

/* @end */


/* !@group site titles */

h1.site-title,
h1.singular-title {

	color: var(--rose);
	font-family: var(--font-family2);
	font-size: clamp(3rem, 2.5vw, 5rem);
	line-height: 1.15;
	font-weight: 400;
	text-transform: uppercase;
}

h2.site-subtitle {

	color: var(--rose);
	font-family: var(--font-family2);
	font-size: clamp(2.8rem, 2vw, 4rem);
	line-height: 1.15;
	font-weight: 500;
}

p.site-subtitle {

	font-size: 2.2rem;
	line-height: 1.15;
	font-weight: 500;
}

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

	h1.site-title,
	h1.singular-title {
		font-size: 4rem;
	}
}

/* @end */


/* !@group home content */

#home-content {

	padding: clamp(6rem, 6vw, 12rem) 3rem clamp(5.8rem, 5.8vw, 11.6rem);
	position: relative;
	overflow: hidden;
}

#home-content>main {

	max-width: 95.2rem;
	margin: 0 auto;
}

.home-header {

	display: flex;
	flex-direction: row;
	padding-bottom: clamp(5rem, 5vw, 10rem);
}

.home-header h1 {
	position: relative;
}

.home-content {
	padding: 0 clamp(6.4rem, 6.4vw, 12.8rem);
}


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

	.home-header {
		padding-left: clamp(6.4rem, 6.4vw, 12.8rem);
	}
}


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

	#home-content {
		padding-left: 24.14vw;
	}

	#home-content>main {
		max-width: 100%;
	}

	.home-header {
		padding-left: 0;
	}

	.home-content {
		padding: 0;
	}
}


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

	#home-content {
		padding: 4rem 3rem 5rem;
	}

	.home-header {
		padding-bottom: 3rem;
	}
}

/* @end */


/* !@group page content */

#main-content {
	padding: clamp(3rem, 2.5vw, 5rem) 3rem clamp(4rem, 4vw, 8rem);
}

#main-content>main {

	max-width: 94.8rem;
	margin: 0 auto;
}

.main-header {
	margin-bottom: 5rem;
}

.main-header hgroup {

	display: flex;
	flex-direction: column;
	row-gap: 2rem;
}

/* @end */


/* !@group single header */

.singular-header {
	padding: clamp(3rem, 2.5vw, 5rem) 3rem;
}

.singular-header>.inner {

	width: 100%;
	max-width: 130rem;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
	column-gap: 3rem;
}

.singular-header>.inner>.left {
	flex-grow: 1;
}

.singular-header>.inner>.right {

	flex: 0 0 30rem;
	text-align: right;
}

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

	.singular-header>.inner {

		flex-direction: column;
		align-items: flex-start;
		row-gap: 2rem;
	}

	.singular-header>.inner>.right {
		flex: 0 1 auto;
		text-align: left;
	}
}

/* @end */