/*
	Theme Name:  Le Torre di Credazzo
	Description:
	Author: 		Èdita
	Author URI: 	http://www.edita.it
	Version: 		1.0.0
	Text Domain: 	template
*/


/* !@group animations */

@keyframes opacity {
	from,
	to {
		opacity: 1;
	}
	10%, 30%, 50%, 70%, 90% {
		opacity: .4;
	}
	20%, 40%, 60%, 80% {
		opacity: .9;
	}
}

@keyframes point-left {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-.8rem);
	}
}

@keyframes point-right {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(.8rem);
	}
}

@keyframes fadeInElement {
	to {
		opacity: 1;
	}
}

@keyframes float {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY( clamp( -2rem, -1vw, -1rem ) );
	}
	100% {
		transform: translateY(0);
	}
}

body:not(.touch) .pulse:hover,
body:not(.touch) a:hover .pulse,
body:not(.touch) button:hover .pulse,
body:not( .touch ) summary:hover .pulse {

	animation: opacity 10s infinite;
}

body:not(.touch) .point-left:hover,
body:not(.touch) a:hover .point-left,
body:not(.touch) button:hover .point-left {

	animation: point-left .5s cubic-bezier(.5, 0.05, 1, .5) alternate 10;
}

body:not(.touch) .point-right:hover,
body:not(.touch) a:hover .point-right,
body:not(.touch) button:hover .point-right {

	animation: point-right .5s cubic-bezier(.5, 0.05, 1, .5) alternate 10;
}

.fade-in-element {

	opacity: 0;
	animation: fadeInElement 2.5s forwards;
}

[data-aos='imgzoom'] { overflow: hidden; }

[data-aos='imgzoom'] img {

	transform: scale(1.15);
	transition: transform .8s ease-in-out;
	transition-delay: .5s;
}

[data-aos='imgzoom'].animate__animated img { transform: scale(1); }

/* @end */


/* !@group common */

.otgs-development-site-front-end { display: none; }

.pswp__bg {

	background: var(--gallery-back);
	-webkit-backdrop-filter: blur(1rem);
	backdrop-filter: blur(1rem);
}

.pswp__counter { display: none; }

.slider-control {

	position: absolute;
	bottom: 2.4rem;
	z-index: 1;
}

.slider-control.prev { left: 3rem; }
.slider-control.next { right: 3rem; }

.slider-control button {

	width: 7.6rem;
	height: 6.8rem;
	display: flex;
	background-color: rgba(255,255,255,.95);
}

.slider-control button span {

	display: inline-block;
	margin: auto;
}

.header-slideshow .slider-control button { background-color: rgba(255,255,255,.2); }
.header-slideshow .slider-control button svg path { fill: var(--white) !important; }


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

	.slider-control button {

		width: 5.6rem;
		height: 5rem;
	}

	.slider-control svg {

		display: block;
		width: 1rem;
		height: 2rem;
	}
}

/* @end */


/* !@group lang switcher */

#lang-switcher {

	appearance: none;
	-webkit-appearance: none;
	border: 0;
	font-family: var(--font2);
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .025ch;
	background: url( './assets/svg/select.svg' ) no-repeat center right;
	padding-right: clamp( 2rem, 1.3vw, 2.6rem );
	margin-left: clamp( 1.7rem, 1.7vw, 3.4rem );
	cursor: pointer;
	outline: none;
}

#mobile-lang-switcher #lang-switcher {

	color: var(--white);
	background-image: url( './assets/svg/select-white.svg' );
}

#mobile-lang-switcher #lang-switcher option { color: var(--green); }

/* @end */


/* !@group main menu */

#main-menu {

	display: none;
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	background: var(--menu-back);
	padding: calc( var(--header) + 3rem ) 0 3rem;
	pointer-events: none;
}

body.menu-open,
body.form-open { overflow-y: hidden; }

.menu-open #main-menu {

	pointer-events: all;
	display: flex;
	opacity: 0;
	-webkit-backdrop-filter: blur(1rem);
	backdrop-filter: blur(1rem);
}

#main-menu > .inner {

	width: 91.3vw;
	margin: auto 8.7vw;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.main-menu {

	font-family: var(--font-family2);
	display: flex;
	flex-direction: column;
	row-gap: max( 2rem, 2vmin );
	text-align: center;
}

.main-menu li a {

	font-family: var(--font2);
	color: var(--white);
	font-size: max( 3rem, 3vmin );
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .025ch;
	text-decoration: none;
	opacity: .5;
	transition: opacity .45s ease;
}

body:not( .touch ) .main-menu li a:hover { opacity: 1; }

.lang-menu {

	font-family: var(--font-family1);
	font-size: 1.8rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .05ch;
	text-align: right;
}

.lang-menu a {

	color: var(--white);
	text-decoration: none;
}


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

	#main-menu { padding-bottom: var(--cta-height); }

	#main-menu > .inner {

		flex-direction: column;
		margin-top: 0;
		height: 100%;
	}

	#main-menu > .inner > .left { margin: auto 0; }
}


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

	.main-menu {

		text-align: center;
		align-items: center;
		row-gap: 1rem;
	}

	.main-menu li a { font-size: 2rem; }

	.lang-menu {

		display: flex;
		flex-direction: row;
		justify-content: center;
		column-gap: 3rem;
	}

	.lang-menu a > span { display: none; }
}

/* @end */


/* !@group editor-content */

.editor-content { letter-spacing: .025ch; }
.editor-content :is( strong, b ) { font-weight: 700; }
.editor-content :is( em, i ) { font-style: italic; }
.editor-content * + p { margin-top: 3rem; }

/* @end */


/* !@group hospitality */

#hospitality {

	padding: clamp( 3.6rem, 3.6vw, 7.2rem ) var(--gutter) max( 4.3rem, 4.3vw );
	position: relative;
	background-image:
		url( './assets/lines/main-right.svg' ),
		url( './assets/lines/main-top-right.svg' ),
		url( './assets/lines/main-bottom-right.svg' ),
		url( './assets/lines/main-bottom-left-h.svg' ),
		url( './assets/lines/main-bottom-left-v.svg' );
	background-repeat: no-repeat;
	background-position:
		right var(--gutter) top clamp( 3.1rem, 3.1vw, 6.2rem ),
		top clamp( 3.6rem, 3.6vw, 7.2rem ) right max( 4.1rem, 4.1vw),
		bottom max( 4.3rem, 4.3vw ) right max( 1.7rem, 1.7vw ),
		bottom max( 4.3rem, 4.3vw ) left max( 3rem, 3vw ),
		bottom left var(--gutter);
	background-size:
		.3rem calc( 100% - clamp( 3.1rem, 3.1vw, 6.2rem ) - clamp( 1.2rem, 1.2vw, 2.4rem ) ),
		max( 4.2rem, 4.2vw ) .3rem,
		max( 14.3rem, 14.3vw ) .3rem,
		max( 14.3rem, 14.3vw ) .2rem,
		.3rem max( 6.6rem, 6.6vw );
	scroll-margin-top: var(--header);
}

#occhiello {

	position: absolute;
	left: 0;
	right: 0;
	top: clamp( 5rem, 5vw, 10rem );
	text-align: center;
	opacity: 0;
	transition:
		opacity 1s ease,
		top 1s ease;
}

.scroll #occhiello {

	top: clamp( -4.6rem, -2.3vw, -2.3rem );
	opacity: 1;
}

#occhiello > span {

	font-family: var(--font2);
	font-size: clamp( 14.5rem, 14.5vw, 29rem );
	line-height: .725;
	font-weight: 200;
	text-transform: uppercase;
}

#hospitality > .inner {

	padding: max( 2.2rem, 2.2vw ) var(--gutter) max( 4rem, 4vw );
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: top;
	column-gap: 4rem;
}

#hospitality > .inner > main {

	/* flex: 0 0 38%; */
	flex-grow: 1;
	max-width: 60.8rem;
	padding-top: clamp( 8rem, 8vw, 16rem );
}

#hospitality > .inner > aside { flex: 0 0 44.11%; }
#hospitality > .inner > aside img { width: 100%; }

#hospitality > .inner > main h1 {

	font-family: var(--font2);
	font-size: clamp( 4rem, 2.75vw, 5.5rem );
	line-height: 1;
	font-weight: 300;
	text-transform: uppercase;
	margin-bottom: clamp( 4.8rem, 4.8vw, 9.6rem );
}

#hospitality .editor-content { color: var(--teal); }


@media screen and (min-width: 2001px) {

	#hospitality > .inner > main { margin-inline: auto; }
}


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

	#occhiello > span { font-size: 15vw; }
	.scroll #occhiello { top: -6vw; }

	#hospitality {

		background-position:
			right var(--gutter) top 3.1rem,
			top 3.6rem right 2.5rem,
			bottom 4.3rem right 1.7rem,
			bottom 4.3rem left 2rem,
			bottom left var(--gutter);
	}

	#hospitality > .inner {

		flex-direction: column;
		row-gap: 5rem;
		padding-bottom: calc( var(--gutter) * 1.5 );
	}

	#hospitality > .inner > main { padding-top: var(--gutter); }

	#hospitality > .inner > aside img {

		aspect-ratio: 1.2 / 1;
		object-fit: cover;
	}
}


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

	#hospitality {

		background-image: none;
		padding-bottom: 0;
	}
}

/* @end */


/* !@group accommodation image */

.accommodation-img {

	padding: 0 var(--gutter);
	background-color: var(--white);
	background-image:
		url( './assets/lines/rooms-img-bottom-left.svg' ),
		url( './assets/lines/rooms-img-top-left.svg' ),
		linear-gradient(
			180deg,
			var(--green) 0rem,
			var(--green) max( 29.3rem, 29.3vw ),
			transparent max( 29.3rem, 29.3vw )
		);
	background-repeat: no-repeat;
	background-position:
		left var(--gutter) bottom,
		left var(--gutter) top,
		center top;
	background-size:
		.2rem max( 33.1rem, 33.1vw ),
		.3rem max( 29.3rem, 29.3vw ),
		auto auto;
}

.accommodation-img > .inner { padding-inline: max( 4.8rem, 4.8vw ) max( 2rem, 2vw ); }
.accommodation-img > .inner img { width: 100%; }


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

	.accommodation-img {

		margin-top: -.1rem;
		background:
			linear-gradient(
				180deg,
				var(--green) 0rem,
				var(--green) 50%,
				transparent 50%
			) no-repeat center top / auto auto;
	}

	.accommodation-img > .inner { padding-inline: 2rem; }
}

/* @end */


/* !@group accommodation */

#accommodation {

	padding: 0 var(--gutter);
	background-color: var(--white);
	background-image:
		url( './assets/lines/rooms-top-right.svg' );
	background-repeat:
		no-repeat;
	background-position:
		right max( 2.7rem, 2.7vw ) top max( 6.1rem, 6.1vw );
	background-size:
		max( 9.9rem, 9.9vw ) .2rem;
	scroll-margin-top: var(--header);
}

#accommodation > .inner {

	display: flex;
	flex-direction: column;
	border-left: .1rem solid var(--green);
	padding-top: max( 6.1rem, 6.1vw );
	position: relative;
}

#accommodation > .inner::after {

	content: '';
	background-color: var(--green);
	display: block;
	width: .1rem;
	position: absolute;
	right: 0;
	top: max( 5.5rem, 5.5vw );
	height: 40%;
}

#accommodation .section-header { padding: max( 3rem, 3vw ) 3rem 9rem; }

#accommodation .section-header hgroup {

	display: flex;
	flex-direction: column;
	row-gap: clamp( 3rem, 3vw, 6rem );
	text-align: center;
}

#accommodation .section-header hgroup p {

	font-family: var(--font2);
	font-size: clamp( 3rem, 2.75vw, 5.5rem );
	line-height: .7;
	font-weight: 300;
	text-transform: uppercase;
}

#accommodation .section-header hgroup h2 {

	font-family: var(--font2);
	font-size: clamp( 11.6rem, 11.6vw, 23.2rem );
	line-height: .7;
	font-weight: 200;
	text-transform: uppercase;
}

#accommodation .section-content { padding: 0 3rem max( 5rem, 5vw ); }

#accommodation .section-content .editor-content {

	width: 100%;
	max-width: 110rem;
	margin-inline: auto;
}


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

	#accommodation { background-position-x: right 1.5rem; }
	#accommodation > .inner { padding-top: 4rem; }
	#accommodation .section-header { padding: 3rem 0 4rem; }
	#accommodation .section-header hgroup { row-gap: 2rem; }

	#accommodation .section-header hgroup h2 {

		font-size: 7rem;
		line-height: .9;
	}
}


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

	#accommodation { background-image: none; }
	#accommodation > .inner { border-left: 0; }
	#accommodation > .inner::after { display: none; }
}

/* @end */


/* !@group rooms */

#rooms-list {

	margin-left: calc( var(--gutter) * -1 );
	display: flex;
	flex-direction: column;
}

.room {

	display: flex;
	flex-direction: row-reverse;
	padding-bottom: clamp( 5.5rem, 5.5vw, 11rem );
	position: relative;
}

.room::after {

	content: '';
	display: block;
	width: .1rem;
	background-color: var(--green);
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
}

.room:last-of-type::after { height: max(7.1rem, 7.1vw); }

.room > .images { width: 57.57%; }

.room > .text {

	width: 42.43%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.room > .text > .text-inner {

	align-self: center;
	padding: 3rem max( 2rem, 2vw ) 0 max( 8.5rem, 8.5vw );
}

.room > .text h3 {

	font-family: var(--font2);
	font-size: max( 3rem, 2.75vw );
	line-height: 1;
	text-transform: uppercase;
	margin-bottom: max( 2rem, 2vw );
}

.room > .text .description { text-wrap: pretty; }

.piano {

	align-self: flex-start;
	margin-top: max( 7.1rem, 7.1vw );
	color: var(--white);
	background-color: var(--green);
	flex: 0 0 max( 11.2rem, 7vw );
	height: max( 6.8rem, 4.2vw );
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
}

.piano::before {

	content: '';
	background: url( './assets/svg/piano-triangle.svg' ) no-repeat center bottom / contain;
	display: block;
	height: max( 1.84rem, 1.15vw );
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc( 100% - .1rem );
}

.room > .text > .piano span {

	font-family: var(--font2);
	font-size: max( 1.6rem, 1vw );
	line-height: .9;
	text-transform: uppercase;
	display: block;
}

.room:nth-of-type(1) > .text > .piano span { margin-top: auto; }

.room:nth-of-type(2) > .text > .piano span {

	margin-block: auto;
	padding-top: 2ex;
}

.room:nth-of-type(3) > .text > .piano span {

	margin-block: auto;
	padding-bottom: 2ex;
}

.room:nth-of-type(4) > .text > .piano span { margin-bottom: auto; }
.rooms-slideshow { position: relative; }

.rooms-slideshow::before,
.rooms-slideshow::after {

	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	z-index: 1;
}

.rooms-slideshow::before {

	background: url( './assets/lines/slider-bottom.svg' ) no-repeat center center / 100% .5rem;
	width: max( 58.8rem, 58.8vw );
	height: .5rem;
	left: 2.4rem;
	bottom: 5.5rem;
}

.rooms-slideshow::after {

	background: var(--green);
	width: .1rem;
	height: max( 5.85rem, 5.85vw );
	left: calc( 100% + max( 2.9rem, 2.9vw ) );
	bottom: 5.5rem;
	transform: translateY(52%);
}

.rooms-slideshow .room-slide img { width: 100%; }


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

	.room {

		flex-direction: column-reverse;
		padding-bottom: 10vw;
	}

	.room:last-of-type::after { height: calc( 100% - 10.5vw ); }

	.room > .images { width: calc( 100% - var(--gutter) ); }
	.room > .text { width: 100%; }

	.rooms-slideshow::before { width: calc( 100% + var(--gutter) ); }
}


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

	.rooms-slideshow::after { display: none; }
	.rooms-slideshow::before { width: 100%; }
	.room:last-of-type::after { height: calc( 100% - 16vw ); }
}


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

	#rooms-list { margin-left: 0; }
	.room { padding-bottom: 4rem; }
	.room::after { display: none; }

	.room + .room {

		padding-top: 4rem;
		position: relative;
	}

	.room::before {

		content: '';
		display: block;
		background-color: var(--green);
		height: .1rem;
		position: absolute;
		top: 0;
		left: -1rem;
		right: -1rem;
	}

	.room > .text { flex-direction: column-reverse; }

	.room > .text > .text-inner {

		padding: 3rem 0 0;
		text-align: center;
	}

	.room > .images { width: 100%; }
	.rooms-slideshow::before,
	.rooms-slideshow::after { display: none; }
	.slider-control { bottom: 1rem; }
	.slider-control.prev { left: 1rem; }
	.slider-control.next { right: 1rem; }

	.piano {

		width: 11.2rem;
		height: 6.8rem;
		flex: initial;
		margin-top: -2rem;
		position: relative;
		z-index: 1;
		margin-inline: auto;
	}
}

/* @end */


/* !@group servizi */

#servizi-container {

	padding: 0 var(--gutter) clamp( 10.2rem, 10.2vw, 20.4rem );
	background-image:
		url( './assets/lines/esclusiva-bottom-right.svg' ),
		url( './assets/lines/servizi-top-right.svg' );
	background-repeat:
		no-repeat;
	background-position:
		right max( 4.5rem, 4.5vw ) bottom clamp( 10.2rem, 10.2vw, 20.4rem ),
		right max( 3.25rem, 3.25vw ) top max( 8.7rem, 8.7vw );
	background-size:
		max( 9.9rem, 9.9vw ) .2rem,
		max( 46.5rem, 46.5vw ) .3rem;

}

#servizi-container > .inner { position: relative; }

#servizi-container > .inner::before {

	content: '';
	background: url( './assets/lines/servizi-right.svg' ) no-repeat right top / .4rem 100%;
	display: block;
	width: .4rem;
	position: absolute;
	right: 0;
	top: max( 5.9rem, 5.9vw );
	bottom: -1.6rem;
}

#servizi {

	padding-top: max( 7.7rem, 7.7vw );
	position: relative;
	scroll-margin-top: var(--header);
}

#servizi::before {

	content: '';
	background: url( './assets/lines/servizi-left.svg' ) no-repeat left top / .4rem 100%;
	display: block;
	width: .4rem;
	position: absolute;
	left: 0;
	top: 0;
	bottom: min( -5.7vw, -5.7rem );
}

#servizi .article-header {

	display: flex;
	flex-direction: row;
	justify-content: center;
	text-align: center;
	margin-bottom: max( 6.3rem, 6.3vw );
}


#servizi .article-header h2 {

	font-family: var(--font2);
	background-color: var(--green);
	padding-inline: clamp( 4rem, 4vw, 8rem );
	font-size: clamp( 3rem, 2.75vw, 5.5rem );
	line-height: .7;
	font-weight: 300;
	text-transform: uppercase;
	position: relative;
}

#servizi .article-content {

	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	column-gap: max( 2.8rem, 2.8vw );
	padding-bottom: max( 9.5rem, 9.5vw );
}

.servizio {

	flex: 0 0 max( 12.4rem, 12.4vw );
	display: flex;
	flex-direction: column;
	row-gap: 4rem;
	text-align: center;
}

.servizio .icon img { width: 100%; }

.servizio figcaption {

	font-family: var(--font2);
	font-size: 2rem;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: .025ch;
}

.servizio figcaption b {

	font-weight: 700;
	display: block;
}

#in-esclusiva {

	padding-bottom: max( 2.25rem, 2.25vw );
	scroll-margin-top: var(--header);
}

#in-esclusiva .article-header {

	display: flex;
	flex-direction: row;
	justify-content: center;
	text-align: center;
	margin-bottom: max( 7.5rem, 7.5vw );
	position: relative;
}

#in-esclusiva .article-header::before {

	content: '';
	background: url( './assets/lines/esclusiva-top-left.svg' ) no-repeat left bottom / 100% .2rem;
	display: block;
	width: max(9.9rem, 9.9vw);
	height: .2rem;
	position: absolute;
	left: min( -2.4vw, -2.4rem );
	bottom: 0;
}

#in-esclusiva .article-header h2 {

	font-family: var(--font2);
	font-size: clamp( 3rem, 2.75vw, 5.5rem );
	line-height: .7;
	font-weight: 300;
	text-transform: uppercase;
}

#in-esclusiva .article-content { padding-inline: max( 4.7rem, 4.7vw ); }

#in-esclusiva .article-inner {

	display: flex;
	flex-direction: row-reverse;
}

#in-esclusiva .article-inner .image { flex: 0 0 59.55%; }
#in-esclusiva .article-inner .image img { width: 100%; }

#in-esclusiva .article-inner .text {

	display: flex;
	flex-direction: column;
	padding: 3rem max( 4.5rem, 4.5vw ) 3rem max( 5.5rem, 5.5vw );
}

#in-esclusiva .article-inner .text-inner { margin-block: auto; }

#in-esclusiva .article-inner .text h3 {

	font-family: var(--font2);
	font-size: 2.5rem;
	line-height: 1;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .025ch;
	margin-bottom: clamp( 3rem, 3vw, 6rem );
}

#in-esclusiva .article-inner .text .description { color: var(--teal); }


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

	#servizi .article-content { row-gap: 3rem; }
	.servizio { flex: 0 0 25%; }

	#in-esclusiva .article-inner {

		flex-direction: column-reverse;
		row-gap: 3rem;
	}
}


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

	#servizi-container {

		background-position:
			right 2.5rem bottom 10.2rem,
			right 2.5rem top 8.7rem;
	}

	#servizi .article-content {

		column-gap: 3rem;
		margin-inline: calc( var(--gutter) * 2 );
	}

	.servizio { flex: 0 0 calc( 50% - 1.5rem ); }
}


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

	#servizi-container {

		background-image: none;
		padding-bottom: 4rem;
	}

	#servizi-container > .inner::before,
	#servizi::before,
	#in-esclusiva .article-header::before { display: none; }
	#servizi { padding-top: 5rem; }
	#servizi .article-header { margin-bottom: 4rem; }

	#servizi .article-content {

		margin-inline: 0;
		row-gap: 4rem;
	}

	.servizio {

		flex: 0 0 60%;
		row-gap: 1.5rem;
	}

	.servizio figcaption { font-size: 1.8rem; }
	#in-esclusiva .article-header { margin-bottom: 4rem; }
	#in-esclusiva .article-content { padding-inline: 0; }
	#in-esclusiva .article-inner .text { padding: 0; }
}

/* @end */


/* !@group video */

#video {

	position: relative;
	background-color: var(--green);
}

#video-play-button {

	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	opacity: 1;
	z-index: 1;
	transition: opacity .5s ease;
	pointer-events: none;
}

.loaded #video-play-button { pointer-events: all; }
#video-play-button[aria-pressed='true'] { opacity: 0; }
body:not( .touch ) #video:hover #video-play-button { opacity: .5; }
body:not( .touch ) #video:hover #video-play-button[aria-pressed='false'] { opacity: 1; }

#video-play-button > svg {

	display: block;
	width: clamp( 7rem, 7vw, 14rem );
	height: clamp( 7rem, 7vw, 14rem );
}

#video-play-button > svg { margin: auto; }
#vimeo-play,
#vimeo-pause { transition: opacity .25s ease; }
#vimeo-play,
[aria-pressed='false'] #vimeo-pause { opacity: 0; }
[aria-pressed='false'] #vimeo-play { opacity: 1; }

#video-container {

	position: relative;
	padding-bottom: 56.25%;
	height: 0;
}

#video-iframe {

	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity .5s ease;
}

#video.loaded #video-iframe { opacity: .8; }
#video.active #video-iframe { opacity: 1; }

#audio {

	color: var(--white);
	background-color: var(--menu-back);
	font-family: var(--font2);
	font-size: 2rem;
	line-height: 1;
	font-weight: 500;
	text-transform: uppercase;
	height: 3.4rem;
	padding-inline: 2rem;
	border-radius: 1.6rem;
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	opacity: 0;
	pointer-events: none;
	transition:
		opacity .5s ease,
		background-color .25s ease;
}

#video.active #audio {

	opacity: 1;
	pointer-events: all;
}

body:not( .touch ) #audio:hover { background-color: var(--dk-green); }

/* @end */


/* !@group storia */

#storia {

	padding: clamp( 10.8rem, 10.8vw, 21.6rem ) var(--gutter) clamp( 6.3rem, 6.3vw, 12.6rem );
	background-image:
		url( './assets/lines/storia-bottom-right.svg' ),
		url( './assets/lines/storia-bottom-left.svg' ),
		url( './assets/lines/storia-bottom.svg' );
	background-repeat: no-repeat;
	background-position:
		bottom clamp( 4.3rem, 4.3vw, 8.6rem ) right calc( var(--gutter) - clamp( 0.7rem, 0.7vw, 1.4rem ) ),
		bottom clamp( 4.3rem, 4.3vw, 8.6rem ) left calc( var(--gutter) - clamp( 0.7rem, 0.7vw, 1.4rem ) ),
		center bottom clamp( 5.4rem, 5.4vw, 10.8rem );
	background-size:
		.2rem clamp( 5.85rem, 5.85vw, 11.7rem ),
		.2rem clamp( 5.85rem, 5.85vw, 11.7rem ),
		96.6% .5rem;
	scroll-margin-top: var(--header);
}

#storia .section-header { margin-bottom: clamp( 4.2rem, 4.2vw, 8.4rem ); }

#storia .section-header hgroup {

	display: flex;
	flex-direction: column;
	row-gap: clamp( 3.7rem, 3.7vw, 7.4rem );
	text-align: center;
}

#storia .section-header hgroup h2 {

	font-family: var(--font2);
	font-size: clamp( 13rem, 13vw, 26rem );
	line-height: .7;
	font-weight: 200;
	text-transform: uppercase;
}

#storia .section-header hgroup p {

	font-family: var(--font2);
	font-size: clamp( 3rem, 2.75vw, 5.5rem );
	line-height: .7;
	font-weight: 300;
	text-transform: uppercase;
}

#storia .section-content .editor-content {

	width: 100%;
	max-width: 119rem;
	margin-inline: auto;
	text-align: center;
	font-weight: 400;
}

.storia-slideshow {

	margin-top: clamp( 8.5rem, 8.5vw, 17rem );
	position: relative;
}

.storia-slideshow .slider-control::before {

	content: '';
	background-color: #000;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: -.2rem;
	bottom: 1rem;
	z-index: 0;
	opacity: .2;
	filter: blur(.6rem);
}

.storia-slideshow .slider-control button {

	background-color: var(--white);
	position: relative;
}

.storia-slideshow .slider-control.prev {

	left: clamp( 4.6rem, 4.6vw, 9.2rem );
	bottom: -5rem;
}

.storia-slideshow .slider-control.next {

	right: clamp( 4.6rem, 4.6vw, 9.2rem );
	bottom: -5rem;
}

.storia-slide {

	display: flex;
	flex-direction: row;
	align-items: stretch;
	column-gap: .6rem;
}

.storia-slide .img-1 { flex: 0 0 calc( 50% - .3rem ); }

.gallery-item a {

	background-color: var(--teal-dk);
	height: 100%;
	display: block;
	overflow: hidden;
	position: relative;
}

.gallery-item a::after {

	content: '';
	display: block;
	width: 14rem;
	height: 14rem;
	background: url( './assets/svg/expand.svg' ) no-repeat center center / contain;
	position: absolute;
	left: 50%;
	top: 50%;
	opacity: 0;
	transform: translate(-50%, -50%) scale(.5);
	mix-blend-mode: overlay;
	transition:
		opacity 1.5s ease-in,
		transform 1.5s ease-in;
}

.gallery-item a img {

	height: 100%;
	object-fit: cover;
	opacity: 1;
	transform-origin: center center;
	transition:
		opacity 1.5s ease-in,
		transform 1.5s ease-in;
}

body:not( .touch ) .gallery-item a:hover img {

	opacity: .4;
	transform: scale(1.1);
}

body:not( .touch ) .gallery-item a:hover::after {

	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}


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

	#storia {

		background-image: none;
		padding: 6rem var(--gutter) 5rem;
	}

	#storia .section-header hgroup h2 { font-size: 8rem; }

	#storia .section-header hgroup p {

		line-height: .9;
		text-wrap: balance;
	}

	.storia-slideshow { margin-top: 4rem; }

	.storia-slide {

		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr 1fr;
		grid-column-gap: .6rem;
		grid-row-gap: .6rem;
	}

	.storia-slide .img-1 { grid-area: 1 / 1 / 2 / 3; }
	.storia-slide .img-2 { grid-area: 2 / 1 / 3 / 2; }
	.storia-slide .img-3 { grid-area: 2 / 2 / 3 / 3; }

	.storia-slideshow .slider-control.prev {

		left: 2rem;
		bottom: -3rem;
	}

	.storia-slideshow .slider-control.next {

		right: 2rem;
		bottom: -3rem;
	}
}

/* @end */


/* !@group location */

#location { padding: max( 6.2rem, 6.2vw ) 0 max( 6.6rem, 6.6vw ); }

#location > .section-header {

	display: flex;
	flex-direction: column-reverse;
	padding-bottom: max( 7.75rem, 7.75vw );
}

#location > .section-header > .title {

	padding-inline: var(--gutter);
	text-align: center;
	margin-top: -8.5%;
}

#location > .section-header > .title h2 {

	font-family: var(--font2);
	font-size: clamp( 14.5rem, 14.5vw, 29rem );
	line-height: .7;
	font-weight: 200;
	text-transform: uppercase;
	position: relative;
	z-index: 2;
}

#location > .section-header > .images {

	display: flex;
	flex-direction: row;
	align-items: flex-start;
	padding-left: var(--gutter);
	position: relative;
}

#location > .section-header .img-1 { flex: 0 0 64.52%; }

#location > .section-header .img-2 {

	flex: 0 0 41.47%;
	margin: 6% 0 0 -6%;
}

#location > .section-header .img-1 img,
#location > .section-header .img-2 img { width: 100%; }

#location > .section-content {

	padding-left: var(--gutter);
	background-image:
		url( './assets/lines/location-bottom-left.svg' ),
		url( './assets/lines/location-top-left.svg' ),
		url( './assets/lines/location-left.svg' );
	background-repeat:
		no-repeat;
	background-position:
		left calc( var(--gutter) - max( 1.7rem, 1.7vw ) ) bottom,
		left calc( var(--gutter) - max( 1.7rem, 1.7vw ) ) top max( 0.45rem, 0.45vw ),
		left var(--gutter) top;
	background-size:
		max( 39.9rem, 39.9vw ) .2rem,
		max( 14.3rem, 14.3vw ) .2rem,
		.3rem 100%;
}

#dove-siamo { padding-bottom: max( 4rem, 4vw ); }

#dove-siamo > .text {

	width: clamp( 53.5rem, 53.5vw, 107rem );
	margin-inline: auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	column-gap: 3rem;
	margin-bottom: max( 6rem, 6vw );
}

#dove-siamo > .text h3 {

	font-family: var(--font2);
	font-size: clamp( 3rem, 2.75vw, 5.5rem );
	line-height: .7;
	font-weight: 300;
	text-transform: uppercase;
	white-space: nowrap;
}

#dove-siamo > .text .description.editor-content {

	width: clamp( 29.5rem, 29.5vw, 59rem );
	color: var(--teal);
}

#dove-siamo > .images {

	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	padding-left: max( 3.7rem, 3.7vw );
}

#dove-siamo > .images .italia { flex: 0 0 26.5vw; }
#dove-siamo > .images .mappa { flex: 0 0 62.45vw; }

#dove-siamo > .images .italia img,
#dove-siamo > .images .mappa img { width: 100%; }


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

	#dove-siamo > .images {

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

	#dove-siamo > .images .italia { max-width: 53rem; }
}


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

	#location > .section-content {

		background-position:
			left calc( var(--gutter) - 1.7rem ) bottom,
			left calc( var(--gutter) - 1.7rem ) top 0.45rem,
			left var(--gutter) top;
		background-size:
			39.9rem .2rem,
			9rem .2rem,
			.3rem 100%;
	}

	#dove-siamo > .text {

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

	#dove-siamo > .text .description.editor-content { width: auto; }
}


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

	#location { padding-bottom: 3rem; }
	#location > .section-header > .title h2 { font-size: 6.5rem; }

	#location > .section-content {

		padding-inline: var(--gutter);
		background-image: none;
	}

	#dove-siamo > .text {

		width: 100%;
		margin-bottom: 3rem;
	}

	#dove-siamo > .images { padding-left: 0; }
	#dove-siamo > .images .mappa { display: none; }
}

/* @end */


/* !@group domande frequenti */

#faq {

	padding: clamp(10rem, 10vw, 20rem) 3rem clamp( 11rem, 11vw, 22rem );
	scroll-margin-top: var(--header);
}

#faq > .inner {

	width: 100%;
	max-width: 148rem;
	margin-inline: auto;
}

#faq .section-header {

	text-align: center;
	padding-bottom: clamp( 4.5rem, 4.5vw, 9rem );
}

#faq .section-header h2 {

	font-family: var(--font2);
	font-size: clamp( 4rem, 2.75vw, 5.5rem );
	line-height: .7;
	font-weight: 300;
	text-transform: uppercase;
}

#faq .section-content {

	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

#faq .section-content > div { flex: 0 0 46.4%; }

#faq details { border-bottom: .1rem solid var(--blue-grey); }

#faq details summary {

	padding: clamp(2rem, 1.5vw, 3rem) 7rem clamp(2rem, 1.5vw, 3rem) 2.8rem;
	list-style-type: none;
	position: relative;
	cursor: pointer;
	scroll-margin-top: var(--header);
}

#faq details summary .label {

	font-family: var(--font2);
	font-size: 2rem;
	line-height: 1.3;
	font-weight: 700;
	text-transform: uppercase;
	display: inline-block;
	pointer-events: none;
}

#faq details summary .svg-summary {

	position: absolute;
	right: 2.8rem;
	top: clamp( 2rem, 1.5vw, 3rem );
	pointer-events: none;
}

#faq details summary .svg-summary .vertical {

	transform-origin: center center;
	transition: transform .25s ease;
}

#faq details[open] summary .svg-summary .vertical { transform: scaleY(0); }
#faq details .details-content { padding: 0 7rem 5rem 2.8rem; }


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

	#faq .section-content { flex-direction: column; }
}


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

	#faq { padding: 5rem var(--gutter); }
	#faq .section-header { padding-bottom: 3rem; }
	#faq .section-header h2 { line-height: .9; }
	#faq details summary { padding: 1rem 4rem 1rem 1rem; }
	#faq details summary .label { font-size: 1.8rem; }

	#faq details summary .svg-summary {

		top: .5rem;
		right: 1rem;
	}

	#faq details .details-content.editor-content {

		font-size: 1.8rem;
		padding: 0 1rem 2rem;
	}
}

/* @end */


/* !@group richiedi preventivo */

#richiedi-preventivo {

	padding: 0 var(--gutter) clamp( 5.1rem, 5.1vw, 10.2rem );
	background-color: var(--white);
	background-image:
		url( './assets/lines/form-top-right.svg' ),
		url( './assets/lines/form-top-left.svg' ),
		url( './assets/lines/form-bottom-vertical.svg' ),
		url( './assets/lines/form-bottom-vertical.svg' ),
		url( './assets/lines/form-bottom-right.svg' ),
		url( './assets/lines/form-bottom-left.svg' ),
		linear-gradient(
			0deg,
			var(--green) 0,
			var(--green) max( 26.8rem, 26.8vw ),
			transparent max( 26.8rem, 26.8vw )
		),
		url( './assets/lines/form-top-vertical.svg' ),
		url( './assets/lines/form-top-vertical.svg' );
	background-repeat:
		no-repeat;
	background-position:
		right calc( var(--gutter) - 2rem ) top clamp( 4.5rem, 4.5vw, 9rem ),
		left calc( var(--gutter) - 1.3rem ) top clamp( 4.5rem, 4.5vw, 9rem ),
		right var(--gutter) bottom,
		left var(--gutter) bottom,
		right calc( var(--gutter) - max( 1.8rem, 1.8vw ) ) bottom max( 0.55rem, 0.55vw ),
		left calc( var(--gutter) - max( 0.8rem, 0.8vw ) ) bottom max( 0.55rem, 0.55vw ),
		center bottom,
		left var(--gutter) top clamp( 2.7rem, 2.7vw, 5.4rem ),
		right var(--gutter) top clamp( 3.75rem, 3.75vw, 7.5rem );
	background-size:
		max( 18.5rem, 18.5vw ) .2rem,
		max( 16.3rem, 16.3vw ) .2rem,
		.1rem max( 26.8rem, 26.8vw ),
		.1rem max( 26.8rem, 26.8vw),
		max( 34.15rem, 34.15vw ) .2rem,
		max(5.15rem, 5.15vw ) .2rem,
		auto auto,
		.1rem 100%,
		.1rem 100%;
	margin-bottom: -.1rem;
	scroll-margin-top: var(--header);
}

#richiedi-preventivo .section-header {

	text-align: center;
	padding-inline: var(--gutter);
}

#richiedi-preventivo .section-header h2 {

	font-family: var(--font2);
	font-size: clamp( 13rem, 13vw, 26rem );
	line-height: .7;
	font-weight: 200;
	text-transform: uppercase;
}

#richiedi-preventivo .section-content { padding-top: clamp( 5.6rem, 5.6vw, 11.2rem ); }

#richiedi-preventivo .text {

	width: 100%;
	text-align: center;
	padding: 0 calc( var(--gutter) * 2 ) clamp( 4.5rem, 4.5vw, 9rem );
}

#richiedi-preventivo .text-inner {

	max-width: 96rem;
	margin-inline: auto;
}

.submitted #richiedi-preventivo .text-inner { display: none; }

#richiedi-preventivo .text p {

	font-family: var(--font2);
	font-size: clamp( 2.6rem, 1.75vw, 3.5rem );
	line-height: 1.2;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .025ch;
}

#richiedi-preventivo .form-container {

	padding: 0 max( 8.9rem, 8.9vw ) max( 8.9rem, 8.9vw );
	max-width: 180rem;
	margin-inline: auto;
}

#richiedi-preventivo .images {

	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding-inline: max( 7.8rem, 7.8vw ) max( 4.3rem, 4.3vw );
}

#richiedi-preventivo .images .img-1 { flex: 0 0 29vw; }
#richiedi-preventivo .images .img-2 { flex: 0 0 44.4vw; }
#richiedi-preventivo .images .img-1 img,
#richiedi-preventivo .images .img-2 img { width: 100%; }


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

	#richiedi-preventivo .section-header {

		display: flex;
		flex-direction: row;
		justify-content: center;
	}
	#richiedi-preventivo .section-header h2 {

		background-color: var(--white);
		padding-inline: 3rem;
	}

	#richiedi-preventivo .form-container { padding: 0 var(--gutter) var(--gutter); }
}


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

	#richiedi-preventivo {

		background-image:
			linear-gradient(
				0deg,
				var(--green) 0,
				var(--green) 10rem,
				transparent 10rem
			);
		background-position:
			center bottom;
		background-size:
			auto auto;

		padding: var(--gutter);
	}

	#richiedi-preventivo .section-header h2 { font-size: 7rem; }
	#richiedi-preventivo .section-content { padding-top: 3rem; }
	#richiedi-preventivo .text { padding: 0 var(--gutter); }
	#richiedi-preventivo .form-container { padding: 0; }

	#richiedi-preventivo .images {

		padding-inline: 0;
		justify-content: center;
		column-gap: 2rem;
	}
}

/* @end */


/* !@group form */

.form-style input:not([type="checkbox"])::-webkit-input-placeholder,
.form-style textarea::-webkit-input-placeholder { /* Chrome/Opera/Safari */

	color: #333;
	transition: opacity .3s;
	font-size: 1.8rem;
	font-weight: 500;
}

.form-style input:not([type="checkbox"])::-moz-placeholder,
.form-style textarea::-moz-placeholder { /* Firefox 19+ */

	color: #333;
	transition: opacity .3s;
	font-size: 1.8rem;
	font-weight: 500;
}

.form-style input:not([type="checkbox"]):-moz-placeholder,
.form-style textarea:-moz-placeholder { /* Firefox 18- */

	color: #333;
	transition: opacity .3s;
	font-size: 1.8rem;
	font-weight: 500;
}

.form-style input:focus:not([type="checkbox"])::-webkit-input-placeholder,
.form-style textarea:focus::-webkit-input-placeholder { /* Chrome/Opera/Safari */

	opacity: 0;
}

.form-style input:focus:not([type="checkbox"])::-moz-placeholder,
.form-style textarea:focus::-moz-placeholder { /* Firefox 19+ */

	opacity: 0;
}

.form-style input:focus:not([type="checkbox"]):-moz-placeholder,
.form-style textarea:focus:-moz-placeholder { /* Firefox 18- */

	opacity: 0;
}

.form-style input.error:not([type="checkbox"])::-webkit-input-placeholder { color: var(--attention); }
.form-style input.error:not([type="checkbox"])::-moz-placeholder { color: var(--attention); }
.form-style input.error:not([type="checkbox"]):-moz-placeholder { color: var(--attention); }

.form-style select { appearance: none; }

.form-style input[type="date"]::-webkit-inner-spin-button,
.form-style input[type="date"]::-webkit-calendar-picker-indicator {

	display: none;
	-webkit-appearance: none;
}

.form-style input[type='text'],
.form-style input[type='email'],
.form-style input[type='date'],
.form-style select,
.edita-form-builder .efb-select,
.form-style textarea,
.edita-form-builder .fakeinput {

	-moz-appearance: none;
	-webkit-appearance: none;
	border: none;
	border-bottom: .2rem solid var(--green);
	color: var(--green);
	background-color: var(--white);
	height: 7rem;
	width: 100%;
	font-family: var(--font1);
	font-size: 1.8rem;
	padding: 0 6rem 0 2rem;
	outline: none;
	border-radius: 0;
	box-shadow: none;
	transition:
		.35s color,
		.35s background-color,
		.35s border;
}

.edita-form-builder .fakeinput {
	line-height: 7rem;
}

.form-style textarea {

	height: 17rem;
	font-family: var(--font1);
	font-weight: normal;
	font-size: 2rem;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

.form-style input[type='text']:focus,
.form-style input[type='email']:focus,
.form-style input[type='date']:focus,
.form-style select:focus,
.form-style textarea:focus {

	background-color: var(--teal-lt);
	border-color: var(--teal);
	box-shadow: none;
}

.form-style input[type='checkbox'] {

	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	width: 1.8rem;
	height: 1.8rem;
	background: url( './assets/svg/checkbox.svg' ) no-repeat left top;
}

.form-style input[type='checkbox']:checked { background-position-y: bottom; }

.form-style label {

	color: var(--green);
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 500;
	padding-left: 2rem;
}

.form-style label[for='efb-418'],
.form-style label[for='efb-436'],
.form-style label[for='efb-420'],
.form-style label[for='efb-417'],
.form-style label[for='efb-434'],
.form-style label[for='efb-435'],
.form-style label[for='efb-432'] { display: none; }

.form-style a {

	color: var(--green);
	font-size: 1.6rem;
	font-weight: 600;
}

.edita-form-builder label.efb-choice {

	font-size: 1.6rem;
}

.form-style .efb-submit {

	color: var(--green);
	background-color: var(--white);
	font-family: var(--font2);
	font-size: 2.2rem;
	line-height: 1;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05ch;
	width: 100%;
	height: 9.4rem;
	border: .2rem solid var(--green);
	border-radius: 4.7rem;
	padding-inline: 2rem;
	transition:
		color .35s ease,
		background-color .35s ease,
		border-color .35s ease;
}

body:not( .touch ) .form-style .efb-submit:hover {

	color: var(--white);
	background-color: var(--green);
}

form.edita-form-builder li .visibleIcon {

	pointer-events: none;
	display: block;
	top: 3rem;
	right: 3rem;
	font-size: 1.2rem;
	color: var(--green);
	transition: color .35s ease;
}

.form-style form.edita-form-builder li :focus + .visibleIcon { color: var(--teal-dk); }
.form-style form.edita-form-builder li .efb-error + .visibleIcon { color: red; }

form.edita-form-builder li#item-efb-509 .visibleIcon { top: 5rem; }
form.edita-form-builder li#item-efb-432 .visibleIcon { top: 3rem; }

.edita-form-builder li,
.entry-content .edita-form-builder li,
.comment-content .edita-form-builder li,
.mu_register .edita-form-builder li {
	padding-bottom: 2rem;
}

.edita-form-builder li.efb-left-half,
.edita-form-builder li.efb-right-half {
	width: 50%;
}

.edita-form-builder label .efb-required-asterisk {

	color: #333;
	font-weight: 500;
}

.edita-form-builder label .efb-required-asterisk::before { content: '('; }
.edita-form-builder label .efb-required-asterisk::after { content: ')'; }

input.efb-error, input.efb-text.efb-error, input[type="text"].efb-text.efb-error, input[type="tel"].efb-text.efb-error, input[type="email"].efb-text.efb-error, input[type="url"].efb-text.efb-error, select.efb-error, textarea.efb-error, textarea.efb-textarea.efb-error {

	border: none;
	border-bottom: 2px solid red;
	outline: none;
	box-shadow: none;
}

input.efb-text.efb-error:focus, input[type="text"].efb-text.efb-error:focus, input[type="tel"].efb-text.efb-error:focus, input[type="email"].efb-text.efb-error:focus, input[type="url"].efb-text.efb-error:focus, textarea.efb-textarea.efb-error:focus { box-shadow: none; }

.efb-section-div.open-room,
.efb-section-div.open-date {

	border: .2rem solid var(--green);
	z-index: 4;
}

.edita-form-builder .plusminus-content a.dec,
.edita-form-builder .plusminus-content a.inc {

	color: var(--white);
	background-color: var(--teal);
}

.edita-form-builder .sectionFooter .efb-done {

	color: var(--white);
	background-color: var(--green);
	border-radius: 2.2rem 0 0 2.2rem;
}

.edita-form-builder .sectionFooter .efb-cancel {

	color: var(--green);
	background-color: var(--teal);
	border-radius: 0 2.2rem 2.2rem 0;
}

.form-response {

	color: var(--white);
	background-color: var(--green);
	padding: 6rem;
	width: 100%;
	max-width: 100rem;
	margin-inline: auto;
}

.form-response h3 {

	font-family: var(--font2);
	font-size: 4rem;
	line-height: 1;
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: 4rem;
}

.ui-datepicker.ui-widget .ui-datepicker-calendar .ui-state-default.ui-state-active, .ui-datepicker.ui-widget .ui-datepicker-calendar .ui-state-default.ui-state-hover {

	background-color: var(--green);
}


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

	.edita-form-builder li.efb-one-quarter,
	.edita-form-builder li.efb-left-third,
	.edita-form-builder li.efb-middle-third,
	.edita-form-builder li.efb-right-third { width: 50%; }
	.form-style .efb-submit { margin-top: 4rem; }
}


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

	.form-style input[type='text'],
	.form-style input[type='email'],
	.form-style input[type='date'],
	.form-style select,
	.form-style textarea {
		height: 5.5rem;
	}

	.form-style textarea {
		height: 14rem;
	}

	#form-section.form-info>.inner,
	#form-section.form-business>.inner {
		padding: 0;
		border: 0;
	}

	form.edita-form-builder li .visibleIcon { top: 2rem; }

}


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

	.edita-form-builder li.efb-left-half#item-efb-509 { width: 100%; }
}


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

	.form-style input[type='text'],
	.form-style input[type='email'],
	.form-style input[type='date'],
	.form-style select,
	.form-style textarea {

		height: 5rem;
		padding-inline: 1rem 4rem;
	}

	.form-style textarea { height: 15rem; }
	.edita-form-builder li.efb-one-quarter,
	.edita-form-builder li.efb-left-half,
	.edita-form-builder li.efb-right-half,
	.edita-form-builder li.efb-left-third,
	.edita-form-builder li.efb-middle-third,
	.edita-form-builder li.efb-right-third { width: 100%; }
	.form-style .efb-submit { font-size: clamp(1.8rem, 1vw, 2rem); }

	form.edita-form-builder li .visibleIcon {

		font-size: 1rem;
		right: 1rem;
	}

	#form-section { padding-bottom: 0; }
	.form-style .efb-submit { margin-block: 0; }
	form.edita-form-builder { margin-bottom: 0; }

	.form-response {

		padding: 3rem;
		margin-block: 3rem;
	}

	.form-response h3 {

		font-size: 2.8rem;
		margin-bottom: 2rem;
	}
}

/* @end */


/* !@group site footer */

#site-footer { padding-top: 0 }
#site-footer .inner { padding-inline: calc( var(--gutter) * 2 ); }
#site-footer > .top { padding-bottom: clamp( 5.8rem, 5.8vw, 11.6rem ); }

#site-footer > .bottom > .inner {

	height: 8.4rem;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	column-gap: 3rem;
}

#site-footer .row {

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

.row.row-2 { padding-top: 1rem; }

.row.row-1 > .left,
.row.row-2 > .left {

	order: 1;
	flex: 0 0 calc( 50% - clamp( 6.5rem, 6.5vw, 13rem ) - 2rem );
}

.row.row-1 > .center,
.row.row-2 > .center {

	order: 2;
	flex: 0 0 clamp( 13rem, 13vw, 26rem );
	display: flex;
	flex-direction: row;
	justify-content: center;
}

.row.row-1 > .right,
.row.row-2 > .right {

	order: 3;
	flex: 0 0 calc( 50% - clamp( 6.5rem, 6.5vw, 13rem ) - 2rem );
	text-align: right;
}

.row.row-1 > .center { padding-bottom: 9rem; }

#site-footer h4 {

	font-family: var(--font2);
	font-size: 2.2rem;
	line-height: 1;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05ch;
	margin-bottom: 3rem;
}

#site-footer address {

	font-size: 1.8rem;
	line-height: 1.7;
	font-weight: 300;
	margin-bottom: 3rem;
}

.footer-contacts {

	font-size: 1.8rem;
	line-height: 1.7;
}

.footer-contacts a {

	color: var(--white);
	font-weight: 300;
	text-decoration: none;
}

.footer-contacts a b { font-weight: 700; }

.legal {

	font-size: 1.6rem;
	line-height: 1.6;
}

.legal a {

	color: var(--white);
	text-decoration: underline;
	text-decoration-thickness: .05rem;
}

.social {

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

.social a {

	color: var(--white);
	font-size: 2.6rem;
	line-height: 1;
	text-decoration: none;
}

.financial {

	font-size: 1.7rem;
	line-height: 1.5;
}

#recaptcha {

	display: block;
	font-size: 1.6rem;
	line-height: 1;
	text-decoration: underline;
}

#credits {

	flex: 0 0 16rem;
	display: block;
	font-size: 1.6rem;
	line-height: 1;
}

#credits a {

	color: var(--text);
	font-weight: 700;
	text-decoration: none;
}


a#link-whatsapp {

	display: none;
	width: 4.8rem;
	height: 4.8rem;
	border-radius: 50%;
	color: var(--green);
	background-color: var(--white);
	font-size: 3.4rem;
	line-height: 3.4rem;
	text-decoration: none;
	position: fixed;
	right: 2rem;
	bottom: 1rem;
	z-index: 6;
	box-shadow: 0 0 .5rem rgba(0,0,0,.2);
	transition: color .25s ease;
}

a#link-whatsapp span {

	margin: auto;
	padding-top: .6rem;
}

#location-link { display: none; }


@media screen and (max-width: 1400px) { #site-footer { padding-top: 1rem; } }

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

	#site-footer { padding-top: 2rem; }
	#recaptcha { font-size: 1.4rem; }
}

@media screen and (max-width: 1024px) { #site-footer { padding-top: 4rem; } }

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

	#site-footer { padding-bottom: calc( var(--cta-height) + 2rem ); }
	a#link-whatsapp { display: flex; }

	#location-link {

		color: var(--white);
		font-family: var(--font2);
		line-height: 1;
		font-weight: 600;
		text-transform: uppercase;
		text-decoration: none;
		display: inline-flex;
		align-items: center;
		height: 6rem;
		padding-inline: 3rem;
		border: .2rem solid var(--white);
		border-radius: 3rem;
		margin-bottom: 3rem;
	}
}


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

	#site-footer .inner {

		display: flex;
		flex-direction: column;
		row-gap: 4rem;
		text-align: center;
	}

	#site-footer .row { display: contents; }
	#site-footer .row.row-1 > .center { padding: 0 5rem; }
	.row.row-1 > .right,
	.row.row-2 > .right { text-align: center; }
	.row.row-1 > .center,
	.row.row-2 > .center { flex: initial; }

	#site-footer .row.row-1 > .center 	{ order: 1; }
	#site-footer .row.row-1 > .left 	{ order: 2; }
	#site-footer .row.row-2 > .left 	{ order: 3; }
	#site-footer .row.row-1 > .right 	{ order: 4; }
	#site-footer .row.row-2 > .right 	{ order: 5; }
	#site-footer .row.row-2 > .center 	{ order: 6; }
	.social { justify-content: center; }

	#site-footer > .bottom > .inner {

		flex-direction: column;
		row-gap: 2rem;
		height: initial;
		padding: var(--gutter);
		text-align: center;
	}

	a#link-whatsapp { right: 1rem; }
}

/* @end */


/* !@group modal */

body.modal-open { overflow-y: hidden; }

#modal {

	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--gallery-back);
	z-index: 5;
	padding: 0 3rem;
	-webkit-backdrop-filter: blur(2rem);
	backdrop-filter: blur(2rem);
}

#modal #page { display: none; }
body.modal-open { overflow-y: hidden; }

.modal-open #modal {

	display: flex;
	pointer-events: all;
}

.modal-inner {

	width: 100%;
	max-width: 86rem;
	max-height: calc(100vh - 6rem);
	max-height: calc(100dvh - 6rem);
	margin: auto;
	position: relative;
	filter: drop-shadow(0 0 3rem rgba(0,0,0,.15));
}

#modal.large .modal-inner { max-width: 151rem; }

#modal-content {

	position: relative;
	color: var(--text);
	background-color: var(--white);
	padding: 7.4rem 7rem 6.4rem;
	max-height: calc(100vh - 6rem - 4.2rem);
	max-height: calc(100dvh - 6rem - 4.2rem);
	overflow-y: scroll;
	overscroll-behavior-y: none;
}

.modal-inner::after {

	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 6.4rem;
	background: linear-gradient(0deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 100%);
	pointer-events: none;
}

#modal-close {

	display: flex;
	justify-content: center;
	align-items: center;
	height: 4.2rem;
	background-color: var(--green);
	margin: 0 6rem 0 auto;
	padding: 0 3rem;
	cursor: pointer;
	position: relative;
	z-index: 1;
	border-radius: 2rem 2rem 0 0;
}

#modal-close .label {

	color: var(--white);
	font-family: var(--font1);
	font-size: 1.4rem;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .05ch;
	padding-right: 1.6rem;
}

#modal-close svg {

	fill: var(--white);
	display: block;
	width: 1.2rem;
	height: 1.2rem;
	transform-origin: center;
	transition: transform .25s ease-in;
}

body:not(.touch) #modal-close:hover svg { transform: rotate(180deg); }

h2.popup-title {

	color: var(--green);
	font-family: var(--font2);
	font-size: 5rem;
	font-weight: 900;
	line-height: 1;
	text-transform: lowercase;
	letter-spacing: initial;
	margin-bottom: 2rem;
}

#loader {

	display: block;
	width: 10rem;
	height: 10rem;
	margin: auto;
}

.ajax-modal-content h1 {

	color: var(--green);
	font-family: var(--font2);
	font-size: clamp( 3rem, 2vw, 4rem );
	line-height: 1;
	font-weight: 300;
	text-transform: uppercase;
	margin-bottom: 2rem;
}

.ajax-modal-content h2 {

	color: var(--green);
	font-family: var(--font1);
	font-size: clamp( 2rem, 1.2vw, 2.4rem );
	line-height: 1;
}

.ajax-modal-content ul li {

	padding-left: 2rem;
	background: url( './assets/svg/check.svg' ) no-repeat left top 1rem;
}


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

	#modal { padding: 1rem; }

	.modal-inner {

		max-height: calc(100vh - 2rem);
		max-height: calc(100dvh - 2rem);
		margin: 0;
	}

	.modal-inner::after { display: none; }

	#modal-content {

		padding: 3rem;
		max-height: calc(100vh - 2rem - 4.2rem);
		max-height: calc(100dvh - 2rem - 4.2rem);
	}

	h2.popup-title { font-size: 3rem; }

	#modal-close {

		margin-right: 3rem;
		border-radius: 1.5rem 1.5rem 0 0;
	}

	#modal-content .editor-content { font-size: 1.8rem; }
}

/* @end */
