@charset "UTF-8";

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

.colore2 {
	color: var(--colore-2) !important;
}

.colore3 {
	color: var(--colore-3) !important;
}

.colore4 {
	color: var(--colore-4) !important;
}

.colore5 {
	color: var(--colore-5) !important;
}

.colore6 {
	color: var(--colore-6) !important;
}

.colore7 {
	color: var(--colore-7) !important;
}

p {
	margin-bottom: 1rem;
}

svg.icon {
	stroke-width: 0;
	stroke: currentColor;
	fill: currentColor;
}

.fixed {
	position: fixed;
}

.relative {
	position: relative;
}

.absolute {
	position: absolute;
}

.sticky {
	position: sticky;
}

.nowrap {
	white-space: nowrap;
}

.upper {
	text-transform: uppercase;
}

.inline {
	display: inline;
}

.inlineblock {
	display: inline-block;
}

.block {
	display: block;
}

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

.overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	z-index: -1;
}

p,
li,
dl,
blockquote,
table,
kbd {
	font-size: inherit;
	line-height: inherit;
}

.light {
	font-weight: var(--weightlight);
}

.normal {
	font-weight: var(--weightnormal);
}

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

.heavy {
	font-weight: var(--weightheavy);
}

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

.black {
	font-weight: var(--weightblack);
}

.small {
	font-size: .8rem;
}

.hidden {
	display: none;
}

img[src$=".svg"] {
	border-radius: 0;
}





.align-center {
	/* Centro verticalmente orizzontalmente */
	display: grid;
	place-items: center;
}

.valign-middle {
	/* Centro verticalmente e Sinistra orizzontalmente */
	display: grid;
	place-items: center;
	justify-items: start;
}

.valign-middle-r {
	/* Centro verticalmente e Destra orizzontalmente */
	display: grid;
	place-items: center;
	justify-items: end;
}

.valign-top {
	/* Allinea in alto */
	display: grid;
	align-items: start;
}

.valign-bottom {
	/* Allinea in basso */
	display: grid;
	align-items: end;
}

/* BUTTONS */

.button,
a.button,
button,
button.wpcf7-submit,
input.wpcf7-submit,
.wp-element-button {
	vertical-align: middle;
	position: relative;
	z-index: 1;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	display: inline-block;
	text-shadow: none;
	text-align: center;
	text-decoration: none;
	margin-bottom: 0;
	cursor: pointer;
	transition: background-color .4s, color .4s, border-color .4s;
}

img {
	border: 0;
	display: block;
	height: auto;
	max-width: 100%;
	width: auto;
	vertical-align: middle;
	font-style: italic;
	background-repeat: no-repeat;
	background-size: cover;
	shape-margin: 0.75rem;
}

/*
img[src$=".jpg"],
img[src$=".jpeg"],
img[src$=".png"] {  Stili CSS per immagini .jpg .png  image-rendering: pixelated;  Other values: auto, smooth, high-quality, crisp-edges, pixelated, initial, inherit
}*/
table {
	background: var(--bianco);
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
	width: 100%;
}

/* .grid {
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  width:100%;
  margin:0 auto;
} */
hr {
	border: 0;
	border-top: 1px solid var(--grigio-6);
	clear: both;
	height: 0;
	margin: 2.5rem auto;
}




#maincontainer p+h2,
#maincontainer p+h3,
#maincontainer p+h4,
#maincontainer ul+h2,
#maincontainer ul+h3,
#maincontainer ul+h4,
#maincontainer ol+h2,
#maincontainer ol+h3,
#maincontainer ol+h4 {
	margin-top: 50px;
}

#maincontainer p+p .h2,
#maincontainer p+p .h3,
#maincontainer p+p .h4 {
	margin-top: 40px;
}


/* #maincontainer .paragrafo ul:not(.bullets),
.single #maincontainer article ul:not(.bullets) {
	list-style-type: "\2713";
	font-family: "Inter", sans-serif;
	font-weight: var(--weightbold);

} */

cite {
	color: var(--main);
	display: block;
}

/* cite:before {content:"— ";} */

abbr {
	cursor: help;
}

abbr[title] {
	border-bottom: 1px dotted;
}

kbd {
	background: var(--colore) none repeat scroll 0 0;
	color: var(--bianco);
	padding: 0.125rem 0.3125rem;
}

code,
kbd,
pre,
samp {
	font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

mark {
	background: var(--grigio-6) none repeat scroll 0 0;
	padding: 0.125rem 0.3125rem;
}

.hover-zoom figure img {
	transition: transform 0.3s ease-in-out;
}

.hover-zoom figure:hover img,
.hover-zoom:hover figure img {
	transform: scale(1.09);
}

.shadow {
	box-shadow: var(--shadow);
}

.shadow-more {
	box-shadow: var(--shadow-more);
}

.noshadow,
.noshadow img {
	box-shadow: none !important;
}

::-webkit-input-placeholder {
	/* WebKit, Blink, Edge */
	color: var(--grigio);
}

:-moz-placeholder {
	/* Mozilla Firefox 4 to 18 */
	color: var(--grigio);
	opacity: 1;
}

::-moz-placeholder {
	/* Mozilla Firefox 19+ */
	color: var(--grigio);
	opacity: 1;
}

:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: var(--grigio);
}

::-ms-input-placeholder {
	/* Microsoft Edge */
	color: var(--grigio);
}

::placeholder {
	/* Most modern browsers support this now. */
	color: var(--grigio);
}


.titolo_intro.titolo_intro,
.paragrafo_intro.paragrafo_intro {
	/* ripetere la classe aumenta la specificity: evito !important sul float:none */
	float: none;
}

.vertical-center {
	display: inline-grid !important;
}

.vertical-center * {
	align-items: center;
	display: flex !important;
}

.text-center .vertical-center * {
	justify-content: center;
}

nav {
	display: block;
	width: 100%;
}

nav::after,
.center::after,
.box::after,
.margin::after,
.margin2x::after,
.grid.full::after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	line-height: 0;
	overflow: hidden;
	visibility: hidden;
}
.grid.full::after {
	display: none;
}
.grid.margin::after,
.grid.margin2x::after {
	content: "";
	display: none;
}

.nav-text:after,
.nav-text:before,
.nav-text span {
	content: '';
	display: block;
	transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
}

.show-menu .nav-text:before {
	transform: translateY(8px) rotate(135deg);
	-moz-transform: translateY(8px) rotate(135deg);
	-webkit-transform: translateY(8px) rotate(135deg);
}

.show-menu .nav-text:after {
	transform: translateY(-8px) rotate(-135deg);
	-moz-transform: translateY(-8px) rotate(-135deg);
	-webkit-transform: translateY(-8px) rotate(-135deg);
}

.show-menu .nav-text span {
	transform: scale(0);
	-moz-transform: scale(0);
	-webkit-transform: scale(0);
}

.count-number {
	background: rgba(153, 153, 153, 0.25) none repeat scroll 0 0;
	border-radius: 10rem;
	color: var(--bianco);
	display: inline-block;
	font-size: 0.7rem;
	height: 1.3rem;
	line-height: 1.3rem;
	margin: 0 0 -0.3125rem 0.3125rem;
	text-align: center;
	width: 1.3rem;
}

ul.chevron .count-number {
	display: none;
}

ul.chevron .submenu>a:after,
ul.chevron .sub-submenu>a:after,
ul.chevron .aside-submenu>a:after,
ul.chevron .aside-sub-submenu>a:after {
	content: "\f004";
	display: inline-block;
	font-family: "mfg";
	font-size: 0.7rem;
	margin: 0 0.625rem;
}


.aside-nav>ul>li.active-item>a:link,
.aside-nav>ul>li.active-item>a:visited {
	background: var(--colore);
	color: var(--bianco);
}

.nav-text,
.aside-nav-text {
	display: none;
}

.aside-nav ul {
	padding: 0;
}

.aside-nav li {
	list-style: none outside none;
	cursor: pointer;
}

.aside-nav li a,
.aside-nav li a:link,
.aside-nav li a:visited {
	display: block;
	font-size: 1rem;
	padding: 1.25rem;
}

.aside-nav>ul>li:last-child a {
	border-bottom: 0 none;
}

.aside-nav li>ul {
	height: 0;
	display: block;
	position: relative;
	overflow: hidden;
}

.aside-nav li ul ul {
	border: 0;
	background: var(--bianco);
}

.aside-nav ul ul a {
	padding: 0.625rem 1.25rem;
}

.aside-nav li a:link,
.aside-nav li a:visited {
	color: var(--grigio);
}

.aside-nav li li a:hover,
.aside-nav li li.active-item>a,
.aside-nav li li.aside-sub-submenu li a:hover {
	color: var(--bianco);
	background: var(--colore);
}

.aside-nav>ul>li>a:hover {
	color: var(--bianco);
}

.aside-nav li li a:link,
.aside-nav li li a:visited {
	background: none;
}

.aside-nav .show-aside-ul,
.aside-nav .active-aside-item {
	height: auto;
}


.box {
	display: block;
	padding: 1.25rem;
	width: 100%;
}





/* XXL ≥1600px */
@media screen and (min-width:1600px){
  .xxl-order-1 { order:-1; }
  .xxl-order-2 { order:2; }
  .xxl-order-3 { order:3; }
  .xxl-order-4 { order:4; }
  .xxl-order-5 { order:5; }
  .xxl-order-6 { order:6; }
  .xxl-order-7 { order:7; }
  .xxl-order-8 { order:8; }
  .xxl-order-9 { order:9; }
  .xxl-order-10{ order:10; }
  .xxl-order-11{ order:11; }
  .xxl-order-12{ order:12; }
  .xxl-order-last{ order:99999999; }
}

/* XL ≥1360px */
@media screen and (min-width:1360px) and (max-width:1599px){
  .xl-order-1 { order:-1; }
  .xl-order-2 { order:2; }
  .xl-order-3 { order:3; }
  .xl-order-4 { order:4; }
  .xl-order-5 { order:5; }
  .xl-order-6 { order:6; }
  .xl-order-7 { order:7; }
  .xl-order-8 { order:8; }
  .xl-order-9 { order:9; }
  .xl-order-10{ order:10; }
  .xl-order-11{ order:11; }
  .xl-order-12{ order:12; }
  .xl-order-last{ order:99999999; }
}

/* L ≥1024px */
@media screen and (min-width:1024px) and (max-width:1359px){
  .l-order-1 { order:-1; }
  .l-order-2 { order:2; }
  .l-order-3 { order:3; }
  .l-order-4 { order:4; }
  .l-order-5 { order:5; }
  .l-order-6 { order:6; }
  .l-order-7 { order:7; }
  .l-order-8 { order:8; }
  .l-order-9 { order:9; }
  .l-order-10{ order:10; }
  .l-order-11{ order:11; }
  .l-order-12{ order:12; }
  .l-order-last{ order:99999999; }
}

/* M ≥768px */
@media screen and (min-width:768px) and (max-width:1023px){
  .m-order-1 { order:-1; }
  .m-order-2 { order:2; }
  .m-order-3 { order:3; }
  .m-order-4 { order:4; }
  .m-order-5 { order:5; }
  .m-order-6 { order:6; }
  .m-order-7 { order:7; }
  .m-order-8 { order:8; }
  .m-order-9 { order:9; }
  .m-order-10{ order:10; }
  .m-order-11{ order:11; }
  .m-order-12{ order:12; }
  .m-order-last{ order:99999999; }
}

/* P ≥520px */
@media screen and (min-width:520px) and (max-width:767px){
  .p-order-1 { order:-1; }
  .p-order-2 { order:2; }
  .p-order-3 { order:3; }
  .p-order-4 { order:4; }
  .p-order-5 { order:5; }
  .p-order-6 { order:6; }
  .p-order-7 { order:7; }
  .p-order-8 { order:8; }
  .p-order-9 { order:9; }
  .p-order-10{ order:10; }
  .p-order-11{ order:11; }
  .p-order-12{ order:12; }
  .p-order-last{ order:99999999; }
}

/* S ≥320px */
@media screen and (min-width:320px) and (max-width:519px){
  .s-order-1 { order:-1; }
  .s-order-2 { order:2; }
  .s-order-3 { order:3; }
  .s-order-4 { order:4; }
  .s-order-5 { order:5; }
  .s-order-6 { order:6; }
  .s-order-7 { order:7; }
  .s-order-8 { order:8; }
  .s-order-9 { order:9; }
  .s-order-10{ order:10; }
  .s-order-11{ order:11; }
  .s-order-12{ order:12; }
  .s-order-last{ order:99999999; }
}



/* --- BASE: di default tutto visibile --- */
.hide-s, .hide-p, .hide-m, .hide-l, .hide-xl, .hide-xxl {
  display: initial !important;
}

.show-s, .show-p, .show-m, .show-l, .show-xl, .show-xxl,
.show-s-up, .show-p-up, .show-m-up, .show-l-up, .show-xl-up, .show-xxl-up {
  display: none !important;
}


/* --- HIDE (nasconde solo nel range specifico) --- */

/* S: ≤519px */
@media (max-width: 519px) { .hide-s { display: none !important; } }

/* P: 520–767px */
@media (min-width: 520px) and (max-width: 767px) { .hide-p { display: none !important; } }

/* M: 768–1023px */
@media (min-width: 768px) and (max-width: 1023px) { .hide-m { display: none !important; } }

/* L: 1024–1359px */
@media (min-width: 1024px) and (max-width: 1359px) { .hide-l { display: none !important; } }

/* XL: 1360–1599px */
@media (min-width: 1360px) and (max-width: 1599px) { .hide-xl { display: none !important; } }

/* XXL: ≥1600px */
@media (min-width: 1600px) { .hide-xxl { display: none !important; } }


/* --- SHOW-UP (visibile dal breakpoint in su) --- */
@media (min-width: 320px)  { .show-s-up   { display: initial !important; } }
@media (min-width: 520px)  { .show-p-up   { display: initial !important; } }
@media (min-width: 768px)  { .show-m-up   { display: initial !important; } }
@media (min-width: 1024px) { .show-l-up   { display: initial !important; } }
@media (min-width: 1360px) { .show-xl-up  { display: initial !important; } }
@media (min-width: 1600px) { .show-xxl-up { display: initial !important; } }


/* --- SHOW EXCLUSIVE (solo nel range) --- */

/* S: 320–519px */
@media (min-width: 320px) and (max-width: 519px) { .show-s { display: initial !important; } }

/* P: 520–767px */
@media (min-width: 520px) and (max-width: 767px) { .show-p { display: initial !important; } }

/* M: 768–1023px */
@media (min-width: 768px) and (max-width: 1023px) { .show-m { display: initial !important; } }

/* L: 1024–1359px */
@media (min-width: 1024px) and (max-width: 1359px) { .show-l { display: initial !important; } }

/* XL: 1360–1599px */
@media (min-width: 1360px) and (max-width: 1599px) { .show-xl { display: initial !important; } }

/* XXL: ≥1600px */
@media (min-width: 1600px) { .show-xxl { display: initial !important; } }







#map {
	z-index: 1;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
	word-break: normal;
}

#maincontainer>section {
	contain: content;
}

.no_contain {
	contain: initial !important;
}



/* IMMAGINI */
figure.text-left img {
	margin-left: 0;
	margin-right: auto;
}

figure.text-center img {
	margin-left: auto;
	margin-right: auto;
}

figure.text-right img {
	margin-left: auto;
	margin-right: 0;
}

.foto-icona figure img {
	max-width: 100px;
}




.posizione-top img {
	object-position: center top;
}

.posizione-halftop img {
	object-position: center 25%;
}

.posizione-center img {
	object-position: center center;
}

.posizione-halfbottom img {
	object-position: center 75%;
}

.posizione-bottom img {
	object-position: center bottom;
}

.has-background .contenuto {
	z-index: 1;
}


/* BLOCCO GRIGLIA */

.griglia .parent-gap {
	grid-column-gap: 30px;
}

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

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

@media (min-width: 1440px) {
	.griglia .parent-gap {
		grid-column-gap: 60px;
	}
}



@media screen and (min-width:768px) and (max-width:1140px) {
	.grid.has-l-cinque {
		/* FF fix */
		grid-template-columns: repeat(5, 1fr);
		/* 5 colonne anziché 12 */
	}
	.grid.has-l-cinque .l-cinque {
		grid-column: span 1;
	}
}

@media screen and (min-width:1141px) and (max-width:1366px) {
	.grid.has-xl-cinque {
		/* FF fix */
		grid-template-columns: repeat(5, 1fr);
		/* 5 colonne anziché 12 */
	}
	.grid.has-xl-cinque .xl-cinque {
		grid-column: span 1;
	}
}

@media screen and (min-width:1367px) {
	.grid.has-xxl-cinque {
		/* FF fix */
		grid-template-columns: repeat(5, 1fr);
		/* 5 colonne anziché 12 */
	}
	.grid.has-xxl-cinque .xxl-cinque {
		grid-column: span 1;
	}
}






/* BACKGROUND */

.background_testo figure {
	height: 100%;
}

.has-background {
	position: relative;
	overflow: hidden;
	min-height: 300px;
}

.has-background .background {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
}

.has-background .background img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	max-width: none;
	object-position: center 50%;
}

.has-background.parallax .background figure {
	height: 100%;
	width: 100%;
}

.has-background.parallax .background figure img {
	/* height: 100%; */
	width: 220%;
	/* object-fit: cover;
	max-width: none;
	object-position: center 50%; */
}

@media (max-width: 767px) {
	.has-background .empty,
	.background_testo.bg-left .overlay,
	.background_testo.bg-right .overlay,
	.background_testo.bg-left .background,
	.background_testo.bg-right .background {
		height: 320px;
	}
}

@media (min-width: 580px) {
	.has-background.parallax .background figure img {
		width: 180%;
	}
}

@media (min-width: 768px) {
	.background_testo.bg-right .overlay {
		left: 50%;
	}
	.background_testo.bg-left .overlay {
		right: 50%;
	}
	.background_testo.bg-left.parallax .background {
		transform: translateX(-25%);
	}
	.background_testo.bg-right.parallax .background {
		transform: translateX(25%);
	}
}

@media (min-width: 1024px) {
	.has-background.parallax .background figure img {
		width: 125%;
	}
}

@media (min-width: 1280px) {
	.has-background.parallax .background figure img {
		width: 100%;
	}
}





/* BLOCCO BACKGROUND TESTO */
.background_testo.bg-center.contenuto-center .contenuto,
.background_testo.bg-center.contenuto-left .contenuto,
.background_testo.bg-center.contenuto-right .contenuto {
	grid-column: 2 / 12;
}

.box.background_testo.bg-left,
.box.background_testo.bg-right {
	padding-top: 0;
	padding-bottom: 0;
}


@media (max-width: 767px) {
	.background_testo.text-right .contenuto {
		text-align: left;
	}
}

@media (min-width: 580px) {
	.background_testo.bg-left .contenuto .grid>div,
	.background_testo.bg-right .contenuto .grid>div {
		padding-inline: 2rem;
	}
}

@media (min-width: 768px) {
	.background_testo.bg-center.contenuto-left .contenuto {
		grid-column: 2 / 8;
	}

	.background_testo.bg-center.contenuto-right .contenuto {
		grid-column: 6 / 12;
	}

	.box.background_testo.bg-center.contenuto-left .contenuto {
		grid-column: 1 / 7;
		padding-inline: 1rem;
	}

	.box.background_testo.bg-center.contenuto-right .contenuto {
		grid-column: 7 / 13;
		padding-inline: 2rem;
	}

	#maincontainer>.background_testo.bg-left,
	#maincontainer>.background_testo.bg-right,
	#maincontainer>.background_testo.bg-left>div,
	#maincontainer>.background_testo.bg-right>div {
		padding: 0;
	}

	.background_testo.bg-left .contenuto .grid>div {
		grid-column: 2 / 12;
		padding-inline: 0rem;
	}

	.background_testo.bg-right .contenuto .grid>div {
		grid-column: 2 / 12;
		padding-inline: 0rem;
	}
}

@media (min-width: 1024px) {
	.background_testo.bg-left .contenuto .grid>div,
	.background_testo.bg-right .contenuto .grid>div {
		padding-inline: 1rem;
	}
}

@media screen and (min-width:1280px) {
	.background_testo.bg-right .contenuto .grid {
		justify-items: end;
	}

	.background_testo.bg-left .contenuto .grid>div,
	.background_testo.bg-right .contenuto .grid>div {
		grid-column: 2 / 12;
		max-width: 660px;
		padding-inline: 2rem;
	}
}







/* CPT GRID */
.cpt-grid .item figure {
	margin-bottom: 1rem;
}

.cpt-grid .item .titolo {
	font-size: 1rem;
}


.glide__slides>* {
	white-space: normal;
}

.glide__arrow {
	position: absolute;
	top: 34%;
	left: -10px;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid var(--grigio-4);
	border-radius: var(--radius);
	background-color: var(--bianco);
	/* box-shadow: var(--shadow); */
	font-size: 0;
	color: var(--main);
	transition: border-color 0.3s, box-shadow 0.3s, background-color 0.3s;
}

.glide__arrow--right {
	right: -10px;
	left: auto;
}

.glide__arrow::before {
	border-style: solid;
	border-width: 2px 2px 0 0;
	content: "";
	display: inline-block;
	position: absolute;
	transform: rotate(-45deg);
	vertical-align: top;
	border-color: var(--main);
	width: 10px;
	height: 10px;
	top: 11px;
}

.glide__arrow--left:before {
	transform: rotate(-135deg);
	left: 14px;
}

.glide__arrow--right:before {
	left: 9px;
	transform: rotate(45deg);
}

.glide__bullets {
	margin: 20px auto;
	text-align: center;
	position: relative;
}

.glide__bullet {
	width: 12px;
	height: 3px;
	padding: 0;
	margin: 0 3px;
}

.glide__bullet--active {
	background-color: var(--colore);
}

@media (min-width: 1440px) {
	.glide__arrow--left {
		left: -35px;
	}

	.glide__arrow--right {
		right: -35px;
	}

	.box .glide__arrow--left {
		left: -25px;
	}

	.box .glide__arrow--right {
		right: -25px;
	}
}

@media (min-width: 1600px) {
	.glide__arrow--left {
		left: -55px;
	}

	.glide__arrow--right {
		right: -55px;
	}
}





/* BLOCCO SLIDER */

.bigslider .glide__slides {
	/* effetto fade */
	transform: translate3d(0, 0, 0) !important;
}

.bigslider .slide {
	position: absolute;
	top: 0;
	left: 0;
	order: 2;
	opacity: 0;
	margin: 0 !important;
	transition: opacity 1250ms ease-in-out;
}

.bigslider .glide__slide--active {
	position: relative;
	order: 1;
	opacity: 1;
	z-index: 2;
}

.bigslider figure {
	position: relative;
	z-index: 1;
	max-height: 100vh;
	max-height: 100svh;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.bigslider figure img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	max-width: none;
	object-position: center 50%;
}

.bigslider .contenuto {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
	align-items: center;
	justify-content: center;
}

.bigslider figure.fourth {
	min-height: 250px;
	height: 25vh;
	height: 25svh;
	max-height: 25vh;
	max-height: 25svh;
}

.bigslider figure.third {
	min-height: 300px;
	height: 33vh;
	height: 33svh;
	max-height: 33vh;
	max-height: 33svh;
}

.bigslider figure.half {
	min-height: 350px;
	height: 50vh;
	height: 50svh;
	max-height: 50vh;
	max-height: 50svh;
}

.bigslider figure.sevenfive {
	min-height: 400px;
	height: 75vh;
	height: 75svh;
	max-height: 75vh;
	max-height: 75svh;
}

.bigslider figure.hundred {
	min-height: 450px;
	height: 100vh;
	height: 100svh;
	max-height: 100vh;
	max-height: 100svh;
}







/* SLIDER TESTO  */

.slider-testo {
	position: relative;
}

.slider-testo .titolo {
	overflow-wrap: anywhere;
}

.slider-testo figure {
	position: relative;
}

.slider-testo .slide-number {
	position: absolute;
	left: 0;
	color: var(--colore);
	opacity: .35;
	font-size: 15rem;
	line-height: 1;
	font-weight: var(--weightbold);
}

.slider-testo .glide_testo {
	padding-bottom: 2.6rem;
}

.slider-testo .glide__arrows {
	max-width: 88px;
	margin: 0 auto;
	padding-top: 2.6rem;
	position: relative;
}

.slider-testo .glide__arrow--left {
	left: 0;
}

.slider-testo .glide__arrow--right {
	right: 0;
}

.slider-testo .glide__bullets {
	display: none;
}




/* BLOCCO TESTIMONIAL */

.testimonial .glide_testimonials {
	padding-top: 1rem;
}

.testimonial blockquote {
	margin: 0.25em 0;
	line-height: 1.35;
	position: relative;
	border-left: none;
}

.testimonial blockquote figure {
	padding-bottom: 1.6rem;
}

.testimonial blockquote img {
	display: inline-block;
	z-index: 1;
	position: relative;
}

.testimonial blockquote span {
	display: block;
	margin-bottom: 8px;
}

.testimonial blockquote .descrizione {
	font-size: 1.1rem;
	padding-bottom: 18px;
	z-index: 1;
	position: relative;
}

.testimonial blockquote .nome {
	font-weight: var(--weightbold);
}

/* .testimonial blockquote::before, */
.testimonial blockquote::after {
	position: absolute;
	font-size: 30rem;
	color: var(--colore);
	line-height: 1;
	z-index: 0;
	font-family: sans-serif;
	height: 150px;
	content: "\201d";
	opacity: .3;
}

/* .testimonial blockquote::before {
	top: -4rem;
	left: 0;
} */
.testimonial blockquote::after {
	right: 1rem;
	bottom: 2.6rem;
}

.testimonial .glide__arrow {
	top: 50%;
}

.testimonial .glide__arrow--left {
	left: 0;
}

.testimonial .glide__arrow--right {
	right: 0;
}

@media screen and (min-width: 580px) {
	.testimonial blockquote .inner {
		padding-left: 2rem;
	}
}

@media screen and (min-width: 1024px) {
	.testimonial blockquote {
		padding: 0 2rem !important;
	}
}




/* BLOCCO MAPPA */

.google-maps {
	position: relative;
	height: 500px;
	overflow: hidden;
	margin: 0 !important;
}

.google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.google-maps iframe {
	pointer-events: none;
}

/* disattivo lo scrollwheel automatico dalla mappa iframe - more on js */
@media screen and (min-width: 1280px) {
	.google-maps {
		height: 600px;
	}
}




/* DOWNLOADS */

.downloads-container .content {
	padding-left: 87px;
	border: 1px solid var(--grigio-6);
	border-radius: 0;
	background: var(--bianco);
	padding-right: 15px;
	height: 100%;
	box-shadow: var(--shadow);
}

.downloads-container .file {
	position: relative;
	font-weight: var(--weightbold);
	line-height: 1.2;
	padding-bottom: 3px;
}

.downloads-container .file svg {
	position: absolute;
	width: 45px;
	height: 45px;
	left: -65px;
	top: -5px;
}

.downloads-container .filesize {
	font-size: 85%;
}

.downloads-container .contenuto {
	font-size: 90%;
	color: var(--colore-2);
	line-height: 1.2;
	padding-top: 1px;
}

.downloads-container .contenuto p {
	margin-bottom: 0;
}

@media (min-width: 1280px) {
	.downloads-container .content {
		padding-left: 97px;
	}

	.downloads-container .file svg {
		left: -70px;
	}
}




/* BLOCCO LOGHI MODALITA CARDS */

.loghi .card {
	perspective: 500px;
}

.loghi .card .content {
	position: relative;
	width: 100%;
	height: 100%;
	box-shadow: var(--shadow);
	transition: transform 0.6s;
	transform-style: preserve-3d;
	aspect-ratio: 1 / 1;
}

.loghi .card:hover .content {
	transform: rotateY(180deg);
	height: 100%;
}

.loghi .card .front,
.loghi .card .back {
	height: 100%;
	width: 100%;
	background: var(--bianco);
	border-radius: 0;
	backface-visibility: hidden;
}

.loghi .card .front {
	padding: 12px 12px 30px;
}

.loghi .card .back {
	position: absolute;
	top: 0;
	padding: 30px;
	font-size: 1.1rem;
	line-height: 1.25;
	text-align: left;
	background: var(--colore);
	color: var(--bianco);
	transform: rotateY(180deg);
}

.loghi .card .back p {
	margin-bottom: 10px;
}

.loghi .card .back a {
	color: var(--bianco);
	text-decoration: underline;
}

.loghi .card figure {
	display: block;
	width: 100%;
}

.loghi .card figure img {
	max-width: 200px;
	margin: 0 auto;
}

.loghi .card figcaption {
	font-size: 0.88rem;
	line-height: 1.1;
	font-weight: var(--weightheavy);
	text-transform: uppercase;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 18px;
	transition: opacity 0.5s;
}

.loghi .card:hover figcaption {
	opacity: 0;
}




/* COUNTER */

.counter-block ul {
	padding: 0 !important;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 10px;
}

.counter-block li {
	list-style-type: none;
	padding: 0;
	margin: 1.5rem auto;
	width: 100%;
}

.counter-block img {
	margin: 0 auto;
	width: 110px;
	border: 1px solid var(--grigio-6);
	border-radius: 50%;
	padding: 12px;
	box-shadow: var(--shadow);
}

.counter-block .counter {
	display: block;
	font-family: var(--altfont);
	font-weight: var(--weightmedium);
	font-size: 3rem;
	margin-top: 1rem;
}

.counter-block .descrizione {
	display: block;
	font-size: 1.1rem;
	line-height: 1.2;
}

.counter-block .overlay {
	max-height: none;
}

@media screen and (min-width: 580px) {
	.counter-block .counter {
		font-size: 2.8rem;
	}
}

@media screen and (min-width: 1280px) {
	.counter-block .counter {
		font-size: 3.3rem;
	}
}



/* EVENTI */
.grid-table {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}

.grid-header,
.grid-row {
	display: contents;
}

.grid-cell-header,
.grid-cell {
	border-bottom: 1px solid var(--bianco);
	border-right: 1px solid var(--bianco);
	padding: 8px;
	text-align: left;
}

.grid-cell-header {
	background-color: var(--colore);
	color: var(--bianco);
	padding: 11px 8px;
	font-weight: var(--weightbold);
	text-transform: uppercase;
	font-size: .9rem;
}

.grid-cell:not(.locandina, .descrizione) {
	padding-top: 2rem;
}

.grid-cell-header:last-child,
.grid-cell.info,
.grid-cell.descrizione {
	border-right: none;
}

.grid-cell.locandina {
	grid-row: span 2;
	/* Occupa due righe come rowspan="2" */
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.grid-cell.descrizione {
	grid-column: 2 / -1;
	/* Occupa tutte le colonne come colspan="5" */
}

@media (max-width: 767px) {
	.grid-table {
		grid-template-columns: 1fr;
	}

	.grid-header {
		display: none;
	}

	.grid-cell:not(.locandina) {
		grid-column: 1;
	}

	.grid-cell:not(.locandina, .descrizione) {
		padding-top: 0rem;
	}

	.grid-cell:not(.locandina, .descrizione)::before,
	.grid-cell-header::before {
		content: attr(data-label);
		display: inline-block;
		width: 90px;
		font-weight: var(--weightbold);
		text-transform: uppercase;
		font-size: .8rem;
		color: var(--colore);
	}

}





/* VIDEO EMBED  */

.video-embed {
	padding: 0 !important;
}

.video-embed>div {
	align-items: center;
}

.video-embed .contenuto {
	padding-inline: 1.25rem;
	justify-items: end;
}

.video-embed .video-holder {
	position: relative;
	width: 100%;
	margin: 0 auto;
	height: 0;
	padding-bottom: 56.25%;
}

.video-embed .video-holder iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

@media (max-width: 880px) {
	.video-embed .video-holder {
		grid-column: span 12;
		order: 1 !important;
	}

	.video-embed .contenuto {
		grid-column: span 12 !important;
		order: 2 !important;
		padding-block: 2rem !important;
	}
}

@media (min-width: 881px) {
	.video-embed .video-holder {
		grid-column: span 6;
	}

	.video-embed .contenuto {
		grid-column: span 6 !important;
		padding-block: 2rem !important;
	}
}

@media (min-width: 1024px) {
	.video-embed .contenuto {
		padding-left: 2rem;
	}
}

@media (min-width: 1280px) {
	.video-embed .contenuto {
		padding-left: 4rem;
	}

	.video-embed .contenuto .inner {
		max-width: 600px;
	}
}

@media (min-width: 1600px) {
	.video-embed>div {
		padding-right: 0 !important;
	}

	.video-embed .contenuto .inner {
		max-width: 660px;
	}
}





/* BLOCCO RECENSIONI */

#recensioni .azienda-stars {
	color: #e44710;
}

#recensioni .azienda-stars svg {
	width: 18px;
	height: 18px;
	vertical-align: middle;
}

#recensioni .num_rece {
	font-size: 90%;
	color: var(--grigio);
}

#recensioni .azienda {
	font-size: 1.1rem;
	line-height: 1.15;
	font-weight: var(--weightbold);
}

#recensioni .azienda-avatar img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	box-shadow: var(--shadow);
}

#recensioni .azienda-rating {
	color: #e44710;
	font-size: 1.25rem;
	font-weight: var(--weightbold);
	margin: 0 6px 0 0;
	display: inline-block;
	-webkit-transform: translateY(3px);
	transform: translateY(3px);
}

#recensioni .contenuto {
	font-size: 0.86rem;
	line-height: 1.4;
	padding-top: 10px;
}

#recensioni .review {
	position: relative;
}

#recensioni .review .avatar {
	position: absolute;
	top: 0;
	left: 10px;
}

#recensioni .review .avatar img {
	width: 45px;
	height: 45px;
	border-radius: 50%;
}

#recensioni .review .content {
	padding-left: 68px;
}

#recensioni .review .rating svg {
	width: 21px;
	height: 20px;
	color: #ffb800;
}

#recensioni .button::after {
	border-left-color: var(--colore);
}

#recensioni .button:hover::before {
	background-color: var(--colore);
}

#recensioni .button:hover::after {
	border-left-color: var(--bianco);
}

@media screen and (min-width: 1280px) {
	#recensioni .review .avatar img {
		width: 60px;
		height: 60px;
	}

	#recensioni .review .content {
		padding-left: 86px;
	}
}

#recensioni .showmore,
#recensioni .showless {
	color: var(--color);
	font-weight: var(--weightbold);
	cursor: pointer;
	display: inline-block;
	padding-left: 5px;
	font-size: 97%;
}

#recensioni .moretext {
	display: none;
}




/* BLOCCO ACCORDION */

.accordion .tab>input {
	position: absolute;
	opacity: 0;
	z-index: -1;
}

.accordion .tabs {
	margin-top: 20px;
	overflow: hidden;
}

.accordion .tab {
	width: 100%;
	color: var(--bianco);
	overflow: hidden;
}

.accordion .tab-label {
	display: flex;
	justify-content: space-between;
	padding: 1rem 1rem 0.7rem;
	font-weight: var(--weightbold);
	cursor: pointer;
	margin-bottom: 5px;
	color: var(--main);
	background-color: var(--grigio-6);
	transition: background 0.3s, color 0.3s, padding 0.3s;
}

.accordion .tab-label:hover {
	background-color: var(--grigio-5);
}

.accordion .tab-label::after {
	content: "❯";
	width: 1em;
	height: 1em;
	text-align: center;
	transition: transform 0.3s;
}

.accordion .tab-content {
	max-height: 0;
	padding: 0 1em;
	transition: max-height 0.3s, padding 0.3s;
	color: var(--main);
	overflow: hidden;
}

.accordion .tab-close {
	display: flex;
	justify-content: flex-end;
	padding: 1em;
	font-size: 0.75em;
	background-color: var(--grigio);
	color: var(--bianco);
	cursor: pointer;
}

.accordion .tab>input:checked+.tab-label {
	background-color: var(--main);
	color: var(--bianco);
}

.accordion .tab>input:checked+.tab-label::after {
	transform: rotate(90deg);
}

.accordion .tab>input:checked~.tab-content {
	max-height: 100vh;
	padding: 1rem 1rem .5rem 1rem;
}




/* BLOCCO TABS */

.tabs-container input.hidden {
	display: none;
}

.tabs-container input:checked+label {
	background: var(--colore);
	color: var(--bianco);
}

.tabs-container input#tab1:checked~.content-container #c1,
.tabs-container input#tab2:checked~.content-container #c2,
.tabs-container input#tab3:checked~.content-container #c3,
.tabs-container input#tab4:checked~.content-container #c4,
.tabs-container input#tab5:checked~.content-container #c5,
.tabs-container input#tab6:checked~.content-container #c6,
.tabs-container input#tab7:checked~.content-container #c7,
.tabs-container input#tab8:checked~.content-container #c8,
.tabs-container input#tab9:checked~.content-container #c9 {
	display: block;
}

.tabs-container>label,
.tabs-container>.label {
	display: inline-block;
	line-height: 36px;
	padding: 4px 20px 0px;
	text-align: center;
	background: var(--grigio-6);
	color: var(--main);
	font-weight: var(--weightheavy);
	position: relative;
	transition: 0.25s background ease;
	cursor: pointer;
	margin: 0;
}

.tabs-container .content-container {
	position: relative;
}

.tabs-container .content-container .content {
	width: 100%;
	display: none;
	transition: 0.25s ease;
	margin: 0;
	padding: 1rem;
	background: var(--grigio-6);
}

.tabs-container>.label {
	font-family: inherit;
	font-weight: var(--weightnormal);
	margin: 0 0 4px 0;
}

.tabs-container .label:hover {
	background: var(--main);
	color: var(--bianco);
}




/* BLOCCO TIMELINE */

#timeline {
	overflow: hidden;
	margin: 0 auto;
	position: relative;
	padding-bottom: 90px;
}

#timeline #dates {
	padding: 1rem 0 0 0;
	margin: 0;
	height: 60px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	transition: transform 0.5s ease-in-out;
}

#timeline #dates li {
	list-style: none;
	min-width: 100px;
	text-align: center;
	padding: 0 10px;
}

#timeline #dates a {
	font-size: .9rem;
	padding-bottom: 10px;
	transition: font-size 0.3s;
}

#timeline #dates li.selected a {
	font-size: 1.1rem;
	font-weight: var(--weightbold);
}

#timeline #issues {
	display: flex;
	flex-wrap: nowrap;
	transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
	justify-content: start;
	padding: 0;
	margin: 0;
}

#timeline #issues li {
	list-style: none;
	padding: 0 2rem;
	width: 350px;
	flex-shrink: 0;
	/* Previene il ridimensionamento automatico degli elementi flex */
	opacity: .35;
	transition: opacity .4s;
}

#timeline #issues li.selected {
	opacity: 1;
}

#timeline #issues li h3 {
	font-size: 2rem;
	margin: 20px 0;
	padding: 0;
	text-transform: uppercase;
}

#timeline #timenext,
#timeline #timeprev {
	position: absolute;
	font-size: 4rem;
	bottom: 0;
	width: 56px;
	height: 56px;
	background-color: var(--colore);
	text-indent: -9999px;
	overflow: hidden;
	border-radius: 50%;
}

#timeline #timenext {
	right: 50%;
	margin-right: -70px;
}

#timeline #timeprev {
	left: 50%;
	margin-left: -70px;
}

#timeline #timenext.disabled,
#timeline #timeprev.disabled {
	opacity: 0.2;
}

#timeline #timeprev::before,
#timeline #timenext::before {
	border-style: solid;
	border-width: 2px 2px 0 0;
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	left: 14px;
	position: absolute;
	top: 18px;
	transform: rotate(-45deg);
	vertical-align: top;
	border-color: var(--bianco);
}

#timeline #timenext::before {
	transform: rotate(45deg);
}

#timeline #timeprev::before {
	left: 22px;
	transform: rotate(-135deg);
}

@media screen and (min-width: 1024px) {
	#timeline #issues li h3 {
		font-size: 2.3rem;
	}

	#timeline #issues li {
		width: 420px;
	}
}




/* BLOCCO TIMELINE VERTICALE */

.timeline-container {
	width: 90%;
	padding: 30px 0;
	margin: 30px auto;
	position: relative;
	overflow: hidden;
}

.timeline-container:before {
	content: "";
	position: absolute;
	top: 0;
	left: 8px;
	width: 2px;
	margin-left: -1px;
	height: 100%;
	background: var(--grigio-5);
	z-index: 1;
}

.timeline-block {
	width: 100%;
	margin-bottom: 30px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-moz-box-pack: justify;
	justify-content: space-between;
	clear: both;
}

.timeline-block:last-child {
	margin-bottom: 0;
}

.timeline-block:last-child p:last-child {
	margin-bottom: 0;
}

.timeline-block-right {
	float: none;
}

.timeline-block-left {
	float: none;
	direction: ltr;
}

.timeline-marker {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid var(--bianco);
	background: var(--colore);
	margin-top: 10px;
	z-index: 9999;
}

.timeline-content {
	width: 95%;
	padding: 0 15px;
	color: var(--grigio);
}

.timeline-content h3 {
	margin-top: 5px;
	margin-bottom: 5px;
	font-size: 1.65rem;
}

.timeline-content span {
	font-size: 0.98rem;
	color: var(--colore);
}

.timeline-content .descrizione_evento {
	font-size: 0.85rem;
	line-height: 1.5em;
	word-spacing: 1px;
	color: var(--grigio);
}

@media screen and (min-width: 768px) {
	.timeline-container {
		width: 85%;
	}

	.timeline-container:before {
		left: 50%;
		width: 2px;
	}

	.timeline-block {
		width: -webkit-calc(50% + 8px);
		width: -moz-calc(50% + 8px);
		width: calc(50% + 8px);
	}

	.timeline-block-right {
		float: right;
	}

	.timeline-block-left {
		float: left;
		direction: rtl;
	}
}










/* TABELLE */

table {
	border: 0;
	border-collapse: collapse;
	margin: 0;
	padding: 0;
	width: 100%;
}

table caption {
	font-size: 1.5rem;
	margin: 0.5rem 0 0.75rem;
}

table tr {
	padding: 0.35rem;
}

table th,
table td {
	padding: 0.8rem 0.94rem 0.6rem;
}

table th {
	font-size: 1.1rem;
	letter-spacing: 0.01rem;
	border-bottom: none;
	background-color: var(--colore);
	color: var(--bianco);
}

@media screen and (max-width: 767px) {
	table.responsive {
		border: 0;
	}

	table.responsive caption {
		font-size: 1.3rem;
	}

	table.responsive thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}

	table.responsive tr {
		border-bottom: 1px solid var(--colore);
		display: block;
		padding: .7rem 0;
	}

	table.responsive td {
		border-bottom: 0px solid var(--colore);
		display: grid;
		grid-template-columns: 1fr 2fr;
		/* Due colonne, la prima per ::before, la seconda per il testo */
		font-size: 0.92rem;
		text-align: left;
		padding-bottom: 5px;
		padding-top: 5px;
		border-bottom: 1px solid var(--grigio-6);
	}

	table.responsive tr:nth-of-type(2n) td:not(:last-child) {
		border-bottom: 1px solid var(--bianco);
	}

	table.responsive td::before {
		content: attr(data-label);
		font-weight: var(--weightbold);
		font-size: .82rem;
		margin-top: 2px;
		padding-right: 1rem;
		grid-column: 1;
		/* Posiziona ::before nella prima colonna */
	}

	table.responsive td> :first-child {
		grid-column: 2;
		/* Posiziona il testo principale del td nelle colonne 2 e 3 */
	}

	table.responsive td:last-child {
		border-bottom: 0;
	}

	table.responsive tbody td:empty,
	table.responsive tbody td:empty::before {
		display: none;
		content: "";
	}

	.responsive_hide {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	table.alternate tr:nth-child(even) td {
		background-color: var(--grigio-7);
	}
}

/* tabella nativa Gutenberg */
.wp-block-table {
	overflow-x: auto;
	margin-bottom: 3rem;
}





/* FSLIGHTBOX */

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

.fslightbox-container {
	background: var(--bianco) !important;
}

.fslightboxc:after {
	display: none !important;
}

.fslightboxci {
	color: var(--main) !important;
	font-family: var(--mainfont) !important;
}

.fslightbox-toolbar {
	background: transparent !important;
}

.fslightbox-toolbar div:nth-child(1),
.fslightbox-toolbar div:nth-child(2),
.fslightbox-toolbar div:nth-child(3),
.fslightbox-toolbar div:nth-child(4) {
	display: none !important;
}

.fslightbox-slide-btn {
	background: var(--bianco) !important;
	width: 42px;
	height: 42px;
	border-radius: 50%;
}

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

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

.fslightbox-slide-btn svg {
	display: none !important;
}

.fslightbox-slide-btn::before {
	border-style: solid;
	border-width: 2px 2px 0 0;
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	left: 15px;
	position: absolute;
	top: 14px;
	transform: rotate(-45deg);
	vertical-align: top;
	border-color: var(--main);
}

.fslightbox-slide-btn-container {
	padding: 0 !important;
}

.fslightbox-slide-btn-container-previous .fslightbox-slide-btn::before {
	left: 16px;
	transform: rotate(-135deg);
}

.fslightbox-slide-btn-container-next .fslightbox-slide-btn::before {
	transform: rotate(45deg);
	left: 9px;
}

.fslightbox-slide-btn-container-previous,
.fslightbox-slide-btn-container-next {
	background-color: rgba(0, 0, 0, 0);
}

@media screen and (min-width: 992px) {
	.fslightbox-slide-btn-container-previous {
		left: 28px !important;
	}

	.fslightbox-slide-btn-container-next {
		right: 29px !important;
	}
}

@media screen and (min-width: 1280px) {
	.fslightbox-slide-btn-container-previous {
		left: 13px !important;
	}

	.fslightbox-slide-btn-container-next {
		right: 14px !important;
	}
}

@media screen and (min-width: 1800px) {
	.fslightbox-slide-btn-container-previous {
		left: 31px !important;
	}

	.fslightbox-slide-btn-container-next {
		right: 32px !important;
	}
}




/* BLOCCO GALLERY */

.gallery figure {
	position: relative;
}

.gallery figcaption {
	text-align: center;
	padding-top: .5rem;
	line-height: 1;
	color: var(--main);
	position: relative;
	overflow-wrap: break-word;
}

.gallery .overlay {
	opacity: 0;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	transition: opacity 0.4s;
}

.gallery a.dentro:hover .overlay {
	opacity: 1;
}

.gallery a.dentro figcaption {
	opacity: 0;
	margin: 0 auto;
	width: 100%;
	text-align: center;
	padding: 4px 20px 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.gallery a.dentro:hover figcaption {
	opacity: 1;
}



/* BLOCCO VIDEO  */

.video_holder a {
	position: relative;
	color: #ff0000;
	display: block;
	margin: 0 auto;
}

.video_holder a:hover {
	color: var(--bianco);
}

.video_holder svg {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	margin-top: -30px;
	margin-left: -30px;
}

.video_holder img {
	width: 100%;
}

.video_holder .titolo_video {
	clear: both;
	font-size: 1rem;
	padding-top: 1.5rem;
	text-align: left;
	line-height: 1.18;
	font-weight: var(--weightheavy);
}




/* BLOCCO VIDEO GALLERY  */

.elenco_video a {
	position: relative;
	color: #ff0000;
	display: block;
}

.elenco_video a:hover {
	color: var(--bianco);
}

.elenco_video svg {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	margin-top: -30px;
	margin-left: -30px;
}

.elenco_video img {
	width: 100%;
}

.elenco_video .titolo_video {
	clear: both;
	padding-top: 1rem;
	text-align: left;
	line-height: 1.18;
}




/* GRID CORSI */

.corso-grid h3 {
	font-size: 1.3rem;
}




/* SINGLE POST */
.single-post article.hentry {
	line-height: var(--line-height-2);
}

.single-post article.hentry h2,
.single-post article.hentry .h2 {
	font-size: clamp(1.6rem, calc(1rem + 2vw), 2.5rem);
}

.single-post article.hentry h3,
.single-post article.hentry .h3 {
	font-size: clamp(1.4rem, calc(1rem + 1.35vw), 2rem);
}

.single-post article.hentry p:first-of-type {
	font-size: 1.15rem;
	line-height: var(--line-height);
	margin-bottom: 2rem;
}

.single-post article.hentry .paragrafo {
	margin-bottom: 1.5rem;
}

.single-post article.hentry>div>ul {
	margin-bottom: 2rem;
}

.single-post article.hentry figcaption {
	padding-top: .9rem;
	font-size: .9rem;
}

.single-post article.hentry .gallery {
	margin-top: 3rem;
}

@media (min-width: 1024px) {
	.single-post article.hentry p:first-of-type {
		font-size: 1.25rem;
	}
}

@media (min-width: 1280px) {
	.single-post article.hentry p:first-of-type {
		font-size: 1.3rem;
	}
}

@media (min-width: 1360px) {
	.single-post article.hentry p:first-of-type {
		font-size: 1.35rem;
	}
}



/* SIGLE CORSO */
.single-corso .wpcf7-submit {
	height: 46px;
	padding: .75rem 1.2rem;
}

@media (min-width: 768px) {
	.single-corso .wpcf7-submit {
		margin-top: 22px;
	}
}




/* LIST POST */

/* .archive-list figure img {
	scale: .8;
	opacity: 0;
	animation: fade-in-image linear forwards;
	animation-timeline: view();
	animation-range: 250px 500px;
}

@keyframes fade-in-image {
	to { scale: 1; opacity: 1; }
} */





/* DATA */

.data {
	font-size: 0.7rem;
	font-weight: var(--weightheavy);
	margin-bottom: 0.7rem;
	text-transform: uppercase;
	position: relative;
	padding-left: 19px;
	color: var(--main);
}

.data svg {
	position: absolute;
	left: 0;
	width: 12px;
	height: 12px;
	top: .05rem;
}

.firefox .data svg,
.safari .data svg {
	top: .02rem;
}

.archive-list .data,
.single .data {
	display: inline-block;
}

.spacer {
	display: inline-block;
	padding: 0 5px;
}


/* MODIFICA PROFILO ACF */

input#acf-field_654625ee56af3 {
	background-color: var(--grigio-6);
}

.update-success {
	font-weight: var(--weightbold);
	color: var(--colore);
	font-size: 1.2rem;
}

.acf-fields {
	margin-left: -12px;
	margin-right: -12px;
}

.acf-fields>.acf-field {
	border: none !important;
	padding-bottom: 0 !important;
}

.acf-form-submit {
	padding: 33px 0 0 0;
}

.acf-input-wrap span.input.username {
	display: block;
	margin-bottom: 0;
	background-color: var(--grigio-7);
}



.text-center {
	text-align: center
}

.text-right {
	text-align: right
}

.text-left {
	text-align: left
}

.img-center {
	margin: 0 auto;
}

.img-left {
	margin: 0;
}

.img-right {
	margin: 0 0 0 auto;
}

.img-res {
	width: 100%;
	vertical-align: middle
}

.mx-0 {
	margin-left: 0 !important;
	margin-right: 0 !important
}

.mx-1 {
	margin-left: 10px !important;
	margin-right: 10px !important
}

.mx-2 {
	margin-left: 20px !important;
	margin-right: 20px !important
}

.mx-3 {
	margin-left: 30px !important;
	margin-right: 30px !important
}

.mx-4 {
	margin-left: 40px !important;
	margin-right: 40px !important
}

.mx-5 {
	margin-left: 50px !important;
	margin-right: 50px !important
}

.mx-6 {
	margin-left: 60px !important;
	margin-right: 60px !important
}

.mx-7 {
	margin-left: 70px !important;
	margin-right: 70px !important
}

.mx-8 {
	margin-left: 80px !important;
	margin-right: 80px !important
}

.mx-9 {
	margin-left: 90px !important;
	margin-right: 90px !important
}

.mx-10 {
	margin-left: 100px !important;
	margin-right: 100px !important
}

.mx-11 {
	margin-left: 110px !important;
	margin-right: 110px !important
}

.mx-12 {
	margin-left: 120px !important;
	margin-right: 120px !important
}

.mx-13 {
	margin-left: 130px !important;
	margin-right: 130px !important
}

.mx-14 {
	margin-left: 140px !important;
	margin-right: 140px !important
}

.mx-15 {
	margin-left: 150px !important;
	margin-right: 150px !important
}

.my-0 {
	margin-top: 0 !important;
	margin-bottom: 0 !important
}

.my-1 {
	margin-top: 10px !important;
	margin-bottom: 10px !important
}

.my-2 {
	margin-top: 20px !important;
	margin-bottom: 20px !important
}

.my-3 {
	margin-top: 30px !important;
	margin-bottom: 30px !important
}

.my-4 {
	margin-top: 40px !important;
	margin-bottom: 40px !important
}

.my-5 {
	margin-top: 50px !important;
	margin-bottom: 50px !important
}

.my-6 {
	margin-top: 60px !important;
	margin-bottom: 60px !important
}

.my-7 {
	margin-top: 70px !important;
	margin-bottom: 70px !important
}

.my-8 {
	margin-top: 80px !important;
	margin-bottom: 80px !important
}

.my-9 {
	margin-top: 90px !important;
	margin-bottom: 90px !important
}

.my-10 {
	margin-top: 100px !important;
	margin-bottom: 100px !important
}

.my-11 {
	margin-top: 110px !important;
	margin-bottom: 110px !important
}

.my-12 {
	margin-top: 120px !important;
	margin-bottom: 120px !important
}

.my-13 {
	margin-top: 130px !important;
	margin-bottom: 130px !important
}

.my-14 {
	margin-top: 140px !important;
	margin-bottom: 140px !important
}

.my-15 {
	margin-top: 150px !important;
	margin-bottom: 150px !important
}

.px-0 {
	padding-left: 0 !important;
	padding-right: 0 !important
}

.px-1 {
	padding-left: 10px !important;
	padding-right: 10px !important
}

.px-2 {
	padding-left: 20px !important;
	padding-right: 20px !important
}

.px-3 {
	padding-left: 30px !important;
	padding-right: 30px !important
}

.px-4 {
	padding-left: 40px !important;
	padding-right: 40px !important
}

.px-5 {
	padding-left: 50px !important;
	padding-right: 50px !important
}

.px-6 {
	padding-left: 60px !important;
	padding-right: 60px !important
}

.px-7 {
	padding-left: 70px !important;
	padding-right: 70px !important
}

.px-8 {
	padding-left: 80px !important;
	padding-right: 80px !important
}

.px-9 {
	padding-left: 90px !important;
	padding-right: 90px !important
}

.px-10 {
	padding-left: 100px !important;
	padding-right: 100px !important
}

.px-11 {
	padding-left: 110px !important;
	padding-right: 110px !important
}

.px-12 {
	padding-left: 120px !important;
	padding-right: 120px !important
}

.px-13 {
	padding-left: 130px !important;
	padding-right: 130px !important
}

.px-14 {
	padding-left: 140px !important;
	padding-right: 140px !important
}

.px-15 {
	padding-left: 150px !important;
	padding-right: 150px !important
}

.py-0 {
	padding-top: 0 !important;
	padding-bottom: 0 !important
}

.py-1 {
	padding-top: 10px !important;
	padding-bottom: 10px !important
}

.py-2 {
	padding-top: 20px !important;
	padding-bottom: 20px !important
}

.py-3 {
	padding-top: 30px !important;
	padding-bottom: 30px !important
}

.py-4 {
	padding-top: 40px !important;
	padding-bottom: 40px !important
}

.py-5 {
	padding-top: 50px !important;
	padding-bottom: 50px !important
}

.py-6 {
	padding-top: 60px !important;
	padding-bottom: 60px !important
}

.py-7 {
	padding-top: 70px !important;
	padding-bottom: 70px !important
}

.py-8 {
	padding-top: 80px !important;
	padding-bottom: 80px !important
}

.py-9 {
	padding-top: 90px !important;
	padding-bottom: 90px !important
}

.py-10 {
	padding-top: 100px !important;
	padding-bottom: 100px !important
}

.py-11 {
	padding-top: 110px !important;
	padding-bottom: 110px !important
}

.py-12 {
	padding-top: 120px !important;
	padding-bottom: 120px !important
}

.py-13 {
	padding-top: 130px !important;
	padding-bottom: 130px !important
}

.py-14 {
	padding-top: 140px !important;
	padding-bottom: 140px !important
}

.py-15 {
	padding-top: 150px !important;
	padding-bottom: 150px !important
}

.mt-0 {
	margin-top: 0 !important
}

.mt-1 {
	margin-top: 10px !important
}

.mt-2 {
	margin-top: 20px !important
}

.mt-3 {
	margin-top: 30px !important
}

.mt-4 {
	margin-top: 40px !important
}

.mt-5 {
	margin-top: 50px !important
}

.mt-6 {
	margin-top: 60px !important
}

.mt-7 {
	margin-top: 70px !important
}

.mt-8 {
	margin-top: 80px !important
}

.mt-9 {
	margin-top: 90px !important
}

.mt-10 {
	margin-top: 100px !important
}

.mt-11 {
	margin-top: 110px !important
}

.mt-12 {
	margin-top: 120px !important
}

.mt-13 {
	margin-top: 130px !important
}

.mt-14 {
	margin-top: 140px !important
}

.mt-15 {
	margin-top: 150px !important
}

.mt-16 {
	margin-top: 160px !important
}

.mt-17 {
	margin-top: 170px !important
}

.mt-18 {
	margin-top: 180px !important
}

.mt-19 {
	margin-top: 190px !important
}

.mt-20 {
	margin-top: 200px !important
}

.mt-1-mix {
	margin-top: 7px !important
}

.mt-2-mix {
	margin-top: 14px !important
}

.mt-3-mix {
	margin-top: 21px !important
}

.mt-4-mix {
	margin-top: 28px !important
}

.mt-5-mix {
	margin-top: 35px !important
}

.mt-6-mix {
	margin-top: 42px !important
}

.mt-7-mix {
	margin-top: 49px !important
}

.mt-8-mix {
	margin-top: 56px !important
}

.mt-9-mix {
	margin-top: 63px !important
}

.mt-10-mix {
	margin-top: 70px !important
}

.mt-11-mix {
	margin-top: 77px !important
}

.mt-12-mix {
	margin-top: 84px !important
}

.mt-13-mix {
	margin-top: 91px !important
}

.mt-14-mix {
	margin-top: 98px !important
}

.mt-15-mix {
	margin-top: 105px !important
}

.mt-16-mix {
	margin-top: 112px !important
}

.mt-17-mix {
	margin-top: 119px !important
}

.mt-18-mix {
	margin-top: 126px !important
}

.mt-19-mix {
	margin-top: 133px !important
}

.mt-20-mix {
	margin-top: 140px !important
}

@media (min-width:1024px) {
	.mt-1-mix {
		margin-top: 10px !important
	}

	.mt-2-mix {
		margin-top: 20px !important
	}

	.mt-3-mix {
		margin-top: 30px !important
	}

	.mt-4-mix {
		margin-top: 40px !important
	}

	.mt-5-mix {
		margin-top: 50px !important
	}

	.mt-6-mix {
		margin-top: 60px !important
	}

	.mt-7-mix {
		margin-top: 70px !important
	}

	.mt-8-mix {
		margin-top: 80px !important
	}

	.mt-9-mix {
		margin-top: 90px !important
	}

	.mt-10-mix {
		margin-top: 100px !important
	}

	.mt-11-mix {
		margin-top: 110px !important
	}

	.mt-12-mix {
		margin-top: 120px !important
	}

	.mt-13-mix {
		margin-top: 130px !important
	}

	.mt-14-mix {
		margin-top: 140px !important
	}

	.mt-15-mix {
		margin-top: 150px !important
	}

	.mt-16-mix {
		margin-top: 160px !important
	}

	.mt-17-mix {
		margin-top: 170px !important
	}

	.mt-18-mix {
		margin-top: 180px !important
	}

	.mt-19-mix {
		margin-top: 190px !important
	}

	.mt-20-mix {
		margin-top: 200px !important
	}
}

.mb-0 {
	margin-bottom: 0 !important
}

.mb-1 {
	margin-bottom: 10px !important
}

.mb-2 {
	margin-bottom: 20px !important
}

.mb-3 {
	margin-bottom: 30px !important
}

.mb-4 {
	margin-bottom: 40px !important
}

.mb-5 {
	margin-bottom: 50px !important
}

.mb-6 {
	margin-bottom: 60px !important
}

.mb-7 {
	margin-bottom: 70px !important
}

.mb-8 {
	margin-bottom: 80px !important
}

.mb-9 {
	margin-bottom: 90px !important
}

.mb-10 {
	margin-bottom: 100px !important
}

.mb-11 {
	margin-bottom: 110px !important
}

.mb-12 {
	margin-bottom: 120px !important
}

.mb-13 {
	margin-bottom: 130px !important
}

.mb-14 {
	margin-bottom: 140px !important
}

.mb-15 {
	margin-bottom: 150px !important
}

.mb-16 {
	margin-bottom: 160px !important
}

.mb-17 {
	margin-bottom: 170px !important
}

.mb-18 {
	margin-bottom: 180px !important
}

.mb-19 {
	margin-bottom: 190px !important
}

.mb-20 {
	margin-bottom: 200px !important
}

.mb-1-mix {
	margin-bottom: 7px !important
}

.mb-2-mix {
	margin-bottom: 14px !important
}

.mb-3-mix {
	margin-bottom: 21px !important
}

.mb-4-mix {
	margin-bottom: 28px !important
}

.mb-5-mix {
	margin-bottom: 35px !important
}

.mb-6-mix {
	margin-bottom: 42px !important
}

.mb-7-mix {
	margin-bottom: 49px !important
}

.mb-8-mix {
	margin-bottom: 56px !important
}

.mb-9-mix {
	margin-bottom: 63px !important
}

.mb-10-mix {
	margin-bottom: 70px !important
}

.mb-11-mix {
	margin-bottom: 77px !important
}

.mb-12-mix {
	margin-bottom: 84px !important
}

.mb-13-mix {
	margin-bottom: 91px !important
}

.mb-14-mix {
	margin-bottom: 98px !important
}

.mb-15-mix {
	margin-bottom: 105px !important
}

.mb-16-mix {
	margin-bottom: 112px !important
}

.mb-17-mix {
	margin-bottom: 119px !important
}

.mb-18-mix {
	margin-bottom: 126px !important
}

.mb-19-mix {
	margin-bottom: 133px !important
}

.mb-20-mix {
	margin-bottom: 140px !important
}

@media (min-width:1024px) {
	.mb-1-mix {
		margin-bottom: 10px !important
	}

	.mb-2-mix {
		margin-bottom: 20px !important
	}

	.mb-3-mix {
		margin-bottom: 30px !important
	}

	.mb-4-mix {
		margin-bottom: 40px !important
	}

	.mb-5-mix {
		margin-bottom: 50px !important
	}

	.mb-6-mix {
		margin-bottom: 60px !important
	}

	.mb-7-mix {
		margin-bottom: 70px !important
	}

	.mb-8-mix {
		margin-bottom: 80px !important
	}

	.mb-9-mix {
		margin-bottom: 90px !important
	}

	.mb-10-mix {
		margin-bottom: 100px !important
	}

	.mb-11-mix {
		margin-bottom: 110px !important
	}

	.mb-12-mix {
		margin-bottom: 120px !important
	}

	.mb-13-mix {
		margin-bottom: 130px !important
	}

	.mb-14-mix {
		margin-bottom: 140px !important
	}

	.mb-15-mix {
		margin-bottom: 150px !important
	}

	.mb-16-mix {
		margin-bottom: 160px !important
	}

	.mb-17-mix {
		margin-bottom: 170px !important
	}

	.mb-18-mix {
		margin-bottom: 180px !important
	}

	.mb-19-mix {
		margin-bottom: 190px !important
	}

	.mb-20-mix {
		margin-bottom: 200px !important
	}
}

.ml-0 {
	margin-left: 0 !important
}

.ml-1 {
	margin-left: 10px !important
}

.ml-2 {
	margin-left: 20px !important
}

.ml-3 {
	margin-left: 30px !important
}

.ml-4 {
	margin-left: 40px !important
}

.ml-5 {
	margin-left: 50px !important
}

.ml-6 {
	margin-left: 60px !important
}

.ml-7 {
	margin-left: 70px !important
}

.ml-8 {
	margin-left: 80px !important
}

.ml-9 {
	margin-left: 90px !important
}

.ml-10 {
	margin-left: 100px !important
}

.ml-11 {
	margin-left: 110px !important
}

.ml-12 {
	margin-left: 120px !important
}

.ml-13 {
	margin-left: 130px !important
}

.ml-14 {
	margin-left: 140px !important
}

.ml-15 {
	margin-left: 150px !important
}

.mr-0 {
	margin-right: 0 !important
}

.mr-1 {
	margin-right: 10px !important
}

.mr-2 {
	margin-right: 20px !important
}

.mr-3 {
	margin-right: 30px !important
}

.mr-4 {
	margin-right: 40px !important
}

.mr-5 {
	margin-right: 50px !important
}

.mr-6 {
	margin-right: 60px !important
}

.mr-7 {
	margin-right: 70px !important
}

.mr-8 {
	margin-right: 80px !important
}

.mr-9 {
	margin-right: 90px !important
}

.mr-10 {
	margin-right: 100px !important
}

.mr-11 {
	margin-right: 110px !important
}

.mr-12 {
	margin-right: 120px !important
}

.mr-13 {
	margin-right: 130px !important
}

.mr-14 {
	margin-right: 140px !important
}

.mr-15 {
	margin-right: 150px !important
}

.pt-0 {
	padding-top: 0 !important
}

.pt-1 {
	padding-top: 10px !important
}

.pt-2 {
	padding-top: 20px !important
}

.pt-3 {
	padding-top: 30px !important
}

.pt-4 {
	padding-top: 40px !important
}

.pt-5 {
	padding-top: 50px !important
}

.pt-6 {
	padding-top: 60px !important
}

.pt-7 {
	padding-top: 70px !important
}

.pt-8 {
	padding-top: 80px !important
}

.pt-9 {
	padding-top: 90px !important
}

.pt-10 {
	padding-top: 100px !important
}

.pt-11 {
	padding-top: 110px !important
}

.pt-12 {
	padding-top: 120px !important
}

.pt-13 {
	padding-top: 130px !important
}

.pt-14 {
	padding-top: 140px !important
}

.pt-15 {
	padding-top: 150px !important
}

.pt-16 {
	padding-top: 160px !important
}

.pt-17 {
	padding-top: 170px !important
}

.pt-18 {
	padding-top: 180px !important
}

.pt-19 {
	padding-top: 190px !important
}

.pt-20 {
	padding-top: 200px !important
}

.pt-1-mix {
	padding-top: 7px !important
}

.pt-2-mix {
	padding-top: 14px !important
}

.pt-3-mix {
	padding-top: 21px !important
}

.pt-4-mix {
	padding-top: 28px !important
}

.pt-5-mix {
	padding-top: 35px !important
}

.pt-6-mix {
	padding-top: 42px !important
}

.pt-7-mix {
	padding-top: 49px !important
}

.pt-8-mix {
	padding-top: 56px !important
}

.pt-9-mix {
	padding-top: 63px !important
}

.pt-10-mix {
	padding-top: 70px !important
}

.pt-11-mix {
	padding-top: 77px !important
}

.pt-12-mix {
	padding-top: 84px !important
}

.pt-13-mix {
	padding-top: 91px !important
}

.pt-14-mix {
	padding-top: 98px !important
}

.pt-15-mix {
	padding-top: 105px !important
}

.pt-16-mix {
	padding-top: 112px !important
}

.pt-17-mix {
	padding-top: 119px !important
}

.pt-18-mix {
	padding-top: 126px !important
}

.pt-19-mix {
	padding-top: 133px !important
}

.pt-20-mix {
	padding-top: 140px !important
}

@media (min-width:1024px) {
	.pt-1-mix {
		padding-top: 10px !important
	}

	.pt-2-mix {
		padding-top: 20px !important
	}

	.pt-3-mix {
		padding-top: 30px !important
	}

	.pt-4-mix {
		padding-top: 40px !important
	}

	.pt-5-mix {
		padding-top: 50px !important
	}

	.pt-6-mix {
		padding-top: 60px !important
	}

	.pt-7-mix {
		padding-top: 70px !important
	}

	.pt-8-mix {
		padding-top: 80px !important
	}

	.pt-9-mix {
		padding-top: 90px !important
	}

	.pt-10-mix {
		padding-top: 100px !important
	}

	.pt-11-mix {
		padding-top: 110px !important
	}

	.pt-12-mix {
		padding-top: 120px !important
	}

	.pt-13-mix {
		padding-top: 130px !important
	}

	.pt-14-mix {
		padding-top: 140px !important
	}

	.pt-15-mix {
		padding-top: 150px !important
	}

	.pt-16-mix {
		padding-top: 160px !important
	}

	.pt-17-mix {
		padding-top: 170px !important
	}

	.pt-18-mix {
		padding-top: 180px !important
	}

	.pt-19-mix {
		padding-top: 190px !important
	}

	.pt-20-mix {
		padding-top: 200px !important
	}
}

.pb-0 {
	padding-bottom: 0 !important
}

.pb-1 {
	padding-bottom: 10px !important
}

.pb-2 {
	padding-bottom: 20px !important
}

.pb-3 {
	padding-bottom: 30px !important
}

.pb-4 {
	padding-bottom: 40px !important
}

.pb-5 {
	padding-bottom: 50px !important
}

.pb-6 {
	padding-bottom: 60px !important
}

.pb-7 {
	padding-bottom: 70px !important
}

.pb-8 {
	padding-bottom: 80px !important
}

.pb-9 {
	padding-bottom: 90px !important
}

.pb-10 {
	padding-bottom: 100px !important
}

.pb-11 {
	padding-bottom: 110px !important
}

.pb-12 {
	padding-bottom: 120px !important
}

.pb-13 {
	padding-bottom: 130px !important
}

.pb-14 {
	padding-bottom: 140px !important
}

.pb-15 {
	padding-bottom: 150px !important
}

.pb-16 {
	padding-bottom: 160px !important
}

.pb-17 {
	padding-bottom: 170px !important
}

.pb-18 {
	padding-bottom: 180px !important
}

.pb-19 {
	padding-bottom: 190px !important
}

.pb-20 {
	padding-bottom: 200px !important
}

.pb-1-mix {
	padding-bottom: 7px !important
}

.pb-2-mix {
	padding-bottom: 14px !important
}

.pb-3-mix {
	padding-bottom: 21px !important
}

.pb-4-mix {
	padding-bottom: 28px !important
}

.pb-5-mix {
	padding-bottom: 35px !important
}

.pb-6-mix {
	padding-bottom: 42px !important
}

.pb-7-mix {
	padding-bottom: 49px !important
}

.pb-8-mix {
	padding-bottom: 56px !important
}

.pb-9-mix {
	padding-bottom: 63px !important
}

.pb-10-mix {
	padding-bottom: 70px !important
}

.pb-11-mix {
	padding-bottom: 77px !important
}

.pb-12-mix {
	padding-bottom: 84px !important
}

.pb-13-mix {
	padding-bottom: 91px !important
}

.pb-14-mix {
	padding-bottom: 98px !important
}

.pb-15-mix {
	padding-bottom: 105px !important
}

.pb-16-mix {
	padding-bottom: 112px !important
}

.pb-17-mix {
	padding-bottom: 119px !important
}

.pb-18-mix {
	padding-bottom: 126px !important
}

.pb-19-mix {
	padding-bottom: 133px !important
}

.pb-20-mix {
	padding-bottom: 140px !important
}

@media (min-width:1024px) {
	.pb-1-mix {
		padding-bottom: 10px !important
	}

	.pb-2-mix {
		padding-bottom: 20px !important
	}

	.pb-3-mix {
		padding-bottom: 30px !important
	}

	.pb-4-mix {
		padding-bottom: 40px !important
	}

	.pb-5-mix {
		padding-bottom: 50px !important
	}

	.pb-6-mix {
		padding-bottom: 60px !important
	}

	.pb-7-mix {
		padding-bottom: 70px !important
	}

	.pb-8-mix {
		padding-bottom: 80px !important
	}

	.pb-9-mix {
		padding-bottom: 90px !important
	}

	.pb-10-mix {
		padding-bottom: 100px !important
	}

	.pb-11-mix {
		padding-bottom: 110px !important
	}

	.pb-12-mix {
		padding-bottom: 120px !important
	}

	.pb-13-mix {
		padding-bottom: 130px !important
	}

	.pb-14-mix {
		padding-bottom: 140px !important
	}

	.pb-15-mix {
		padding-bottom: 150px !important
	}

	.pb-16-mix {
		padding-bottom: 160px !important
	}

	.pb-17-mix {
		padding-bottom: 170px !important
	}

	.pb-18-mix {
		padding-bottom: 180px !important
	}

	.pb-19-mix {
		padding-bottom: 190px !important
	}

	.pb-20-mix {
		padding-bottom: 200px !important
	}
}

.pl-0 {
	padding-left: 0 !important
}

.pl-1 {
	padding-left: 10px !important
}

.pl-2 {
	padding-left: 20px !important
}

.pl-3 {
	padding-left: 30px !important
}

.pl-4 {
	padding-left: 40px !important
}

.pl-5 {
	padding-left: 50px !important
}

.pl-6 {
	padding-left: 60px !important
}

.pl-7 {
	padding-left: 70px !important
}

.pl-8 {
	padding-left: 80px !important
}

.pl-9 {
	padding-left: 90px !important
}

.pl-10 {
	padding-left: 100px !important
}

.pl-11 {
	padding-left: 110px !important
}

.pl-12 {
	padding-left: 120px !important
}

.pl-13 {
	padding-left: 130px !important
}

.pl-14 {
	padding-left: 140px !important
}

.pl-15 {
	padding-left: 150px !important
}

.pl-1-mix {
	padding-left: 7px !important
}

.pl-2-mix {
	padding-left: 14px !important
}

.pl-3-mix {
	padding-left: 21px !important
}

.pl-4-mix {
	padding-left: 28px !important
}

.pl-5-mix {
	padding-left: 35px !important
}

.pl-6-mix {
	padding-left: 42px !important
}

.pl-7-mix {
	padding-left: 49px !important
}

.pl-8-mix {
	padding-left: 56px !important
}

.pl-9-mix {
	padding-left: 63px !important
}

.pl-10-mix {
	padding-left: 70px !important
}

.pl-11-mix {
	padding-left: 77px !important
}

.pl-12-mix {
	padding-left: 84px !important
}

.pl-13-mix {
	padding-left: 91px !important
}

.pl-14-mix {
	padding-left: 98px !important
}

.pl-15-mix {
	padding-left: 105px !important
}

@media (min-width:1024px) {
	.pl-1-mix {
		padding-left: 10px !important
	}

	.pl-2-mix {
		padding-left: 20px !important
	}

	.pl-3-mix {
		padding-left: 30px !important
	}

	.pl-4-mix {
		padding-left: 40px !important
	}

	.pl-5-mix {
		padding-left: 50px !important
	}

	.pl-6-mix {
		padding-left: 60px !important
	}

	.pl-7-mix {
		padding-left: 70px !important
	}

	.pl-8-mix {
		padding-left: 80px !important
	}

	.pl-9-mix {
		padding-left: 90px !important
	}

	.pl-10-mix {
		padding-left: 100px !important
	}

	.pl-11-mix {
		padding-left: 110px !important
	}

	.pl-12-mix {
		padding-left: 120px !important
	}

	.pl-13-mix {
		padding-left: 130px !important
	}

	.pl-14-mix {
		padding-left: 140px !important
	}

	.pl-15-mix {
		padding-left: 150px !important
	}
}

.pr-0 {
	padding-right: 0 !important
}

.pr-1 {
	padding-right: 10px !important
}

.pr-2 {
	padding-right: 20px !important
}

.pr-3 {
	padding-right: 30px !important
}

.pr-4 {
	padding-right: 40px !important
}

.pr-5 {
	padding-right: 50px !important
}

.pr-6 {
	padding-right: 60px !important
}

.pr-7 {
	padding-right: 70px !important
}

.pr-8 {
	padding-right: 80px !important
}

.pr-9 {
	padding-right: 90px !important
}

.pr-10 {
	padding-right: 100px !important
}

.pr-11 {
	padding-right: 110px !important
}

.pr-12 {
	padding-right: 120px !important
}

.pr-13 {
	padding-right: 130px !important
}

.pr-14 {
	padding-right: 140px !important
}

.pr-15 {
	padding-right: 150px !important
}

.pr-1-mix {
	padding-right: 7px !important
}

.pr-2-mix {
	padding-right: 14px !important
}

.pr-3-mix {
	padding-right: 21px !important
}

.pr-4-mix {
	padding-right: 28px !important
}

.pr-5-mix {
	padding-right: 35px !important
}

.pr-6-mix {
	padding-right: 42px !important
}

.pr-7-mix {
	padding-right: 49px !important
}

.pr-8-mix {
	padding-right: 56px !important
}

.pr-9-mix {
	padding-right: 63px !important
}

.pr-10-mix {
	padding-right: 70px !important
}

.pr-11-mix {
	padding-right: 77px !important
}

.pr-12-mix {
	padding-right: 84px !important
}

.pr-13-mix {
	padding-right: 91px !important
}

.pr-14-mix {
	padding-right: 98px !important
}

.pr-15-mix {
	padding-right: 105px !important
}

@media (min-width:1024px) {
	.pr-1-mix {
		padding-right: 10px !important
	}

	.pr-2-mix {
		padding-right: 20px !important
	}

	.pr-3-mix {
		padding-right: 30px !important
	}

	.pr-4-mix {
		padding-right: 40px !important
	}

	.pr-5-mix {
		padding-right: 50px !important
	}

	.pr-6-mix {
		padding-right: 60px !important
	}

	.pr-7-mix {
		padding-right: 70px !important
	}

	.pr-8-mix {
		padding-right: 80px !important
	}

	.pr-9-mix {
		padding-right: 90px !important
	}

	.pr-10-mix {
		padding-right: 100px !important
	}

	.pr-11-mix {
		padding-right: 110px !important
	}

	.pr-12-mix {
		padding-right: 120px !important
	}

	.pr-13-mix {
		padding-right: 130px !important
	}

	.pr-14-mix {
		padding-right: 140px !important
	}

	.pr-15-mix {
		padding-right: 150px !important
	}
}

.animate-size {
	transition: width .4s, height .4s
}

.animate-color {
	transition: color .4s
}

.animate-background {
	transition: background-color .4s
}

.background {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.background.fixed {
	background-attachment: fixed;
}

/* SUPBAR */

#supbar {
	display: none;
	background: var(--colore);
	color: var(--bianco);
	font-size: 0.9rem;
	font-weight: var(--weightmedium);
	padding: 6px 0;
	line-height: var(--line-height);
	min-height: 32px;
	transition: visibility 0.3s, opacity 0.3s, max-height 0.3s, min-height 0.3s, padding 0.3s;
}

#supbar .avviso_sinistra {
	text-align: left;
}

#supbar .avviso_destra {
	text-align: right;
}

#supbar .avviso_destra p {
	padding-left: 1.5rem;
}

#supbar p {
	margin-bottom: 0;
	display: inline-block;
}

#supbar .icon {
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-bottom: -2px;
	margin-right: 5px;
}

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

#supbar a:hover {
	color: var(--main);
}

#supbar span {
	white-space: nowrap;
}

#supbar .icon-envelope {
	margin-left: 30px;
}

@media (min-width: 1024px) {
	#supbar {
		display: grid;
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}

@media (min-width: 1280px) {
	#supbar {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
}

@media (min-width: 1600px) {
	#supbar {
		padding-left: 3.75rem;
		padding-right: 3.75rem;
	}
}

#topbar.up #supbar {
	visibility: hidden;
	opacity: 0;
	max-height: 0;
	min-height: 0;
	padding: 0 0;
}

#topbar {
	width: 100%;
	background-color: var(--bianco);
	z-index: 2;
}

#topbar {
	box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);
}

@media (max-width: 767px) {
	#maincontainer .contenuto[class*="fotoalign-"] {
		padding-top: 2rem;
	}
}

@media (min-width: 580px) {

	#maincontainer .contenuto.fotoalign-center,
	#maincontainer .contenuto.fotoalign-full {
		padding-top: 3rem;
	}
}



.paragrafo .contenuto {
	z-index: 1;
}

@media (max-width: 580px) {
	.paragrafo .contenuto.text-right .inner {
		text-align: left;
	}
}


.blur {
	background-color: transparent;
	backdrop-filter: blur(10px);
}



/* CF7 */

fieldset {
	border: 0px solid var(--colore);
	padding: 0;
	margin: 0 0 .5rem 0;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-column-gap: 20px;
	grid-row-gap: 0;
	justify-items: stretch;
	align-items: stretch;
}

fieldset legend {
	font-size: 1.2rem;
	line-height: 1.1;
	color: var(--main);
	text-transform: uppercase;
	font-weight: var(--weightnormal);
	background: transparent;
	padding: 0 0.75rem;
	margin: 0;
	margin-left: -0.75rem;
}

.label,
div.wpcf7 label,
fieldset label {
	display: block;
	margin: 0;
	letter-spacing: 0.06rem;
	text-transform: uppercase;
	font-size: 0.8rem;
	font-weight: var(--weightheavy);
	font-family: var(--mainfont);
}

div.wpcf7 label,
fieldset label {
	padding-bottom: 0.2rem;
	position: relative;
}

div.wpcf7 label span,
fieldset label span {
	padding-left: 0.5rem;
}

div.wpcf7 label sup,
fieldset label sup {
	position: absolute;
	padding-left: 0.1rem;
	display: inline-block;
	transform: translateY(-3px);
	color: var(--rosso);
}

div.wpcf7 p {
	margin-bottom: 0;
}

div.wpcf7 br {
	display: none;
}

div.wpcf7 label.privacy,
fieldset label.privacy {
	padding: 0 0 25px;
	margin-top: 2px;
	font-family: var(--mainfont);
	font-size: 0.9rem;
	font-weight: var(--weightnormal);
	text-transform: none;
	letter-spacing: 0;
}

div.wpcf7 label.hide {
	display: none;
}

div.wpcf7 div.wide {
	width: 100%;
	clear: both;
}

.acf-input-wrap input,
.acf-input-wrap span.input,
input.wpcf7-text,
input.wpcf7-date,
textarea,
select,
.wpcf7-select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"],
input[type="search"],
input[type="number"],
input[type="date"] {
	font-family: var(--mainfont);
	font-size: .98rem !important;
	background: var(--bianco);
	padding: 6px 14px;
	height: 42px;
	/* box-shadow: inset 0 1px 9px hsla(0, 0%, 4%, 0.11); */
	border: 1px solid var(--colore-2);
	border-radius: var(--radius-more);
	margin-bottom: 15px;
	width: 100%;
	max-width: 100%;
	transition: border-color 0.4s;
}

input,
input[type=radio],
input[type=checkbox] {
	accent-color: var(--colore);
}

input {
	caret-color: var(--colore);
}

input[type="submit"] {
	-webkit-appearance: none !important;
	appearance: none !important;
}

.wpcf7 .wpcf7-submit:disabled {
	opacity: .9;
}

select,
.wpcf7-select {
	padding: 0 27px 0 13px !important;
	color: var(--main) !important;
	-webkit-appearance: none;
	background-image: url(../images/arrow.svg);
	background-size: 11px;
	background-repeat: no-repeat;
	background-position: calc(100% - 10px) 50%;
}
input:focus,
textarea:focus,
select:focus {
	border-color: var(--colore);
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 1px solid var(--colore);
	outline-offset: 0px;
}
textarea {
	resize: vertical;
	min-height: 150px;
}

textarea.wpcf7-textarea {
	padding-top: .7rem;
	min-height: 140px;
	margin-bottom: 15px;
	border-radius: var(--radius);
}

input[type="date"] {
	padding-right: 0;
}

div.wpcf7 input[type="file"] {
	height: 38px;
}

.wpcf7-form-control span.wpcf7-list-item {
	margin: 8px 0 0 0;
	display: block;
}

span.wpcf7-list-item label {
	padding: 0 0 10px 0;
	margin-top: 3px !important;
	font-family: var(--mainfont);
	font-size: 0.98rem !important;
	font-weight: var(--weightnormal) !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	line-height: 1.18;
	position: relative;
}

.wpcf7-checkbox .wpcf7-list-item.last {
	padding-bottom: 1.25rem !important;
}

span.wpcf7-list-item label span {
	padding-left: .5rem;
}

div.wpcf7 input[type=radio] {
	position: absolute;
	left: -3px;
}

span.wpcf7-not-valid-tip {
	position: absolute;
	left: 0;
	margin-top: -16px;
	font-size: .82rem;
	color: var(--rosso);
}
textarea + span.wpcf7-not-valid-tip {
	margin-top: -21px;
}
div.wpcf7-response-output {
	float: left;
	width: 100%;
	padding: 13px 13px 13px 0 !important;
	clear: both;
	line-height: 110%;
	margin: 15px 0 0 0 !important;
	font-size: .82rem;
	border: none !important;
	/* display: none; */
}

div.wpcf7-validation-errors {
	background: var(--rosso);
	color: var(--bianco);
}

p.help-text {
	display: block;
	float: left;
	width: 100%;
	margin-top: -1.5rem;
	margin-bottom: 0.65rem;
	color: var(--grigio);
}

[type="color"],
[type="date"],
[type="datetime-local"],
[type="datetime"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="search"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
.wpcf7-select {
	font-size: inherit;
	font-family: var(--mainfont);
}

.wpcf7-acceptance {
	float: left;
	padding: 0 !important;
	margin: 0 !important;
	text-transform: none;
}

.wpcf7-acceptance span {
	padding: 0 !important;
	margin: 0 !important;
}

.wpcf7-acceptance input[type="checkbox"] {
	float: left;
	margin-right: 0;
	margin-top: 4px;
}

.fileupload {
	padding-top: 15px;
	padding-bottom: 25px;
}

.short input.wpcf7-text,
.short .wpcf7-select,
.short input[type="number"],
.short input[type="date"] {
	max-width: 6rem;
}

.medium input.wpcf7-text,
.medium .wpcf7-select,
.medium input[type="number"],
.medium input[type="date"] {
	max-width: 11rem;
}

@media screen and (min-width: 520px) and (max-width: 767px) {
	section.cf7-form>div .grid>div {
		width: 100%;
	}
}

.wpcf7 div.half {
	width: 100%;
}

.wpcf7 div.third {
	width: 100%;
}

@media screen and (min-width: 520px) {
	.wpcf7 div.half {
		width: 48%;
	}

	.wpcf7 div.third {
		width: 31%;
	}
}

@media (min-width: 782px) {
	.screen-reader-response {
		padding-left: 33px;
	}
}

/* :focus-visible {
	outline: 1px solid var(--colore);
} */

#footer {
	contain: content;
}

#footer p {
	line-height: var(--line-height);
}

#footer .footer-logo {
	display: block;
	margin: 0 0 2px 0;
	width: 286px;
}

#footer .social {
	display: inline-block;
	margin: 0 10px 10px 0;
	background-color: var(--colore);
	color: var(--bianco);
	border: 1px solid var(--colore);
	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;
}

#footer .social svg {
	width: 18px;
	height: 18px;
}

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

/* @media (min-width: 980px) {
	#top-footer.full:not(.colonne-4) {
		transform: translateX(4%);
	}
} */
/* @media (min-width: 1024px) {
	#top-footer:not(.colonne-4) .blocco-2,
	#top-footer:not(.colonne-4) .blocco-3,
	#top-footer:not(.colonne-4) .blocco-4 {
		transform: translateX(40px);
	}
} */
/* @media (min-width: 1280px) {
	#top-footer:not(.colonne-4) .blocco-2,
	#top-footer:not(.colonne-4) .blocco-3,
	#top-footer:not(.colonne-4) .blocco-4 {
		transform: translateX(60px);
	}
} */
/* @media (min-width: 1440px) {
	#top-footer:not(.colonne-4) .blocco-2,
	#top-footer:not(.colonne-4) .blocco-3,
	#top-footer:not(.colonne-4) .blocco-4 {
		transform: translateX(80px);
	}
} */
/* @media (min-width: 1600px) {
	#top-footer:not(.colonne-4) .blocco-2,
	#top-footer:not(.colonne-4) .blocco-3,
	#top-footer:not(.colonne-4) .blocco-4 {
		transform: translateX(100px);
	}
} */





/* CONDIVISIONE SOCIAL */

.crunchify-social {
	text-align: center;
	margin-left: -40px;
	margin-right: -40px;
}
.crunchify-social li {
	display: inline;
}
.crunchify-social li::before {
	display: none;
}
.crunchify-holder .crunchify-social {
	text-align: center;
	margin-left: 0;
	margin-right: auto;
}

.crunchify-holder p {
	font-family: var(--altfont);
	color: var(--main);
	text-align: center;
	font-size: 1.25rem;
}

a.crunchify-link[href] {
	padding: 6px 12px 5px 12px;
	color: var(--bianco);
	background-color: var(--colore-2);
	font-size: 0.77rem;
	font-weight: var(--weightbold);
	border-radius: var(--radius-more);
	margin: 0 10px 12px 0;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
}

a.crunchify-link[href]:visited,
a.crunchify-link[href]:hover,
a.crunchify-link[href]:focus,
a.crunchify-link[href]:active { background-color: var(--colore); }


.crunchify-twitter {
	/* background: #00aced; */
	background: var(--main);
}

.crunchify-twitter:hover,
.crunchify-twitter:active {
	/* background: #00aced; */
	background: var(--grigio);
}

.crunchify-facebook {
	/* background: #0866FF; */
	background: var(--main);
}

.crunchify-facebook:hover,
.crunchify-facebook:active {
	/* background: #0866FF; */
	background: var(--grigio);
}

.crunchify-whatsapp {
	/* background: #43d854; */
	background: var(--main);
}

.crunchify-whatsapp:hover,
.crunchify-whatsapp:active {
	/* background: #43d854; */
	background: var(--grigio);
}

.crunchify-pinterest {
	/* background: #bd081c; */
	background: var(--main);
}

.crunchify-pinterest:hover,
.crunchify-pinterest:active {
	/* background: #bd081c; */
	background: var(--grigio);
}

.crunchify-linkedin {
	/* background: #0A66C2; */
	background: var(--main);
}

.crunchify-linkedin:hover,
.crunchify-linkedin:active {
	/* background: #0A66C2; */
	background: var(--grigio);
}


#ContactBox {
	position: fixed;
	width: 48px;
	bottom: 10px;
	right: 8px;
	display: flex;
	flex-flow: row;
	flex-wrap: wrap;
}

#whatsappContact,
#telephoneContact {
	width: 48px;
	height: 48px;
	margin-top: 12px;
	border-radius: 50%;
	background-image: url(../images/whatsapp.svg);
	background-repeat: no-repeat;
	background-size: cover;
	transition: box-shadow 0.3s, transform 0.3s;
	box-shadow: 0 0 16px 0 rgba(50, 50, 50, 0.35);
}

#telephoneContact {
	background-image: url(../images/telefono.svg);
}

#whatsappContact a,
#telephoneContact a {
	display: block;
	width: 100%;
	height: 100%;
}

#whatsappContact span,
#telephoneContact span {
	display: none;
}

#whatsappContact:hover,
#telephoneContact:hover {
	box-shadow: none;
	transform: scale(1.13);
}

@media screen and (min-width: 1280px) {
	#ContactBox {
		bottom: 12px;
		right: 10px;
	}
}

/* Chrome input yellow -> white */
input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px white inset !important;
}

.page_inspector {
	position: absolute;
	top: -2px;
	left: -100px;
	background: transparent;
	color: #333;
	z-index: 99999;
	opacity: 0;
	white-space: nowrap;
}

.page_inspector:hover {
	opacity: 1;
}

@media (max-width: 1023px) {
	.page_inspector {
		display: none;
	}
}



/* SEARCH HEADER */

.search_toggle {
	position: absolute;
	top: 14px;
	right: 10px;
	font-size: 2.66rem;
	display: inline-block;
	cursor: pointer;
	transition: top 0.3s;
	width: 34px;
	height: 34px;
	overflow: hidden;
}

.search_toggle span {
	display: block;
	position: absolute;
	top: -12px;
	left: 4px;
	transform: rotate(-45deg);
	color: var(--colore);
	pointer-events: none;
}

.search_toggle:hover span {
	color: var(--main);
	pointer-events: none;
}

.search-header {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease-in-out;
}

.search-header.open {
	max-height: 120px;
}

@media (min-width: 1024px) {
	.has_search {
		position: relative;
	}

	.has_search .navigation {
		padding-right: 3.5rem;
	}

	.search_toggle {
		top: 16px;
		right: 13px;
	}
}

@media (min-width: 1280px) {
	.has_search .navigation {
		padding-right: 4rem;
	}

	.search_toggle {
		right: 38px;
	}
}

@media (min-width: 1600px) {
	.search_toggle {
		right: 58px;
	}
}



/* SEARCH FORM  */

.search-form {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding-block: 1rem;
	position: relative;
}

.search-form .search-field {
	height: 42px;
	width: calc(100% - 60px);
	padding: 0 .6rem;
	margin: 0;
	border: 1px solid var(--grigio);
	border-radius: var(--radius);
	background-color: transparent;
	color: var(--main);
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.search-form .search-field:focus {
	border-color: var(--colore);
}

.search-form button {
	width: 60px;
	height: 42px;
	line-height: 46px;
	padding: 0;
	margin: 0;
	position: absolute;
	top: 1rem;
	right: 1px;
	overflow: hidden;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.search-form .mglass {
	font-size: 1.7rem;
	display: inline-block;
	pointer-events: none;
	transform: rotate(-45deg);
}

@media (min-width: 1024px) {
	.search-form {
		padding-block: 1.5rem;
	}

	.search-form button {
		top: 1.5rem;
	}
}


/* PAGINA SEARCH */

.search-results-list {
	padding: .75rem 1rem;
	border-left: 2px solid var(--colore);
}

.search p.excerpt {
	--max-lines: 3;
	height: calc(var(--max-lines) * 1rem * var(--line-height));
	max-height: calc(var(--max-lines) * 1rem * var(--line-height));
	line-height: var(--line-height);
	overflow: hidden;
	position: relative;
}





/* clears the ‘X’ from Internet Explorer */
input[type="search"]::-ms-clear {
	display: none;
	width: 0;
	height: 0;
}

input[type="search"]::-ms-reveal {
	display: none;
	width: 0;
	height: 0;
}

/* clears the ‘X’ from Chrome */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}



/* PAGINAZIONE */
.page-navigation {
	clear: both;
	text-align: center;
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.pagination {
	margin-left: 0;
	font-size: .88rem
}

.pagination li:first-child,
.pagination li:last-child {
	display: inline-block
}

.pagination li {
	display: inline-block;
	margin: 0 5px;
	border-radius: var(--radius-small);
	overflow: hidden;
	line-height: 1;
	border: 1px solid var(--grigio);
	font-weight: var(--weightheavy);
	min-width: 32px;
	text-align: center;
}

.pagination li:empty {
	border: none
}

.pagination li a {
	border: none;
	text-decoration: none;
	color: var(--main);
}

.pagination li a:hover {
	background: var(--colore);
	color: var(--bianco) !important;
}

.pagination li:hover {
	border-color: var(--colore);
}

.pagination li.current {
	padding: .45rem .68rem .4rem;
	background-color: var(--colore);
	border-color: var(--colore);
	color: var(--bianco);
}

.pagination li.current a {
	color: var(--bianco);
	cursor: default
}

.pagination .current span {
	display: block;
	border: none;
	padding: .45rem .68rem .4rem;
}

.pagination a,
.pagination button {
	color: var(--colore);
	display: block;
	padding: .45rem .68rem .4rem
}



/* COMPLIANZ */

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn,
.cmplz-btn {
	font-size: 0.88rem;
	font-weight: var(--weightnormal);
	background-image: none;
	text-transform: none;
	box-shadow: none;
}

.cmplz-btn::before,
.cmplz-btn::after {
	display: none;
}

#cmplz-document {
	padding-top: 60px;
	padding-bottom: 50px;
	text-align: left;
}

#cmplz-document,
#cmplz-document p {
	max-width: 100%;
	font-size: inherit !important;
}

#cmplz-document p,
.editor-styles-wrapper .cmplz-unlinked-mode p,
#cmplz-document li,
.editor-styles-wrapper .cmplz-unlinked-mode li,
#cmplz-document td,
.editor-styles-wrapper .cmplz-unlinked-mode td {
	font-size: inherit;
}

#cmplz-cookies-overview,
#cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories {
	margin-bottom: 40px;
}

.cmplz-blocked-content-container {
	max-height: 100% !important;
}

@media (max-width: 768px) {
	.cmplz-cookiebanner .cmplz-buttons {
		flex-direction: row !important;
	}
}

@media (min-width: 768px) {
	#cmplz-document {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}

@media (min-width: 1360px) {
	#cmplz-document {
		padding-top: 100px;
		padding-bottom: 100px;
	}
}


/* ANIMAZIONI */

/* fade verticale */
.anim1 {
	opacity: 0;
}

@keyframes anim1 {
	from {
		transform: translateY(-50px);
		opacity: 0;
	}

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

/* fade left right */
.left_right {
	opacity: 0;
}

@keyframes left_right {
	from {
		transform: translateX(-50px);
		opacity: 0;
	}

	to {
		transform: translateX(0);
		opacity: 1;
	}
}

/* pop it */
.popit {
	opacity: 0;
}

@keyframes popit {
	from {
		opacity: 0;
		transform: scale(.02);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}


/* pop it less */
.popit_less {
	opacity: 0;
}

@keyframes popit_less {
	from {
		opacity: 0;
		transform: scale(.8);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}


/* underline */
.underline.start:before {
	animation: underline 1s .5s forwards ease-out
}

.underline-double.start:before {
	animation: underline-double 1s .5s forwards ease-out
}

.underline-double.start:after {
	animation: underline-double2 1s .5s forwards ease-out
}

@keyframes underline {
	0% {
		width: 0;
	}

	100% {
		width: calc(0% + 4rem);
	}
}

@keyframes underline-double {
	0% {
		left: -4rem;
		width: 0;
	}

	100% {
		left: -4rem;
		width: calc(0% + 2.4rem);
	}
}

@keyframes underline-double2 {
	0% {
		right: -3.9rem;
		width: 0;
	}

	100% {
		right: -3.9rem;
		width: calc(0% + 2.4rem);
	}
}


/* SIDEBAR */
#secondary {
	position: relative;
	margin-top: 2rem;
}

@media screen and (min-width: 768px) {
	#secondary {
		/* sticky sidebar */
		position: sticky;
		top: 80px;
		padding: 1.5rem 0 1.5rem 1.5rem;
	}
}

.archive-grid-wrap {
	/* FIX x sticky sidebar - va applicato al parent di #secondary */
	align-items: start;
	/* NEL CASO MODIFICARE PER CSS GRID */
}

/* PAGNE CON SIDEBAR */
.page-template-page-sidebar main>section.grid:not(.bigslider),
.page-template-page-sidebar main>section.box>.grid:not(.bigslider) {
	grid-template-columns: repeat(1, 1fr);
}

.page-template-page-sidebar main>section.grid:not(.bigslider)>.s-12,
.page-template-page-sidebar main>section.box>.grid:not(.bigslider)>.s-12 {
	grid-column: span 1;
}




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

#header-image.fourth {
	min-height: 25vh;
	min-height: 25svh;
}

#header-image.third {
	min-height: 33vh;
	min-height: 33svh;
}

#header-image.third>div {
	min-height: 400px;
}

#header-image.half {
	min-height: 50vh;
	min-height: 50svh;
}
#header-image.half>div {
	min-height: 500px;
}

#header-image.sevenfive {
	min-height: 80vh;
	min-height: 80svh;
}

#header-image.hundred {
	min-height: 100vh;
	min-height: 100svh;
}

#header-image {
	display: grid;
	place-items: center;
	justify-items: stretch;
	position: relative;
	overflow-x: clip;
	color: var(--bianco);
}

img.header-image,
img.header-image-scale {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	object-fit: cover;
	z-index: -1;
	transition: transform .1s;
}

/* Stili per browser che supportano animation-timeline: view() */
@supports (animation-timeline: view()) {
	img.header-image-scale {
		animation: header-image-animation linear forwards;
		animation-timeline: view();
		animation-range: exit;
	}

	.header-content,
	.overlay {
		animation: fade-out linear forwards;
		animation-timeline: view();
		animation-range: exit;
	}

	@keyframes fade-out {
		0% {
			opacity: 1;
		}

		/* opacity: 0;  */
		50%,
		100% {
			opacity: 1;
		}
	}

	@keyframes header-image-animation {

		85%,
		100% {
			transform: scale(4);
			/* opacity: 0;  */
		}
	}
}

/* Stili per browser che NON supportano animation-timeline: view() */
@supports not (animation-timeline: view()) {
	#header-image {
		overflow-y: hidden;
	}
}

/* INSTAGRAM BROWSER FIX CSS */
.instagram-fix {
    opacity: 1 !important;
    animation: none !important;
    transform: translateX(0) !important;
}
