/*
	Theme Name:  MASE Generators
	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 point-down {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(.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,
body:not( .touch ) .footer-menu a:hover,
body:not( .touch ) .main-menu a:hover {

	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;
}

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

	animation: point-down .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 */

.pswp__bg {

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

.pswp__img.pswp__img--placeholder--blank { background: transparent; }

.slider-controls {

	display: flex;
	flex-direction: row;
	column-gap: clamp( 2.24rem, 1.6vw, 3.2rem );
}

.slider-control button {

	background-color: var(--red);
	width: clamp( 6.2rem, 4.4vw, 8.8rem );
	height: clamp( 6rem, 4.2vw, 8.4rem );
	border-radius: clamp( 2.8rem, 2vw, 4rem );
	display: flex;
	transition: background-color .35s ease;
}

body:not( .touch ) .slider-control button:hover { background-color: var(--blue); }

.slider-control button svg {

	fill: var(--white);
	display: block;
	width: clamp( 1.5rem, 1.15vw, 2.3rem );
	height: clamp( 1.54rem, 1.1vw, 2.2rem );
	margin: auto;
}

.text-link {

	--color: var(--black);

	color: var(--color);
	font-size: 1.9rem;
	font-weight: 800;
	text-decoration: none;
	display: inline-block;
	position: relative;
}

.text-link::after {

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

.text-link.small {

	font-size: 1.4rem;
	line-height: 1.1;
}

.gallery-item a {

	position: relative;
	transition: opacity .75s ease;
}

body:not( .touch ) .gallery-item a:hover { opacity: .5; }

.gallery-item a::before {

	content: '';
	background: url( './assets/svg/expand.svg' ) no-repeat center center / contain;
	display: block;
	width: clamp( 9rem, 9vw, 18rem );
	height: clamp( 9rem, 9vw, 18rem );
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0);
	transition: all .75s ease;
}

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

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


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

	.slider-controls { column-gap: 1rem; }

	.slider-control button {

		width: 4.1rem;
		height: 4rem;
		border-radius: 1.8rem;
	}

	.slider-control button svg {

		width: clamp( 1.5rem, 1.15vw, 2.3rem );
		height: clamp( 1.54rem, 1.1vw, 2.2rem );
	}

	.text-link { font-size: 1.6rem; }
	.text-link::after { height: .1rem; }
}

/* @end */


/* remove WPML bar */
.otgs-development-site-front-end { display: none; }


/* !@group angles */

.angle {

	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -.2rem;
	pointer-events: none;
	transform-origin: right bottom;
	transform: scaleY(0);
}

.angle-top {

	background: url( './assets/svg/angle-top.svg' ) no-repeat center top / cover;
	bottom: initial;
	top: 0;
	height: clamp( 14rem, 14vw, 28rem );
	transform-origin: left top;
	z-index: 0;
}

.angle-white {

	background: url( './assets/svg/angle-white.svg' ) no-repeat center bottom / cover;
	height: max( 12.4rem, 12.4vw );
}

.angle-grey {

	background: url( './assets/svg/angle-grey.svg' ) no-repeat center bottom / cover;
	height: max( 12.4rem, 12.4vw );
}

.angle-red {

	background: url( './assets/svg/angle-red.svg' ) no-repeat center bottom / cover;
	left: initial;
	height: clamp( 4.75rem, 4.75vw, 9.5rem );
	width: clamp( 37.4rem, 37.4vw, 74.8rem );
}

.angle-red-right {

	background: url( './assets/svg/angle-red-right.svg' ) no-repeat center bottom / cover;
	left: initial;
	height: max( 6.4rem, 6.4vw );
	width: max( 50rem, 50vw );
}

.angle-red-left {

	background: url( './assets/svg/angle-red-left.svg' ) no-repeat center top / cover;
	right: initial;
	bottom: initial;
	top: 0;
	transform-origin: left top;
	height: max( 6.4rem, 6.4vw );
	width: max( 50rem, 50vw );
}

.angle.animate__animated {

	transition: transform .8s ease-out;
	transform: scale(1);
}


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

	.angle-red-right,
	.angle-red-left {

		background-size: contain;
		height: 12.8rem;
		width: 100%;
	}
}

/* @end */


/* !@group lang switcher */

.lang-switcher-wrapper {

	border-left: .1rem solid var(--color);
	border-right: .1rem solid var(--color);
	position: relative;
	transition: border-color .35s ease;
}

.lang-switcher-wrapper svg {

	fill: var(--color);
	position: absolute;
	top: 50%;
	right: 2.4rem;
	transform: translateY(-50%);
	transition: fill .35s ease;
}

#lang-switcher {

	appearance: none;
	-webkit-appearance: none;
	color: var(--white);
	border: 0;
	background: transparent;
	width: 10rem;
	height: 3.6rem;
	padding-left: 2.8rem;
	outline: none;
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 800;
	text-transform: uppercase;
	cursor: pointer;
}

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


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

	#lang-switcher {

		width: 6rem;
		height: 3rem;
		padding-left: 1.5rem;
		font-size: 1.6rem;
	}

	.lang-switcher-wrapper svg { right: 1rem; }
}

/* @end */


/* !@group main cta */

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

	color: var(--blue);
	border-color: var(--blue);
	background-color: var(--white);
}

/* .scroll #main-cta {

	color: var(--blue);
	border-color: var(--blue);
} */

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

	color: var(--white);
	background-color: var(--blue);
} */

body:not( .touch ) #main-cta:active,
body:not( .touch ).scroll #main-cta:active {

	color: var(--white);
	border-color: var(--red);
	background-color: var(--red);
}

.menu-open #main-cta {

	color: var(--color);
	border-color: var(--color);
}

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

	color: var(--blue);
	border-color: var(--white);
	background-color: var(--white);
}

body:not( .touch ).menu-open #main-cta:active {

	color: var(--white);
	border-color: var(--red);
	background-color: var(--red);
}

/* @end */


/* !@group mobile cta */

#mobile-cta { display: none; }


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

	#mobile-cta {

		display: inline-flex;
		align-items: center;
		height: 6rem;
		padding-inline: 4rem 6rem;
		border-radius: 0 5rem 0 0;
		color: var(--white);
		background-color: var(--red);
		font-size: 2.4rem;
		line-height: 1;
		font-weight: 300;
		text-decoration: none;
		box-shadow: 0 0 .8rem rgba(0,0,0,.25);
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 5;
	}

	#mobile-cta b { font-weight: 900; }
}


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

	#mobile-cta {

		height: 5rem;
		padding-inline: 3rem 5rem;
		border-radius: 0 4rem 0 0;
		font-size: 2rem;
	}
}

/* @end */


/* !@group secondary cta */

.secondary-cta {

	--color: var(--black);
	--border-color: var(--color);
	--background-color: transparent;

	color: var(--color);
	background-color: var(--background-color);
	font-size: clamp( 1.6rem, 0.9vw, 1.8rem );
	line-height: 1;
	font-weight: 900;
	text-decoration: none;
	height: clamp( 6.4rem, 4vw, 8rem );
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	column-gap: clamp( 2.8rem, 1.8vw, 3.6rem );
	padding-inline: clamp( 3.2rem, 2vw, 4rem );
	border: .2rem solid var(--border-color);
	border-radius: clamp( 3.2rem, 2vw, 4rem );
	transition:
		color .35s ease,
		border-color .35s ease,
		background-color .35s ease;
}

.secondary-cta svg {

	fill: var(--color);
	display: block;
	width: clamp( 1.84rem, 1.15vw, 2.3rem );
	height: clamp( 1.75rem, 1.1vw, 2.2rem );
	transition: fill .35s ease;
}

body:not( .touch ) .secondary-cta:hover {

	--color: var(--white);
	--border-color: var(--blue);
	--background-color: var(--blue);
}

/* @end */


/* !@group editor-content */

.editor-content :is( h2, h3, h4, h5, h6 ) {

	line-height: 1.4;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .025ch;
	margin-bottom: 1rem;
}

.editor-content h2 { font-size: 2.4rem; }
.editor-content h3 { font-size: 2.2rem; }
.editor-content h4 { font-size: 2.0rem; }
.editor-content h5 { font-size: 1.8rem; }
.editor-content h6 { font-size: 1.6rem; }

.editor-content p { margin-bottom: 3.4rem; }
.editor-content :is( b, strong ) { font-weight: 700; }
.editor-content :is( i, em ) { font-style: italic; }

.editor-content a {

	color: var(--red);
	font-weight: 600;
	transition: color .35s ease;
}

body:not( .touch ) .editor-content a:hover { color: var(--blue); }

.editor-content ul {

	list-style-type: square;
	margin: 0 0 3.4rem 2.4rem;
}

.editor-content ul li + li { margin-top: 1rem; }

.editor-content ul li::marker {

	color: var(--red);
	font-size: 1.6em;
	line-height: 1;
}

/* @end */


/* !@group main menu */

@property --image-scroll {

	syntax: '<percentage>';
	initial-value: 100%;
	inherits: true;
}

@keyframes image-scroll {

	0% {--image-scroll: 100%}
	100% {--image-scroll: 0%}
}

#main-menu {

	display: none;
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	color: var(--white);
	background: var(--menu-back);
	pointer-events: none;
}

body.menu-open { overflow: hidden; }

.menu-open #main-menu {

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

#main-menu > .inner {

	flex: 0 0 100%;
	display: flex;
	flex-direction: row;
	align-items: stretch;
}

#main-menu > .inner > .left {

	flex: 0 0 55%;
	display: flex;
	flex-direction: column;
}

#main-menu > .inner > .right { flex: 0 0 45%; }

.menu-image {

	background: url('./assets/inline/menu-image.jpg') no-repeat var(--image-scroll) center;
	background-size: auto 100%;
	opacity: .6;
	mix-blend-mode: color-dodge;
}

.menu-open .menu-image {

	animation-name: image-scroll;
	animation-duration: 48s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}

.main-menu {

	margin: clamp( var(--scroll-margin), 12vw, 24rem ) auto auto 33.333%;
	display: flex;
	flex-direction: column;
}

.main-menu li { position: relative; }

.main-menu li::before {

	content: '';
	background-color: var(--white);
	width: 0;
	height: .8rem;
	position: absolute;
	height: .8rem;
	position: absolute;
	right: calc(100% + 1.5rem);
	top: clamp( 1rem, 0.5vw, 1rem );
}

.main-menu li.current-menu-item::before {

	background-color: var(--red);
	width: 8rem;
}

.main-menu li + li { margin-top: clamp( 1rem, 1vw, 2rem ); }

.main-menu a {

	color: var(--white);
	font-size: clamp( 2rem, 1.5vw, 3rem );
	line-height: 1;
	font-weight: 800;
	text-decoration: none;
	position:
}

.main-menu ul.sub-menu {

	display: none;
	transform: scaleY(0);
	margin: clamp( 1.5rem, 1vw, 2rem ) 0 0 clamp(2.6rem, 2vw, 4rem);
	transition:
		opacity .35s ease,
		transform .35s ease;
}

.main-menu li.menu-item-has-children:hover ul.sub-menu {

	display: block;
	transform: scaleY(1);
	opacity: 1 !important;
}

.main-menu ul.sub-menu a {

	font-size: clamp( 1.8rem, 1.25vw, 2.5rem );
	font-weight: 500;
}

#main-menu > .inner .social {

	position: absolute;
	z-index: 1;
	right: clamp( 5rem, 5vw, 10rem );
	bottom: clamp( 3rem, 2.5vw, 5rem );
}

#main-menu > .inner .social a svg { fill: var(--white); }
body:not( .touch ) #main-menu > .inner .social a:hover svg { fill: var(--red); }


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

	#main-menu > .inner { flex-direction: column; }
	#main-menu > .inner > .left { flex: 0 0 calc( 100% - var(--cta-height) ); }

	#main-menu > .inner > .right {

		flex: 0 0 var(--cta-height);
		background-image: none;
	}

	#main-menu > .inner .social {

		margin-top: 0;
		column-gap: 3rem;
		right: 1rem;
		bottom: .5rem;
	}
}

/* @end */


/* !@group slider-section */

.header-overlay {

	position: absolute;
	left: 0;
	right: 0;
	bottom: min( 26.5vh, 31.6rem );
	padding-left: var(--gutter);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: clamp( 2.25rem, 2.25vw, 4.5rem );
}

.payoff {

	color: var(--white);
	font-size: clamp( 7.325rem, 7.325vw, 14.65rem );
	line-height: .8;
	font-weight: 900;
	text-transform: uppercase;
}


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

	.header-overlay {

		padding-left: 6.5vw;
		row-gap: 3rem;
		bottom: 24vw;
	}

	.payoff {

		font-size: 8.85vw;
		line-height: .9;
	}
}


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

	.header-overlay { bottom: 16rem; }
}

/* @end */


/* !@group search form */

.header-search {

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

.header-search .dgwt-wcas-search-wrapp {

	color: var(--white);
	min-width: initial;
	max-width: initial;
	line-height: 1;
}

.header-search .dgwt-wcas-sf-wrapp {

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

.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input,
.search-input {

	appearance: none;
	-webkit-appearance: none;
	color: var(--white);
	font-size: clamp( 1.6rem, 1vw, 2rem );
	line-height: 1;
	background-color: rgba(255,255,255,0);
	height: clamp( 6.4rem, 4vw, 8rem );
	width: clamp( 20.4rem, 12.8vw, 25.6rem );
	border: .15rem solid var(--white);
	border-radius: clamp( 3.2rem, 2vw, 4rem ) 0 0 clamp( 3.2rem, 2vw, 4rem );
	border-right: 0;
	padding-inline: clamp( 3.2rem, 2vw, 4rem ) clamp( 0.8rem, 0.5vw, 1rem );
	outline: none;
	transition: background-color .35s ease;
}

.header-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus {

	border-radius: clamp( 3.2rem, 2vw, 4rem ) 0 0 clamp( 3.2rem, 2vw, 4rem );
}

.header-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input::-webkit-input-placeholder,
.search-input::-webkit-input-placeholder {

	color: var(--white);
	transition: opacity .35s;
	font-size: clamp( 1.6rem, 1vw, 2rem );
}

.header-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input::-moz-placeholder,
.search-input::-moz-placeholder {

	color: var(--white);
	transition: opacity .35s;
	font-size: clamp( 1.6rem, 1vw, 2rem );
}

.header-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:-moz-placeholder,
.search-input:-moz-placeholder {

	color: var(--white);
	transition: opacity .35s;
	font-size: clamp( 1.6rem, 1vw, 2rem );
}

.header-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus::-webkit-input-placeholder,
.search-input:focus::-webkit-input-placeholder { opacity: 0; }

.header-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus::-moz-placeholder,
.search-input:focus::-moz-placeholder { opacity: 0; }

.header-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus:-moz-placeholder,
.search-input:focus:-moz-placeholder { opacity: 0; }

.header-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus,
.search-input:focus { background-color: rgba(255,255,255,.15); }


.header-search .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:before {

	display: none;
}

.header-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit,
.search-button {

	background-color: rgba(255,255,255,0);
	height: clamp( 6.4rem, 4vw, 8rem );
	width: clamp( 6.4rem, 4vw, 8rem );
	border: .15rem solid var(--white);
	border-radius: 0 clamp( 3.2rem, 2vw, 4rem ) clamp( 3.2rem, 2vw, 4rem ) 0;
	padding: 0;
	min-width: initial;
	border-left: none;
	line-height: 1;
	min-height: initial;
	position: relative;
	right: initial;
	left: initial;
	top: initial;
	bottom: initial;
	transition:
		top .15s ease,
		background-color .35s ease;
}
 { display: contents; }

.header-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:hover,
.header-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:active,
.header-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:focus { opacity: 1; }

.header-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus +
.dgwt-wcas-preloader +
.dgwt-wcas-voice-search +
button.dgwt-wcas-search-submit { background-color: rgba(255,255,255,.15); }

.header-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit > .dgwt-wcas-ico-magnifier { display: none; }

.header-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit::after {

	content: '';
	background: var(--accent) url( './assets/svg/search.svg' ) no-repeat center center / clamp( 2.15rem, 1.35vw, 2.7rem ) clamp( 2.15rem, 1.35vw, 2.7rem );
	display: flex;
	width: clamp( 7.03rem, 4.4vw, 8.8rem );
	height: clamp( 7.03rem, 4.4vw, 8.8rem );
	border-radius: 50%;
	position: absolute;
	top:clamp( -0.6rem, -0.3vw, -0.48rem );
	right: clamp( -0.6rem, -0.3vw, -0.48rem );
	transition: background-color .35s ease;
}

body:not( .touch ) .header-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:hover::after { background-color: var(--red); }
.header-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:active::after { top: clamp( -0.3rem, -0.15vw, -0.24rem ); }
.dgwt-wcas-suggestion-selected .dgwt-wcas-st-title { color: var(--white); }

:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button {

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

:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover {

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


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

	.header-search > .label { display: none; }
}

/* @end */


/* !@group header search */

#header-search {

	position: relative;
	top: -15rem;
	transition: top .25s ease;
}

:is( .scroll, .no-slide ) #header-search { top: 0; }

.header-search {

	color: var(--white);
	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: 1rem;
}

.header-search > .label {

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

.header-search .dgwt-wcas-search-icon-arrow { display: none !important; }

.header-search .dgwt-wcas-search-icon {

	background: color-mix( in srgb, var(--red) 72%, transparent ) url( './assets/svg/search.svg' ) no-repeat center center / 1.9rem 1.9rem;
	display: block;
	width: 6.2rem;
	height: 6.2rem;
	border-radius: 50%;
	display: flex;
	transition: background-color .35s ease;
}

body:not( .touch ) .header-search .dgwt-wcas-search-icon:hover { background-color: var(--red); }
.header-search .dgwt-wcas-search-icon svg { display: none; }
.header-search #dgwt-wcas-search-input-1 { background-color: var(--white); }
.header-search .dgwt-wcas-sf-wrapp #dgwt-wcas-search-input-1 + .dgwt-wcas-preloader + .dgwt-wcas-voice-search + button.dgwt-wcas-search-submit { background-color: var(--white); }
#header-search .dgwt-wcas-search-form { filter: drop-shadow(0 .5rem 1rem rgba(0,0,0,.2)); }


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

	#header-search.header-search .dgwt-wcas-search-icon {

		width: 4rem;
		height: 4rem;
		margin-inline: auto;
	}
}

/* @end */


/* !@group breadcrumbs */

.breadcrumbs {

	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: center;
	height: 9rem;
	padding-inline: 3rem;
}

.breadcrumbs::after {

	content: '';
	background-color: var(--black);
	height: .1rem;
	width: 142rem;
	pointer-events: none;
	position: absolute;
	right: 0;
	bottom: 0;
}

.breadcrumbs > .inner {

	width: 100%;
	max-width: 130rem;
	margin-inline: auto;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
}

.breadcrumbs dl {

	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: .75ch;
	font-weight: 700;
	line-height: 1;
}

.breadcrumbs dl dt {

	font-size: 1.6rem;
	padding-right: .4rem;
}

.breadcrumbs dd {

	font-size: 1.8rem;
	text-transform: uppercase;
}

.breadcrumbs dd .active { color: var(--red); }

.breadcrumbs a {

	color: var(--md-grey);
	background: url( './assets/svg/breadcrumb.svg' ) no-repeat center right;
	padding-right: 1.2rem;
	text-decoration: underline;
	transition: color .35s ease;
}

body:not( .touch ) .breadcrumbs a:hover { color: var(--red); }

/* @end */


/* !@group titles */

h1.site-title {

	color: var(--title);
	font-size: clamp( 4rem, 3.25vw, 6.5rem );
	line-height: 1.2;
	font-weight: 900;
	padding-bottom: clamp( 2.25rem, 2.25vw, 4.5rem );
	text-wrap: balance;
}

.single-product h1.site-title { padding-bottom: 2rem; }

.with-underline { position: relative; }

.with-underline::after {

	content: '';
	background-color: var(--red);
	height: clamp( 0.75rem, 0.75vw, 1.5rem );
	width: clamp( 8rem, 8vw, 16rem );
	position: absolute;
	left: 0;
	top: 100%;
}

p.subtitle {

	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .025ch;
	margin-bottom: 3.5rem;
}


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

	h1.site-title {

		font-size: 3.4rem;
		padding-bottom: 2rem;
	}

	p.subtitle {

		font-size: 2.2rem;
		margin-bottom: 3rem;
	}
}

/* @end */


/* !@group home content */

.home-content { padding: 4rem 3rem clamp( 7rem, 7vw, 14rem ); }

.home-content > .inner {

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

.home-content > .inner > .left {

	flex-grow: 1;
	max-width: 58rem;
	padding-top: clamp( 5rem, 5vw, 10rem );
}

.home-content > .inner > .right { flex: 0 0 53rem; }
.home-content > .inner > .right .editor-content { padding-bottom: 3.4rem; }


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

	.home-content { padding-block: 6rem; }

	.home-content > .inner {

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

	.home-content > .inner > .left { padding-top: 0; }
	.home-content > .inner > .right { flex: initial; }
}


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

	.home-content { padding-block: 4rem; }
}

/* @end */


/* !@group page content */

#page-content {

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

.no-slide #page-content { padding-top: clamp( 10rem, 10vw, 20rem ); }

.internal-page { padding: 7.5rem 3rem; }
.page-template-template-lavora-con-noi .internal-page,
.page-template-template-richiedi-info .internal-page,
.page-template-template-rassegna-stampa .internal-page { padding-bottom: clamp( 8.9rem, 8.9vw, 17.8rem ); }

.blog .internal-page,
.single-post .internal-page { padding-bottom: clamp( 10rem, 10vw, 20rem ); }

.internal-page > .inner {

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

.internal-page .page-header { padding-bottom: 3rem; }
.internal-page .page-header > .image { margin-bottom: clamp( 3rem, 2.5vw, 5rem ); }

.internal-page-content {

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

.internal-page-content > .left {

	flex: 0 0 24.6rem;
	padding-bottom: 3.4rem;
}

.child-term .internal-page-content > .left { flex: 0 0 clamp( 19rem, 12.3vw, 24.6rem ); }

.internal-page-content > .right { flex-grow: 1; }

.internal-page-content > .left > .bar {

	background-color: var(--red);
	width: 16rem;
	height: 1.5rem;
	position: sticky;
	top: var(--scroll-margin);
}


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

	#page-content { padding-top: 8rem; }
	.internal-page { padding-block: 4rem; }
	.internal-page .page-header { padding-bottom: 2rem; }
	.internal-page-content > .left { display: none; }
}

/* @end */


/* !@group page content > single product */

.single-product .internal-page > .inner {

	max-width: 157rem;
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	column-gap: 9.3%;
}

.single-product .internal-page { padding-block: clamp( 6.4rem, 6.4vw, 12.8rem ) clamp( 9.1rem, 9.1vw, 18.2rem ); }
.single-product .internal-page .image { flex: 0 0 clamp( 26.1rem, 26.1vw, 52.2rem ); }

.single-product .internal-page .text {

	flex-grow: 1;
	display: flex;
	flex-direction: column;
	padding-top: clamp( 1.25rem, 1.25vw, 2.5rem );
}

.single-product .internal-page .text .editor-content {

	font-size: clamp( 1.8rem, 1.2vw, 2.4rem );
	line-height: 1.4;
}

.single-product .internal-page .text .product-footer {

	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
	padding-right: clamp( 5.8rem, 5.8vw, 11.6rem );
	margin-top: clamp( 2rem, 2vw, 4rem );
}

.scheda-tecnica {

	color: var(--black);
	background-color: var(--white);
	font-size: clamp( 1.6rem, 1.15vw, 2.3rem );
	line-height: 1;
	font-weight: 300;
	text-decoration: none;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	column-gap: clamp( 3.5rem, 2.5vw, 5rem );
	height: clamp( 6.6rem, 4.7vw, 9.4rem );
	border: .3rem solid var(--red);
	border-radius: clamp( 3.3rem, 2.35vw, 4.7rem );
	padding-inline: clamp( 3.3rem, 2.35vw, 4.7rem ) clamp( 0.7rem, 0.5vw, 1rem );
	transition:
		color .35s ease,
		background-color .35s ease;
}

.scheda-tecnica b { font-weight: 900; }

.scheda-tecnica .svg-arrow-down {

	background-color: var(--red);
	display: flex;
	width: clamp( 4.6rem, 3.3vw, 6.6rem );
	height: clamp( 4.6rem, 3.3vw, 6.6rem );
	border-radius: 50%;
	transition: background-color .35s ease;
}

.scheda-tecnica .svg-arrow-down svg {

	fill: var(--white);
	margin: auto;
	transition: fill .25s ease;
}

body:not( .touch ) .scheda-tecnica:hover {

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

body:not( .touch ) .scheda-tecnica:hover .svg-arrow-down { background-color: var(--white); }
body:not( .touch ) .scheda-tecnica:hover .svg-arrow-down svg { fill: var(--black); }

.single-product .internal-page .dettagli.editor-content {

	font-size: 1.6rem;
	line-height: 1.4;
	text-align: right;
	position: relative;
	margin-bottom: 1.6rem;
}

.single-product .internal-page .dettagli.editor-content.with-underline::after {

	left: initial;
	right: 0;
}


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

	.single-product .internal-page .text .product-footer {

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

/* @end */


/* !@group page content with aside */

.page-columns {

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

.page-columns .main-column { flex-grow: 1; }

.page-columns aside {

	flex: 0 0 clamp( 33.8rem, 24.2vw, 48.4rem );
	padding: 6rem 0 clamp( 9.9rem, 9.9vw, 19.8rem ) 3.4rem;
}

.page-columns .internal-page { padding-inline: clamp( 4.5rem, 4.5vw, 9rem ) 3rem; }

.page-columns .internal-page > .inner {

	width: 100%;
	max-width: 54.8vw;
	margin-inline: 0 auto;
}


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

	.page-columns .internal-page > .inner { max-width: 109.6rem; }
}


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

	.child-term .internal-page-content > .left { display: none; }
}

/* @end */


/* !@group search page */

.search-page .internal-page .page-header { padding-bottom: 0; }

.page-columns aside.search-aside { padding-top: 8.5rem; }

.search-title {

	color: var(--black);
	font-size: 4rem;
	line-height: 1;
	font-weight: 800;
}

.search-title .search-term {

	color: var(--red);
	font-weight: 900;
}

.search-aside .bar {

	background-color: var(--red);
	width: 16rem;
	height: 1.5rem;
	margin-left: auto;
	position: sticky;
	top: var(--scroll-margin);
}

.breadcrumbs .search-count {

	color: var(--white);
	background-color: var(--red);
	display: inline-flex;
	height: 3rem;
	line-height: 3rem;
	padding-inline: 1.2rem;
	border-radius: 1.5rem;

}

/* @end */


/* !@group page gallery */

#page-gallery { padding-top: 4rem; }

#page-gallery > .inner {

	width: 100%;
	max-width: 134rem;
	margin-inline: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	row-gap: 3rem;
	column-gap: 3rem;
}

.gallery-slide { flex: 0 0 calc( 33.333% - 2rem ); }

.gallery-slide figcaption {

	text-align: center;
	font-weight: 700;
	padding-top: 1rem;
}

.gallery-slide a {

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


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

	#page-gallery > .inner { flex-direction: column; }
}

/* @end */


/* !@group contenuto aggiuntivo */

#contenuto-aggiuntivo { padding-top: 4rem; }
#page-gallery + #contenuto-aggiuntivo { padding-top: 8rem; }

#contenuto-aggiuntivo > .inner {

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

/* @end */


/* !@group filters */

#filters {

	position: sticky;
	top: var(--scroll-margin);
	border-bottom: .3rem solid var(--red);
}

#filters > .form-content {

	padding-bottom: clamp( 2rem, 1.4vw, 2.8rem );
	max-height: calc( 100vh - var(--scroll-margin) - clamp( 4rem, 2.7vw, 5.4rem ) );
	max-height: calc( 100dvh - var(--scroll-margin) - clamp( 4rem, 2.7vw, 5.4rem ) );
	overflow-y: scroll;
}

#filters > .form-header {

	color: var(--white);
	background-color: var(--red);
	height: clamp( 4rem, 2.7vw, 5.4rem );
	padding-inline: clamp( 3.64rem, 2.6vw, 5.2rem );
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

#filters > .form-header::after {

	content: '';
	background: url( './assets/svg/filter-triangle.svg' ) no-repeat center top;
	width: 4rem;
	height: 1.3rem;
	position: absolute;
	top: 100%;
	right: clamp( 3rem, 2.2vw, 4.4rem );
}

#filters > .form-header h4 {

	font-size: clamp( 1.4rem, 0.8vw, 1.6rem );
	line-height: 1;
	font-weight: 800;
	text-transform: uppercase;
}

#filters > .form-header .svg-filters {

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

#filters .filter-row {

	padding: clamp( 1.4rem, 1vw, 2rem ) clamp( 2.52rem, 1.8vw, 3.6rem ) 0;
	display: flex;
	flex-direction: column;
	row-gap: clamp( 0.56rem, 0.4vw, 0.8rem );
	position: relative;
}

#filters .filter-row label {

	font-size: clamp( 1.4rem, 0.8vw, 1.6rem );
	line-height: 1;
	font-weight: 700;
	margin-inline: clamp( 1.26rem, 0.9vw, 1.8rem );
	text-transform: uppercase;
	border-bottom: .1rem solid #aaa;
}

#filters .filter-row label[for='filters-hz'] { text-transform: initial; }

#filters .filter-row select {

	appearance: none;
	-webkit-appearance: none;
	outline: none;
	border: 0;
	color: var(--text);
	background: var(--grey) url( './assets/svg/select-black.svg' ) no-repeat center right clamp( 1.44rem, 1.1vw, 2.2rem );
	height: clamp( 3rem, 2.1vw, 4.2rem );
	font-size: clamp( 1.4rem, 0.8vw, 1.6rem );
	padding-inline: clamp( 1.26rem, 0.9vw, 1.8rem ) clamp( 3.36rem, 2.4vw, 4.8rem );
	transition: background-color .35s ease;
}

body:not( .touch ) #filters .filter-row select:hover { background-color: var(--grey-hover); }

#filters .filter-row .filter-remove-item {

	color: var(--red);
	font-size: clamp(2.8rem, 2vw, 4rem);
	line-height: 1;
	font-weight: 700;
	text-decoration: none;
	position: absolute;
	z-index: 1;
	right: clamp(5.95rem, 4.25vw, 8.5rem);
	bottom: clamp(0.21rem, 0.15vw, 0.3rem);
	align-self: flex-end;
	transition: color .35s ease;
}

body:not( .touch ) #filters .filter-row .filter-remove-item:hover { color: var(--blue); }

#filters .filter-clear-row {

	text-align: right;
	padding-inline: clamp( 1.8rem, 1.8vw, 3.6rem );
	margin-bottom: -1rem;
}

#filters .filter-clear-row .text-link {

	display: inline-block;
	margin: 0 0 0 auto;
}

/* @end */


/* !@group documents */

.documents {

	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 1rem;
	row-gap: 2rem;
	padding-top: 2rem;
}

.documents a {

	color: var(--black);
	background: var(--white) url( './assets/background/pdf.png' ) no-repeat left 1rem center / 2.1rem 2.3rem;
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 800;
	text-decoration: none;
	display: inline-flex;
	flex-direction: row;
	height: 6rem;
	border-top: .1rem solid var(--black);
	border-bottom: .1rem solid var(--black);
	padding-inline: 4.5rem 1.5rem;
	transition:
		color .35s ease,
		background-color .35s ease;
}

.documents a > span { margin: auto; }
body:not( .touch ) .documents a:hover { color: var(--red); }

/* @end */


/* !@group product list */

#product-list { padding-bottom: clamp( 5.9rem, 5.9vw, 11.8rem ); }
#product-list > .inner { margin: 0 clamp( 3rem, 2.2vw, 4.4rem ) 0 clamp( 4.5rem, 4.5vw, 9rem ); }
#product-list .section-header { padding-bottom: 2rem; }

#product-list .section-header h2 {

	color: var(--red);
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 800;
}

#product-list .section-content {

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

/* @end */


/* !@group product card */

.product-card {

	color: var(--dk-blue);
	background-color: var(--grey);
	flex: 0 0 calc( 25% - 3rem );
	display: flex;
	flex-direction: column-reverse;
	row-gap: 3rem;
	padding: 4.4rem 3rem 3.6rem;
	transition: background-color .35s ease;
}

body:not( .touch ) .product-card:hover { background-color: var(--grey-hover); }

.product-card .card-title {

	font-size: clamp( 2rem, 1.3vw, 2.6rem );
	line-height: 1;
	font-weight: 900;
	margin-bottom: 1.2rem;
}

.product-card .card-desc {

	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: 400;
}

.product-card .card-desc :is( strong, b ) { font-weight: 800; }
.product-card .card-desc :is( em, i ) { font-style: italic; }
.product-card .text-link { margin-top: 4rem; }

.product-card .image {

	margin-inline: auto;
	padding-inline: 2rem;
}


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

	.product-card { flex: 0 0 calc( 33.333% - 1.333rem ); }
}

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

	.product-card { flex: 0 0 calc( 50% - 1rem ); }
}

/* @end */


/* !@group pagination */

.woocommerce nav.woocommerce-pagination ul { border-color: var(--md-grey); }
.woocommerce nav.woocommerce-pagination ul li { border-right-color: var(--md-grey); }

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {

	color: var(--black);
	font-size: 1.25em;
	font-weight: 700;
	transition:
		color .35s ease,
		background-color .35s ease;
}

.woocommerce nav.woocommerce-pagination ul li span.current {

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

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover {

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


/* @end */


/* !@group richiedi info / lavora con noi */

:is( #richiedi-info, #lavora-con-noi ) {

	color: var(--white);
	background-color: var(--blue);
	padding: clamp( 8.9rem, 8.9vw, 17.8rem ) 3rem clamp( 4rem, 4vw, 8rem );
}

#lavora-con-noi { padding-bottom: clamp( 8rem, 8vw, 16rem ); }

:is( #richiedi-info, #lavora-con-noi ) > .inner {

	width: 100%;
	max-width: 116rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

:is( #richiedi-info, #lavora-con-noi ) .section-header {

	display: flex;
	flex-direction: column;
	row-gap: clamp( 1.5rem, 1.5vw, 3rem );
	padding-bottom: clamp( 1rem, 1vw, 2rem );
}

:is( #richiedi-info, #lavora-con-noi ) .section-header p {

	font-size: clamp(1.8rem, 1.1vw, 2.2rem);
	line-height: 1;
	font-weight: 300;
	text-transform: uppercase;
}

:is( #richiedi-info, #lavora-con-noi ) .section-header h2 {

	color: var(--red);
	font-size: clamp(7.3rem, 7.3vw, 14.6rem);
	line-height: 1;
	font-weight: 900;
}

:is( #richiedi-info, #lavora-con-noi ) .section-footer p {

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

:is( #richiedi-info, #lavora-con-noi ) .section-footer p b { font-weight: 700; }


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

	:is( #richiedi-info, #lavora-con-noi ) { padding-block: 5rem; }
	:is( #richiedi-info, #lavora-con-noi ) .section-header { padding-inline: 2rem; }
	:is( #richiedi-info, #lavora-con-noi ) .section-header p { text-wrap: balance; }
	:is( #richiedi-info, #lavora-con-noi ) .section-header h2 { font-size: 5rem; }
}

/* @end */


/* !@group forms */

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

	color: var(--white);
	transition: opacity .3s;
	font-size: 1.6rem;
	font-weight: 800;
}

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

	color: var(--white);
	transition: opacity .3s;
	font-size: 1.6rem;
	font-weight: 800;
}

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

	color: var(--white);
	transition: opacity .3s;
	font-size: 1.6rem;
	font-weight: 800;
}

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

	opacity: 0;
}

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

	opacity: 0;
}

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

	opacity: 0;
}

.edita-form-builder .efb-item { padding-bottom: 3rem; }

.edita-form-builder .efb-item.efb-item-radio {

	height: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 2.5rem 3rem 0;
}

.edita-form-builder .efb-item.efb-item-radio > div {

	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

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

.edita-form-builder li.efb-left-third,
.edita-form-builder li.efb-middle-third,
.edita-form-builder li.efb-right-third { width: 33.333%; }
.edita-form-builder label.efb-desc { display: none; }

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

	color: var(--white);
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 500;
	background-color: transparent;
	border: .2rem solid var(--white);
	height: 6.6rem;
	border-radius: 3.3rem;
	padding-inline: 3.3rem;
}

input[type="file"].efb-text { padding: 1.6rem 1.8rem 0; }

input[type="file"].efb-text::file-selector-button {

	border: 0;
	height: 3rem;
	border-radius: 1.5rem;
	padding: .5rem 2rem;
	margin-right: 1.5rem;
	color: var(--white);
	background-color: var(--red);
	transition:
		color .35s ease,
		background-color .35s ease;
}

input[type="file"].efb-text::file-selector-button:hover {

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

input[type="file"].efb-text + label {

	color: var(--white);
	font-size: 1.4rem;
	padding: 1rem 0 0 2rem;
}

textarea.efb-textarea {

	height: 12rem;
	padding-top: 2rem;
}

input[type='radio'].efb-radio {

	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 2.7rem;
	width: 2.7rem;
	height: 2.7rem;
	background: url( './assets/svg/radio-button.svg' ) no-repeat left top;
}

input[type='radio']:checked.efb-radio { background-position-y: bottom; }

input[type='checkbox'].efb-checkbox {

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

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

.edita-form-builder .efb-item.efb-item-checkbox,
.edita-form-builder .efb-item.efb-item-submit { padding-top: 2rem; }

.edita-form-builder .efb-item.efb-item-checkbox {

	width: 66.666%;
	padding-left: 3rem;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 2rem;
}

.edita-form-builder .efb-item.efb-item-checkbox#item-newsletter-1,
.edita-form-builder .efb-item.efb-item-checkbox#item-newsletter-2 { display: none; }

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

	flex: 0 0 calc( 100% - 4.1rem );
	color: var(--white);
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 800;
	margin: 0;
	width: auto;
}

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

	color: var(--white);
	font-size: 1.6rem;
	line-height: 2.1rem;
	text-transform: uppercase;
}

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

	max-width: 50rem;
	padding-left: 4.1rem;
	font-size: 1.6rem;
	line-height: 1.2;
	font-style: italic;
}

.edita-form-builder li div span.efb-span {

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

.edita-form-builder .efb-submit {

	color: var(--white);
	background-color: var(--red);
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	column-gap: 2.4rem;
	height: 8rem;
	border-radius: 4rem;
	padding-inline: 4rem;
	font-size: 2rem;
	line-height: 1;
	font-weight: 300;
	text-transform: uppercase;
	transition:
		color .35s ease,
		background-color .35s ease;
}

.edita-form-builder .efb-submit svg {

	fill: var(--white);
	transition: fill .35s ease;
}

.edita-form-builder .efb-submit b { font-weight: 800; }

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

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

body:not( .touch ) .edita-form-builder .efb-submit:hover svg { fill: var(--black); }


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

	:is( #richiedi-info, #lavora-con-noi ) { padding-inline: 1rem; }

	form.edita-form-builder { padding-block: 0; }
	.edita-form-builder li.efb-left-third,
	.edita-form-builder li.efb-middle-third,
	.edita-form-builder li.efb-right-third { width: 100%; }
	.edita-form-builder .efb-item { padding-bottom: 2rem; }

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

		border: .15rem solid var(--white);
		height: 4rem;
		border-radius: 2.5rem;
		padding-inline: 2.5rem;
	}

	.edita-form-builder .efb-item.efb-item-radio { padding: 0 1rem 2rem; }
	.edita-form-builder li div span.efb-span { column-gap: 1rem; }
	textarea.efb-textarea { height: 10rem; }
	.edita-form-builder .efb-item.efb-item-checkbox { width: 100%; }
}

/* @end */


/* !@group generators */

#generators {

	background: var(--white) url( './assets/background/generator-background.png' ) no-repeat left top / clamp( 26.8rem, 26.8vw, 53.6rem ) clamp( 29.35rem, 29.35vw, 58.7rem );
	padding-top: clamp( 8rem, 8vw, 16rem );
	position: relative;
	z-index: 1;
}

#generators .section-header {

	padding: 0 3rem clamp( 3rem, 3vw, 6rem );
	position: relative;
}

#generators .section-header hgroup {

	width: 100%;
	max-width: 134rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
}

#generators .section-header hgroup p {

	font-size: clamp( 3rem, 2.5vw, 5rem );
	line-height: 1;
	font-weight: 100;
	text-transform: uppercase;
}

#generators .section-header hgroup h2 {

	color: var(--red);
	font-size: clamp( 16.2rem, 16.2vw, 32.4rem );
	line-height: .6;
	font-weight: 900;
	margin-left: clamp( -1.4rem, -0.7vw, -0.7rem );
}

#generators .content-wrapper {

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

#generators .section-content { padding: 0 3rem clamp( 8rem, 8vw, 16rem ); }

#generators .section-content > .inner {

	width: 100%;
	max-width: 134rem;
	margin-inline: auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}

#generators .section-content .text {

	width: clamp( 37.5rem, 37.5vw, 75rem );
	font-size: clamp( 2.2rem, 1.4vw, 2.8rem );
	line-height: 1.4;
	font-weight: 300;
}

#generators .image {

	width: clamp( 46rem, 34.05vw, 68.1rem );
	height: clamp( 33.4rem, 24.7vw, 49.4rem );
	position: absolute;
	top: clamp( -17rem, -8.5vw, -8.5rem );
	opacity: 0;
	transform-origin: left bottom;
	transform: scale(.5) rotate(15deg);
}

#generators .content-wrapper.animate__animated .image {

	opacity: 1;
	transform: scale(1) rotate(0);
	transition:
	opacity 1s ease-in,
	transform 1s ease-in;
}


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

	#generators .image { left: calc( 50% + 9.5vw ); }
}


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

	#generators .image {

		left: initial;
		right: 12.9rem;
	}
}


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

	#generators .image {

		width: 34.05rem;
		height: 49.4rem;
		top: -6rem;
		right: 3rem;
	}
}


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

	#generators .section-header hgroup p { font-size: 2.2rem; }
	#generators .section-header hgroup h2 { font-size: 10rem; }
	#generators .content-wrapper { padding-bottom: 4rem; }
	#generators .section-content { padding-bottom: 3rem; }

	#generators .image {

		position: static;
		margin-inline: 3rem;
		width: auto;
		height: auto;
	}
}

/* @end */


/* !@group blocks */

#blocks {

	--header: calc( var(--logo-height) + var(--header-padding) + var(--header-padding) );

	background: var(--grey);
	display: flex;
	flex-direction: column;
	position: relative;
}

.block {

	height: calc( 100vh - var(--header) );
	height: calc( 100dvh - var(--header) );
	position: sticky;
	top: var(--header);
	display: flex;

	will-change: transform, z-index;
	transform: translateZ(0);
}

.block-inner {

	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: center;
	transform-origin: center top;
	transition: all 1s ease;
}

.sticky-trigger {

	position: absolute;
	height: 1px;
	width: 100%;
	pointer-events: none;
	margin-top: -1px;
}

.block.is-stuck:has( + .sticky-trigger + .block.is-in-view ) .block-inner {

	transform: scale(.5);
	margin-top: -60vh;
	opacity: 0;
}

.spacer-section {

	width: 100vw;
	height: calc( 50vh + var(--header) );
	pointer-events: none;
}

.block .image {

	background-color: var(--blue);
	flex: 0 0 55%;
	display: flex;
	height: 80%;
	opacity: 0;
	overflow: hidden;
	transform-origin: center bottom;
	transform: translateY(60%);
	transition: all .75s .35s ease;
}

.block .image > img {

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

.block.over .image > img { transform: scale(1.1); }

.block .text {

	flex-grow: 1;
	padding-inline: 6.5%;
	display: flex;
	flex-direction: column;
	opacity: 0;
	transform-origin: center bottom;
	transform: translateY(60%);
	transition: all .75s .75s ease;
}

.block.is-in-view .image,
.block.is-in-view .text {

	opacity: 1;
	transform: translateY(0);
}

.block .article-header { padding-bottom: clamp( 3.5rem, 3.5vw, 7rem ); }

.block .article-header hgroup {

	display: flex;
	flex-direction: column;
}

.block .article-header hgroup p {

	font-size: clamp( 2.4rem, 1.4vw, 2.8rem );
	line-height: 1;
	font-weight: 300;
	text-transform: uppercase;
}

.block .article-header hgroup h2 {

	font-size: clamp( 6.5rem, 6.5vw, 13rem );
	line-height: .8;
	font-weight: 900;
	padding-block: clamp( 0.5rem, 0.5vw, 1rem ) clamp( 1.5rem, 1.5vw, 3rem );
}

.block .article-content { max-width: 50rem; }


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

	.block .text { padding-inline: 3rem; }
	.block .image { height: 90%; }
	.block .article-header hgroup h2 { font-size: 6rem; }
}


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

	.block-inner { flex-direction: column-reverse; }

	.block .image {

		height: auto;
		flex: initial;
		width: 100%;
	}

	.block .image > img { aspect-ratio: 3 / 2; }
	.block .text { padding-top: 2rem; }

	.block .text .editor-content p {

		font-size: 1.8rem;
		line-height: 1.4;
		margin-bottom: 2rem;
	}

	.block .article-header { padding-bottom: 2rem; }
	.block .article-header hgroup p { font-size: 2rem; }

	.block .article-header hgroup h2 {

		font-size: 4rem;
		padding-bottom: 1rem;
	}

	.block .article-footer {

		display: flex;
		flex-direction: row;
		justify-content: flex-end;
	 }
}

/* @end */


/* !@group subcategory */

#subcategories { padding: 0 3rem clamp( 8rem, 8vw, 16rem ); }

#subcategories > .inner {

	width: 100%;
	max-width: 185.2rem;
	margin-inline: auto;
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
	column-gap: clamp(2.5rem, 2.5vw, 5rem);
	row-gap: clamp(2.7rem, 2.7vw, 5.4rem);
}

#subcategories .subcategory {

	flex: 0 0 calc( 33.333% - clamp( 1.6665rem, 1.6665vw, 3.333rem ) );
}


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

	#subcategories > .inner {

		justify-content: flex-start;
		column-gap: 3rem;
		row-gap: 3rem;
	}

	#subcategories .subcategory { flex: 0 0 calc( 50% - 1.5rem ); }
}


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

	#subcategories .subcategory { flex: 0 0 100%; }
}

/* @end */


/* !@group subcategory card */

.subcategory {

	background-color: var(--white);
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end;
	transition: .35s ease;
}

body:not( .touch ) .subcategory:hover { background-color: var(--grey); }

.subcategory > .text {

	padding: clamp( 3.8rem, 3.8vw, 7.6rem ) clamp( 3.1rem, 3.1vw, 6.2rem ) clamp( 3rem, 3vw, 6rem );
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	position: relative;
}

.subcategory > .text::before {

	content: '';
	background-color: var(--red);
	width: 16rem;
	height: 1.5rem;
	position: absolute;
	left: clamp( 3.1rem, 3.1vw, 6.2rem );
	top: 0;
}

.subcategory > .text h2 {

	color: var(--dk-blue);
	font-size: clamp( 2.2rem, 1.7vw, 3.4rem );
	line-height: 1;
	font-weight: 800;
	text-transform: uppercase;
	margin-bottom: clamp( 1rem, 1vw, 2rem );
}

.subcategory > .text .secondary-cta {

	align-self: flex-start;
	margin-top: auto;
}

.subcategory:is( .cat-60-hz, .cat-60-hz-en ) > .text h2 { text-transform: initial; }
.subcategory > .image { overflow: hidden; }
.subcategory > .image img { transition: transform 1.5s ease-in; }
.subcategory.over > .image img { transform: scale(1.1); }

/* @end */


/* !@group subcategory slideshow */

#subcategory-slider {

	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 1) 0,
			rgba(255, 255, 255, 1) 26vw,
			rgba(245, 243, 241, 1) 26vw
		);

	padding-bottom: clamp( 8rem, 8vw, 16rem );
	position: relative;
}

#subcategory-slider > .angle-red-left { display: none; }
.single-product #subcategory-slider { padding-top: clamp( 12.8rem, 12.8vw, 25.6rem ); }
.single-product #subcategory-slider > .angle-red-left { display: block; }

#subcategory-slider .section-header {

	margin-left: calc( clamp( 24.2rem, 24.2vw, 48.4rem ) + clamp( 4.5rem, 4.5vw, 9rem ) );
	border-top: .1rem solid var(--black);
	height: 10rem;
	margin-bottom: 2.2rem;
	display: flex;
	flex-direction: row;
	align-items: center;
	position: relative;
	z-index: 1;
}

#subcategory-slider .section-header h2 {

	font-size: 2.7rem;
	line-height: 1;
	font-weight: 300;
}

#subcategory-slider .section-header h2 b { font-weight: 700; }

#subcategory-slider .section-content {

	padding-left: clamp(8rem, 8vw, 16rem);
	position: relative;
	z-index: 1;
}

#subcategory-slider .angle-grey {

	position: absolute;
	left: 0;
	right: 0;
	top: calc( 26vw - clamp( 12.4rem, 12.4vw, 24.8rem ) );
	z-index: 0;
}

.subcategory-slideshow {

	position: relative;
	z-index: 1;
}

.subcategory-slideshow .subcategory {

	white-space: normal;
	background-color: var(--grey);
}

body:not( .touch ) .subcategory-slideshow .subcategory:hover { background-color: var(--white); }

.subcategory-slideshow .slider-control {

	position: absolute;
	top: max( 10.9rem, 10.9vw );
}

.subcategory-slideshow .slider-control.slideshow-prev { transform: translate(-50%, -50%); }

.subcategory-slideshow .slider-control.slideshow-next {

	transform: translateY(-50%);
	right: max( 5.7rem, 5.7vw );
}


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

	#subcategory-slider .section-header { margin-top: 10rem; }
}

/* @end */


/* !@group rassegna stampa */

#rassegna-stampa {

	color: var(--white);
	background-color: var(--blue);
	padding: clamp( 8rem, 8vw, 16rem ) 3rem;
}

#rassegna-stampa > .inner {

	width: 100%;
	max-width: 134rem;
	margin-inline: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 3rem;
	row-gap: 6rem;
}

.rassegna-stampa {

	flex: 0 0 calc( 50% - 1.5rem );
	display: flex;
	flex-direction: row-reverse;
	column-gap: 2rem;
}

.rassegna-stampa > .image { flex: 0 0 calc( 33.333% - 1.5rem ); }
.rassegna-stampa > .text { flex: 0 0 calc( 66.666% - 1.5rem ); }


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

	.rassegna-stampa { flex: 0 0 100%; }
}


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

	#rassegna-stampa > .inner { flex-direction: column; }
	.rassegna-stampa { flex-direction: column-reverse; }
}

/* @end */


/* !@group natura */

#natura {

	background-color: var(--grey);
	padding-block: clamp( 6.2rem, 6.2vw, 12.4rem );
	position: relative;
}

.page-template-template-richiedi-info #natura,
.page-template-template-lavora-con-noi #natura,
.page-template-template-rassegna-stampa #natura { padding-top: 0; }
.page-template-template-richiedi-info #natura .angle-red-left,
.page-template-template-lavora-con-noi #natura .angle-red-left,
.page-template-template-rassegna-stampa #natura .angle-red-left { z-index: 2; }

#page-content + #natura {

	background:
		linear-gradient(
			180deg,
			var(--white) 0%,
			var(--white) 50%,
			var(--grey) 50%
	);
}

.blog #natura,
.single-post #natura {

	background:
		linear-gradient(
			180deg,
			var(--grey) 0%,
			var(--grey) 50%,
			var(--white) 50%
	);
}

#richiedi-info + #natura,
.page-template-template-rassegna-stampa #natura {

	background:
		linear-gradient(
			180deg,
			var(--blue) 0%,
			var(--blue) 50%,
			var(--grey) 50%
	);
}

#natura > .container {

	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	grid-column-gap: 0;
	grid-row-gap: 0;
}

#natura > .container > .underlay {

	grid-area: 1 / 1 / -1 / -1;
	background-color: var(--blue);
	z-index: 0;
	transform-origin: center center;
	transition: transform .8s ease-out;
}

#natura > .container > .underlay.animate__animated { transform: skewY(-7deg); }

#natura > .container > .image {

	grid-area: 1 / 1 / -1 / -1;
	background: url( './assets/background/natura-background.jpg' ) no-repeat center center / cover;
	opacity: .56;
	z-index: 1;
}

#natura > .container > .inner {

	color: var(--grey);
	padding: clamp( 16rem, 16vw, 32rem ) 3rem clamp( 13rem, 13vw, 26rem );
	grid-area: 1 / 1 / -1 / -1;
	z-index: 2;
}

#natura .text,
#natura .section-footer {

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

#natura .section-header { padding-bottom: clamp( 3.5rem, 3.5vw, 7rem ); }

#natura .section-header hgroup {

	display: flex;
	flex-direction: column;
	row-gap: clamp( 1.5rem, 1.5vw, 3rem );
}

#natura .section-header hgroup p {

	font-size: clamp( 3rem, 2.5vw, 5rem );
	line-height: 1;
	font-weight: 100;
	text-transform: uppercase;
}

#natura .section-header hgroup h2 {

	font-size: clamp( 13.2rem, 13.2vw, 26.4rem );
	line-height: .6;
	font-weight: 900;
	margin-left: -1rem;
}

#natura .section-content p {

	color: var(--white);
	font-size: clamp( 2.2rem, 1.4vw, 2.8rem );
	line-height: 1.39;
	font-weight: 200;
	max-width: clamp( 37.5rem, 37.5vw, 75rem );
}

#natura .section-footer {

	padding-top: clamp( 5.3rem, 5.3vw, 10.6rem );
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	column-gap: clamp( 1.5rem, 1.5vw, 3rem );
}

#natura .logos {

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

#natura .logos li { padding-inline: clamp( 2.4rem, 2.4vw, 4.8rem ); }
#natura .logos li:first-of-type { padding-left: 0; }
#natura .logos li:last-of-type { padding-right: 0; }
#natura .logos li + li { border-left: .1rem solid var(--white); }
#natura .section-footer .secondary-cta { --color: var(--grey); }

.logos .logo-1,
.logos .logo-2,
.logos .logo-3 { display: block; }

.logos .logo-1 {

	width: clamp( 16.7rem, 10.4vw, 20.8rem );
	height: clamp( 5.2rem, 3.2vw, 6.4rem );
}

.logos .logo-2 {

	width: clamp( 18.6rem, 11.6vw, 23.2rem );
	height: clamp( 5.2rem, 3.2vw, 6.4rem );
}

.logos .logo-3 {

	width: clamp( 16.5rem, 10.3vw, 20.6rem );
	height: clamp( 5.3rem, 3.2vw, 6.4rem );
}

body:not( .touch ) #natura .section-footer .secondary-cta:hover {

	--color: var(--blue);
	--border-color: var(--white);
	--background-color: var(--white);
}


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

	#natura .section-footer {

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


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

	#natura > .container > .inner { padding-block: 6rem; }

	#natura .section-header hgroup p {

		font-size: 2.2rem;
		text-wrap: balance;
	}

	#natura .section-header hgroup h2 {

		font-size: 9rem;
		margin-left: -1rem;
	}

	#natura .logos {

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

	#natura .logos li { padding-inline: 0; }
	#natura .logos li + li { border-left: 0; }
}

/* @end */


/* !@group news ed eventi */

#news-ed-eventi {

	background-color: var(--grey);
	padding: clamp( 9rem, 9vw, 18rem ) 0 clamp( 5.8rem, 5.8vw, 11.6rem );
	overflow: hidden;
	position: relative;
}

#news-ed-eventi .angle { display: none; }

#news-ed-eventi:has( + #dove-siamo ) { padding-bottom: calc( max( 12.4rem, 12.4vw ) + clamp( 3.5rem, 3.5vw, 7rem ) ); }
#news-ed-eventi:has( + #dove-siamo ) .angle { display: block; }

#news-ed-eventi .section-header,
#news-ed-eventi .section-footer {

	width: 100%;
	max-width: 140rem;
	margin-inline: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	padding-inline: 3rem;
}

#news-ed-eventi .section-header {

	padding-bottom: clamp( 4rem, 4vw, 8rem );
	justify-content: space-between;
}

#news-ed-eventi .section-footer {

	padding-top: clamp( 3.2rem, 3.2vw, 6.4rem );
	justify-content: flex-end;
}

#news-ed-eventi .section-header h2 {

	font-size: clamp( 4rem, 3.25vw, 6.5rem );
	line-height: 1;
	font-weight: 900;
}

#news-ed-eventi .section-content { margin-left: clamp( 8rem, 8vw, 16rem ); }

.news-article {

	white-space: normal;
	padding-left: max( 3rem, 3vw );
}

.news-article a.article-inner {

	color: var(--black);
	background-color: var(--white);
	text-decoration: none;
	display: flex;
	flex-direction: column-reverse;
	padding: 0 max( 3rem, 3vw ) max( 3rem, 3vw ) 0;
}

.news-article .article-content {

	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	margin-left: min( -3vw, -3rem );
}

.news-article .article-content .image {

	width: 42%;
	overflow: hidden;
}

.news-article .article-content .image > img {

	width: 100%;
	transform-origin: center center;
	transition: transform 1.5s ease-in;
}

.news-article .over .article-content .image > img { transform: scale(1.1); }

.news-article .article-content .text {

	width: 58%;
	display: flex;
	flex-direction: column;
	row-gap: max( 1rem, 1vw );
	padding: max( 1rem, 1vw ) 0 0 max( 3rem, 3vw );
}

.news-article .article-content .text p {

	order: 1;
	color: var(--red);
	font-size: max( 1.6rem, 0.95vw );
	line-height: 1;
	font-weight: 800;
}

.news-article .article-content .text h3 {

	order: 2;
	font-size: max( 2rem, 1.7vw );
	line-height: 1.17;
	font-weight: 800;
}

.news-article .article-content .text .text-link {

	order: 3;
	margin-top: auto;
	align-self: flex-start;
}

.news-article .article-number {

	font-size: max( 1.6rem, 0.9vw );
	line-height: 1;
	font-weight: 900;
	height: max( 3rem, 3vw );
	display: flex;
	flex-direction: row;
	align-items: center;
	padding-left: max( 1.5rem, 1.5vw );
}

.news-article .article-number .number { color: var(--red); }
.news-article .article-number .divider { font-weight: normal; }


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

	#news-ed-eventi { padding-block: 2rem 5rem; }

	#news-ed-eventi .section-header h2 {

		font-size: 3.2rem;
		text-wrap: balance;
	}

	#news-ed-eventi .section-content { margin-left: 0; }
	.news-article { padding-left: 0; }
	.news-article a.article-inner { padding: 0 2rem 2rem; }
	.news-article .article-number { padding-left: 0; }

	.news-article .article-content {

		flex-direction: column-reverse;
		margin: 0;
		row-gap: 2rem;
	}

	.news-article .article-content .image { width: initial; }

	.news-article .article-content .text {

		width: initial;
		padding: 0;
	}

	.news-article .article-content .text p { font-size: 1.4rem; }
	.news-article .article-content .text h3 { font-size: 1.8rem; }
}

/* @end */


/* !@group archive news ed eventi */

.list-news {

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

.list-news > .inner {

	width: 80.4%;
	margin-inline: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	row-gap: 3vw;
	column-gap: 3vw;
}

.list-news > .inner > .news-article { flex: 0 0 calc( 50% - 1.5vw ); }

.list-news > .inner > .news-article a.article-inner {

	height: 100%;
	padding-top: max( 3rem, 3vw );
}


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

	.list-news > .inner > .news-article { flex: 0 0 100%; }
}

/* @end */


/* !@group numeri */

#numeri {

	color: var(--white);
	background-color: var(--red);
	padding: clamp( 14.5rem, 14.5vw, 29rem ) 6rem clamp( 6.7rem, 6.7vw, 13.4rem );
	position: relative;
	overflow: hidden;
}

#numeri > .inner {

	width: 100%;
	max-width: 144.8rem;
	padding-inline: 7rem;
	margin-inline: auto;
	position: relative;
	z-index: 1;
}

#mondo {

	width: clamp( 54.85rem, 54.85vw, 109.7rem );
	height: clamp( 27.05rem, 27.05vw, 54.1rem );
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: absolute;
	right: clamp( 1.75rem, 1.75vw, 3.5rem );
	top: clamp( 4rem, 4vw, 8rem );
	z-index: 0;
	mix-blend-mode: multiply;
}

#numeri .section-header { padding-bottom: clamp( 6.4rem, 6.4vw, 12.8rem ); }

#numeri hgroup p {

	font-size: clamp( 2.8rem, 2vw, 4rem );
	line-height: 1;
	font-weight: 100;
	text-transform: uppercase;
}

#numeri hgroup h2 {

	font-size: clamp( 16.2rem, 16.2vw, 32.4rem );
	line-height: .5;
	font-weight: 900;
	margin-left: clamp( -1.4rem, -0.7vw, -0.7rem );
}

#numeri .counter-section { padding-inline: 6rem; }

#numeri .section-content {

	width: 100%;
	max-width: 144.8rem;
	margin-inline: auto;
	position: relative;
	padding: clamp(3.5rem, 3.5vw, 7rem) clamp(2.5rem, 2.5vw, 5rem) clamp(4.3rem, 4.3vw, 8.6rem);
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

#numeri .section-content::before,
#numeri .section-content::after {

	content: '';
	width: clamp(2.7rem, 2.7vw, 5.4rem);
	position: absolute;
	top: 0;
	bottom: 0;
	border-top: .1rem solid var(--white);
	border-bottom: .1rem solid var(--white);
}

#numeri .section-content::before {

	border-left: .1rem solid var(--white);
	right: 100%;
}

#numeri .section-content::after {

	border-right: .1rem solid var(--white);
	left: 100%;
}

#numeri figure,
.counter {

	display: flex;
	flex-direction: column;
}

#numeri figure { row-gap: clamp( 1.4rem, 1.4vw, 2.8rem ); }

.counter > .value {

	font-size: clamp(5rem, 4vw, 8rem);
	line-height: 1;
	font-weight: 900;
}

.counter > .label {

	font-size: clamp(2rem, 1.5vw, 3rem);
	line-height: 1;
	font-weight: 200;
}

#numeri figure figcaption {

	font-size: clamp(1.5rem, 0.95vw, 1.9rem);
	line-height: 1.3;
	font-weight: 800;
	font-style: italic;
}


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

	#numeri { padding-inline: 4rem; }

	#numeri .section-content {

		display: grid;
		grid-template-columns: 33.33% 33.33% 33.33%;
		grid-template-rows: 1fr 1fr;
		grid-column-gap: 1rem;
		grid-row-gap: 3rem;
	}
}


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

	#mondo { right: calc(-50%); }
	#numeri > .inner { padding-inline: 0; }

	#numeri hgroup p {

		font-size: 2.2rem;
		text-wrap: balance;
		max-width: 23rem;
	}

	#numeri hgroup h2 {

		font-size: 9rem;
		margin-left: -.5rem;
	}

	#numeri .counter-section { padding-inline: 5rem; }

	#numeri .section-content {

		grid-template-columns: 100%;
		grid-template-rows: auto auto auto auto auto;
	}

	#numeri figure,
	.counter {

		text-align: center;
		align-items: center;
	}
}

/* @end */


/* !@group domande frequenti */

#domande-frequenti {

	background-color: var(--grey);
	padding: clamp( 8.5rem, 8.5vw, 17rem ) 3rem clamp( 13.9rem, 13.9vw, 27.8rem );
	position: relative;
	overflow: hidden;
}

#domande-frequenti > .inner {

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

#domande-frequenti .section-header { padding-bottom: clamp( 4rem, 4vw, 8rem ); }

#domande-frequenti .section-header h2 {

	font-size: clamp( 3.6rem, 3.25vw, 6.5rem );
	line-height: 1;
	font-weight: 900;
	padding-bottom: clamp( 1.4rem, 1.4vw, 2.8rem );
}

#domande-frequenti .section-content {

	display: flex;
	flex-direction: row;
	column-gap: clamp( 3rem, 2.5vw, 5rem );
}

#domande-frequenti .section-content > div { flex: 0 0 calc( 50% - 2.5rem ); }

#domande-frequenti details summary {

	font-size: 1.9rem;
	line-height: 1.5;
	font-weight: 700;
	padding: 2.8rem 6rem 2.8rem 1.8rem;
	list-style-type: none;
	position: relative;
	cursor: pointer;
	scroll-margin-top: var(--scroll-margin);
	transition: color .35s ease;
}

#domande-frequenti details summary > span { pointer-events: none; }

#domande-frequenti details summary > .svg-summary {

	position: absolute;
	right: 1.8rem;
	top: 2.8rem;
}

#domande-frequenti details summary > .svg-summary :is( .vertical, .horizontal ) {

	transform-origin: center center;
	transition:
		fill .35s ease,
		transform .35s ease;
}

#domande-frequenti details { background: url( './assets/svg/dashed-line.svg' ) repeat-x left bottom; }
#domande-frequenti details[open] summary { color: var(--red); }
#domande-frequenti details[open] summary > .svg-summary .vertical { transform: scaleY(0); }
#domande-frequenti details[open] summary > .svg-summary .horizontal { fill: var(--red); }
#domande-frequenti .details-content { padding: 0 6rem 1rem 1.8rem; }


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

	#domande-frequenti { padding-block: 6rem 8rem; }
	#domande-frequenti .section-content { flex-direction: column; }
}


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

	#domande-frequenti { padding-block: 6rem 12rem; }
	#domande-frequenti .section-header h2 { font-size: 3rem; }

	#domande-frequenti details summary {

		font-size: 1.8rem;
		line-height: 1.3;
		padding: 2rem 4rem 2rem 1rem;
	}

	#domande-frequenti details summary > .svg-summary {

		right: 1rem;
		top: 2.4rem;
	}

	#domande-frequenti .details-content {

		font-size: 1.8rem;
		line-height: 1.3;
		padding: 0 4rem 1rem 1rem;
	}
}

/* @end */


/* !@group dove siamo */

#dove-siamo {

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

#italia {

	width: clamp( 54.82rem, 36.55vw, 73.1rem );
	height: clamp( 63.45rem, 42.3vw, 84.6rem );
	position: absolute;
	top: .2rem;
	right: clamp( 6.25rem, 6.25vw, 12.5rem );
	z-index: 0;
}

#dove-siamo > .inner {

	width: 100%;
	max-width: 134rem;
	margin-inline: auto;
	position: relative;
	z-index: 1;
}

#dove-siamo .section-header { padding-bottom: clamp( 2.2rem, 2.2vw, 4.4rem ); }

#dove-siamo .section-header hgroup {

	display: flex;
	flex-direction: column;
	row-gap: clamp( 1.5rem, 1.5vw, 3rem );
}

#dove-siamo .section-header hgroup h2 {

	font-size: clamp( 1.5rem, 1.5vw, 3rem );
	line-height: 1;
	font-weight: 900;
}

#dove-siamo .section-header hgroup p {

	font-size: clamp( 2rem, 2vw, 4rem );
	line-height: 1;
	font-weight: 100;
	text-transform: uppercase;
}

#dove-siamo .section-header hgroup p b {

	display: block;
	color: var(--red);
	font-size: clamp( 16.2rem, 16.2vw, 32.4rem );
	line-height: .9;
	font-weight: 900;
	text-transform: lowercase;
	margin-left: clamp( -1.4rem, -0.7vw, -0.7rem );
}

#dove-siamo address,
#dove-siamo .piva {

	font-size: 1.9rem;
	line-height: 1.5;
	font-weight: 500;
}

#dove-siamo address b {

	color: var(--red);
	font-weight: 900;
}

#dove-siamo .contact-info {

	font-size: 2.2rem;
	line-height: 1.3;
	font-weight: 600;
	margin-top: 6rem;
}

#dove-siamo .contact-info a {

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

.social {

	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: 3.8rem;
	margin-top: 6.8rem;
}

.social a svg {

	fill: var(--black);
	transition: .35s ease;
}

body:not( .touch ) .social a:hover svg { fill: var(--red); }


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

	#italia {
		width: 36.18rem;
		height: 41.8rem;
		top: .2rem;
		right: 3rem;
	}
}


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

	#dove-siamo { padding-top: 3rem; }
	#italia { display: none; }

	#dove-siamo .section-header hgroup p b {

		font-size: 12rem;
		margin-left: clamp( -1.4rem, -0.7vw, -0.7rem );
	}

	#dove-siamo address,
	#dove-siamo .piva { font-size: 1.8rem; }

	#dove-siamo .contact-info {

		font-size: 1.8rem;
		margin-top: 4rem;
	}
}

/* @end */


/* !@group site footer */

#site-footer {

	color: var(--white);
	background-color: var(--blue);
	padding: clamp( 7.8rem, 7.8vw, 15.6rem ) 3rem clamp( 6.4rem, 6.4vw, 12.8rem );
}

#site-footer > .inner {

	width: 100%;
	max-width: 134rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	row-gap: clamp( 6.9rem, 6.9vw, 13.8rem );
}

#site-footer > .inner > .row {

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

#site-footer .row .left { flex: 0 0 clamp( 23rem, 18.8vw, 37.6rem ); }
#site-footer .row .center { flex: 0 0 22rem; }
#site-footer .row .right { flex-grow: 1; }

#site-footer .row .left,
#site-footer .row .right {

	display: flex;
	flex-direction: column;
	justify-content: space-between;
	row-gap: 2rem;
}

#site-footer .row .right {

	text-align: right;
	align-items: flex-end;
}

#site-footer .row.top .right {

	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	column-gap: 2.4rem;
}


#site-footer a { color: inherit; }

.menu-links {

	width: 22.5rem;
	padding-bottom: .5rem;
}

.menu-links ul {

	display: flex;
	flex-direction: column;
}

.menu-links svg {

	fill: var(--white);
	display: block;
}

.menu-links ul li a {

	color: var(--white);
	font-size: 1.9rem;
	line-height: 1;
	font-weight: 900;
	text-decoration: none;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 2.6rem;
	transition: color .35s ease;
}

body:not( .touch ) #site-footer .menu-links ul li a:hover { color: var(--red); }
.menu-links ul li + li { border-top: .1rem solid var(--white); }
.menu-links ul li + li a { padding-top: 2.6rem; }

.footer-menu {

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

.footer-menu a {

	text-decoration: underline;
	text-decoration-thickness: .1rem;
}

.footer-block {

	display: flex;
	width: clamp( 21rem, 14.1vw, 28.2rem );
	height: clamp( 10.9rem, 7.3vw, 14.6rem );
	padding: clamp( 2.2rem, 1.5vw, 3rem ) clamp( 3rem, 2vw, 4rem );
	border: .2rem solid var(--white);
	background-color: rgba(255,255,255,0);
	border-radius: clamp( 2.8rem, 1.9vw, 3.8rem );
	position: relative;
	text-align: left;
	text-decoration: none;
	transition: background-color .5s ease;
}

.footer-block .text {

	color: var(--white);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	transition: color .5s ease;
}

.footer-block .text .line-1 {

	font-size: clamp( 1.35rem, 0.9vw, 1.8rem );
	line-height: 1.4;
	font-weight: 800;
}

.footer-block .text .line-2 {

	font-size: clamp( 1.7.25rem, 1.15vw, 2.3rem );
	line-height: 1;
	font-weight: 800;
	text-transform: uppercase;
}

.footer-block .svg-arrow-down {

	background-color: var(--accent);
	width: clamp( 6.3rem, 4.2vw, 8.4rem );
	height: clamp( 6.3rem, 4.2vw, 8.4rem );
	display: flex;
	border-radius: 50%;
	position: absolute;
	right: clamp( -0.8rem, -0.4vw, -0.6rem );
	bottom: clamp( -0.8rem, -0.4vw, -0.6rem );
	transition: background-color .35s ease;
}

.footer-block .svg-arrow-down svg {

	fill: var(--white);
	display: block;
	width: clamp( 1.65rem, 1.1vw, 2.2rem );
	height: clamp( 1.725rem, 1.15vw, 2.3rem );
	margin: auto;
}

body:not( .touch ) .footer-block:hover { background-color: var(--white); }
body:not( .touch ) .footer-block:hover .text { color: var(--blue); }
body:not( .touch ) .footer-block:hover .svg-arrow-down { background-color: var(--red); }

.cookies,
#csconsentlink {

	font-size: 1.6rem;
	line-height: 1.3;
	font-style: italic;
	text-decoration: underline;
	text-decoration-thickness: .1rem;
}

.cookies {

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

#obliqua {

	font-size: 1.6rem;
	line-height: 1;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	column-gap: 1ch;
}


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

	#site-footer { padding-bottom: 10rem; }

	#site-footer > .inner {

		display: grid;
		grid-template-columns: 33.33% 33.33% 33.33%;
		grid-template-rows: auto auto auto;
		grid-column-gap: 0;
		grid-row-gap: 5rem;
	}

	#site-footer > .inner > .row { display: contents; }

	.footer-1 { grid-area: 2 / 1 / 3 / 2; }
	.footer-2 { grid-area: 2 / 2 / 3 / 3; }
	.footer-3 { grid-area: 1 / 2 / 2 / 4; }
	.footer-4 { grid-area: 1 / 1 / 2 / 2; }
	.footer-5 { grid-area: 2 / 3 / 3 / 4; }
	.footer-6 { grid-area: 3 / 1 / 4 / 4; }

	.footer-3 { align-self: start; }
	.footer-2,
	.footer-5 { text-align: right; }

	#site-footer .row .left {

		justify-content: flex-start;
		text-align: center;
		flex: initial;
	}
}


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

	#site-footer > .inner {

		grid-template-columns: 100%;
		grid-template-rows: auto auto auto auto auto auto;
		grid-row-gap: 3rem;
	}

	.footer-1 { grid-area: 3 / 1 / 4 / 2; }
	.footer-2 { grid-area: 4 / 1 / 5 / 2; }
	.footer-3 { grid-area: 2 / 1 / 3 / 2; }
	.footer-4 { grid-area: 1 / 1 / 2 / 2; }
	.footer-5 { grid-area: 5 / 1 / 6 / 2; }
	.footer-6 { grid-area: 6 / 1 / 7 / 2; }

	#site-footer .row .left,
	#site-footer .row.top .right {

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

	.menu-links { margin-block: 3rem; }
	.footer-2,
	.footer-5 { text-align: center; }
}

/* @end */
