/*Version 1.0 - 13/06/2023*/
/* https://www.toptal.com/developers/cssminifier */
/* webfont */
/* https://gwfh.mranftl.com/fonts */
/* filter compute: https://codepen.io/sosuke/pen/Pjoqqp */

/*GOOGLE TEST MOBILE*/
/*412 x 823*/ 

/*GOOGLE TEST DESKTOP*/
/*800 x 600*/


/* <weight>: Use a value from 300 to 800 */
/* <uniquifier>: Use a unique and descriptive class name */

.roboto-thin {
  font-family: "Roboto", system-ui;
  font-weight: 100;
  font-style: normal;
}

.roboto-light {
  font-family: "Roboto", system-ui;
  font-weight: 300;
  font-style: normal;
}

.roboto-regular {
  font-family: "Roboto", system-ui;
  font-weight: 400;
  font-style: normal;
}

.roboto-medium {
  font-family: "Roboto", system-ui;
  font-weight: 500;
  font-style: normal;
}

.roboto-bold {
  font-family: "Roboto", system-ui;
  font-weight: 700;
  font-style: normal;
}

.roboto-black {
  font-family: "Roboto", system-ui;
  font-weight: 900;
  font-style: normal;
}

.roboto-thin-italic {
  font-family: "Roboto", system-ui;
  font-weight: 100;
  font-style: italic;
}

.roboto-light-italic {
  font-family: "Roboto", system-ui;
  font-weight: 300;
  font-style: italic;
}

.roboto-regular-italic {
  font-family: "Roboto", system-ui;
  font-weight: 400;
  font-style: italic;
}

.roboto-medium-italic {
  font-family: "Roboto", system-ui;
  font-weight: 500;
  font-style: italic;
}

.roboto-bold-italic {
  font-family: "Roboto", system-ui;
  font-weight: 700;
  font-style: italic;
}

.roboto-black-italic {
  font-family: "Roboto", system-ui;
  font-weight: 900;
  font-style: italic;
}

.bebas-neue-regular {
  font-family: "Bebas Neue", system-ui;
  font-weight: 400;
  font-style: normal;
}


/*stili widget recensioni*/
.ti-widget-header {
	text-align: center;
}
.ti-header-write-btn {
	background-color: rgba(205, 186, 14, 1.0) !important;
}
.ti-widget-header {
	border: none !important;
}
/*stili particolari*/
.nomobile {
	display: none !important;
}
.nascosto {
	display: none !important;
}
.alluppercase {
	text-transform: uppercase;
}
.text-center {
	text-align: center !important;
}
.text-center h3, .text-center p {
	margin: auto;
}
.text-right {
	text-align: right !important;
}
.text-left {
	text-align: left !important;
}
.text-uppercase {
	text-transform: uppercase;
}
.has-padding-vert {
	padding-top: 1em !important;
	padding-bottom: 1em !important;
}
.has-padding-hor {
	padding-left: 1em !important;
	padding-right: 1em !important;
}
.noflex  {
	display: revert !important;
}

div.errore {
	width: 100%;
	padding: 1em;
	background: rgba(180, 0, 0, 1);
	color: #fff;
	font-weight: 700;
	display: none;
}
.rounded-circle {
		border-radius: 50% !important;
}


/*modulo iscrizione*/
.intl-tel-input {
	width: 100% !important;
}
#phone, #phoneb {
	padding-left: 4.5em !important;
}
.iti-arrow {
	display: none;
}
.alertinput {
	border: 0.01em solid !important;
	background-color: rgba(255, 205, 205, 1.0) !important;
}

/*stili base*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
		margin: 0;
		padding: 0;
		overflow-x: hidden;
		/*height: 100%; /* Mantieni la compatibilità con layout basati su 100% */
}
.bebas-neue {
  font-family: "Bebas Neue", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

cite {
	font-family: "Bebas Neue", serif;
	font-weight: 100;
	font-size: 3em;
	line-height: 1.3em;
}
body {
		margin: 0;
		padding: 0;
		font-size: 16px;
		/*font-family: 'Questrial', Arial, Helvetica, sans-serif;*/
		font-family: 'Roboto', Helvetica, Arial, sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		font-variation-settings:"wdth" 100;
		color: rgba(103, 101, 101, 1);
		line-height: 1.5em;
		height: auto; /* Permetti al body di espandersi oltre il viewport */
		min-height: 100%; /* Mantieni un'altezza minima */
}
a {
	color: rgba(0,0,0,1);
	text-decoration: none;
	position: relative;
}
a.nocolor {
	color: rgba(103,101,101,1);
}
a::before  {
	content: '';
	position: absolute;
	width: 100%;
	height: 0.1em;
	border-radius: 0.1em;
	background-color: rgba(169,169,26,1);
	bottom: -0.2em;
	left: 0;
	transform-origin: right;
	transform: scaleX(0);
	transition: transform .3s ease-in-out;
}
a:hover::before, a:hover::before {
	transform-origin: left;
	transform: scaleX(1);
}
a.nounderline::before  {
	 width: 0;
	 height: 0;
}
strong {
	font-weight: 700;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.2em;
	font-weight: 600;
	font-family: 'Bebas Neue', Helvetica, Arial, sans-serif;
}
p {
	line-height: 1.5em;
}
ul {
	margin: 0;
	padding: 0;
}
li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.bggrey {
	background-color: #ececec !important;
}

.btn, .btn-default {
	background-color: rgba(76, 133, 197, 1);
	background-color: rgba(187, 37, 48, 1);
	color: rgba(255,255,255,1);
	margin: 1em auto;
	padding: 1em;
	word-wrap: break-word;
	text-transform: uppercase;
	font-weight: 400;
	line-height: 1.5em;
	border: none;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
	display: inline-block;
	border-radius: 0.25em;
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

/* Effetto hover animato con overlay */
.btn::before,
.btn-default::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0%;
	height: 100%;
	background-color: #ed1a2a;
	z-index: 0;
	transition: width 0.3s ease-in-out;
}

.btn-whatsapp {
	background-color: #83bb56;
}
.btn-gold {
	background-color: rgba(169,169,26,1);
}
.btn-icona img {
	filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(39deg) brightness(109%) contrast(104%);
	height: 1.5em;
	width:auto;
	margin-right:0.5em;
}
.btn-icona {
	display: inline-flex;
  align-items: center;       /* centra verticalmente icona e testo */
  justify-content: center;   /* centra orizzontalmente il contenuto */
  gap: 0.5em;                /* spazio tra icona e testo */
  text-decoration: none;
}


/* Espansione dell’overlay da sinistra a destra */
.btn:hover::before,
.btn-default:hover::before {
	width: 100%;
}

/* Fa in modo che il testo stia sopra l'overlay */
.btn, .btn-default > * {
	position: relative;
	z-index: 1;
}

/* Alternativa: se non hai figli nel bottone */
.btn span,
.btn-default span {
	position: relative;
	z-index: 1;
}

/* Forza il testo a diventare bianco quando l’overlay è visibile */
.btn:hover,
.btn-default:hover {
	color: white !important;
	background-color: #000;
}

.btn-square {
	border-radius: 0em;
}

/* Override underline di default se usi <a> */
a.btn::before, a.btn-default::before {
	width: 0;
	height: 0;
}
a.btn-default:link,
a.btn-default:visited {
	color: rgba(255,255,255,1);
}

input, button, select, optgroup, textarea, input[type="date"] {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	margin-bottom:  0.5em;
}
input:focus, textarea:focus, select:focus { 
	/*box-shadow: 0 0 0.8em rgba(86,179,187,1);
	border-color: rgba(86,179,187,1);*/
	box-shadow: 0 0 0.8em rgba(247,173,0,1);
	border-color: rgba(247,173,0,1);

	outline: none; 
} 
input.error, textarea.error, div.error, div.errore, select.error  {
	box-shadow: 0 0 0.8em rgba(180,0,0,1) !important;
	border-color: rgba(180,0,0,1) !important;
	outline: none; 
}
input.warning, textarea.warning, div.warning, select.warning {
	box-shadow: 0 0 0.8em rgba(255,131,0,1) !important;
	border-color: rgba(255,131,0,1) !important;
	outline: none; 
}
input.perfect, textarea.perfect, div.perfect, select.perfect {
	box-shadow: 0 0 0.8em rgba(55, 144, 55, 1) !important; /* Ombreggiatura verde */
		border-color: rgba(71, 150, 71, 1) !important; /* Bordo verde */
		outline: none; 
}
select:required:invalid {
	color: #666;
}
option[value=""][disabled] {
	display: none;
}
option {
	color: #000;
}
.checkbox label {
	display: inline-block !important; 
	font-size: 0.8em;
}
/*SCROLLBAR*/
/* width */
::-webkit-scrollbar {
	width: 0.001em;
}
/* Track */
::-webkit-scrollbar-track {
	background: #f1f1f1;
	background: rgba(0,0,0,0);
}
/* Handle */
::-webkit-scrollbar-thumb {
	background: #888;
	background: rgba(0,0,0,0);
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
	background: #555;
	background: rgba(0,0,0,0);
}

@keyframes scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}

.brandname {
	/*word-spacing: -0.3em;*/
	color: rgba(169,169,26,1);
}
.brandname span {
	color: rgba(0,0,0,1);
	font-size: 0.65em;
}


.inline-logo-svg {
	height: 0.7em;
	/*vertical-align: middle;*/
	max-width: 100%;
}
.inline-brand {
	height: 0.7em;
	/*vertical-align: middle;*/
	max-width: 100%;
}

/* HEADER STYLES MOBILE-FIRST AKRA-LIKE */
header {
	width: 100%;
	background-color: #fff;
	position: fixed;
	bottom: 0;
	z-index: 10000;
	padding: 0 0 1.5em 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: center;
	/*border-top: 0.5em rgba(236, 236, 236, 1) solid;*/
	background-color: rgb(61, 61, 61);
}

.header-container {
	width: 100%;
	/*max-width: 1345px;*/
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	position: relative;
	margin: auto;
	background-color: rgb(61, 61, 61);
}


.header-column {
	display: flex;
	flex-direction: column;
	justify-content: stretch;
}

.logo-col {
	width: auto;
	padding-right: 0.5em;
	flex-shrink: 0;
	display: flex;
	align-items: flex-end;
	/*border-top: 1em solid rgba(255, 255, 255, 1);
	border-top: 1em solid rgba(11, 63, 95, 1.0);*/
	height: 5em;
	background-color: rgb(61, 61, 61);
}

.logo-col picture img.logo {
	width: 7.26em;
	width: 5.86em;
	height: auto;
	padding-left: 0.7em;
	margin-top: 1em;
	/*filter: invert(100%) sepia(5%) saturate(15%) hue-rotate(260deg) brightness(105%) contrast(100%);*/
}

.center-col {
	flex-grow: 1;
	position: relative;
	background-color: rgb(61, 61, 61);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

.mobile-wave {
	width: auto;
	height: 1.2em;
	background: transparent;
	overflow: hidden;
	display: flex;
	justify-content: flex-start;
	background: rgba(236, 236, 236, 1);
	width: 100%;
}

.mobile-wave svg {
	width: 4em;
	height: auto;
	display: block;
	transform: scale(-1, -1); /* Flip orizzontale + verticale */
	/*filter: invert(86%) sepia(100%) saturate(1%) hue-rotate(2deg) brightness(103%) contrast(101%);*/
	filter: invert(22%) sepia(11%) saturate(3976%) hue-rotate(163deg) brightness(92%) contrast(98%);
}

.nav-mobile-center {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-transform: uppercase;
	font-size: 0.75em;
	line-height: 1.2em;
	padding-top: 0.3em;
	padding-bottom: 0.3em;
	background-color: rgb(61, 61, 61);
	margin-top: 0.8em;
}

.nav-mobile-center .nav-title {
	font-size: 0.65em;
	font-weight: 500;
	letter-spacing: 0.05em;
	opacity: 0.75;
}

.nav-mobile-center .nav-links {
	display: flex;
	gap: 0.3em;
	font-weight: 800;
	font-size: 0.95em;
	white-space: nowrap;
}

.nav-title {
	color: rgba(255,255,255,0.7);
}
.nav-links a:link, .nav-links a:visited {
	color: rgba(255,255,255,1);
}



.nav-mobile-center .sep {
	opacity: 0.6;
}



.menu-col {
	width: auto;
	padding-left: 0.5em;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	height: 5em;
	padding-right: 0.7em;
}

.menu-toggle {
	display: flex;
	align-items: center;
	gap: 0.3em;
	font-weight: 600;
	font-size: 0.85em;
	
	padding-top: 0.8em;
	text-decoration: none;
	color: #fff;
}

.menu-toggle img {
	filter: invert(100%) sepia(0%) saturate(25%) hue-rotate(70deg) brightness(108%) contrast(108%);
}

.menu-toggle:hover {
	opacity: 0.8;
}

.menu-toggle:hover .menu-label,
.menu-toggle:hover img {
	opacity: 0.8;

}


#main-menu {
	position: fixed;
	top: 0;
	right: -100%;
	left: auto;
	/*height: calc(100vh - 7em);*/
	height: 100dvh;                  /* usa l’altezza “dinamica” del viewport: niente tagli su mobile */
	width: 100%;
	background-color: #ffffff;
	z-index: 1500;
	display: flex;
	flex-direction: column;
	padding: 2em;
	gap: 2em;
	transition: right 0.3s ease-in-out;
	/*overflow: scroll;*/
	overflow-y: auto;                 /* abilita lo scroll interno del pannello */
	-webkit-overflow-scrolling: touch;/* inerzia iOS */
	overscroll-behavior: contain;     /* evita “rubare” lo scroll al body */
}


#main-menu.active {
	right: 0; /* attiva entrando da destra */
}



#main-menu .menu-section {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5em 0;
}

#main-menu .menu-title {
	font-weight: 700;
	font-size: 1.2em;
	text-transform: uppercase;
	margin-bottom: 0.4em;
}

#main-menu li a {
	color: #111;
	display: block;
	padding: 0.3em 0;
	font-size: 1em;
	text-decoration: none;
}

#main-menu li a:hover {
	/*text-decoration: underline;*/
}

#main-menu .btn {
	margin-top: auto;
	align-self: flex-start;
	padding: 0.6em 1.2em;
	font-size: 1em;
}

#main-menu .menu-section.social-links,
#main-menu .menu-section.language-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6em;
	margin-top: 0.5em;
}

#main-menu .menu-section.social-links .menu-title,
#main-menu .menu-section.language-links .menu-title {
	width: 100%;
	margin-bottom: 0.3em;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 1em;
	color: rgba(103, 101, 101, 1);
}

#main-menu .menu-section.social-links li,
#main-menu .menu-section.language-links li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.maintitle {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 1.5em;
}

.review-container { overflow: hidden; width: 100%; position: relative; }
.reviews { display: flex; justify-content: center; align-items: center; gap: 2em; }
.review { flex: 0 0 auto; text-align: center; }
.review-container.scrolling .reviews { justify-content: initial; animation: marquee 45s linear infinite; will-change: transform; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }


.review h5 {
	font-size: 1.7em;
	margin-bottom: 0.5em;
	color: rgba(76,133,197,1);
}

.imgreview {
	height: 4em;
	width: auto;
}




/*FOOTER*/

footer {
	text-align: center;
	padding: 1em;
	padding-bottom: 8em;
	border-bottom: 0.0625em solid transparent;
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0));
	background-repeat: no-repeat;
	background-size: 100% 0.5em;
	background-position: top;
}
.privacylink {
	text-transform: uppercase;
	font-size: 0.9em;
	margin-bottom: 1em;
}
.copyrightbox {
	font-size: 0.8em;
	text-align: justify;
}

/*MAIN CONTENT*/
main {
	min-height: calc(100vh - 17em);
}
h1 {
	text-align: center;
	color: rgba(89,89,89,1);
	font-size: 1.5em;
	line-height: 1.2em;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.07em;
	padding: 0.3em 0;
}
h2 {
	text-align: center;
	color: rgba(89,89,89,1);
	font-size: 1em;
	line-height: 1.2em;
	text-transform: uppercase;
	font-weight: 300;
	letter-spacing: 0.07em;
	padding: 0.3em 0;
}

/*caratteristiche principali  auto*/
/* --- SEZIONE DATI AUTO --- */
* --- SEZIONE DATI AUTO --- */
.mainfeature {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr)); /* MOBILE: 2 colonne */
  gap: 1.2rem 1.6rem; /* spaziatura verticale/orizzontale */
  justify-content: center;
  align-items: start;
  text-align: left;
  margin: 2em 0;
}

/* Struttura interna: icona + testo */
.mainfeature > div {
  display: grid;
  grid-template-columns: auto 1fr; /* icona + testo */
  grid-template-rows: auto auto;   /* 2 righe di testo */
  align-items: center;
  column-gap: 0.6rem;
  row-gap: 0.2rem;
}

.mainfeature img {
  grid-row: span 2;        /* l’icona occupa due righe */
  width: 28px;
  height: 28px;
  align-self: start;
}

.mainfeature strong {
  font-weight: 600;
  display: block;
}

.mainfeature div {
  font-size: 0.95rem;
  color: #222;
  border: 1px solid #ccc;
  padding: 1em;
}

/* --- MAINFEATURE: forza a GRID anche se .row è flex --- */
.row.mainfeature {
  display: grid !important;            /* sovrascrive .row { display:flex } */
  grid-template-columns: repeat(2, 1fr); /* MOBILE: 2 colonne */
  gap: 1.2rem 1.6rem;
  align-items: start;
  justify-items: stretch;
  margin-bottom: 1em;
    margin-top: 1em;
}

/* Evita che regole globali allarghino i figli a tutta riga */
.row.mainfeature > div {
  width: auto !important;
  min-width: 0 !important;             /* annulla eventuali min-width ereditati */
  display: grid;
  grid-template-columns: auto 1fr;     /* icona + testo */
  grid-template-rows: auto auto;       /* icona “2 righe” */
  column-gap: .6rem;
  row-gap: .2rem;
}

.row.mainfeature img {
  grid-row: span 2;
  width: 28px;
  height: 28px;
  align-self: start;
}

.row.mainfeature strong { font-weight: 600; display: block; }

/* --- COLORAZIONE BLOCCO PREZZO --- */
.mainfeature .price-green {
  background: #e9f5ea;
  border: 1px solid #b9dfbc;
  color: #0b6b0b;
}

.mainfeature .price-amber {
  background: #fff7e0;
  border: 1px solid #e6c974;
  color: #b67a00;
}

.mainfeature .price-red {
  background: #f8e9e9;
  border: 1px solid #e0a3a3;
  color: #9d1c1c;
}


/*VIDEO HERO*/
.mainvideobox {
	position: relative;
	width: 100vw;
	height: 70vh; /* 70% dell'altezza del viewport */
	overflow: hidden;
	background-color: #000;
}
.mainvideo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100vw;
	height: calc(100vw / (16 / 9)); /* Mantiene rapporto 16:9 */
	min-height: 100%; /* Garantisce copertura verticale */
	border: none;
}


.blackveil {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: rgba(0,0,0,0.4);
	z-index: 1;
}
/*IMG HERO*/
.mainimagebox {
	position: relative;
	width: 100vw;
	height: 80vh;
	overflow: hidden;
	background-color: #000;
}

.mainimagebox picture,
.mainimagebox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
/*SLOGAN HERO*/
.sloganhero {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -40%); /* leggermente più in basso */
  z-index: 2;
  color: white;
  font-size: 1em;
  text-align: center;
  padding: 1em 1em;
  opacity: 0;
  animation: fadeUp 1.2s ease-out forwards;
  animation-delay: 0.5s; /* opzionale */
}
@keyframes fadeUp {
  0% {
    transform: translate(-50%, -30%);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}
.sloganhero .btn {
	line-height: 1em;
	min-width: 6em;
	background-color: #fff;
	color: #000 !important;
	font-size: 1em;
}
.sloganhero .btn:hover  {
	background-color: #ed1a2a;
	color: #fff !important;
}
.sloganhero .maintext {
	text-transform: uppercase;
	font-size: 2.5em;
	line-height: 1.2em;
	font-weight: 700;
}
.main-container {
	padding: 1em;
	font-size: 1.4em;
}
.main-container .mainimage {
	display: block;
	max-width: 100%;
	width: 100%;
	height: auto;
}
.row {
	width: 100%;
	/*padding: 0 1em 2em 1em;*/
	/*flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	row-gap: 2em; /* spazio verticale */
}
/* Se c'è anche la classe .gapped, aggiungi spazio orizzontale */
.row.gapped {
	column-gap: 2em;
}
.row-narrow {
	width: 100%;
	margin: 0 auto;
}
.row-block {
	position: relative;
	/*padding: 1em 0 1em 0;*/
	padding: 0;
	text-align: left;
	width: 100%;
}
.row .row-block {
	order: 0; /* Ordine naturale */
}
.row-block .maintext {
		font-size: 1.5em;
}
.main-container h3 {
	text-transform: uppercase;
	padding: 0.5em 0;
	color: rgba(46, 46, 46, 1);
	
}

.row-block.linked picture {
	overflow: hidden;
	display: block;
	position: relative;
}

.row-block.linked picture img {
	transition: transform 0.6s ease;
	will-change: transform;
}

.row-block.linked:hover picture img {
	transform: scale(1.1);
}


/*modulo iscrizione*/
.box-iscrizione-inner {
	
	
}

.box-iscrizione-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
}

.box-iscrizione {
    background-color: rgba(248, 249, 250, 1);
    padding: 0;
    width: calc(100% / 1 - 4em); /* Inizialmente due colonne, quindi la larghezza Ã¨ il 50% meno il margine */
    margin: 0 2em 2em 2em; /* Aggiunto margine inferiore per spaziatura tra i blocchi */
    border-radius: 0.45em 0.45em 0 0;
		min-height: 22em;
		position: relative;

}

.box-iscrizione:hover {
	background-color: rgba(229, 229, 229, 1);
}

.box-iscrizione h3 {
	line-height: 3em;
	text-align: center;
	color: rgba(255, 255, 255, 1);
	background-color: rgba(123, 105, 175, 1);
	border-radius: 0.45em 0.45em 0 0;
	margin-top: 0;
}
.box-iscrizione h4 {
	text-align: center;
	line-height: 1.5em;
	font-size: 3em;
	font-weight: 100;
}
.box-iscrizione ul {
	padding: 0 1em;
}
.box-iscrizione .btn-wrap {
	position: absolute;
	bottom: 1em;
	left: 50%;
	transform: translatex(-50%);
	width: 100%;
}
.btn-row {
	width: 100%;
}

.boxdati {
	display: none;
}

.boxdati input, .boxdativisibile input {
	
	width: 100%;
	line-height: 1.5em;
	font-size: 2em;
	color: rgba(103,101,101,1);
	border: none;
	font-weight: 100;
	box-shadow: 0 0 0.8em rgba(212,212,212,1);
	border-color: rgba(212,212,212,1);
	padding: 0 0.5em;
	outline: none; 
	
}

.boxdati input[type="checkbox"] {
	width: auto;
	
}
.smalllabel {
	font-size: 1.2em !important;
	font-size: 0.9em !important;
	padding: 1em;
    background: #e3e3e3;
}

.box-autorizzazione, .box-tipopagamento {
	padding: 1em;
    background: #e3e3e3;
}





.form-group {
	margin-bottom: 1.5em;
}

.datanascita {
	/*width: auto;*/
}
#emailbase {
	
}

.container-etapersona {
	width: 100%;
}
.etacalcolata {
	font-size: 5em;
	line-height: 1.5em;
}
.box-iscrizione-container a {
	/*margin: 0.5em;*/
/*	font-weight: 700;*/
	

	color: rgb(103 101 101);
}
.box-iscrizione-container a.btn-big {
	display: block;
	min-height: 22em;
}


.warningautorizzo {
	background: #b33b3b;
    color: #fff;
    padding: 1em;
    margin: 2em 0;
display: none;
}



.box-iscrizione-container a:hover .btn-default {
	background-color: rgba(247,173,0,1); /*arancione*/
	/*background-color: rgba(76, 133, 197, 1) /*blu*/
	color: rgba(29,29,26,1) !important;
}

.bggold {
	background-color: #dbac34 !important;
}
.bgsilver {
	background-color: #a5a9b4 !important;
	color: rgba(103,101,101,1);
}
.bgblue {
	background-color: rgba(76, 133, 197, 1) !important;
}
.bgviolet {
	background-color: rgb(190 96 180) !important;
}


.contactFormConfirm {
	display: none;
}
.smalltext {
	font-size: 0.6em;
}
.previewphoto {
	width: 10em; 
	height: 10em; 
	background-size: cover; 
	background-position: center; 
	margin: 1em auto;
}
.steps {
	display: none;
    display: flex; /* Dispone i <li> in una riga */
    padding: 0; /* Rimuove il padding predefinito */
    margin: 0; /* Rimuove il margine predefinito */
    list-style: none; /* Rimuove i punti elenco */
    width: 100%; /* Assicura che l'ul occupi il 100% della larghezza */
    gap: 1em; /* Spazio tra i pulsanti */
}

.steps li {
    flex: 1; /* Ogni <li> occupa una parte uguale della larghezza */
}

.steps .btn, .steps .btn-default {
    width: 100%; /* Il pulsante occupa tutta la larghezza del <li> */
    box-sizing: border-box; /* Include padding e bordo nella larghezza totale */
}
.steps li a.selected {
	background-color: rgba(219, 90, 50, 1);
	background-color: rgba(61, 61, 61,1);
	color: rgba(255,255,255,1);
}
.steps li a.noactive {
	background-color: rgba(218, 218, 218, 1);
	
}
a.noactive {
	background-color: rgba(218, 218, 218, 1);
	color: #fff;
	cursor: default;
}
a.noactive:hover {
	background-color: rgba(218, 218, 218, 1);
	color: #fff;
	cursor: default;
}
.titolostep {
	text-transform: uppercase;
    color: rgba(219, 90, 50, 1);
    font-size: 1em;
    /*font-family: helvetica, georgia, verdana, arial, sans-serif;
    font-weight: 800;*/
    font-family: 'Bebas Neue', Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
	
	margin-bottom: 0.5em;
}

.auto-filled {
    background-color: #f1f5f9 !important;
    cursor: not-allowed !important;
}
.codiceconferma {
    width: 100%;
    font-size: 7em;
    line-height: 1.5em;
    text-align: center;
}

.formfooter label {
    text-align: left;
    font-size: 1em;
    width: 100%;
    display: inline-block;
    margin-bottom: 0.5em;
}
.form-control {
    display: block;
    width: 100%;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.5;
    color: rgb(33, 37, 41);
    background-color: rgb(255, 255, 255);
    background-clip: padding-box;
    appearance: none;
    padding: 0.375em 0.75em;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(206, 212, 218);
    border-image: initial;
    border-radius: 0.25em;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
input, button, select, optgroup, textarea, date {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    margin: 0px 0px 0.5em;
}


@media (min-width:600px) { /* tablet, landscape iPad, lo-res laptops ands desktops */ 
	.nodesktop {
		display: none !important;
	}
	.nomobile {
		display: inline-block !important;
	}
	.sloganhero .maintext {
		font-size: 3.5em;
		line-height: 1.2em;
	}
	.row {
		display: flex;
	}
	.row-block .maintext {
		font-size: 1.2em;
	}
	.row-narrow {
		max-width: 85%;
	}
	


}

@media (min-width:1025px) { /* hi-res laptops and desktops */ 
	/*VIDEO HERO*/
	.mainvideo {
		/*max-height: calc(60vh);	*/
		width: 100%;
		height: auto;
	}
	
	.steps {

    display: flex; /* Dispone i <li> in una riga */
    padding: 0; /* Rimuove il padding predefinito */
    margin: 0; /* Rimuove il margine predefinito */
    list-style: none; /* Rimuove i punti elenco */
    width: 100%; /* Assicura che l'ul occupi il 100% della larghezza */
    gap: 1em; /* Spazio tra i pulsanti */
}
	.row-narrow {
		max-width: 75%;
	}
	
	.has-margin-vert {
		margin-top: 1em !important;
		margin-bottom: 1em !important;
	}
	.has-margin-hor {
		margin-left: 1em !important;
		margin-right: 1em !important;
	}

	
  .row.mainfeature {
  	margin: 1em auto;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    justify-content: center;
  }
}

@media (min-width:1100px) { /* hi-res laptops and desktops */ 
	.onlymobile {
		display: none;
	}
	/* HEADER STYLES */
	header {
		bottom: auto;
		top: 0;
		border-bottom: 0.0625em solid transparent;
		/*background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0));*/
		background-image: linear-gradient(to bottom, rgba(61, 61, 61,0.06), rgba(61, 61, 61, 0));
		background-repeat: no-repeat;
		background-size: 100% 0.5em;
		background-position: bottom;
	}
	.logo-col {
		margin-top: 0.6em;
		margin-left: 5em;
	}
	.logo-col picture img.logo {
		width: 15.26em;
	}
	.nav-mobile-center {
		align-items: flex-start;
		padding-left: 2em;
		font-size: 1em;
		padding-top: 1em;
	}
	.nav-mobile-center .nav-links {
		font-weight: 400;
		font-size: 1.2em;
	}
	.menu-col {
		padding-right: 6.7em;
		height: auto;
		padding-top: 1.2em;
	}
	#main-menu {
		width: auto;
		/*max-width: 320px;*/
		border-left: 1px solid #ddd;
		height: calc(100vh - 7.5em);
		top: 7.5em;
		padding-right: 7em;
	}
	h1 {
		font-size: 2.5em;
	}
	
	main {
		min-height: calc(100vh - 13em);
		margin-top: 7em;
	}
	.row-block {
		width: calc(25% - 1em);
	}
	.main-container {
		padding: 0;
	}
	footer {
		padding-bottom: 1em;
	}
	.copyrightbox {
		text-align: center;
	}

	.row.invert-desktop {
		flex-direction: row-reverse; /* Inverti la direzione dei box */
	}

	.row.invert-desktop .box:first-child {
		order: 0; /* Assicura che il primo box sia ancora il primo in row-reverse */
	}

	.row.invert-desktop .box:last-child {
		order: 0; /* Assicura che il secondo box sia ancora il secondo */
	}
	

	.row-block {
	  width: 50%;
	  box-sizing: border-box;
	  text-align: left;
	  display: flex; /* Aggiunto per centrare verticalmente il contenuto */
	  flex-direction: column; /* Aggiunto per centrare verticalmente il contenuto */
	  position: relative;
	}
	.row-block-gapped {
		width: calc(50% - 1.25em);
	  margin: 0.625em;
	  padding: 1em;
	}
	.boxcentrato {
		/*position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);*/
		width: 100%;
		align-items: center;
		justify-content: center;	
	}
	.boxcentravert {
		align-items: center;
  	justify-content: center;
	}

	.reviews {
	  display: flex;
	  width: calc(100%); /* Settiamo la larghezza al doppio per permettere lo scorrimento continuo */
	  animation: scroll 20s linear infinite; /* Regola la durata dell'animazione */
	}
	.review {
		flex: 0 0 25%; /* Visualizziamo tre recensioni alla volta */
		flex: 0 0 5%;
		height: 6em;
		text-align: center;
	}
	
	.maintitle {
		font-size: 2.5em;
	}


	.firstcolinput {
		margin-right: 0.9em !important;
	}

	.col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11 {
		display: inline-block;
		margin: 0;
		padding: 0;
		vertical-align:top;
	}
	.col-2 {
		width: 16.66666666666667%;
	}
	.col-3 {
		width: 25%;
		width: 24.7%;
		width: 24.5%;
	}
	.col-4 {
		width: 33%;
	}
	.col-5 {
		width: 41.66666666666667%;
	}
	.col-6 {
		width: 49%;
	}
	.col-7 {
		width: 58.33333333333333%;
	}
	.col-8 {
		width: 66%;
	}
	.col-9 {
		width: 75%;
	}
	.col-10 {
		width: 83.33333333333333%;
	}
	.col-11 {
		width: 91.66666666666667%;
	}

	#moduloiscrizione {
		    width: 80%;
    margin: auto;
    max-width: 1324px;
	}
}

@media (min-width:1600px) { /* hi-res laptops and desktops */ 
	.row-block .maintext {
		font-size: 2.5em;
	}
}