/* !@group variables */

:root {

	--body: 				#fff8ee;
	--text: 				#1c1c1b;
	--footer-text: 			#e3d9c9;
	--footer-back: 			#1a1614;


	--white: 				#ffffff;
	--grey: 				#6b6b67;
	--beige: 				#f1e9dd;


	--selection: 			rgba(150,165,128,.5);
	--header:				clamp( 15.2rem, 10.9vw, 21.8rem );
	--cta-height:			clamp( 4.7rem, 4.7vw, 9.4rem );
	--mobile-cta-height: 	9rem;
	--menu-back:			rgba(255,248,238,.8);
	--attention: 			rgb(255, 0, 39);


	--font-family1: 		'gill-sans-nova', sans-serif;
	--font-family2: 		'plantin', sans-serif;
	--font-base: 			10px;
}


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

	:root {

		--header: 12rem;
	}
}


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

	:root {

		--header: 9rem;
		--mobile-cta-height: 7rem;
	}
}

/* @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: 2rem;
	line-height: 1.8;
	letter-spacing: .05ch;
}

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 { padding-top: var(--header); }

#modal {

	display: none;
	opacity: 0;
	pointer-events: none;
}

#form-section {

	display: none;
	opacity: 0;
	pointer-events: none;
}

/* @end */



/* !@group site header */

:is( .scroll, .no-slide ) #site-header { --header: clamp( 8.4rem, 6vw, 12rem ); }

#site-header {

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

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

.menu-open #site-header {

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

#site-header > .inner {

	height: var(--header);
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 91.3vw;
	margin: 0 auto;
	transition: height .25s ease;
}

#site-header > .inner > div {

	display: flex;
	flex-direction: row;
}

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

	flex: 0 0 clamp( 20.8rem, 20.8vw, 41.6rem );
	column-gap: clamp( 2.9rem, 2.9vw, 5.8rem );
}

#site-header > .inner > .left { justify-content: flex-start; }
#site-header > .inner > .right { justify-content: flex-end; }

#site-header > .inner > .center {

	flex-grow: 1;
	justify-content: center;
	position: relative;
}

#site-header > .inner > .center::before {

	content: '';
	display: block;
	height: clamp( 3.91rem, 2.8vw, 5.6rem );
	position: absolute;
	left: 0;
	right: 0;
	bottom: .2rem;
	border-left: .2rem solid var(--text);
	border-right: .2rem solid var(--text);
	border-bottom: .2rem solid var(--text);
	border-bottom-left-radius: clamp( 1.91rem, 2.8vw, 5.6rem );
	border-bottom-right-radius: clamp( 1.91rem, 2.8vw, 5.6rem );
	transition: opacity .25s ease;
}

:is( .scroll, .no-slide, .menu-open ) #site-header > .inner > .center::before { opacity: 0; }

#header-logo {

	background-color: var(--body);
	display: flex;
	width: clamp( 24.5rem, 17.5vw, 35rem );
	height: clamp( 7.48rem, 5.35vw, 10.7rem );
	padding: 0 clamp( 4.2rem, 3vw, 6rem );
	position: relative;
	transition:
		transform .25s ease,
		background-color .25s ease;
}

:is( .scroll, .menu-open ) #header-logo { background-color: rgba(255,248,238,0); }
:is( .scroll, .no-slide ) #header-logo { transform: scale(
	 .9 ); }

#site-header :not( .center ) a {

	color: var(--text);
	line-height: 1;
	text-decoration: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: clamp( 0.6rem, 0.6vw, 1.2rem );
}

#site-header .label {

	font-family: var(--font-family2);
	font-size: clamp( 1.26rem, 0.9vw, 1.8rem );
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: initial;
}


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

	#site-header :is( #dove, #chiama ) .label { display: none; }
}


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

	#site-header > .inner > .left,
	#site-header > .inner > .right { flex: 0 0 9rem; }
	#site-header :not( .center ) a#dove,
	#site-header :not( .center ) a#chiama { display: none; }
}


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

	:is( .scroll, .no-slide ) #site-header { --header: 8rem; }

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

		flex: 0 0 6rem;
		column-gap: 0;
	}

	#site-header > .inner > .center::before {  display: none; }

	#header-logo {

		width: 12.25rem;
		height: 3.74rem;
		padding: 0;
	}
}

/* @end */



/* !@group main menu */

#open-menu {

	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: 1.2rem;
}

#open-menu svg {

	display: block;
	width: clamp( 5.6rem, 4vw, 8rem );
	height: clamp( 2.8rem, 2vw, 4rem );
}

.bar {

	transition:
		opacity .35s ease,
		transform .35s ease;
}

.close-1 { transform-origin: center center; }
.close-2 { transform-origin: center center; }
.open .openbar { opacity: 0; }
.open .close-1 { transform: translate( -.65rem, .65rem) rotate( 45deg ); }
.open .close-2 { transform: translate( -.65rem, -.65rem) rotate( -45deg ); }


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

	#open-menu .label { display: none; }
}

/* @end */



/* !@group main cta */

#main-cta {

	color: var(--text);
	background-color: rgba(28,28,27,0);
	height: var(--cta-height);
	border: .3rem solid var(--text);
	padding: 0 clamp( 2.1rem, 1.5vw, 3rem );
	transition:
		color .25s ease,
		background-color .25s ease;
}

#main-cta > .label {

	font-weight: 700;
	letter-spacing: .05ch;
}

body:not( .touch ) #main-cta:hover {

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


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

	#site-header a#main-cta { display: none; }
}

/* @end */



/* !@group header slider */

#slider-section {

	width: 91.3vw;
	margin: 0 auto;
}

.header-slideshow { position: relative; }

.header-slideshow .glide__slides {

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

.header-slideshow .slide {

	opacity: 0;
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity .75s ease;
	height: calc( 100vh - var(--header) );
	height: calc( 100dvh - var(--header) );
	max-height: 101.8rem;
	cursor: grab;
}

.header-slideshow .slide.is-active {

	opacity: 1;
	z-index: 1;
}

#slider-section .slide img {

	width: 100%;
	height: calc( 100vh - var(--header) );
	height: calc( 100dvh - var(--header) );
	max-height: 101.8rem;
	object-fit: cover;
}

.single-slide {

	position: relative;
	height: calc( 100vh - var(--header) );
	height: calc( 100dvh - var(--header) );
	max-height: 101.8rem;
}

.header-slideshow .slider-controls {

	--color: var(--white);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2rem;
	z-index: 1;
}


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

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

		height: calc( 100vh - var(--header) - var(--mobile-cta-height) );
		height: calc( 100dvh - var(--header) - var(--mobile-cta-height) );
	}
}


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

	#slider-section { width: 100%; }
}

/* @end */
