@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;
}
.grigio {
	color: var(--grigio) !important;
}
.grigio2 {
	color: var(--grigio-2) !important;
}
.grigio3 {
	color: var(--grigio-3) !important;
}
.grigio4 {
	color: var(--grigio-4) !important;
}
.grigio5 {
	color: var(--grigio-5) !important;
}
.grigio6 {
	color: var(--grigio-6) !important;
}
.grigio7 {
	color: var(--grigio-7) !important;
}
.grigio8 {
	color: var(--grigio-8) !important;
}
.bianco {
	color: var(--bianco) !important;
}
.rosso {
	color: var(--rosso) !important;
}
.verde {
	color: var(--verde) !important;
}
.giallo {
	color: var(--giallo) !important;
}

* {
    box-sizing:border-box;
    margin:0;
}
html {
	/* Adjust font size */
    font-size: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    /* Font varient */
    font-variant-ligatures: none;
    /* Smoothing */
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
	height:100%;
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}
body {
	background-color: var(--bianco);
	font-family: var(--mainfont);
	font-weight: var(--weightnormal);
	color: var(--main);
	font-size: 0.865rem;
	line-height: var(--line-height);
	overflow-x: hidden;
	/* sticky footer*/
	display: grid;
    grid-template-rows: auto 1fr auto auto;
    min-height: 100vh;
	min-height: 100svh;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	font-family: var(--altfont);
	font-weight: var(--weightmedium);
	color: var(--colore);
	line-height: 1.05;
	display: block;
}

p {
	margin-bottom: 1rem;
}
em, .italic {
	font-style: italic;
}
sup {
	display: inline-block;
    line-height: 1;
}
svg.icon {
	stroke-width: 0;
	stroke: currentColor;
	fill: currentColor;
}

.fixed {
	position: fixed;
}
.relative {
	position: relative;
}
.absolute {
	position: absolute;
}
b,
strong,
.strong {
	font-weight: var(--weightheavy);
}
.light {
	font-weight: var(--weightlight);
}
.sticky {
	position: sticky;
}
.nowrap {
	white-space: nowrap;
}
.upper {
	text-transform: uppercase;
}
.inline {
	display: inline;
}
.hidden {
	display: none;
}
.inlineblock {
	display: inline-block;
}
.block {
	display: block;
}
.overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
}
a, a:link, a:visited, a:hover, a:active, a:not(.button,.wp-element-button) {
  text-decoration:none;
  color: var(--colore);
  transition: color 0.20s linear 0s;
}
a:hover {color:var(--colore-2);}
p,li,dl,blockquote,table,kbd {
  font-size: inherit;
  line-height: inherit;
}

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

/* 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;
	line-height: var(--line-height);
	text-decoration: none;
	margin-bottom: 0;
	font-size: 1rem;
	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: transparent;
  border:1px solid var(--colore);
  border-collapse:collapse;
  border-spacing:0;
  text-align:left;
  width:100%;
}
table tr td, table tr th {padding:0.625rem; font-size: .85rem;}
/* table tfoot, table thead,table tr:nth-of-type(2n) {background-color: var(--bianco);} */
/* th,table tr:nth-of-type(2n) td {border-right:1px solid var(--grigio-5);} */
td {border-right:1px solid var(--colore);}

hr {
  border: 0;
  border-top: 1px solid var(--grigio-6);
  clear:both;
  height:0;
  margin:2.5rem auto;
}
li {padding:0;}
ul,ol {padding-left:1.25rem;}


#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);

} */
#maincontainer .paragrafo ul li,
.single #maincontainer article 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 {
	content: "\2713";
	font-family: "Inter", sans-serif;
	font-weight: var(--weightbold);
	color: var(--colore);
	position: absolute;
	left: -13px;
	top: -2px;
}
ul.bullets {
	padding-top: 5px;
	text-align: left;
}
ul.bullets li:before {
	color: var(--bianco) !important;
	background-color: var(--colore);
	border-radius: 50%;
	width: 22px;
  	height: 22px;
	text-align: center;
	line-height: 1.3;
	left: -20px !important;
}

ol {
	padding-left: 0;
	margin: 1rem 0 0 0;
	list-style-type: none;
}
ol > li {
	counter-increment: step-counter;
	margin-bottom: 1.7rem;
	position: relative;
	padding: 0.3rem 0 0 3.4rem;
}
ol > li::before {
	content: counter(step-counter);
	background-color: var(--colore);
	width: 36px;
	height: 36px;
	line-height: 38px;
	text-align: center;
	font-size: 1.4rem;
	color: var(--bianco);
	font-weight: var(--weightbold);
	border-radius: 25px;
	position: absolute;
	top: 0;
	left: 0;
}
ol.columns {
	padding-top: 2rem;
}
@media (min-width: 800px) {
	ol.columns {
\t\tcolumn-count: 2;
	}
	ol.columns li {
		display: inline-block;
		padding-right: 3rem;
	}
}
cite {
  color:var(--main);
  display:block;
}
/* cite:before {content:"— ";} */
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;}
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;
}
::placeholder { color: var(--grigio); }


.grid {
	max-width:82.5rem;
}
.grid.full {
  	max-width:100%;
}
.grid.blocco-stretto .contenuto {
	max-width: 90%;
	margin-inline: auto;
}
@media (min-width: 1024px) {
	.grid.blocco-stretto .contenuto {
		max-width: 85%;
	}
}
@media (min-width: 1600px) {
	.grid.blocco-stretto .contenuto {
		max-width: 80%;
	}
}



.titolo_intro.titolo_intro,
.paragrafo_intro.paragrafo_intro { /* ripetere la classe aumenta la specificity: evito !important sul float:none */
	max-width:82.5rem;
	/* margin-inline: auto; */
	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%;
}
/* clearfix rimosso: il tema usa CSS Grid, non float */

.nav-text,
.aside-nav-text {
  display: none;
}
@media screen and (max-width: 1023px) {
	.nav-holder {
	position: fixed;
	top: 0;
}
  .nav-text { display: inline-block; background-color: transparent !important;}
}

.nav-text:after,.nav-text:before,.nav-text span {
  background-color:var(--colore);
  border-radius:3px;
  content:'';
  display:block;
  height:3px;
  margin:6px auto;
  width: 30px;
  transition:all 0.2s ease-in-out;
}
.show-menu .nav-text:before {
  transform:translateY(9px) rotate(135deg);
}
.show-menu .nav-text:after {
  transform:translateY(-9px) rotate(-135deg);
}
.show-menu .nav-text span {
  transform:scale(0);
}
.top-nav ul {padding:0;}

/* menu mobile chiuso di default, aperto con .show-menu sul body */
@media screen and (max-width: 1023px) {
  .top-nav > ul {
    height: 0;
    width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 999;
  }
  body.show-menu .top-nav > ul { height: auto; overflow: auto; padding-bottom: 90px; }
  .top-nav > ul ul {
    height: 0;
    display: block;
    overflow: hidden;
  }
  .top-nav > ul ul.show-ul { height: auto; }
  body.show-menu { overflow: hidden; }
}

.top-nav ul ul {
  position:absolute;
}
.top-nav li {
  list-style:none outside none;
  cursor:pointer;
}
.top-nav li a {
  font-weight: var(--weightmedium);
  color:var(--main);
  display:block;
  padding:1rem 1.25rem;
}
.top-nav li ul li a {
  font-size: .95rem;
  color:var(--main);
  min-width:100%;
  padding:0.625rem 1.25rem;
}
/* .top-nav li a:hover,
.aside-nav li a:hover,
.top-nav li.active a,
.menu-item-has-children:hover > .dropdown-toggle {
  background:var(--colore);
  color:var(--bianco);
} */
.top-nav li ul li a:hover,
.top-nav li ul li.current-menu-item > a,
.top-nav li ul li.current_page_item > a {
  color: var(--colore);
}
.top-nav li ul {
  display:none;
}
.top-nav li ul li,
.top-nav li ul li ul li {
  float:none;
  list-style:none outside none;
  min-width:100%;
  padding: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;
}
.top-nav .active-item a {background:var(--colore);}
.aside-nav > ul > li.active-item > a:link,.aside-nav > ul > li.active-item > a:visited {
  background:var(--colore);
  color:var(--bianco);
}
@media screen and (min-width:1024px) {
  .aside-nav .count-number {
	  margin-left:-1.25rem;
	  float:right;
  }
  .top-nav li.submenu.open > ul {
	  display:block;
	  z-index:10;
  }
  .top-nav li.submenu.open > ul ul {
    left:100%;
    margin:-2.5rem 0;
    width:100%;
  }
}
@media (max-width: 1023px) {
	/* Dropdown mobile: posizionamento statico e stile */
	.top-nav ul ul.dropdown-menu {
		position: static !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		width: 100% !important;
		min-width: 100% !important;
		box-shadow: none !important;
		background: transparent !important;
		padding: .5rem 0 .5rem 1rem !important;
		margin: 0 !important;
		border: 0 !important;
	}
	.top-nav ul ul.dropdown-menu::before {
		display: none !important;
	}
	.top-nav li.submenu > a {
		position: relative;
		padding-right: 2.75rem !important;
	}
	.top-nav li.submenu > a::after {
		content: '';
		position: absolute;
		right: 1.25rem;
		top: 50%;
		width: 9px;
		height: 9px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-70%) rotate(-45deg);
		transform-origin: center;
		transition: transform .25s ease;
	}
	.top-nav li.submenu.open > a::after {
		transform: translateY(-70%) rotate(45deg);
	}
	.top-nav li.submenu > a .arrow {
		display: none !important;
	}
	.top-nav ul ul li {
		display: block !important;
		width: 100%;
	}
}
.aside-nav a,.aside-nav a:link,.aside-nav a:visited,.aside-nav li > ul,.top-nav a,.top-nav a:link,.top-nav a:visited {
  transition:background 0.20s linear 0s;
}
.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;}

.padding {
  display:list-item;
  list-style:none outside none;
  padding:0.625rem;
}
.margin,.margin2x {display: block;}
.margin {margin:0 -0.625rem;}
.margin2x {margin:0 -1.25rem;}
.grid.margin {
  display: grid;
  grid-column-gap:20px;
  margin:0 auto;
}
.grid.margin2x {
  display: grid;
  grid-column-gap:40px;
  margin:0 auto;
}
.hide-xxl {display:none!important;}
.box {
  display:block;
  padding:1.25rem;
  width:100%;
}
.margin-bottom {margin-bottom:1.25rem!important;}
.margin-bottom2x {margin-bottom:2.5rem!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;
}
#maincontainer > .grid,
#maincontainer > .woocommerce {
  padding-inline: var(--container-padding);
}
@media (min-width: 992px) {
  #maincontainer > .box > .grid {
    padding-inline: var(--container-padding);
  }
}

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

.no_contain { contain: initial !important; }

/*
.grid.parent-gap {
  grid-column-gap: 30px;
}
*/
.grid.gap {
  grid-column-gap: 25px;
}
.grid.gap-more {
	grid-column-gap: 30px;
  }
@media (min-width: 580px) {
    .grid.parent-gap {
      grid-column-gap: 30px;
    }
    .row-reverse .text-right { /* CHECK THIS */
      text-align: right;
    }
}
@media (min-width: 768px) {
  .grid.parent-gap {
    grid-column-gap: 40px;
  }
}
@media (min-width: 1024px) {
  .grid.parent-gap {
    grid-column-gap: 50px;
  }
}

.size-1280 .grid {
  max-width: 55rem;
}
@media (min-width: 1160px) {
  .size-1280 .grid {
    max-width: 60rem;
  }
}
@media (min-width: 1280px) {
  .size-1280 .grid {
    max-width: 63rem;
  }
  .grid.parent-gap {
    grid-column-gap: 60px;
  }
  .grid.gap {
	grid-column-gap: 27px;
  }
  .grid.gap-more {
    grid-column-gap: 35px;
  }
}
@media (min-width: 1360px) {
  .size-1280 .grid {
    max-width: 66rem;
  }
  .grid.parent-gap {
    grid-column-gap: 80px;
  }
}
@media (min-width: 1440px) {
  .size-1280 .grid {
    max-width: 70rem;
  }
  .grid.parent-gap {
    grid-column-gap: 100px;
  }
  .grid.gap {
    grid-column-gap: 30px;
  }
  .grid.gap-more {
    grid-column-gap: 40px;
  }
}
@media (min-width: 1600px) {
  .size-1280 .grid {
    max-width: 75rem;
  }
}
@media (min-width: 1800px) {
  .size-1280 .grid {
    max-width: 78rem;
  }
}



/* 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 { /* blocco griglia */
  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;
  }
}



/* cinque colonne: gestito in base.css */






/* BACKGROUND */
.has-background {
	position: relative;
	overflow: hidden;
	min-height: 300px;
  }
  .has-background .background {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 0;
  }
   .has-background .background figure {
	height: 100%;
   }
  .has-background .background img {
	  height: 100%;
	  width: 100%;
	  object-fit: cover;
	  max-width: none;
	  object-position: center 50%;
  }


  /* PARALLAX */
  /* .has-background .parallax figure {
	  height: 100%;
	  width: 100%;
	}
  .has-background .parallax img {
  } */

  /* .has-background.parallax .background {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 0;
  } */
  .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;
}
.cpt-grid .item .cat a {
	color: var(--main);
}





.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 0;
	text-align: center;
	position: relative;
 }
.glide__bullet {
	width: 20px;
	height: 3px;
	padding: 0;
	margin: 20px 3px;
	background-color: var(--grigio-5);
}
.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;
}




/* BLOCCO LOGHI MODALITA SLIDER */

.loghi .glide__arrows,
.loghi .glide__bullets {
	display: none;
}




/* BLOCCO SLIDER CPT */

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




/* 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: 2rem;
}
.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(--grigio);
	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;
	}
}
/* @media (min-width: 1440px) {
	.counter-block .counter {
		font-size: 3.8rem;
	}
} */





/* 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);
	}

}






/* 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;
\ttransform: 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 0 1rem;
}




/* BLOCCO TABS */

/* Nasconde l'input radio visivamente ma lo mantiene focusable e
   raggiungibile dagli screen reader (a11y WCAG 2.1.1, 4.1.2) */
.tabs-container input.hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Focus visibile sulla label quando l'utente tabbed all'input nascosto */
.tabs-container input.hidden:focus-visible + label {
	outline: 2px solid var(--colore);
	outline-offset: 3px;
}
.tabs-container > label {
	display: block;
	width: 100%;
	line-height: 1.2;
	padding: 15px 20px;
	text-align: left;
	background: var(--grigio-6);
	color: var(--main);
	font-size: 1rem;
	font-weight: var(--weightheavy);
	position: relative;
	transition: 0.25s background ease;
	cursor: pointer;
	margin: 0 0 2px 0;
	border-radius: var(--radius-small);
}
.tabs-container > label:hover {
	background: var(--main);
	color: var(--bianco);
}
.tabs-container > label::after {
	content: '+';
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.2rem;
	font-weight: var(--weightheavy);
	transition: 0.25s ease;
}
.tabs-container input:checked + label {
	background: var(--colore);
	color: var(--bianco);
}
.tabs-container input:checked + label::after {
	content: '-';
}
.tabs-container > .content {
	display: none;
	width: 100%;
	padding: 1rem 1rem 0;
	margin: 0 0 2px 0;
	background: var(--grigio-6);
	text-align: left;
	border-radius: var(--radius-small);
}
.tabs-container input:checked + label + .content {
	display: block;
}




/* 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;
\tdisplay: flex;
\tjustify-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 {
\t\twidth: calc(50% + 8px);
	}
	.timeline-block-right {
		float: right;
	}
	.timeline-block-left {
		float: left;
		direction: rtl;
	}
}







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




.logo {
  min-height: 60px;
}
.logo a {
    display: grid;
    align-items: center;
    height: 100%;
}
@media (max-width: 991px) {
  .logo {
    grid-column: span 12 !important;
  }
  .logo img {
    margin: 0 auto;
  }
}




.top-nav {
  display: grid;
  justify-items: end;
}
@media screen and (max-width: 1023px) {
  .top-nav {
    position: fixed;
    top: 0;
    z-index: 10;
    left: -100%;
    width: 100% !important;
    bottom: 0;
    overflow-y: auto;
  }
  .show-menu .top-nav {
    left: 0;
    right: 60px;
  }
  .mobile-nav-right .top-nav { left: 100%; right: -100%; }
  .show-menu .mobile-nav-right .top-nav { left: 0; right: 0; }
}
@media (min-width: 1024px) {
  .top-nav li a {
    font-size:.95rem;
    color: var(--main);
  }
}
@media (min-width: 1440px) {
  .top-nav li a {
    font-size:1rem;
  }
}



/* 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 {
		display: grid;
    	grid-template-columns: 1fr 2fr; /* Due colonne, la prima per ::before, la seconda per il testo */
		align-items: center;
		justify-items: start;
		font-size: 0.92rem;
		text-align: left;
		border-right: 0;
		padding: 0;
		margin-bottom: 3px;
	}
	table.responsive td:first-child {
		border-left: 0;
	}
	table.responsive tr:last-child {
		border-bottom: none;
	}
	table.responsive tr:last-child td {
		border-bottom: none !important;
	}
  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);
		/* text-transform: uppercase; */
		font-size: .82rem;
		margin-top: 1px;
		margin-right: .5rem;
    	padding: .25rem 1rem .25rem .5rem;
		height: calc(100% - 9px);
		width: calc(100% - 38px) !important;
		min-width: 100px;
		background-color: var(--colore) !important;
		color: var(--bianco);
		;
    	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 td.actions::before {
	background-color: transparent !important;
}
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: transparent !important;
}
.fslightbox-slide-btn svg {
	display: none !important;
}
.fslightbox-slide-btn::before,
.fslightbox-slide-btn::before {
	border-style: solid;
	border-width: 2px 2px 0 0;
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	left: 0.15em;
	position: absolute;
	top: 0.69em;
	transform: rotate(-45deg);
	vertical-align: top;
	border-color: var(--main);
}
.fslightbox-slide-btn-container-previous .fslightbox-slide-btn::before {
	left: 0.74em;
	transform: rotate(-135deg);
}
.fslightbox-slide-btn-container-next .fslightbox-slide-btn::before {
	transform: rotate(45deg);
}
.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: 8px !important;
	}
	.fslightbox-slide-btn-container-next {
		right: 8px !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: 1440px) {
	.fslightbox-slide-btn-container-previous {
		left: 19px !important;
	}
	.fslightbox-slide-btn-container-next {
		right: 20px !important;
	}
}
@media screen and (min-width: 1600px) {
	.fslightbox-slide-btn-container-previous {
		left: 29px !important;
	}
	.fslightbox-slide-btn-container-next {
		right: 30px !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 .paragrafo:first-of-type 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: 1440px) {
	.single-post article.hentry .paragrafo:first-of-type p:first-of-type {
	  font-size: 1.25rem;
	}
}




/* 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-input-wrap {
	overflow: visible !important;
}
.acf-fields > .acf-field {
	border: none !important;
	padding-bottom: 0 !important;
}
.acf-form-submit {
	padding: 33px 0 0 0;
}
.acf-required {
	color: var(--colore-4) !important;
}
.acf-notice.-error {
	background-color: var(--rosso) !important;
	border-radius: var(--radius-small) !important;
}
.acf-notice.-error.acf-error-message.-below {
	background-color: transparent !important;
	margin-top: 0 !important;
	border: none !important;
}
.acf-input-wrap span.input.username {
	display: block;
	margin-bottom: 0;
	background-color: var(--grigio-6) !important;
	line-height: 1.6;
	padding-inline: 8px;
	cursor: default;
	pointer-events: none;
}



.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%;
	z-index: 5;
	box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);
}


@media (max-width: 1023px) {
	#maincontainer .contenuto[class*="fotoalign-"] {
		padding-top: 2rem;
	}
}
@media (min-width: 1024px) {
	#maincontainer .contenuto.fotoalign-center,
	#maincontainer .contenuto.fotoalign-full {
		padding-top: 2.5rem;
	}
	#maincontainer .paragrafo figure.fotoalign-left {
		margin-right: 1rem;
	}
	#maincontainer .paragrafo figure.fotoalign-right {
		margin-left: 1rem;
	}
}
@media (min-width: 1360px) {
	#maincontainer .paragrafo .contenuto.fotoalign-left {
		padding-left: 1rem;
	}
	#maincontainer .paragrafo .contenuto.fotoalign-right {
		padding-right: 1rem;
	}
}
@media (min-width: 1800px) {
	#maincontainer .paragrafo .contenuto.fotoalign-left {
		padding-left: 2rem;
	}
	#maincontainer .paragrafo .contenuto.fotoalign-right {
		padding-right: 2rem;
	}
}




.paragrafo .inner {
	width: 100%;
}

@media (max-width: 767px) {
    .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(--weightbold);
}
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.8rem;
	font-weight: var(--weightnormal);
	text-transform: none;
	letter-spacing: 0;
}
div.wpcf7 label.hide {
	display: none;
}
div.wpcf7 div.wide {
	width: 100%;
	clear: both;
}


.input_text,
.acf-input-wrap input,
.acf-input-wrap span.input,
.acf-field input[type=password],
input.wpcf7-text,
input.wpcf7-date,
textarea,
select,
.wpcf7-select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="date"] {
	font-family: var(--mainfont);
	font-size: .9rem !important;
	color: var(--main);
	font-weight: var(--weightmedium);
	background-color: var(--bianco) !important;
	padding: .6rem .85rem .5rem;
	height: 43px;
	max-height: 43px;
	/* box-shadow: inset 0 1px 9px hsla(0, 0%, 4%, 0.11); */
	border: 1px solid var(--grigio-4);
	border-radius: var(--radius-small);
	margin-bottom: 0;
	width: 100%;
	max-width: 100%;
	transition: border-color 0.4s;
}
.input_text {
	display: block;
	padding-top: 9px !important;
	background-color: var(--grigio-7);
	border-color: var(--grigio-5);
}
input,
input[type=radio],
input[type=checkbox],
textarea {
	accent-color: var(--colore);
}
input,
textarea {
	caret-color: var(--colore);
}
input[type="submit"] {
\tappearance: none !important;
}
.wpcf7 .wpcf7-submit:disabled {
	opacity: .9;
}
select,
.wpcf7-select {
	padding: .6rem .85rem .5rem !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% - 12px) 50%;
	cursor: pointer;
}
.acf-input-wrap input:focus,
input.wpcf7-text:focus,
textarea.wpcf7-textarea:focus,
textarea:focus,
.wpcf7-select:focus,
select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="search"]:focus {
	border-color: var(--grigio);
	border: 1px solid var(--colore);
}
.acf-input-wrap {
	border-radius: var(--radius-small);
}
textarea {
	resize: vertical;
	min-height: 150px;
}
textarea.wpcf7-textarea {
	padding-top: .7rem;
	min-height: 100px;
	margin-bottom: 15px;
	border-radius: var(--radius-small);
}
input[type="date"] {
	padding-right: 8px;
}
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: -24px;
    font-size: .82rem;
*/
	display: none;
}
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 {
	display: none !important;
	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: 3px;
}
.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;
}


/* Colpisce le singole componenti (giorno, mese, anno, slash) */
input[type="date"]::-webkit-datetime-edit-fields-wrapper,
input[type="date"]::-webkit-datetime-edit-text,
input[type="date"]::-webkit-datetime-edit-month-field,
input[type="date"]::-webkit-datetime-edit-day-field,
input[type="date"]::-webkit-datetime-edit-year-field {
    color: var(--grigio-6, ); /* Usa la tua variabile o un grigio di fallback */
}

/* Opzionale: Torna al nero (o un colore scuro) quando l'utente seleziona una data */
input[type="date"]:valid::-webkit-datetime-edit-fields-wrapper,
input[type="date"]:valid::-webkit-datetime-edit-text,
input[type="date"]:valid::-webkit-datetime-edit-month-field,
input[type="date"]:valid::-webkit-datetime-edit-day-field,
input[type="date"]:valid::-webkit-datetime-edit-year-field {
    color: var(--main, ); 
}



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

#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: 34px;
	height: 34px;
	text-align: center;
	line-height: 43px;
	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: 20px;
	height: 20px;
}
#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-holder .crunchify-social {
	text-align: center;
	margin-left: 0;
	margin-right: auto;
}
.crunchify-holder p {
	font-family: var(--altfont);
	text-transform: uppercase;
	color: var(--main);
	text-align: center;
	letter-spacing: 0.06rem;
    font-size: 0.85rem;
    font-weight: var(--weightbold);
}
a.crunchify-link {
	padding: 6px 12px 5px 12px;
	color: var(--bianco);
	font-size: 0.77rem;
	font-weight: var(--weightbold);
	border-radius: var(--radius-small);
	margin: 0 10px 12px 0;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
}
a.crunchify-link:hover,
a.crunchify-link:active,
a.crunchify-link:focus {
	color: var(--bianco);
}
.crunchify-twitter {
	background: #00aced;
}
.crunchify-twitter:hover,
.crunchify-twitter:active {
	/* background: #00aced; */
	background: var(--main);
}
.crunchify-facebook {
	background: #0866FF;
}
.crunchify-facebook:hover,
.crunchify-facebook:active {
	/* background: #0866FF; */
	background: var(--main);
}
.crunchify-whatsapp {
	background: #43d854;
}
.crunchify-whatsapp:hover,
.crunchify-whatsapp:active {
	/* background: #43d854; */
	background: var(--main);
}
.crunchify-pinterest {
	background: #bd081c;
}
.crunchify-pinterest:hover,
.crunchify-pinterest:active {
	/* background: #bd081c; */
	background: var(--main);
}
.crunchify-linkedin {
	background: #0A66C2;
}
.crunchify-linkedin:hover,
.crunchify-linkedin:active {
	/* background: #0A66C2; */
	background: var(--main);
}


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


input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--grigio-6) inset !important;
    -webkit-text-fill-color: var(--main) !important;
}
/* Selettore unificato per Chrome, Edge, Safari e Firefox moderno */
input:-moz-autofill,
input:autofill {
    /* 1. Copre il colore di sistema con l'ombra (Chrome/Edge/Opera) */
    -webkit-box-shadow: 0 0 0 1000px var(--grigio-6) inset !important;
    box-shadow: 0 0 0 1000px var(--grigio-6) inset !important;

    /* 2. Forza il colore del testo (Webkit) */
    -webkit-text-fill-color: var(--main) !important;

    /* 3. Forza il colore del testo (Firefox/Standard) */
    color: var(--main) !important;

    /* 4. Il "trucco Safari": blocca il cambio colore tramite una transizione infinita */
    transition: background-color 600000s ease-in-out 0s;

    /* Mantiene il cursore visibile e del colore corretto */
    caret-color: var(--main);
}

/* Fix specifico per Firefox che a volte ignora il box-shadow sull'autofill */
input:-moz-autofill {
    filter: none; /* Rimuove filtri di sistema */
}

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




.wp-block-search__inside-wrapper {
	position: relative;
	transition: max-width 0.5s ease-in-out;
}
.logo_centrale .wp-block-search__inside-wrapper {
	max-width: 0px !important;
}
.wp-block-search__inside-wrapper.open,
.search .logo_centrale .wp-block-search__inside-wrapper {
	max-width: 100% !important;
}
@media (max-width: 1023px) {
	.wp-block-search__inside-wrapper,
	.logo_centrale .wp-block-search__inside-wrapper {
		max-width: 100% !important;
	}
}
.wp-block-search__input {
	height: 40px;
	border: 1px solid var(--colore) !important;
	border-radius: var(--radius-small);
	padding: 0 2.5rem 0 .85rem !important;
	font-size: .9rem !important;
	margin: 0 !important;
	background-color: transparent;
	transition: border-color .5s ease-in-out;
}
.wp-block-search__button {
	color: transparent !important;
	background-color: transparent !important;
	background-image: url(../images/lente.svg);
	background-repeat: no-repeat;
	background-size: 24px;
	background-position: 18px 7px;
	height: 100%;
	width: 50px;
	padding: 0;
	margin: 0;
	font-size: 0rem;
	border: none;
	position: absolute;
	right: 0;
	top: 0;
}
@media (min-width: 1024px) {
	.logo_centrale .wp-block-search__inside-wrapper .wp-block-search__button {
		right: -35px;
	}
	.logo_centrale .wp-block-search__inside-wrapper.open .wp-block-search__button,
	.search .logo_centrale .wp-block-search__inside-wrapper .wp-block-search__button {
		right: 0;
	}
	.logo_centrale .wp-block-search__input {
		border-color: transparent !important;
	}
	.logo_centrale .wp-block-search__inside-wrapper.open .wp-block-search__input,
	.search .logo_centrale .wp-block-search__inside-wrapper .wp-block-search__input {
		border-color: var(--grigio) !important;
	}
}
.wp-block-search__input:focus-visible {
	outline: 0px transparent;
}
.header .search-field:focus {
	width: 280px;
	padding: 0 8px;
	background-color: transparent;
	border-color: var(--bianco);
}

.wp-block-search__input::placeholder { /* opacity: 0; */ }
.header .search-container {
	position: absolute;
	right: 15px;
	top: 24px;
	display: block;
	height: 38px;
	transition: top .4s;
}
.header .search-container.show { /* firefox support */
	visibility: visible;
}
.header:has(.navigation input.toggle-menu.checked) .search-container {
	visibility: visible;
}

.search-header form {
	max-width: 740px;
	margin: 0 auto;
}
.search-header label {
	display: none;
}
.login-container {
	position: absolute;
	top: 17px;
	right: 55px;
	width: 26px;
	height: 26px;
	background-image: url(../images/user.svg);
	background-repeat: no-repeat;
	background-size: 21px;
	transition: top .4s;
}
.login-container svg {
	opacity: 0;
}
.login-container .label {
	display: none;
}


.wp-block-woocommerce-customer-account {
	display: block !important;
	padding: 0 !important;
}

.carrello-container {
	position: absolute;
	top: 16px;
	right:17px;
	transition: top .4s;
}
.carrello-container .xoo-wsc-sc-subt {
	display: none;
}
.carrello-container .xoo-wsc-sc-count {
	font-size: .5rem;
	font-weight: var(--weightheavy);
	line-height: 17px;
	top: -8px;
	right: -11px;
	min-width: 16px;
	width: auto;
	height: 16px;
	padding-inline: 3px;
}

@media (max-width: 1023px) {
	.search-header {
		position: absolute;
		top: 57px;
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
		width: 100%;
		height: 58px;
		padding: 11px 15px 0;
		text-align: center;
		background-color: var(--bianco);
		z-index: 1;
	}
}

@media (min-width: 1024px) {
	.logo_centrale .search-header {
		order: 1;
		grid-column: span 4;
	}
	.logo_centrale .logo {
		order: 2;
		grid-column: span 4;
		text-align: center;
	}
	.logo_centrale .logo a {
		justify-items: center;
	}
	.logo_centrale .logart {
		order: 3;
		grid-column: span 4;
	}
	.logo_centrale .navigation {
		order: 4;
	}
	.search-header form {
		padding-top: 12px;
	}
	.logo_centrale .search-header form {
		margin-left: 0;
	}
	.logo_centrale .search-header form {
		margin-left: 1.25rem;
	}
	.search_toggle {
		top: 16px;
		right: 13px;
	}
}
@media (min-width: 1280px) {
	.search_toggle {
		right: 38px;
	}
}
@media (min-width: 1600px) {
	.search_toggle {
		right: 58px;
	}
}


/* 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: 3rem;
    padding-bottom: 0;
}
.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 {
    background-color: var(--colore);
	border-color: var(--colore);
    padding: .45rem .68rem .4rem;
	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;
}
#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: 1440px) {
	#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.fourth {
	min-height: 25vh;
	min-height: 25svh;
}
#header-image.third {
	min-height: 33vh;
	min-height: 33svh;
}
#header-image.half {
	min-height: 50vh;
	min-height: 50svh;
}
#header-image.sevenfive {
	min-height: 75vh;
	min-height: 75svh;
}
#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);
}
.image-holder {
	position: absolute;
	inset: 0;
}
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; }
		50%, 100% { opacity: 0; }
	}

	@keyframes header-image-animation {
/* 		25% { opacity: 1; } */
		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;
	}
}

/* Rispetta la preferenza utente "reduce motion": disabilita animazioni,
   transizioni e effetti parallax/scroll-linked per utenti che hanno settato
   prefers-reduced-motion nel sistema operativo (WCAG 2.3.3). */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	.left_right,
	.popit,
	.popit_less {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
	.parallax {
		background-attachment: scroll !important;
	}
	/* Disabilita animation-timeline scroll-linked */
	#header-image,
	.header-image {
		animation-timeline: none !important;
		animation: none !important;
	}
}
