@charset "UTF-8";

:root {
	--main: #111111;
	--colore: #C80E00;
	--colore-2: #e5584b;
	--colore-3: #000014;
	--colore-4: #ffbeb8;
	--rosso: #DA002E;
	--verde: #00A651;
	--grigio-dark: #3E4F56;
	--grigio: #8D9EA3;
	--grigio-2: #BEC8CB;
	--grigio-3: #EBEBEB;
	--grigio-4: #EBEBEB;
	--grigio-5: #EBEBEB;
	--grigio-6: #EBEBEB;
	--grigio-7: #F5F5F6;
	--bianco: #ffffff;
	--mainfont: 'Barlow', 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
	--altfont: "Barlow", 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
	--weightlight: 300;
	--weightnormal: 400;
	--weightmedium: 500;
	--weightheavy: 600;
	--weightbold: 600;
	--weightblack: 600;
	--radius: 10px;
	--radius-more: 50px;
	--radius-less: 10px;
	--radius-small: 6px;
	--round: 50%;
	--line-height: 1.4;
	--line-height-2: 1.5;
	--shadow: 1px 1px 20px rgba(0, 0, 0, 0.1);
	--shadow-less: 0 2px 12px rgba(0, 0, 0, 0.12);
	--shadow-more: 0 5px 30px rgba(0, 0, 0, 0.18);
	--text-shadow: 2px 2px 30px rgba(31, 73, 119, .5);
	--text-shadow-more: 2px 2px 30px rgba(31, 73, 119, .85);
	--text-shadow-2: 1px 1px 8px rgba(135, 166, 187, 1);
}

body {
	background-color: var(--bianco);
	font-family: var(--mainfont);
	font-weight: var(--weightnormal);
	color: var(--main);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	font-family: var(--altfont);
	font-weight: var(--weightlight);
	color: var(--colore);
	line-height: 1;
	display: block;
	font-optical-sizing: auto;
}

h1,
.h1 {
	font-size: clamp(3rem, calc(1rem + 5vw), 6.2rem);
	margin-bottom: 1.6rem;
	line-height: 92%;
}

.h1 {
	font-size: clamp(2.3rem, calc(1rem + 4vw), 4.5rem);
}

h1 {
	margin-bottom: 0;
}

h2,
.h2 {
	font-size: clamp(1.7rem, calc(1rem + 2vw), 3rem);
	margin-bottom: 1.4rem;
}

h3,
.h3 {
	font-size: clamp(1.1rem, calc(1rem + 1.4vw), 2rem);
	margin-bottom: 1.2rem;
}

h4,
.h4 {
	font-size: clamp(1rem, calc(1rem + 1.1vw), 1.5rem);
	margin-bottom: .9rem;
}

h5,
.h5 {
	font-size: clamp(.8rem, calc(1rem + 0.23vw), 1rem);
	margin-bottom: .8rem;
}

h6,
.h6 {
	font-size: clamp(0.7rem, calc(0.92rem + 0.08vw), 0.8rem);
	margin-bottom: .7rem;
}

/* h1 span,
.h1 span,
h2 span,
.h2 span,
h3 span,
.h3 span,
h4 span,
.h4 span,
h5 span,
.h5 span {
	color: var(--colore);
} */

a {
	text-decoration: none;
	color: var(--colore);
	transition: color 0.20s linear 0s;
}

a:hover,
a:active {
	color: var(--colore-2);
}

.button,
a.button,
button,
button.wpcf7-submit,
input.wpcf7-submit,
.wp-element-button {
	color: var(--colore);
	background-color: transparent;
	border: none;
	/* outline: 2px solid var(--colore); */
	font-size: 1.1rem;
	line-height: var(--line-height);
	font-family: var(--altfont);
	font-weight: var(--weightnormal);
	padding: .7rem 2.5rem .4rem 0;
	/* border-radius: var(--radius-small); */
	border-bottom: 1px solid var(--colore);
	transition: box-shadow 0.3s ease, color 0.3s ease, background-color 0.3s ease;
}

.button::after,
a.button::after,
button::after,
button.wpcf7-submit::after,
input.wpcf7-submit::after,
.wp-element-button::after {
	content: '';
	position: absolute;
	top: 48%;
	right: 0;
	width: 25px;
	height: 10px;
	background-image: url(assets/images/arrow-r.svg);
	background-repeat: no-repeat;
	background-size: 25px;
}

.button:hover,
a.button:hover,
button:hover,
input.wpcf7-submit:hover,
.wp-element-button:hover {
	background-color: transparent;
	/* outline-color: var(--colore-3); */
	color: var(--colore-3);
	border-color: var(--colore-3);
	text-decoration: none !important;
	/* box-shadow: var(--shadow); */
}

.button:hover::after,
a.button:hover::after,
button:hover::after,
button.wpcf7-submit:hover::after,
input.wpcf7-submit:hover::after,
.wp-element-button:hover::after {
	background-image: url(assets/images/arrow-r-b.svg);
}


.button.alt {
	color: var(--bianco);
	border-color: var(--bianco);
}

.button.alt::after {
	background-image: url(assets/images/arrow-r-w.svg);
}

.button.alt:hover {
	color: var(--colore-4);
	border-color: var(--colore-4);
}

.button.alt:hover::after {
	background-image: url(assets/images/arrow-r-b2.svg);
}

.button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}



table {
	border: 1px solid var(--grigio-7);
}

table tfoot,
table thead,
table tr:nth-of-type(2n) {
	background: none repeat scroll 0 0 var(--grigio-7);
}

th,
table tr:nth-of-type(2n) td {
	border-right: 1px solid var(--bianco);
}

td {
	border-right: 1px solid var(--grigio-7);
}


ul {
	padding: 0;
	margin: 1rem 0 0 0;
	list-style-type: none;
}

ul.bullets li {
	list-style-type: none;
	width: 100%;
	position: relative;
	font-size: inherit;
	line-height: 1.42;
	margin-bottom: .35rem;
	padding-left: 20px;
}

ul.bullets li:before {
	content: "";
	position: absolute;
	left: -29px;
	top: -11px;
	width: 46px;
	height: 46px;
	background-image: url(../images/li.svg);
	background-repeat: no-repeat;
}

ul.bullets.alt li:before {
	background-image: url(../images/li-alt.svg);
}

ul.bigger {
    font-size: 1.2rem;
}
ul.bigger li {
    padding-left: .95rem !important;
}
ul.bigger li::before {
    top: 0 !important;
}


ol {
	padding: 0;
	margin: 1rem 0 0 0;
	list-style-type: none;
}

ol>li {
	counter-increment: step-counter;
	margin-bottom: .7rem;
	position: relative;
	padding: 0.3rem 0 0 2rem;
}

ol>li::before {
	content: counter(step-counter);
	background-color: var(--colore);
	width: 28px;
	height: 28px;
	line-height: 26px;
	text-align: center;
	font-size: 1rem;
	color: var(--bianco);
	font-weight: var(--weightbold);
	border-radius: 25px;
	position: absolute;
	top: 3px;
	left: -10px;
}

ol.columns {
	padding-top: 2rem;
}

ol.moved >li::before {
    top: 6px;
}

@media (min-width: 800px) {
	ol.columns,
	ul.columns {
		-webkit-column-count: 2;
		-moz-column-count: 2;
		column-count: 2;
	}

	ol.columns li,
	ul.columns li {
		display: inline-block;
		width: 100%;
		padding-right: 3rem;
	}
}

blockquote.wp-block-quote {
	border-left: 4px solid var(--colore);
	padding: 1.5rem 2rem 1.5rem 1.85rem;
	margin: 2rem 0;
	line-height: 1.35;
	position: relative;
}

blockquote.wp-block-quote cite {
	font-size: 1.2rem;
}

dl dt {
	font-weight: var(--weightbold);
}

dl dd {
	margin-bottom: 0.625rem;
}

dl dd:last-child {
	margin-bottom: 0;
}

.grid {
	max-width: 1480px;
}
.stretta .grid {
	max-width: 1000px;
}
.grid.full {
	max-width: 100%;
}

.grid.blocco-stretto {
	max-width: 40rem;
}

@media (min-width: 1024px) {
	.grid.blocco-stretto {
		max-width: 50rem;
	}
}

@media (min-width: 1280px) {
	.grid.blocco-stretto {
		max-width: 60rem;
	}
}

.overlay {
	background: linear-gradient(to bottom, rgba(0, 23, 43, 0.45) 0%, rgba(0, 23, 43, 0.1) 100%);
}

@media (min-width: 768px) {
	.paragrafo_intro {
		padding-inline: 1.25rem;
	}
}

@media (min-width: 1024px) {
	.paragrafo_intro {
		padding-inline: 2rem;
	}
}

@media (min-width: 1360px) {
	.paragrafo_intro {
		padding-inline: 4rem;
	}
}

.griglia .paragrafo_intro {
	padding-inline: 0;
}


#maincontainer {
	width: 100%;
	/* max-width: 2000px; */
	margin-inline: auto;
	background-color: var(--bianco);
	padding: 0;
	text-align: center;
}

#maincontainer>section {
	text-align: left;
}

#maincontainer>section.text-center {
	text-align: center;
}

#maincontainer>section.text-right {
	text-align: right;
}

#maincontainer>.grid {
	padding-inline: 1.25rem;
}

#maincontainer ul,
#maincontainer ol {
	padding-left: 1.25rem;
	margin-bottom: 1.5rem;
}

#maincontainer .paragrafo ul li,
.single #maincontainer article ul li,
#maincontainer .colonne ul li,
#maincontainer .grid ul li {
	list-style-type: none;
	font-family: var(--mainfont);
	width: 100%;
	position: relative;
	font-size: inherit;
	line-height: 1.25;
	margin-bottom: .8rem;
	padding-left: .75rem;
}

#maincontainer .paragrafo ul li:before,
.single #maincontainer article ul li:before,
#maincontainer .colonne ul li:before,
#maincontainer .grid ul li::before {
	content: "\2713";
	font-family: "Inter", sans-serif;
	font-size: 1.25rem;
	font-weight: var(--weightbold);
	color: var(--colore);
	position: absolute;
	left: -15px;
	top: -3px;
}

#maincontainer .paragrafo ul.alt li:before,
.single #maincontainer article ul.alt li:before,
#maincontainer .colonne ul.alt li:before,
#maincontainer .grid ul.alt li::before {
	color: var(--bianco);
}

.colonne .paragrafo_intro {
	width: 100%;
	padding-inline: 0;
}

@media (min-width: 768px) {
	#maincontainer.stretta>.box>.grid {
		max-width: 680px;
	}
}
@media (min-width: 1024px) {
	#maincontainer>.grid,
	#maincontainer>.box {
		padding-inline: 2rem;
	}
	#maincontainer.stretta>.box>.grid {
		max-width: 830px;
	}
}
@media (min-width: 1280px) {
	#maincontainer>.grid,
	#maincontainer>.box {
		padding-inline: 4rem;
	}

	#maincontainer.stretta>.box>.grid {
		max-width: 880px;
	}
}

@media (min-width: 1440px) {
	#maincontainer>.box>.grid {
		max-width: 1344px;
	}
	#maincontainer.stretta>.box>.grid {
		max-width: 980px;
	}
}

@media (min-width: 1600px) {

	#maincontainer>.grid,
	#maincontainer>.box {
		padding-inline: 1rem;
	}

	#maincontainer>.box>.grid {
		max-width: 1446px;
	}
}



#header-image {
	background-color: var(--bianco);
}

#header-image figure {
	position: absolute;
	inset: 0;
}

#header-image .header-content {
	width: 100%;
	padding-inline: 1.25rem;
	margin-inline: auto;
	display: flex;
	align-items: center;
}

#header-image .header-content .grid {
	padding-inline: 1rem;
}

@media (max-width: 579px) {
	#header-image .header-content .grid {
		padding-inline: 0;
	}
}

#header-image {
	padding: 0 !important;
	align-items: center;
}

#header-image h1 {
	color: var(--bianco);
	text-transform: uppercase;
}

/* .home #header-image h1 {
	color: var(--colore);
} */

.image-holder {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin-inline: auto;
	text-align: center;
}

#header-image .paragrafo {
	color: var(--bianco);
	font-weight: var(--weightmedium);
	font-size: clamp(1rem, calc(.25rem + 2vw), 1.3rem);
}

#header-image .button {
	white-space: nowrap;
}

@media (min-width: 1024px) {
	#header-image .header-content .grid {
		padding-inline: 2rem;
	}
}



.home .header-content {
	position: absolute;
	top: 15%;
}

.home #header-image {
	min-height: 100px !important;
}

.home #header-image figure {
	position: relative;
	height: auto;
}

.home #header-image img.header-image {
	position: relative;
	height: auto;
}

.home .image-holder {
	position: relative !important;
	width: 100%;
}

.large-header {
	display: none;
}

@media (min-width: 580px) {
	.home #header-image figure {
		transform: translateY(-150px);
	}
}

@media (min-width: 680px) {
	.home #header-image figure {
		transform: translateY(-250px);
	}
}

@media (min-width: 768px) {
	.home #header-image figure {
		transform: translateY(-350px);
	}
}

@media (min-width: 920px) {
	.small-header {
		display: none;
	}

	.large-header {
		display: block;
	}

	.home #header-image figure {
		transform: translateY(0px);
	}

	.home .header-content {
		top: 6%;
	}
}

@media (min-width: 1280px) {
	.home .header-content {
		top: 10%;
	}
}

@media (min-width: 1440px) {
	.home .header-content {
		top: 12%;
	}
}

@media (min-width: 1600px) {
	.home .header-content {
		top: 15%;
	}
}

@media (min-width: 1800px) {
	.home .header-content {
		top: 17%;
	}
}

@media (min-width: 2200px) {
	.home .header-content {
		top: 21%;
	}
}

@media (min-width: 2600px) {
	.home .header-content {
		top: 17%;
	}
}


/* Home: header a tutta altezza viewport, minimo 800px su desktop */
.home #header-image {
	height: 100vh;
	height: 100svh;
}

.home .image-holder {
	position: absolute !important;
	inset: 0;
	height: 100%;
}

.home #header-image figure {
	position: absolute;
	inset: 0;
	height: 100%;
	transform: none;
}

.home #header-image img.header-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (min-width: 1024px) {
	.home #header-image {
		min-height: 800px !important;
	}

	.home .header-content {
		top: 0;
		bottom: 0;
	}
}

.titolo_superiore {
	text-transform: uppercase;
	font-size: .85rem;
	font-weight: var(--weightmedium);
}

.background_testo.has-background {
	padding-inline: 0 !important;
	padding-bottom: 0 !important;
}

.background_testo.has-background>.grid {
	max-width: 100% !important;
}

.background_testo.bg-center.contenuto-right .contenuto {
	background-color: var(--colore);
	padding: 3rem 1.25rem;
	grid-column: 1 / 13;
}

@media (min-width: 425px) {
	.background_testo.bg-center.contenuto-right .contenuto {
		grid-column: 2 / 13;
		padding: 3rem 2rem;
	}
}

@media (min-width: 560px) {
	.background_testo.bg-center.contenuto-right .contenuto {
		padding: 3rem 2.25rem;
		grid-column: 3 / 13;
	}
}

@media (min-width: 680px) {
	.background_testo.bg-center.contenuto-right .contenuto {
		grid-column: 4 / 13;
	}
}

@media (min-width: 768px) {
	.background_testo.bg-center.contenuto-right .contenuto {
		grid-column: 4 / 13 !important;
		padding-left: 4rem !important;
	}
}

@media (min-width: 1024px) {
	.background_testo.bg-center.contenuto-right .contenuto {
		grid-column: 5 / 13 !important;
	}

	.background_testo.bg-center.contenuto-right .contenuto>* {
		max-width: 90%;
	}
}

@media (min-width: 1280px) {
	.background_testo.bg-center.contenuto-right .contenuto {
		grid-column: 6 / 13 !important;
		padding-left: 5rem !important;
	}

	.background_testo.bg-center.contenuto-right .contenuto>* {
		max-width: 85%;
	}
}

@media (min-width: 1600px) {
	.background_testo.bg-center.contenuto-right .contenuto {
		grid-column: 7 / 13 !important;
		padding-left: 5rem !important;
	}

	.background_testo.bg-center.contenuto-right .contenuto>* {
		max-width: 90%;
	}
}

@media (min-width: 1800px) {
	.background_testo.bg-center.contenuto-right .contenuto>* {
		max-width: 724px;
	}
}



/* SLIDER HOME */

.slider-home .slide .titolo {
	font-size: 1.6rem;
	font-weight: var(--weightheavy);
	display: none;
}

.slider-home .slide-number {
	font-size: 1.6rem;
	font-weight: var(--weightnormal);
	left: 0rem;
	bottom: 0rem;
	color: var(--bianco);
	opacity: 1;
	background-color: var(--colore);
	display: inline-block;
	padding: .65rem 3rem .65rem 1rem;
}

.slider-home .slide-number .number {
	color: var(--colore-4);
	font-weight: var(--weightbold);
	display: inline-block;
	padding-right: .5rem;
}

.slider-home .glide__arrow {
	border-radius: var(--round);
	background-color: var(--colore);
	border: none;
}

.slider-home .glide__arrow:hover {
	background-color: var(--colore-2);
}

.slider-home .glide__arrow::before {
	border-color: var(--bianco);
	top: 13px;
}

.slider-home .glide__arrow--right:before {
	left: 11px;
}

.slider-home .glide__arrow::after {
	display: none;
}


#topbar {
	min-height: 52px;
	box-shadow: none;
	background-color: transparent;
	border-radius: 0;
	transition: padding .2s ease-in-out, opacity .2s ease-in-out;
	width: 100%;
	padding-inline: 4px;
	padding-top: 4px;
}

#topbar.up {
	opacity: 0;
}

/* @media (min-width: 1024px) {
	#topbar.up {
		background-color: transparent;
	}
} */

/* #topbar::before {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	background-color: var(--grigio-7);
	opacity: .65;
	z-index: -1;
} */

#topbar .header {
	position: relative;
	background-color: transparent;
	border-radius: 0;
	max-width: none;
	transition: padding .2s ease-in-out;
}

@media (min-width: 1024px) {
	#topbar .header {
		padding-inline: .25rem;
	}

	/* #topbar.up .header {
		background-color: rgba(255, 255, 255, 0.65);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
	} */
}

@media (min-width: 1280px) {
	#topbar .header {
		padding-inline: 3.2rem;
	}
}

@media (min-width: 1500px) {
	#topbar .header {
		padding-inline: 3.9rem;
	}
}


/* @media (min-width: 1600px) {
	#topbar .header {
		padding-inline: 1rem;
	}
} */

/* @media (max-width: 1023px) {
	body:not(.show-menu) #topbar {
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
	}
} */



.logo {
	position: relative;
	z-index: 3;
	min-height: 52px;
}

.logo a {
	display: grid;
	align-items: center;
	height: 100%;
}

.logo img {
	width: 100%;
	max-width: 156px;
	transition: max-width .2s ease-in-out, transform .2s ease-in-out, opacity .2s ease-in-out;
	position: absolute;
	left: 1.5rem;
	top: 1rem;
	filter: brightness(0) invert(1);
}
.show-menu .logo img {
	display: none;
}

/* #topbar.up .logo img {
	max-width: 75px;
} */

/* @media (min-width: 1024px) {
	body:not(.show-menu) #topbar .backdrop {
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		position: absolute;
		top: 0;
		bottom: 0;
		width: calc(100% - 2.5rem);
		left: 50%;
		transform: translateX(-50%);
		border-bottom-left-radius: var(--radius);
		border-bottom-right-radius: var(--radius);
	}
	#topbar::before {
		position: absolute;
		content: '';
		top: 0;
		bottom: 0;
		background-color: var(--grigio-7);
		opacity: .65;
		z-index: -1;
		width: calc(100% - 2.5rem);
		left: 50%;
		right: auto;
		transform: translateX(-50%);
		border-bottom-left-radius: var(--radius);
		border-bottom-right-radius: var(--radius);
	}
}
@media (min-width: 1800px) {
	body:not(.show-menu) #topbar .backdrop,
	#topbar::before {
		max-width: 1720px;
	}
}
@media (min-width: 1840px) {
	body:not(.show-menu) #topbar .backdrop,
	#topbar::before {
		max-width: 1780px;
	}
}
@media (min-width: 1900px) {
	body:not(.show-menu) #topbar .backdrop,
	#topbar::before {
		max-width: 1800px;
	}
} */


@media (min-width: 1024px) {
	.logo {
		min-height: 10px;
	}

	.logo img {
		/* max-width: 140px; */
		margin-block: 5px;
		/* left: 0;
		transform: translateX(10px); */
	}

	/* #topbar.up .logo {
		transform: translateY(2px) translateX(10px);
	} */
	#topbar.up .logo img {
		/* filter: none; */
		/* max-width: 125px; */
	}

	/* #topbar.up .logo::before {
		content: '';
		position: absolute;
		top: -6px;
		left: -1;
		width: 70px;
		aspect-ratio: 1 / 1;
		background-color: var(--colore);
		border-radius: var(--round);
        box-shadow: 0 5px 30px rgba(0, 0, 0, 0.18);
  } */
}

@media (min-width: 1280px) {
	.logo img {
		max-width: 190px;
		left: .5rem;
		top: 2rem;
	}
}

@media (min-width: 1360px) {
	.logo {
		min-height: 13px;
	}

	.logo img {
		max-width: 234px;
	}
}





.top-nav {
	/* display: grid; */
	/* justify-items: center; */
}
#mainmenu {
	width: 100%;
	position: relative;
	z-index: 999;
	height: auto;
	overflow: auto;
	position: relative;
	margin-top: 80px;
	max-width: calc(100% - 2.5rem);
	text-align: left;
}

#mainmenu ul {
	position: absolute;
	background: transparent
}

#mainmenu li {
	float: left;
	list-style: none outside none;
	cursor: pointer;
}

#mainmenu li a {
	display: inline-block;
	font-family: var(--altfont);
	font-weight: var(--weightbold);
	color: var(--bianco);
	font-size: 1.5rem;
	line-height: 1.2;
	padding: .7rem 0.625rem;
	text-decoration: none;
	text-transform: uppercase;
}

#mainmenu li ul li a {
	color: var(--bianco);
	background: transparent;
	min-width: 100%;
	padding: 0.625rem 1.25rem;
	background: transparent;
	font-size: 1.1rem;
	padding: .35rem .7rem;
}

/* #mainmenu li a:hover,
.aside-nav li a:hover,
#mainmenu li.active a,
.menu-item-has-children:hover > .dropdown-toggle {
  background:var(--colore);
  color:var(--bianco);
} */
#mainmenu li ul li a:hover {
	color: var(--colore-4);
}

#mainmenu li ul {
	display: none;
}

#mainmenu li ul li,
#mainmenu li ul li ul li {
	float: none;
	list-style: none outside none;
	min-width: 100%;
	padding: 0;
	line-height: 1;
	margin-bottom: .2rem;
}


nav {
	display: block;
	cursor: pointer;
	line-height: 3;
}


#mainmenu.show-menu,
.aside-nav.minimize-on-small>ul.show-menu {
	height: auto;
}

#mainmenu ul {
	left: 0;
	margin-top: 0;
	position: relative;
	right: 0;
}

#mainmenu li {
	float: none;
	list-style: none outside none;
	padding: 0;
	margin: 0;
}

#mainmenu li a.dropdown-toggle::after {
	content: '+';
	font-family: var(--altfont);
	font-weight: var(--weightbold);
	color: var(--bianco);
	font-size: 2.5rem;
	display: inline-block;
	height: 12px;
	width: 12px;
	left: .75rem;
	transform: translateY(-27px);
	position: relative;
	vertical-align: middle;
}

#mainmenu li.open a.dropdown-toggle::after {
	content: '-';
}


#mainmenu li a:hover,
#mainmenu li a.down,
#mainmenu li.active>a,
#mainmenu li.menu-item-has-children:hover>.dropdown-toggle {
	background-color: transparent;
	color: var(--colore-4);
}
#mainmenu li.menu-item-has-children {
	position: relative;
}
#mainmenu li ul,
#mainmenu li ul li ul {
	display: block;
	overflow: hidden;
	height: 0;
}

#mainmenu ul.show-ul {
	display: block;
	height: auto;
	margin-bottom: .3rem;
	z-index: 9;
}

#mainmenu li ul li.current-menu-ancestor a {
	color: var(--bianco);
}

#mainmenu li ul li.active a {
	background-color: transparent;
	color: var(--colore-4);
}

#mainmenu li ul li ul li a {
	background: var(--colore);
}

.top-nav {
	position: fixed;
	top: 0;
	z-index: 2;
	left: -100%;
	width: 100% !important;
	bottom: 0;
	overflow-y: auto;
}

body.show-menu {
	overflow: hidden;
}

body.show-menu .top-nav {
	overflow: auto;
}

.show-menu .top-nav {
	left: 0;
	right: 60px
}


.nav-text {
	color: var(--bianco);
	display: inline-block;
	margin-right: 0;
	margin-bottom: 0;
	position: fixed;
	top: 6px;
	right: 1.5rem;
	background-color: transparent;
	height: 45px;
	width: 45px;
	text-align: right;
	z-index: 50;
}

.nav-text:after,
.nav-text:before {
	display: none;
}

.top-nav {
	max-width: calc(100% - 8px);
	left: 4px !important;
	bottom: 4px !important;
	justify-items: center;
	background-color: var(--colore);
	max-height: 0;
	overflow: hidden;
	/* top: 56px; */
	border-radius: 0;
	max-width: 100%;
	left: 0 !important;
	bottom: 0 !important;
}

.nav-text div.m {
	color: var(--bianco);
	font-size: 14px;
	letter-spacing: 2px;
	position: relative;
}

.nav-text span {
	width: 40px;
	top: 34px;
	background: var(--bianco);
	display: block;
	height: 1px;
	border-radius: 0;
	position: absolute;
	right: 4px;
}

.nav-text span.uno {
	-webkit-transform: translateY(0px);
	transform: translateY(0px);
}

.nav-text span.due {
	-webkit-transform: translateY(9px);
	transform: translateY(9px);
	width: 21px;
}

.show-menu .nav-text div.m {
	opacity: 0;
}

.show-menu .nav-text span.uno {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	opacity: 1;
}

.show-menu .nav-text span.due {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 40px;
	opacity: 1;
}


body.show-menu .top-nav {
	max-height: none;
}

body.show-menu #topbar {
	background-color: var(--colore);
	border-radius: 0;
}

body.show-menu #topbar .header {
	border-radius: 0;
}





#mainmenu li.lang-item {
	padding: 5px 0 0 0;
	margin-left: 12px;
}

#mainmenu li.lang-item a {
	padding: 0 9px 0 !important;
}

#mainmenu li.lang-item a,
#mainmenu li.lang-item a:hover {
	font-size: .00000000000rem !important;
	color: transparent !important;
	display: block;
	width: 20px;
	height: 20px;
	background-size: contain;
	background-repeat: no-repeat;
}

#mainmenu li.lang-item-it a {
	background-image: url(assets/images/flag-it.svg) !important;
}

#mainmenu li.lang-item-en a {
	background-image: url(assets/images/flag-uk.svg) !important;
}

#mainmenu li.lang-item img {
	display: none !important
}

#mainmenu li.lang-item-en {
	margin-left: 18px;
}

#mainmenu li.lang-item {
	margin-top: 10px;
	display: inline-block !important;
}
@media (min-width: 425px) {
	#mainmenu li a {
		font-size: 1.6rem;
	}
}
@media (min-width: 680px) {
	#mainmenu li a {
		font-size: 1.8rem;
	}
}
@media (min-width: 1024px) {
  #mainmenu {
	padding-left: 6%;
  }
  #mainmenu ul {
	position: absolute;
	left: 364px;
	top: -24px;
  }

}
@media (min-width: 1280px) {
  #mainmenu {
	padding-left: 8%;
  }
  #mainmenu li a {
		font-size: 2rem;
	}
	#mainmenu ul {
		left: 400px;
	}
}
@media (min-width: 1360px) {
  #mainmenu {
	padding-left: 12%;
  }
  #mainmenu li a {
		font-size: 2.2rem;
	}
	#mainmenu ul {
		left: 440px;
	}
	#mainmenu li ul li a {
		font-size: 1.2rem;
	}
}
@media (min-width: 1600px) {
  #mainmenu {
	padding-left: 16%;
  }
}
@media (min-width: 1800px) {
  #mainmenu {
	padding-left: 20%;
  }
}
@media (min-width: 2000px) {
  #mainmenu {
	padding-left: 24%;
  }
}
@media (min-width: 2400px) {
  #mainmenu {
	padding-left: 28%;
  }
}



#menu-secondary-menu {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: calc(100% - 2.5rem);
    text-align: left;
	margin-top: 4rem;
}
#menu-secondary-menu li {
	line-height: 1;
	margin-right: .4rem;
}
#menu-secondary-menu li a {
	font-size: 1rem;
	color: var(--bianco);
	font-weight: var(--weightnormal);
	display: inline-block;
    line-height: 1.2;
    padding: .5rem 0.625rem;
    text-decoration: none;
    text-transform: uppercase;
}
#menu-secondary-menu li a:hover {
	color: var(--colore-4);
}
@media (min-width: 1024px) {
    #menu-secondary-menu {
        padding-left: 6%;
    }
}
@media (min-width: 1280px) {
    #menu-secondary-menu {
        padding-left: 8%;
		margin-top: 6rem;
    }
}
@media (min-width: 1360px) {
    #menu-secondary-menu {
        padding-left: 12%;
		margin-top: 8rem;
    }
}
@media (min-width: 1600px) {
    #menu-secondary-menu {
        padding-left: 16%;
		margin-top: 10rem;
    }
}
@media (min-width: 1800px) {
    #menu-secondary-menu {
        padding-left: 20%;
    }
}
@media (min-width: 2000px) {
    #menu-secondary-menu {
        padding-left: 24%;
    }
}
@media (min-width: 2400px) {
    #menu-secondary-menu {
        padding-left: 28%;
    }
}



#socialmenu {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: calc(100% - 3.5rem);
    text-align: left;
	margin-top: 4rem;
}
#socialmenu .social {
	display: inline-block;
	margin: 0 15px 10px 0;
	background-color: transparent;
	color: var(--bianco);
	border: 1px solid var(--bianco);
	border-radius: var(--round);
	width: 36px;
	height: 36px;
	text-align: center;
	line-height: 39px;
	transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
#socialmenu .social svg {
	width: 18px;
	height: 18px;
}
#socialmenu .social:hover {
	background-color: transparent;
	color: var(--colore-4);
	border-color: var(--colore-4);
}
@media (min-width: 1024px) {
    #socialmenu {
        padding-left: 6%;
    }
}
@media (min-width: 1280px) {
    #socialmenu {
        padding-left: 8%;
    }
}
@media (min-width: 1360px) {
    #socialmenu {
        padding-left: 12%;
    }
}
@media (min-width: 1600px) {
    #socialmenu {
        padding-left: 16%;
    }
}
@media (min-width: 1800px) {
    #socialmenu {
        padding-left: 20%;
    }
}
@media (min-width: 2000px) {
    #socialmenu {
        padding-left: 24%;
    }
}
@media (min-width: 2400px) {
    #socialmenu {
        padding-left: 28%;
    }
}




.paragrafo .titolo a {
	color: var(--colore);
}

.paragrafo img {
	height: 100%;
	object-fit: cover;
}
.paragrafo.foto-full img {
	width: auto;
}
.paragrafo.foto-left-full img,
.paragrafo.foto-right-full img {
	width: 100%;
	height: auto;
 }
.paragrafo img[src$=".svg"] {
	max-width: 420px;
	background-color: var(--colore);
}

.button.download {
	background-color: var(--colore);
	color: var(--bianco);
	padding: .6rem 3.4rem .75rem 1.2rem;
}
.button.download::after {
	background-image: url(assets/images/arrow-r-w.svg);
	right: 13px;
	top: 43%;
}




/* galleria masonry */
#recensioni .recensioni_container {
	padding-inline: .5rem;
}

@media screen and (min-width: 580px) {
	#recensioni .recensioni_container {
		-webkit-column-count: 2;
		/* Chrome, Safari, Opera */
		-moz-column-count: 2;
		/* Firefox */
		column-count: 2;
		/* standard */
		-webkit-column-gap: 20px;
		-moz-column-gap: 20px;
		column-gap: 20px;
	}
}

@media (min-width: 768px) {
	#recensioni .recensioni_container {
		-webkit-column-gap: 40px;
		-moz-column-gap: 40px;
		column-gap: 40px;
	}
}

@media screen and (min-width: 1024px) {
	#recensioni .recensioni_container {
		-webkit-column-count: 3;
		/* Chrome, Safari, Opera */
		-moz-column-count: 3;
		/* Firefox */
		column-count: 3;
		/* standard */
		-webkit-column-gap: 40px;
		-moz-column-gap: 40px;
		column-gap: 40px;
	}
}

#recensioni .recensioni_container .review {
	break-inside: avoid-column;
	/* Evita che gli elementi si dividano tra le colonne */
	margin-bottom: 40px !important;
}






/* LINEE BUSINESS HOME */

.linee-business .item {
    grid-column: span 12;
}
.linee-business .inner {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 40px;
    background-color: var(--colore);
    color: var(--bianco);
    padding: 1.25rem 1.25rem 1.25rem 1.75rem;
}
.linee-business h3 {
    color: var(--bianco) !important;
    font-size: 1.4rem;
    font-weight: var(--weightnormal);
}
.linee-business a {
    color: var(--bianco);
}
.linee-business a:hover {
    color: var(--colore-4);
}
.linee-business a.link {
    padding: .7rem 2.5rem .4rem 0;
    position: relative;
}
.linee-business a.link::after {
    content: '';
    position: absolute;
    top: 48%;
    right: 0;
    width: 25px;
    height: 10px;
    background-image: url(assets/images/arrow-r-w.svg);
    background-repeat: no-repeat;
    background-size: 25px;
}
.linee-business a.link:hover::after {
    background-image: url(assets/images/arrow-r-b2.svg);
}
.linee-business figure {
    margin-bottom: 0 !important;
}
.linee-business figure img {
    width: 100%;
}
.linee-business ul {
    margin-bottom: 0 !important;
    padding: 0 !important;
}
.linee-business li {
    padding-left: 0 !important;
    margin-bottom: .3rem !important;
}
.linee-business li:before {
    display: none;
}
@media (min-width: 700px) {
    .linee-business .parent-gap {
        grid-column-gap: 20px;
    }
    .linee-business .item {
        grid-column: span 6;
    }
    .linee-business h3 {
        font-size: 1.1rem;
    }
    .linee-business .inner {
        right: 22px;
        padding: 1.25rem 1rem 1rem 1.5rem;
    }
}
@media (min-width: 1024px) {
    .linee-business .parent-gap {
        grid-column-gap: 30px;
    }
    .linee-business h3 {
        font-size: 1.25rem;
    }
    .linee-business .inner {
        right: 32px;
    }
}
@media (min-width: 1280px) {
    .linee-business h3 {
        font-size: 1.4rem;
    }
}
@media (min-width: 1360px) {
    .linee-business h3 {
        font-size: 1.5rem;
    }
}





/* SERVIZI HOME */

.servizi-home .item {
    grid-column: span 12;
}
.servizi-home .inner {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 40px;
    background-color: var(--colore);
    color: var(--bianco);
    padding: 1.25rem 1.25rem 1.25rem 1.75rem;
}
.servizi-home h3 {
    color: var(--bianco) !important;
    font-size: 1.4rem;
    font-weight: var(--weightnormal);
}
.servizi-home a {
    color: var(--bianco);
}
.servizi-home a:hover {
    color: var(--colore-4);
}
.servizi-home a.link {
    padding: .7rem 2.5rem .4rem 0;
    position: relative;
}
.servizi-home a.link::after {
    content: '';
    position: absolute;
    top: 48%;
    right: 0;
    width: 25px;
    height: 10px;
    background-image: url(assets/images/arrow-r-w.svg);
    background-repeat: no-repeat;
    background-size: 25px;
}
.servizi-home a.link:hover::after {
    background-image: url(assets/images/arrow-r-b2.svg);
}
.servizi-home figure {
    margin-bottom: 0 !important;
}
.servizi-home figure img {
    width: 100%;
}
.servizi-home ul {
    margin-bottom: 0 !important;
    padding: 0 !important;
}
.servizi-home li {
    padding-left: 0 !important;
    margin-bottom: .3rem !important;
}
.servizi-home li:before {
    display: none;
}
@media (min-width: 700px) {
    .servizi-home .parent-gap {
        grid-column-gap: 20px;
    }
    .servizi-home .item {
        grid-column: span 4;
    }
    .servizi-home h3 {
        font-size: 1.1rem;
    }
    .servizi-home .inner {
        right: 22px;
        padding: 1.25rem 1rem 1rem 1.5rem;
    }
}
@media (min-width: 1024px) {
    .servizi-home .parent-gap {
        grid-column-gap: 30px;
    }
    .servizi-home h3 {
        font-size: 1.25rem;
    }
    .servizi-home .inner {
        right: 32px;
    }
}
@media (min-width: 1280px) {
    .servizi-home h3 {
        font-size: 1.4rem;
    }
}
@media (min-width: 1360px) {
    .servizi-home h3 {
        font-size: 1.5rem;
    }
}





/* GRID LOGHI */

.box.loghi .grid figure {
	text-align: center;
}

.box.loghi .grid figure img {
	margin-inline: auto;
}

@media (min-width: 580px) {
	.box.loghi .grid {
		grid-column-gap: 30px !important;
	}
}

@media (min-width: 1024px) {
	.box.loghi .grid {
		grid-column-gap: 50px !important;
	}
}





.wpcf7-form span.arrow {
	display: inline-block;
	font-size: .86rem;
	position: relative;
}

.wpcf7-form span.arrow::after {
	content: '';
	position: absolute;
	right: 8px;
	top: 8px;
	width: 30px;
	height: 30px;
	background-image: url(assets/images/arrow-dots.svg);
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 2;
}

.wpcf7-form .wpcf7-spinner {
	display: none;
}
input.wpcf7-submit {
	background-color: var(--colore);
	color: var(--bianco);
	padding: .56rem 1.35rem;
	border: none;
}
input.wpcf7-submit:hover {
	background-color: var(--colore-2);
	color: var(--bianco);
}

div.wpcf7 label.privacy, fieldset label.privacy {
	text-transform: uppercase;
	font-weight: var(--weightbold);
}
div.wpcf7 label.marketing .wpcf7-list-item-label,
div.wpcf7 label.profilazione .wpcf7-list-item-label {
	display: none !important;
}

div.wpcf7 label.marketing .wpcf7-form-control-wrap,
div.wpcf7 label.profilazione .wpcf7-form-control-wrap {
	float: left;
}
div.wpcf7 label.marketing .wpcf7-form-control-wrap span,
div.wpcf7 label.profilazione .wpcf7-form-control-wrap span {
	float: left;
	padding-left: 0 !important;
	margin: 0 !important;
}
div.wpcf7 input[type=checkbox] {
	float: left;
	margin-top: 4px;
}


div.wpcf7 label sup,
fieldset label sup {
	color: var(--grigio-2);
}

.label.strong {
	font-weight: var(--weightbold);
}

@media (max-width: 439px) {
	.wpcf7-form fieldset .s-2 {
		grid-column: span 4 !important;
	}
}

@media (max-width: 781px) {
	.wpcf7-form {
		padding-top: 3rem;
	}
}








.breadcrumbs {
	color: var(--bianco);
}
.breadcrumbs a {
	color: var(--grigio-3);
}
.breadcrumbs a:hover {
	color: var(--bianco);
}

#page-header .breadcrumbs {
	color: var(--main);
}

#page-header .breadcrumbs a {
	color: var(--colore-2);
}

#page-header .breadcrumbs a:hover {
	color: var(--main);
}




.paragrafo .fotoalign-center .inner {
	width: 100%;
}



.paragrafo.intro .titolo {
	max-width: 86%;
}

.paragrafo.intro .testo {
	color: var(--grigio-2);
}

@media (min-width: 520px) {
	.paragrafo.intro .titolo {
		max-width: 77%;
	}
}

@media (min-width: 600px) {
	.paragrafo.intro .titolo {
		max-width: 72%;
	}
}

@media (min-width: 660px) {
	.paragrafo.intro .titolo {
		max-width: 69%;
	}
}

@media (min-width: 768px) {
	.paragrafo.intro .titolo {
		max-width: 63%;
	}

	.paragrafo.intro .testo {
		font-size: 1.06rem;
	}
}

@media (min-width: 992px) {
	.paragrafo.intro .titolo {
		max-width: 59%;
	}
}

@media (min-width: 1280px) {
	.paragrafo.intro .titolo {
		max-width: 58%;
	}
}









/* PARAGRAFO ASIMM */

.paragrafo-asimm .contenuto {
	transform: translateY(-20px);
	padding: 2.25rem 1.25rem 2.25rem !important;
	border-bottom-left-radius: var(--radius);
	border-bottom-right-radius: var(--radius);
	background-color: var(--grigio-6);
}

.paragrafo-asimm.dark .contenuto {
	background-color: var(--main);
	color: var(--colore);
}

.paragrafo-asimm.rosso .contenuto {
	background-color: var(--colore);
	color: var(--bianco);
}

.paragrafo-asimm.rosso .contenuto .titolo strong {
	color: var(--bianco);
}

.paragrafo-asimm.blu .contenuto {
	background-color: var(--colore-2);
	color: var(--colore);
}

.paragrafo-asimm.dark .contenuto .titolo,
.paragrafo-asimm.dark .contenuto .testo h2,
.paragrafo-asimm.dark .contenuto .testo h3,
.paragrafo-asimm.blu .contenuto .titolo,
.paragrafo-asimm.blu .contenuto .testo h2,
.paragrafo-asimm.blu .contenuto .testo h3 {
	color: var(--colore);
}

.paragrafo-asimm.rosso .contenuto .titolo,
.paragrafo-asimm.rosso .contenuto .testo h2,
.paragrafo-asimm.rosso .contenuto .testo h3 {
	color: var(--bianco);
}

.paragrafo-asimm.rosso input.wpcf7-submit:hover {
	background-color: var(--bianco);
	color: var(--main);
}

@media (max-width: 1279px) {
	.paragrafo-asimm .titolo br {
		display: none;
	}
}

@media (max-width: 679px) {
	.paragrafo-asimm .contenuto {
		grid-column: span 12;
		order: 2 !important;
	}

	.paragrafo-asimm figure {
		grid-column: span 12 !important;
		order: 1 !important;
	}
}

@media (min-width: 520px) {
	.paragrafo-asimm .contenuto {
		padding: 2.25rem 2.25rem 2.25rem !important;
	}
}

@media (min-width: 680px) {
	.paragrafo-asimm .contenuto {
		grid-column: span 7;
		transform: translateY(0);
		padding: 2.25rem 2rem 2.25rem !important;
		border-top-left-radius: var(--radius);
		border-top-right-radius: var(--radius);
	}

	.paragrafo-asimm figure {
		grid-column: span 5 !important;
	}
}

@media (min-width: 992px) {
	.paragrafo-asimm .contenuto {
		grid-column: span 8;
	}

	.paragrafo-asimm figure {
		grid-column: span 4 !important;
	}
}

@media (min-width: 1024px) {
	.paragrafo-asimm {
		grid-column-gap: 40px !important;
	}

	.paragrafo-asimm .contenuto {
		padding: 2.25rem 2.5rem 2.5rem !important;
	}
}

@media (min-width: 1280px) {
	.paragrafo-asimm .inner {
		display: grid;
		grid-template-columns: repeat(12, 1fr);
	}

	.paragrafo-asimm .contenuto {
		padding: 3.25rem 3.75rem 2.65rem 3.8rem !important;
	}

	.paragrafo-asimm .titolo {
		grid-column: span 12;
	}

	.paragrafo-asimm .testo {
		grid-column: span 12;
		padding-left: 0rem;
	}

	.paragrafo-asimm.wide .testo {
		grid-column: span 12;
		padding-left: 0rem;
	}

	.paragrafo-asimm .button {
		grid-column: span 7;
	}

	.paragrafo-asimm figure {
		grid-column: span 4 !important;
	}
}

@media (min-width: 1440px) {
	.paragrafo-asimm figure {
		grid-column: span 5 !important;
	}

	.paragrafo-asimm .contenuto {
		grid-column: span 7;
	}

	.paragrafo-asimm .titolo {
		padding-right: 2rem;
	}
}



.glide__bullet {
	border-radius: var(--radius);
}






/* HEADER HOME*/

/* .header-home {
	padding: 0 !important;
}
.header-home > .grid {
	max-width: 100% !important;
}
.header-home img {
	border-radius: 0 !important;
}
.header-home .contenuto {
	position: absolute;
	inset: 0;
 } */












.slider-cpt .item {
	position: relative;
}

.slider-cpt .wrap {
	position: relative;
	border-radius: var(--radius);
	overflow: hidden;
	transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
	/* max-width: 420px; */
	margin-inline: auto;
}

/*
.slider-cpt .wrap::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--main);
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
} */

/* .slider-cpt .item:hover .wrap::after {
	opacity: 1;
} */

/* .slider-cpt .item:hover .wrap {
	transform: scale(1.03) !important;
	box-shadow: var(--shadow);
} */

.slider-cpt .item figure {
	overflow: hidden;
	margin: 0;
}

.slider-cpt .item p {
	margin: 0;
	color: var(--bianco);
	font-size: 1.1rem;
	text-transform: uppercase;
	/* opacity: 0;
	transition: opacity 0.3s ease-in-out; */
}

.slider-cpt .item .titwrap {
	position: absolute;
	display: block;
	z-index: 2;
	bottom: 22px;
	left: 26px;
	right: 10px;
	text-align: left;
	/* max-width: 80%; */
	transition: bottom 0.3s ease-in-out;
}

.slider-cpt .item .titwrap .titolo {
	margin-bottom: 0 !important;
	font-size: 1.4rem;
	color: var(--bianco);
	/* opacity: 0;
	transition: opacity 0.3s ease-in-out; */
	/* word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto; */
}

/* .slider-cpt .item:hover .titwrap .titolo,
.slider-cpt .item:hover p {
	opacity: 1;
} */

.slider-cpt .item .titwrap .titolo strong {
	display: block;
}

.slider-cpt .item a figure img {
	transition: transform 0.3s ease-in-out;
}

.slider-cpt .item a:hover figure img {
	transform: scale(1.09);
}

/* .slider-cpt .item .titwrap:hover a .titolo {
	color: var(--bianco);
} */
.slider-cpt .glide__track,
.slider-cpt .glide__slides {
	padding-block: 1rem !important;
}

.slider-cpt .grid.full .glide__track {
	overflow: visible !important;
}

.slider-cpt .glide__arrows {
	position: absolute;
	bottom: -1.6rem !important;
	left: 0;
	width: 100%;
	text-align: center;
}

.slider-cpt .glide__arrow {
	border-radius: var(--round);
	background-color: transparent;
	border: 2px solid var(--colore);
	position: relative;
}

.slider-cpt .glide__arrow--left {
	left: -5px;
}

.slider-cpt .glide__arrow--right {
	right: -5px;
}

.slider-cpt .glide__arrow::before {
	border-color: var(--colore);
	top: 10px;
}

.slider-cpt .glide__arrow--left::before {
	left: 13px;
}

.slider-cpt .glide__arrow--right::before {
	left: 8px;
}

.slider-cpt .glide__arrow:hover {
	background-color: var(--colore);
	border-color: var(--colore);
}

.slider-cpt .glide__arrow:hover::before {
	border-color: var(--bianco);
}

@media (min-width: 1280px) {
	.slider-cpt .glide__arrows {
		bottom: -2.5rem !important;
	}

	.slider-cpt .glide__arrow {
		width: 40px;
		height: 40px;
	}

	.slider-cpt .glide__arrow::before {
		top: 12px;
	}

	.slider-cpt .glide__arrow--left::before {
		left: 18px;
	}

	.slider-cpt .glide__arrow--right::before {
		left: 13px;
	}


	.slider-cpt .grid.full .glide__track,
	.slider-cpt .grid.full .glide__slides {
		overflow: visible !important;
		overflow-x: hidden !important;
		overflow-y: visible !important;
		padding-block: 2.25rem !important;
	}

	.slider-cpt .grid.full .glide__track {
		padding-left: 1rem !important;
		transform: translateX(-1rem);
		width: calc(100% + 1rem) !important;
	}

	.slider-cpt>.grid.full {
		display: grid;
		padding-right: 0 !important;
	}

	.slider-cpt .grid.full .glide_cpt {
		grid-column: 5 / 14;
		transform: translateY(-60px);
	}

	.slider-cpt>.grid>.titolo strong {
		display: block;
	}

	.slider-cpt .grid.full .glide__arrow {
		top: auto !important;
		bottom: 20% !important;
		right: auto;
		background-color: transparent;
		border: 1px solid var(--colore-2);
	}

	.slider-cpt .grid.full .glide__arrow--right {
		left: 90px;
	}

	.slider-cpt .grid.full .glide__arrow--left {
		left: 42px;
	}

}


@media (min-width: 1440px) {
	.slider-cpt .item .titwrap {
		bottom: 32px;
		left: 36px;
	}

	.slider-cpt .glide__arrow {
		width: 46px;
		height: 46px;
	}

	.slider-cpt .glide__arrow::before {
		top: 15px;
	}
}








/* GRID ARTICOLI GENERICO */

.archive-grid .inner {
	position: relative;
	height: 100%;
	background-color: var(--colore);
	padding-bottom: 3rem;
}

.archive-grid figure {
	position: relative;
	overflow: hidden;
}

.archive-grid figure img {
	border-radius: 0;
}

.archive-grid .testo {
	padding: 1.5rem 1.75rem 1.75rem;
	color: var(--bianco);
}

.archive-grid .testo h3 {
	color: var(--bianco) !important;
	font-weight: var(--weightnormal);
}

.archive-grid .item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.archive-grid .excerpt {
	--max-lines: 4;
	--this-line-height: 1.3;
	font-size: 0.86rem;
	line-height: var(--this-line-height);
	height: calc(var(--max-lines) * 0.86rem * var(--this-line-height));
	max-height: calc(var(--max-lines) * 0.86rem * var(--this-line-height));
	overflow: hidden;
	position: relative;
	color: var(--bianco);
	;
}

.archive-grid .data {
	font-weight: var(--weightmedium);
	color: var(--bianco);
	padding: 0;
}

.archive-grid .item .button {
	position: absolute;
	bottom: 2rem;
}

.category-description {
	font-size: 1.1rem;
	font-weight: var(--weightmedium);
}

@media (min-width: 768px) {
	.archive-grid .testo h3 {
		font-size: 1.2rem;
	}
}

@media (min-width: 1024px) {
	.archive-grid .testo h3 {
		font-size: 1.4rem;
	}
}

@media (min-width: 1280px) {
	.archive-grid .testo h3 {
		font-size: 1.5rem;
	}
}

@media (min-width: 1360px) {
	.archive-grid .testo h3 {
		font-size: 1.6rem;
	}
}

@media (min-width: 768px) {
	.archive-grid .testo {
		padding: 1.75rem 2rem 1.75rem;
	}

	.archive-grid .testo h3 {
		font-size: 1.7rem;
	}
}

@media (min-width: 1600px) {
	.archive-grid .testo h3 {
		font-size: 1.8rem;
	}
}






/* PAGINA MENU */

.page-id-19426 #header-image,
.page-id-19957 #header-image {
	position: fixed;
	align-items: start;
}

.header-content.invisible>div {
	opacity: 0;
}

@media (min-width: 1024px) {

	.page-id-19426 #header-image h1,
	.page-id-19957 #header-image h1 {
		padding-top: 2rem;
	}
}

@media (min-width: 1360px) {

	.page-id-19426 #header-image h1,
	.page-id-19957 #header-image h1 {
		padding-top: 3rem;
	}
}

.menuristorante {
	padding-top: 4rem;
}

.menuristorante:nth-child(2) {
	padding-top: 17rem;
}

.menuristorante:last-child {
	margin-bottom: 8rem;
}

.menuristorante .item {
	position: relative;
	overflow: hidden;
	background-color: var(--colore);
	border-radius: var(--radius-small);
	margin: 0 auto !important;
	width: 100%;
	padding: 1.8rem 1.2rem 1.65rem 1.2rem !important;
}

.menuristorante .titolo {
	font-size: 2.1rem;
	line-height: 100% !important;
	color: var(--bianco) !important;
	background: var(--colore-3);
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	text-shadow: var(--text-shadow);
	width: calc(100% + 2.5rem);
	margin-left: -1.25rem;
	margin-top: -1.8rem;
}

.menuristorante.uno .item {
	background-color: var(--colore);
}

.menuristorante.due .item {
	background-color: var(--colore-2);
}

.menuristorante.tre .item {
	background-color: var(--colore-2);
}

.menuristorante.tre .titolo {
	background-color: var(--colore);
}

.menuristorante.quattro .item {
	background-color: var(--colore-3);
	color: var(--main);
}

.menuristorante.quattro .titolo {
	background-color: var(--colore);
}

.menuristorante.quattro .item .piatti li.totale {
	border-top-color: var(--main);
}

.menuristorante.evidenza .item {
	background-color: var(--main);
	border: 4px dashed var(--bianco);
}

.piatti {
	list-style-type: none;
	padding: 0 !important;
	margin: 0 !important;
	position: relative;
}

.piatti li {
	font-weight: var(--weightheavy);
	text-align: center;
	font-size: 1rem;
	padding-top: .5rem;
	padding-bottom: 3.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
}

.piatti li::after {
	content: "";
	background-image: url(assets/images/piu.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	width: 30px;
	height: 30px;
	position: absolute;
	font-weight: var(--weightbold);
	color: var(--grigio-2);
	line-height: 1;
	font-size: 2.8rem;
	left: 50%;
	bottom: .65rem;
	transform: translateX(-50%);
}

.piatti li:nth-last-of-type(1)::after,
.piatti li:nth-last-of-type(2)::after {
	display: none;
}

.piatti li::before {
	display: none;
}

.piatti li .piatto {
	display: inline-block;
	font-size: 1.4rem;
	font-family: var(--altfont);
	font-weight: var(--weightbold);
}

.piatti li .prezzo {
	display: inline-block;
	white-space: nowrap;
	font-size: 1.3rem;
}

.piatti li .descrizione {
	display: inline-block;
	width: 100%;
	font-weight: var(--weightmedium);
	font-size: .86rem;
	color: var(--main);
}

.piatti li.totale {
	justify-content: left;
	font-weight: var(--weightbold);
	font-size: 1.4rem;
	padding-top: 1rem !important;
	padding-bottom: 0 !important;
	margin-top: -1rem;
	border-top: 1px dashed var(--main);
}

.piatti.prezzo-piatto {
	margin-bottom: .5rem !important;
}

.piatti.prezzo-piatto li {
	text-align: left;
	justify-content: space-between;
	padding-bottom: .5rem;
	border-bottom: 1px dashed var(--main);
}

.piatti.prezzo-piatto li::after {
	display: none;
}

.piatti.prezzo-piatto li .piatto {
	width: calc(100% - 80px);
}

.piatti.prezzo-piatto li.titolo_grande {
	border: none;
	padding-top: 1.2rem;
}

.piatti.prezzo-piatto li.titolo_grande .piatto {
	font-size: 1.15rem;
	display: inline-block;
	background-color: var(--bianco);
	color: var(--colore);
	width: auto;
	padding: .2rem 1rem .1rem;
	border-radius: 4px;
}

.menuristorante.due .piatti.prezzo-piatto li.titolo_grande .piatto,
.menuristorante.tre .piatti.prezzo-piatto li.titolo_grande .piatto {
	color: var(--colore-2);
}

.piatti:not(.prezzo-unico) li.totale {
	display: none;
}

.menuristorante .totale_extra {
	display: block;
	font-weight: var(--weightbold);
	font-size: 1.4rem;
	margin-top: 1rem;
}

@media (min-width: 580px) {
	.menuristorante .titolo {
		font-size: 2.25rem;
		width: calc(100% + 4rem);
		margin-left: -2rem;
	}

	.menuristorante .item {
		padding: 1.8rem 2rem 2rem 2rem !important;
	}
}

@media (min-width: 768px) {
	.menuristorante .item {
		max-width: 90%;
	}

	.menuristorante .titolo {
		font-size: 2.4rem;
	}
}

@media (min-width: 1024px) {
	.menuristorante .item {
		max-width: 85%;
	}

	.menuristorante:nth-child(2) {
		padding-top: 20rem;
	}
}

@media (min-width: 1280px) {
	.menuristorante .item {
		max-width: 1000px;
		padding: 1.8rem 2rem 2rem 2rem !important;
	}

	.menuristorante .titolo {
		font-size: 2.8rem;
	}

	.piatti li {
		font-size: 1.1rem;
	}
}

@media (min-width: 1360px) {
	.menuristorante:nth-child(2) {
		padding-top: 23rem;
	}
}

@media (min-width: 1440px) {
	.menuristorante .titolo {
		font-size: 3rem;
	}
}

@media (min-width: 1680px) {
	.menuristorante:nth-child(2) {
		padding-top: 24rem;
	}
}







#maincontainer h2,
#maincontainer h3,
#maincontainer h4,
#maincontainer h5 {
	color: var(--colore);
}


#maincontainer h2 {
	line-height: 120%;
	/* transform: translateX(-5px); */
}

#maincontainer h2 strong {
	font-size: 145%;
	line-height: 93%;
	display: block;
}

@media (min-width: 768px) {
	#maincontainer .paragrafo.blocco-stretto .contenuto {
		width: 89%;
		margin-inline: auto;
	}
}

@media (min-width: 1024px) {
	#maincontainer .paragrafo.blocco-stretto .contenuto {
		width: 84%;
	}
}

@media (min-width: 1280px) {
	#maincontainer .paragrafo.blocco-stretto .contenuto {
		width: 78%;
	}
}

@media (min-width: 1600px) {
	#maincontainer .paragrafo.blocco-stretto .contenuto {
		width: 69%;
	}
}




/* newsletter-brevo */

.newsletter-brevo .sib_signup_box_inside_2 {
	max-width: 1000px;
	margin: 3rem auto 0;
	text-align: left;
}

.newsletter-brevo fieldset {
	grid-template-columns: 1fr 1fr 1fr;
}

.newsletter-brevo label {
	font-weight: var(--weightbold);
}

.newsletter-brevo input {
	border-color: var(--bianco) !important;
}

.newsletter-brevo input[type=checkbox] {
	margin-right: 6px;
}

.newsletter-brevo .button {
	background-color: var(--main);
}

.newsletter-brevo .button:hover {
	background-color: var(--bianco);
	color: var(--main);
}

.newsletter-brevo label.privacy {
	visibility: visible;
}

.newsletter-brevo label.privacy a {
	color: var(--bianco);
}

.newsletter-brevo label.privacy a:hover {
	color: var(--main);
}

.newsletter-brevo input.wpcf7-submit {
	background-color: var(--main);
}

@media (min-width: 768px) {
	.newsletter-brevo::before {
		background-size: 800px;
	}
}

@media (min-width: 1280px) {
	.newsletter-brevo::before {
		background-size: 900px;
	}
}

@media (min-width: 1440px) {
	.newsletter-brevo::before {
		background-size: 1000px;
	}
}



/* AUDIO GALLERY */

.audio-grid {
	grid-template-columns: repeat(1, 1fr);
	gap: 36px;
}

.wp-block-audio {
	padding-top: 2rem;
	padding-bottom: 1rem;
	border-radius: var(--radius);
	width: 100%;
	max-width: 460px;
	margin-inline: auto;
}

.wp-block-audio:nth-child(3n+1) {
	background-color: var(--colore) !important;
	color: var(--colore-2);
}

.wp-block-audio:nth-child(3n+2) {
	background-color: var(--colore-2) !important;
	color: var(--colore);
}

.wp-block-audio:nth-child(3n+3) {
	background-color: var(--colore-2) !important;
	color: var(--colore);
}

.wp-block-audio audio {
	padding-inline: 2rem;
}

.wp-block-audio figcaption {
	font-size: 1.1rem;
	line-height: 1.2;
	padding-inline: 2rem;
	padding-top: .5rem;
	font-weight: var(--weightheavy);
}

@media (min-width: 425px) {
	.audio-grid {
		padding-inline: 2rem !important;
	}
}

@media (min-width: 768px) {
	.audio-grid {
		grid-template-columns: repeat(2, 1fr);
		padding-inline: 3rem !important;
	}
}

@media (min-width: 900px) {
	.audio-grid {
		max-width: 900px;
	}
}

@media (min-width: 1280px) {
	.audio-grid {
		grid-template-columns: repeat(3, 1fr);
		max-width: 1000px;
	}
}

@media (min-width: 1440px) {
	.audio-grid {
		max-width: 1160px;
	}
}



/* VIDEO GALLERY */

.videogallery {
	padding: 0;
}

.elenco_video {
	grid-template-columns: repeat(1, 1fr);
	gap: 36px;
	padding: 0;
}

.elenco_video .item {
	padding: 1rem;
	border-radius: var(--radius);
	width: 100%;
	max-width: 460px;
	margin-inline: auto;
	background-color: var(--colore) !important;
	color: var(--bianco);
}

.elenco_video img {
	border-radius: var(--radius);
}

.elenco_video .titolo_video {
	font-weight: var(--weightheavy);
	padding-top: 1.25rem;
	padding-bottom: .35rem;
}

/* .elenco_video .item:nth-child(3n+1) {
	background-color: var(--colore) !important;
	color: var(--colore-2);
}

.elenco_video .item:nth-child(3n+2) {
	background-color: var(--colore-2) !important;
	color: var(--colore);
}

.elenco_video .item:nth-child(3n+3) {
	background-color: var(--colore-2) !important;
	color: var(--colore);
} */

@media (min-width: 680px) {
	/* .elenco_video {
		padding: 2rem 2rem 1rem;
	} */

	.elenco_video>.grid {
		grid-column-gap: 36px;
	}

	.elenco_video>.grid>div {
		grid-column: span 6;
	}
}

@media (min-width: 768px) {
	.elenco_video {
		grid-template-columns: repeat(2, 1fr);
		/* padding-inline: 3rem !important; */
	}
}

@media (min-width: 992px) {
	.elenco_video>.grid>div {
		grid-column: span 4;
	}
}

@media (min-width: 1280px) {
	/* .elenco_video {
		padding: 2.5rem 2.5rem 1rem;
	} */

	.elenco_video>.grid {
		grid-column-gap: 46px;
	}
}





/* FOTO GALLERY */

.gallery {

}

.gallery .item {
	margin-bottom: 0 !important;
}

.gallery .grid {
/* 	grid-column-gap: 0 !important; */
	width: 100%;
	max-width: 100% !important;
	gap: 1.25rem;
}

.gallery figure {
	width: 100%;
	height: 100%;
	border-radius: 0;
	overflow: hidden;
}

.gallery figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* @media (min-width: 1440px) {
	.gallery .grid {
		grid-column-gap: 30px;
	}
} */


.border-grid .item {
	position: relative;
	border: 1px solid var(--rosso);
	padding: 1.25rem;
	padding-bottom: 4.5rem !important;
	font-size: .9rem;
	background-color: var(--bianco);
}
.border-grid .item h3 {
	font-size: clamp(1.1rem, calc(1rem + 1.4vw), 1.6rem);
	margin-bottom: 1rem;
}
.border-grid.dark .item h3 {
	color: var(--main) !important;
}
.border-grid .item p:last-of-type {
	margin: 0;
}
.border-grid .item .button {
	position: absolute;
	bottom: 1.25rem;
	left: 1.25rem;
}
@media (min-width: 768px) and (max-width: 1100px) {
	.border-grid .item {
		grid-column: span 4;
	}
}
@media (min-width: 1024px) {
	.border-grid .item {
		padding: 1.5rem;
	}  
	.border-grid .item .button {
		left: 1.5rem;
	}
}
@media (min-width: 1360px) {
	.border-grid .item {
		padding: 1.75rem;
	}   
	.border-grid .item .button {
		left: 1.75rem;
	}
}
@media (min-width: 1440px) {
	.border-grid .item {
		padding: 2rem;
	}   
	.border-grid .item .button {
		left: 2rem;
	}
}




/* STAFF */

.paragrafo.staff .titolo {
	color: var(--bianco);
	padding-top: .65rem;
}

.paragrafo.staff figure img {
	max-width: 400px;
	aspect-ratio: 1 / 1;
}

.paragrafo.staff .contenuto {
	background-color: var(--colore);
	color: var(--bianco);
	border-radius: var(--radius);
	padding: 1.5rem;
}

.paragrafo.staff .contenuto ul {
	margin-bottom: 0 !important;
}

#maincontainer .paragrafo.staff ul li:before {
	color: var(--bianco);
}

@media (min-width: 580px) and (max-width: 991px) {
	.paragrafo.staff figure {
		grid-column: span 12;
	}

	.paragrafo.staff .contenuto {
		grid-column: span 12;
		padding-top: 2rem;
	}
}

@media (min-width: 992px) {
	.paragrafo.staff .contenuto {
		transform: translateX(-1.5rem);
	}
}

@media (min-width: 1240px) {
	.paragrafo.staff figure {
		grid-column: span 5;
	}

	.paragrafo.staff .contenuto {
		grid-column: span 7;
	}
}






/* SINGLE */

.single-post .main-image figure {
	position: relative;
}

.single-post .main-image .data {
	position: absolute;
	top: 0;
	left: 0;
	width: 86px;
	line-height: 1;
	text-align: center;
	padding: 1rem 0.6rem 1rem;
	margin-bottom: 0;
	font-weight: var(--weightbold);
	color: var(--main);
	background-color: var(--colore);
	z-index: 2;
	border-bottom-right-radius: var(--radius);
}

/*
.single-post .main-image .data::before,
.single-post .main-image .data::after {
	content: '';
	width: 25px;
	height: 25px;
	background-image: url(assets/images/corner.svg);
	background-repeat: no-repeat;
	background-size: 25px;
	position: absolute;
	top: 0;
	right: -25px;
	z-index: -1;
	display: block;
}
.single-post .main-image .data::after {
	right: auto;
	top: auto;
	bottom: -25px;
	left: 0;
	transform: rotate(0deg);
}
*/
.single-post .main-image .giorno {
	font-size: 2.15rem;
	display: block;
}

.single-post .main-image .mese {
	font-size: .6rem;
	display: block;
}

.single-post .main-image .anno {
	font-size: .8rem;
	display: block;
}

.main-image img {
	border-radius: 0;
}

.single-post #single_header {
	background-color: var(--colore);
	color: var(--bianco);
	padding-inline: 0 !important;
}
.single-post #single_header .overlay {
    background-color: rgba(200, 14, 0, 0.85);
	grid-column: 1;
}
.single-post #single_header .title-container {
    padding-inline: 1.25rem;
}
.single-post #single_header .data {
	font-size: .8rem;
	color: var(--bianco);
}

.single-post #single_header .data a {
	font-size: .8rem;
	color: var(--bianco);
}

.single-post #single_header .sep {
	display: inline-block;
	padding-inline: .5rem;
	color: var(--bianco);
}

#single_header h1 {
	color: var(--bianco);
}
@media (min-width: 768px) {
	#single_header h1 {
		padding-inline: 40px;
		max-width: 1700px;
		margin-inline: auto;
	}
}

@media (min-width: 1024px) {
	.single-post #single_header .data {
		margin-bottom: 1.5rem !important;
	}
}
@media (min-width: 1360px) {
    .single-post #single_header .title-container {
        padding-inline: 2.5rem;
    }
}
@media (min-width: 1600px) {
    .single-post #single_header .title-container {
        padding-inline: 5rem;
    }
}



.paginazione a {
	display: inline-block;
	padding: .3rem .85rem .4rem;
	font-size: .86rem;
	border-radius: var(--radius);
	border: 1px solid var(--main);
	background-color: var(--main);
	color: var(--bianco);
	font-weight: var(--weightmedium);
}

.paginazione a:hover {
	background-color: var(--colore-2);
	border-color: var(--colore-2);
	color: var(--colore);
}

.paginazione a span {
	font-size: 1.3rem;
	padding-inline: .25rem;
	line-height: 1;
	display: inline-block;
	transform: translateY(2px);
}

.paginazione>div.text-left a span {
	margin-left: -2px;
	padding-right: .45rem;
}

.paginazione>div.text-right a span {
	margin-right: -2px;
	padding-left: .45rem;
}

.paginazione>div.text-left {
	padding-right: .5rem;
}

.paginazione>div.text-right {
	padding-left: .5rem;
}






/* GENERIC STUFF */

.griglia figure {
	position: relative;
	/* border-radius: var(--radius); */
	overflow: hidden;
}

@media (min-width: 1280px) {
	.griglia .parent-gap {
		grid-column-gap: 40px !important;
	}
}




/*  PAGINA ORGANIGRAMMA */

.page-template-page-organigramma .griglia {
	margin-bottom: 4rem;
}

.page-template-page-organigramma .griglia:last-of-type {
	margin-bottom: 7rem;
}

.page-template-page-organigramma .griglia .item {
	max-width: 232px;
}

.page-template-page-organigramma .griglia figure {
	background-color: var(--grigio-6);
	border-radius: var(--radius);
}

.page-template-page-organigramma .griglia .titolo_item {
	font-size: 1.2rem;
	font-weight: var(--weightnormal);
	margin-bottom: .5rem;
}

.page-template-page-organigramma .griglia .descrizione {
	font-size: .74rem;
	color: var(--grigio-3);
	text-transform: uppercase;
	letter-spacing: .02rem;
}

.page-template-page-organigramma .griglia .descrizione p {
	margin-bottom: 0;
}

.page-template-page-organigramma .griglia .email a {
	color: var(--colore);
	font-size: .88rem;
}

.page-template-page-organigramma .griglia .email a:hover {
	color: var(--colore-2);
}





/* MAPPA */

.google-maps {
	border-radius: var(--radius-small);
	overflow: hidden;
	box-shadow: var(--shadow);
	height: 400px;
}



.cta-block .inner {
	padding: 2rem 1.5rem 1.75rem;
	background-color: var(--colore);
	/* background-image: url(assets/images/cta-bg.jpg);
	background-repeat: no-repeat;
	background-size: cover; */
	color: var(--bianco);
	position: relative;
	overflow: hidden;
}

/* .cta-block .inner::before {
	position: absolute;
	content: '';
	inset: 0;
	z-index: 0;
	background: rgba(28, 92, 122, .5);
} */

.cta-block .titolo {
	color: var(--bianco) !important;
}
.cta-block .button {
	background-color: var(--bianco);
	color: var(--colore);
	padding: .5rem 3.5rem .65rem 1.2rem;
}
.cta-block .button:hover {
	background-color: var(--main);
	color: var(--bianco);	
}
.cta-block .button::after {
	top: 42%;
    right: 1rem;
}
.cta-block .button:hover::after {
	background-image: url(assets/images/arrow-r-w.svg);
}







/* PAGINA CONTATTI */

@media (min-width: 1240px) {

	.page-id-1215 .InnerBlocks-container {
		max-width: 1200px;
		margin-inline: auto;
		text-align: left;
	}
}



/* FSLIGHTBOX*/

/*
.fslightbox-container {
	background-color: var(--main) !important;
}

.fslightboxci {
	color: var(--bianco) !important;
}

.fslightbox-svg-path {
	fill: var(--bianco) !important;
}

.fslightbox-absoluted>div {
	border-radius: var(--radius);
	overflow: hidden;
}

.fslightbox-slide-btn {
	background-color: var(--colore) !important;
}

.fslightbox-slide-btn:hover {
	background-color: var(--colore-3) !important;
}

.fslightbox-slide-btn:hover::before {
	border-color: var(--colore) !important;
}
*/



/* FOOTER */

#footer {
	position: relative;
	background-color: var(--colore);
	color: var(--bianco);
	width: 100%;
	/* max-width: 2000px; */
	margin: 0 auto;
}

/* #footer::before {
	content: '';
	background-image: url(assets/images/logo-flat.svg);
	background-repeat: no-repeat;
	background-size: 800px;
	background-position: center center;
	position: absolute;
	inset: 0;
	z-index: -1;
} */


#footer h3 {
	color: var(--bianco);
	font-size: 1.6rem;
}

#footer a {
	color: var(--bianco);
}

#footer a:hover {
	color: var(--colore-4);
}

#footer .footer-logo {
	width: 100%;
	max-width: 230px;
	filter: brightness(0) invert(1);
}

#footer .social {
	background-color: transparent;
	color: var(--bianco);
	border: 1px solid var(--bianco);
	font-size: 1rem;
	margin-top: 1.2rem;
}

#footer .social:hover {
	background-color: var(--bianco);
	border-color: var(--bianco);
	color: var(--colore);
}

#top-footer,
#sub-footer {
	position: relative;
	padding-inline: 1.25rem;
}

#top-footer .blocco {
	padding-bottom: 2rem;
	font-weight: var(--weightmedium);
	font-size: 1rem;
}

#top-footer ul {
	list-style-type: none;
	padding-left: 0;
}

#top-footer ul li {
	line-height: 1;
	margin-bottom: .65rem;
	text-transform: uppercase;
}

#top-footer .wpcf7 input.wpcf7-text {
	margin-bottom: 1rem;
	height: 38px;
	border: none;
	padding: 5px 24px 4px 16px;
	width: calc(100% - 65px);
}

#top-footer .wpcf7 input.wpcf7-submit {
	position: absolute;
	top: 0;
	right: 0;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-top-right-radius: var(--radius);
	border-bottom-right-radius: var(--radius);
	padding: .5rem 1rem;
	height: 38px;
	border: none;
	font-size: .9rem;
	background-color: var(--colore);
	color: var(--bianco);
}

#top-footer .wpcf7 input.wpcf7-submit:hover {
	background-color: var(--main);
}

#top-footer .wpcf7 .privacy a {
	color: var(--main);
}

#top-footer .wpcf7 .privacy a:hover {
	color: var(--colore);
}

/*
#top-footer .blocco-4 {
    grid-column: span 12;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 1rem;
    margin-bottom: 0 !important;
    padding-bottom: 15px !important;
}
*/
/*
#top-footer .blocco-4 img {
	max-width: 200px;
}
*/
#sub-footer {
	padding-top: .2rem !important;
	padding-bottom: 1rem;
	text-align: center;
	font-size: .98rem;
	font-weight: var(--weightmedium);
}

#sub-footer .social-holder {
	text-align: center;
	padding-top: 1.5rem;
}

#sub-footer .email-holder {
	margin-top: .5rem;
}

#top-footer .blocco-3,
#top-footer .blocco-4  {
	text-align: left;
}

#top-footer .blocco-3 img,
#top-footer .blocco-4 img {
	margin: 0 0 .3rem 0;
	max-width: 200px;
}
#top-footer .blocco-3 img.sapiolife {
    max-width: 155px;
}
#top-footer p:empty {
    display: none;
}
#top-footer ul {
    padding-top: 0 !important;
    margin-top: 5px !important;
}
#top-footer .blocco-1 {
    text-transform: uppercase;
}
@media (min-width: 550px) {
	#top-footer .blocco-3,
	#top-footer .blocco-4 {
		grid-column: span 6 !important;
	}
}
@media (min-width: 680px) {
	#top-footer .blocco-1,
	#top-footer .blocco-2 {
		grid-column: span 12 !important;
	}
}

@media (min-width: 1024px) {

	#top-footer,
	#sub-footer {
		padding-inline: 2rem;
	}

	#top-footer .blocco-1 {
		grid-column: span 3 !important;
	}

	#top-footer .blocco-2 {
		grid-column: span 3 !important;
		transform: translateX(2rem);
		padding-top: 60px;
	}

	#top-footer .blocco-3,
	#top-footer .blocco-4 {
		grid-column: span 3 !important;
		transform: translateX(0rem);
		padding-top: 60px;
	}
}

@media (min-width: 1280px) {

	#top-footer,
	#sub-footer {
		padding-inline: 4rem;
	}

/*
	#top-footer .blocco {
		font-size: 1.2rem;
	}
*/
}

@media (min-width: 1600px) {

	#top-footer,
	#sub-footer {
		padding-inline: 1rem;
	}
}







.tabella .grid.full {
	max-width: 1600px;
	margin-inline: auto;
}

table th:first-child {
	border-top-left-radius: var(--radius);
	border-bottom-left-radius: var(--radius);
}

table th:last-child {
	border-top-right-radius: var(--radius);
	border-bottom-right-radius: var(--radius);
}



/* MODAL DIALOG */

dialog {
	padding: 2rem;
	border: none;
	border-radius: 15px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	background: white;
	margin: 0;

	/* Posizionamento al centro */
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

	/* Dimensioni massime */
	max-width: 1200px;
	max-height: 800px;
	width: 90%;
	/* Per schermi piccoli */
	height: auto;

	/* Gestione overflow */
	/*     overflow: hidden; */
	/* Nasconde lo scroll del dialog stesso */
}

/* Contenitore interno scrollabile */
.modal-content {
	max-height: calc(800px - 4rem);
}


/* Media query per schermi molto piccoli */
@media screen and (max-width: 600px) {
	dialog {
		width: 95%;
		padding: 1rem;
	}

	.modal-content {
		max-height: calc(100vh - 4rem);
	}
}


.closeme {
	position: absolute;
	top: 6px;
	right: 10px;
	background-color: transparent !important;
	border: none;
	padding: 0;
	color: #000 !important;
}

dialog::backdrop {
	background-color: var(--colore);
	opacity: 0.75;
}



/* GT translate */
#gt_float_wrapper {
	right: 10px !important;
	bottom: 0 !important;
}

.gt_float_switcher {
	font-size: .88rem !important;
}

.gt_float_switcher .gt_options a {
	padding: 4px 8px !important;
	font-size: .0000001rem !important;
	color: transparent !important;
}

.gt_float_switcher .gt-selected,
.gt_float_switcher {
	background-color: var(--bianco) !important;
	text-align: left;
}

.gt_float_switcher .gt_options a:hover {
	background-color: var(--colore) !important;
}

.gt_float_switcher .gt-selected .gt-current-lang {
	font-weight: var(--weightnormal) !important;
	padding: 4px 8px !important;
	text-align: left;
}

.gt_float_switcher img {
	width: 20px !important;
}

.gt_float_switcher .gt-selected .gt-current-lang span.gt-lang-code {
	display: none;
}



@keyframes growIcon {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.2);
	}
}


.fslightbox-absoluted {
	padding-inline: 1rem;
}



p.big {
	font-size: 1rem;
	line-height: 1.4;
}

@media (min-width: 768px) {
	p.big {
		font-size: 1.1rem;
	}
}


.fat {
	font-size: 1.2rem;
	line-height: 1.1;
}

@media (min-width: 768px) {
	.fat {
		font-size: 1.2rem;
	}
}

@media (min-width: 1024px) {
	.fat {
		font-size: 1.3rem;
	}
}

@media (min-width: 1280px) {
	.fat {
		font-size: 1.4rem;
	}
}

@media (min-width: 1440px) {
	.fat {
		font-size: 1.5rem;
	}
}



.medium-large {
	font-weight: var(--weightmedium);
}

@media (min-width: 768px) {
	.medium-large {
		font-size: 1.06rem;
	}
}

@media (min-width: 1100px) {
	.medium-large {
		font-size: 1.08rem;
	}
}

@media (min-width: 1280px) {
	.medium-large {
		font-size: 1.1rem;
	}
}

@media (min-width: 1360px) {
	.medium-large {
		font-size: 1.2rem;
	}
}

@media (min-width: 1600px) {
	.medium-large {
		font-size: 1.3rem;
	}
}

@media (min-width: 1280px) {
	.testo-intro p {
		font-size: 1.05rem;
	}
}

@media (min-width: 1440px) {
	.testo-intro p {
		font-size: 1.08rem;
	}
}




/* POLYLANG */
ul.pll_languages {
	position: absolute;
	top: 17px;
	right: 10px;
	padding: 0;
	margin: 0;
	list-style-type: none;
	display: flex;
	z-index: 5;
}

ul.pll_languages li {
	margin: 0 0 0 14px;
	padding: 0;
}

ul.pll_languages img {
	width: 20px !important;
	height: auto !important;
}

@media (min-width: 1024px) {
	ul.pll_languages {
		top: 25px;
		right: 3px;
	}

	ul.pll_languages img {
		width: 16px !important;
	}
}

@media (min-width: 1080px) {
	ul.pll_languages {
		top: 23px;
		right: 10px;
	}

	ul.pll_languages img {
		width: 20px !important;
	}
}

@media (min-width: 1360px) {
	ul.pll_languages {
		top: 29px;
		right: 0;
	}
}





/*
.gtranslate_wrapper {
    position: absolute;
    top: .6rem;
    right: .25rem;
}
.gtranslate_wrapper .glink {
    display: inline-block;
    width: 25px;
    margin-left: .35rem;
 }
.gtranslate_wrapper .gt-current-lang img {
    opacity: 1;
}
@media (min-width: 1024px) {
    .gtranslate_wrapper {
        right: 0;
        top: .9rem;
    }
}
@media (min-width: 1280px) {
    .gtranslate_wrapper {
        top: 1rem;
    }
    .gtranslate_wrapper .glink {
        margin-left: .65rem;
    }
}
@media (min-width: 1360px) {
    .gtranslate_wrapper {
        top: 1.2rem;
    }
}
*/

.accordion .tab-label {
    font-size: 1.5rem;
    padding: .5rem 1rem .7rem
}
#maincontainer .accordion p+h3,
#maincontainer .accordion p+h4 {
    margin-top: 38px !important;
}
.accordion .tab>input:checked+.tab-label::after {
    transform: rotate(90deg) translateX(6px);
}





/* COMPLIANZ */

.cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background-color: transparent !important;
}

#cmplz-cookies-overview .cmplz-dropdown,
#cmplz-document .cmplz-dropdown,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown,
#cmplz-cookies-overview .cmplz-dropdown summary,
#cmplz-document .cmplz-dropdown summary,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary,
#cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category,
#cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-header,
#cmplz-cookies-overview .cmplz-dropdown .cookies-per-purpose div,
#cmplz-document .cmplz-dropdown .cookies-per-purpose div,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown .cookies-per-purpose div,
#cmplz-cookies-overview .cmplz-dropdown .cookies-per-purpose,
#cmplz-document .cmplz-dropdown .cookies-per-purpose,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown .cookies-per-purpose {
	background-color: var(--grigio-4) !important;
}

#cmplz-cookies-overview .cmplz-dropdown .cookies-per-purpose,
#cmplz-document .cmplz-dropdown .cookies-per-purpose,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown .cookies-per-purpose {
	border-color: var(--grigio-2) !important;
}

#cmplz-cookies-overview .cmplz-dropdown p,
#cmplz-document .cmplz-dropdown p,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown p,
#cmplz-cookies-overview .cmplz-dropdown h4,
#cmplz-document .cmplz-dropdown h4,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown h4,
#cmplz-cookies-overview .cmplz-dropdown ul,
#cmplz-document .cmplz-dropdown ul,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown ul {
	padding-left: 0 !important;
}

/* === ACCESSIBILITA': SKIP LINK === */
.skip-link {
	position: absolute;
	top: -100px;
	left: 0;
	z-index: 99999;
	padding: 10px 20px;
	background: #000;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	border-bottom-right-radius: 4px;
	transition: top 0.2s ease;
}
.skip-link:focus {
	top: 0;
}

/* ===== 2026-11-03 Link applicazioni ICE (Soluzioni digitali per la ricerca clinica) ===== */
ul.lista-link-ice {list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px;}
ul.lista-link-ice li {margin: 0; padding: 0;}
ul.lista-link-ice li::before {display: none;}
ul.lista-link-ice a {display: flex; align-items: center; gap: 4px 12px; flex-wrap: wrap; padding: 16px 52px 16px 20px; border: 1px solid currentColor; color: #c80e00; text-decoration: none; position: relative; background: #fff; transition: background-color .2s, color .2s;}
ul.lista-link-ice a span {color: #333; font-size: .9em;}
ul.lista-link-ice a::after {content: ''; position: absolute; right: 18px; top: 50%; width: 20px; height: 14px; margin-top: -7px; background-color: currentColor; -webkit-mask: url(assets/images/arrow-r.svg) no-repeat center / contain; mask: url(assets/images/arrow-r.svg) no-repeat center / contain; transition: transform .2s;}
ul.lista-link-ice a:hover, ul.lista-link-ice a:focus-visible {background: #c80e00; color: #fff;}
ul.lista-link-ice a:hover span, ul.lista-link-ice a:focus-visible span {color: #fff;}
ul.lista-link-ice a:hover::after {transform: translateX(4px);}
@media screen and (max-width: 767px) { ul.lista-link-ice {grid-template-columns: 1fr;} }

/* Loghi IMQ pagina certificazioni */
img.logo-certificazione {display: block; width: 140px; height: auto; margin-top: 25px; background: #fff;}
/* ===== 2026-11-03 Timeline statica orizzontale (campo layout_timeline = statica) ===== */
.timeline-statica {margin-top: 30px;}
.timeline-statica .ts-griglia {list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--ts-colonne), minmax(0, 1fr)); grid-template-rows: auto 54px auto; column-gap: 0;}
.timeline-statica .ts-griglia > li {margin: 0; padding: 0;}
.timeline-statica .ts-griglia > li::before {display: none;}
.timeline-statica .ts-banda {grid-column: 1 / -1; grid-row: 2; background: #fff; border-top: 2px solid #c80e00; border-bottom: 2px solid #c80e00;}
.timeline-statica .ts-anno {grid-row: 2; align-self: center; font-size: 15px; line-height: 1; color: #9a9a9a; position: relative; z-index: 1; padding-left: 8px;}
.timeline-statica .ts-anno-attivo {color: #111; font-weight: 700; font-size: 17px;}
.timeline-statica .ts-evento {position: relative; border-left: 2px solid #c80e00; padding: 0 14px 0 12px; font-size: 14px; line-height: 1.4;}
.timeline-statica .ts-sopra {grid-row: 1; align-self: end; padding-bottom: 18px; padding-top: 10px;}
.timeline-statica .ts-sotto {grid-row: 3; align-self: start; padding-top: 18px; padding-bottom: 10px;}
.timeline-statica .ts-evento-anno {display: block; color: #c80e00; font-weight: 700; font-size: 22px; line-height: 1.1; margin-bottom: 6px;}
.timeline-statica .ts-evento-testo {display: block; color: #333;}
@media screen and (max-width: 1023px) {
	.timeline-statica .ts-griglia {display: block; border-left: 2px solid #c80e00; margin-left: 6px;}
	.timeline-statica .ts-banda, .timeline-statica .ts-anno {display: none;}
	.timeline-statica .ts-evento {border-left: 0; padding: 0 0 22px 22px;}
	.timeline-statica .ts-evento::before {display: block !important; content: ''; position: absolute; left: -8px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: #c80e00;}
}
/* ===== 2026-11-03 Servizi CRO: aree terapeutiche con icone ===== */
.aree-terapeutiche .icona-area {display: block; width: 64px; height: 64px; margin: 0 auto 14px;}
.aree-terapeutiche .nome-area {display: block; font-size: 20px; line-height: 1.3; color: #111; text-align: center;}
html {scroll-padding-top: 120px;}
/* Timeline statica: padding eventi desktop (la regola .ts-griglia > li lo azzerava) e niente pallini su mobile */
@media screen and (min-width: 1024px) {
	.timeline-statica .ts-griglia > li.ts-evento {padding-left: 12px; padding-right: 14px;}
	.timeline-statica .ts-griglia > li.ts-sopra {padding-top: 10px; padding-bottom: 18px;}
	.timeline-statica .ts-griglia > li.ts-sotto {padding-top: 18px; padding-bottom: 10px;}
}
@media screen and (max-width: 1023px) {
	.timeline-statica .ts-griglia {margin-left: 0;}
	.timeline-statica .ts-griglia > li.ts-evento {padding: 0 0 22px 6px;}
	.timeline-statica .ts-evento::before {display: none !important;}
}
