/*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*/


.pt-sans-regular {
  font-family: "PT Sans", serif;
  font-weight: 400;
  font-style: normal;
}

.pt-sans-bold {
  font-family: "PT Sans", serif;
  font-weight: 700;
  font-style: normal;
}

.pt-sans-regular-italic {
  font-family: "PT Sans", serif;
  font-weight: 400;
  font-style: italic;
}

.pt-sans-bold-italic {
  font-family: "PT Sans", serif;
  font-weight: 700;
  font-style: italic;
}

.russo-one-regular {
  font-family: "Russo One", serif;
  font-weight: 400;
  font-style: normal;
}

.anton-regular {
  font-family: "Anton", serif;
  font-weight: 400;
  font-style: normal;
}


.mypage {
	padding-top: 6em !important;
}
.loginbox {
	display: none;
    width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.8);
  top: 0;
  left: 0;

}
.formlogin {
	max-width: calc(400px - 4em);
   
    position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 2em;
    background-color: #ffffff;
    border-radius: 0.5em;
}
.errorelogin {
	display: none;
	background-color: #ff0000;
	color: #fff;
	padding: 1em;
}
/*main*/
.nomobile {
	display: none !important;
}
.nascosto, .nascostotest {
	display: none !important;
}
.scrollhoriz {
	overflow-x: scroll !important;
	/*max-width: 1000000em !important;*/
}
.displayflex {
	display: flex;
}
.addpaddingbottom {
	padding-bottom: 2em !important;
}
.tolowercase {
	text-transform: lowercase !important;
}
.alertinput {
	border: 0.01em solid !important;
	background-color: rgba(255, 205, 205, 1.0) !important;
}
.intl-tel-input {
	width: 100% !important;
}
#phone, #phoneb {
	padding-left: 4.5em !important;
}
.iti-arrow {
	display: none;
}


.alluppercase {
	text-transform: uppercase;
}
.orange {
	color: rgba(219, 90, 50, 1);
	color: rgba(213, 213, 213, 1.0);
}
.greeneadv {
	color: rgba(0, 172, 169, 1);
}
.dataevento {
	font-size: 1.5em;
   font-family: "PT Sans", serif;
    font-weight: 800;
    margin: 0.5em;
    text-transform: uppercase;
}

* {
	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% */
}

body {
    margin: 0;
    padding: 0;
    font-size: 16px;
    /*font-family: 'Questrial', Arial, Helvetica, sans-serif;*/
    font-family: "PT Sans", serif;
  font-weight: 400;
  font-style: normal;

    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 */
}

.mainvideobox {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background-color: #000;
}
.mainvideo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; /* Full width by default */
    height: 100%; /* Full height by default */
    object-fit: cover; /* Ensures the video covers the container */
    border: none;
}



.questrial {
  font-family: "Anton", serif;
  font-weight: 400;
  font-style: normal;
}

cite {
	font-family: "Anton", serif;
	font-weight: 100;
	font-size: 3em;
	line-height: 1.3em;
}


a {
	color: rgba(0,0,0,1);
	text-decoration: none;
	position: relative;
}
a.nocolor {
	color: rgba(0,0,0,1);
	color: rgba(103,101,101,1);
}

a::before  {
	content: '';
	position: absolute;
	width: 100%;
	height: 0.1em;
	border-radius: 0.1em;
	background-color: rgba(219, 90, 50, 1);
	background-color: rgba(213, 213, 213, 1.0);
	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);
}

.countdown {
    display: flex;
    gap: 1em;
    justify-content: center;
    align-items: center;
}

.countdown-box {
    text-align: center;
    background-color: #f0f0f0;
    padding: 1em;
    border-radius: 0.5em;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    min-width: 5.5em;
    color: rgba(255,255,255,1);
    background-color: rgba(0, 172, 169, 1);
}

.countdown-number {
    display: block;
    font-size: 2em;
    font-weight: bold;
    /*color: #333;*/
}
.countdown-label {
    font-size: 0.9em;
    /*color: #666;*/
}



/*DA CONTROLLARE*/
header a, menuleft a {
  position: relative;
}

header a::before, menuleft a::before  {
	content: '';
	position: absolute;
	width: 100%;
	height: 0.1em;
	border-radius: 0.1em;
	background-color: rgba(0,0,0,1);
	
	
	background-color: rgba(219, 90, 50, 1);
	background-color: rgba(213, 213, 213, 1.0);
	bottom: -0.2em;
	left: 0;
	transform-origin: right;
	transform: scaleX(0);
	transition: transform .3s ease-in-out;
}

header a:hover::before, menuleft a:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}

a.nounderline::before  {
	 width: 0;
	 height: 0;
}

.givepadding {
	padding-bottom: 2em;
}

strong {
	font-weight: 700;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1em;
	line-height: 1.2em;
	font-family: "Anton", serif;
	font-weight: 800;
	
}
h2 span {
	color: rgba(148,192,31,1);
}
.box h3 {
	padding-top:1em;
	text-transform: uppercase;
	color: rgba(219, 90, 50, 1);
	color: rgba(213, 213, 213, 1.0);
	margin-bottom: 0.5em;
	color: rgba(50, 125, 219, 1);
	color: rgba(43, 43, 43, 1);

	font-size: 2em;
font-weight: 300;
text-align: center;
}
.box h3 span.subtitle {
	padding-top:1em;
	text-transform: capitalize;
	color: rgba(219, 90, 50, 1);
	color: rgba(213, 213, 213, 1.0);
	font-size: 0.5em;
}
.box h4 {
	text-transform: uppercase;
	font-weight: 300;
	font-size: 0.7em;
}


.box .box h4 {
	text-transform: uppercase;
	font-weight: 300;
	font-size: 1.2em;
}
p {
	line-height: 1.5em;
}





ul {
	margin: 0;
	padding: 0;
}
li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.btn, .btn-default {
	
	background-color: rgba(76, 133, 197, 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;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
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);
}
.btn-orange {
	background-color: rgba(249,178,52,1);
	background-color: rgba(247,173,0,1);
}
.btn-orange:hover {
	color: rgba(37, 40, 46, 1.0) !important;
}
.btn-black {
	background-color: rgba(35,35,35,1);
	color: rgba(255,255,255,1);
}
.btn-default:hover {
	
	background-color: rgba(0, 172, 169, 1); /*VERDE EADV*/
	color: rgba(255,255,255,1) !important;

}
.btn-grey {
	background-color: #a5a9b4;
}

.btnnolink {
	cursor: none !important;
}

.text-center {
	text-align: center !important;
}
.text-right {
	text-align: right !important;
}
.text-left {
	text-align: left !important;
}
.text-uppercase {
	text-transform: uppercase;
}
.boxedcontainer {
	max-width: 1320px;
	margin: auto;
}
.haspadding div {
	padding: 0 1.5em;
}

.mainblock p a:link, .mainblock p a:visited {
	color:rgba(76, 133, 197, 1);
	color: rgba(135, 155, 144, 1);
	color: rgba(219, 90, 50, 1);
	color: rgba(213, 213, 213, 1.0);
	font-weight: bold;
}

input, button, select, optgroup, textarea, 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; 
}
div.errore {
	width: 100%;
	padding: 1em;
	background: rgba(180, 0, 0, 1);
	color: #fff;
	font-weight: 700;
	display: none;
}




select:required:invalid {
  color: #666;
}
option[value=""][disabled] {
  display: none;
}
option {
  color: #000;
}
.formfooter label {
	text-align: left;
	font-size: 1em;
	width: 100%;
	display: inline-block;
	margin-bottom: 0.5em;
}

.smalllabel a:link, .smalllabel a:visited {
	color: rgba(76, 133, 197, 1);
	font-weight: 700;

}

.checkbox label {
	display: inline-block !important; 
	font-size: 0.8em;
}

.bigloader {
	display: none;
	position: fixed;
	top: 0;
	left:  0;
	background: rgba(255,255,255,0.8);
	width:  100%;
	height: 100vh;
	z-index: 5000;
}
.bigloader img {
	position: absolute;
	top:  50%;
	left:  50%;
	transform: translate(-50%, -50%);
	max-width: 20em;
	height: auto;
}
.boxerrori {
	background-color: #ff0000;
	color: #fff;
    padding: 1em;
    margin: 0 0 2em 0;
    font-weight: 700;
}

.rounded-circle {
    border-radius: 50% !important;
}
.bg-light {
    background-color: #f8f9fa !important;
}
.shadowtop {
	box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
}
.shadowbottom {
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.imgbackground {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.form-control {
	display: block;
	width: 100%;
	padding: 0.375em 0.75em;
	font-size: 1em;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0.25em;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/*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);
}


.brandname {
	/*word-spacing: -0.3em;*/
	/*color: rgba(135,155,144,1);*/
	color: rgba(50, 125, 219, 1);
	color: rgba(43, 43, 43, 1);
	/*font-family: helvetica, georgia, verdana, arial, sans-serif;*/
	font-family: "Anton", serif;
  font-weight: 400;
  font-style: normal;
	
}
.brandname span {
	color: rgba(0,0,0,1);
}
.pointed {
	margin: 1em 0;
	list-style-position: inside;
	padding: 0; /* Rimuove il padding a sinistra */
}
.pointed li {
	list-style-type: square;
	margin-left: 1em; /* Aggiunge spazio per allineare i punti */
}

.theprice {
	font-size: 2em;
	color: rgba(255,255,255,1);
	background-color: rgba(219, 90, 50, 1);
	background-color: rgba(213, 213, 213, 1.0);
	text-align: center;
	padding: 1em 0;
}
.theprice strong {
	font-size: 3.7em;
    line-height: 1em;
}
.pricefull {

}
.pricefull {
  position: relative;
  display: inline-block;
  
}

.reservedpricebox {
	background-color: rgb(30 128 92);
}

.pricefull::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 0.1em; /* Spessore della linea */
  background: #ffffff; /* Colore della linea */
  transform: rotate(-20deg); /* Inclinazione della sbarra */
  transform-origin: center;
}

.elencoprartecipanti {
	display: none;
}
#altropartecipante {
	background-color: transparent;
	color: #1f8050;
	font-weight: 700;
	text-transform: uppercase;
	border: 0;
}
/*HEADER*/
header {
	height: 5em;
	width: 100%;
	background-color: rgba(100, 100, 115, 1.0); /*grigio chiaro*/
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9998;
	text-align: center;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	/*border-bottom: 0.5em solid #3da341;*/
}

.innerheader {
	height: 5em;
	position: absolute;
	width: 100%;
	text-align: left;
	font-weight: 700;
	/*color:  rgba(29,29,26,1);*/
	color: rgba(246, 246, 246, 1.0)
	text-transform: uppercase;
}
.innerheader a:link, .innerheader a:visited {
	text-decoration: none;
	color:  rgba(255, 255, 255, 1);
}
.innerheader a:hover {
	text-decoration: none;
	color: rgba(213, 213, 213, 1.0);
	color: rgba(213, 213, 213, 1.0);
}
.mainnav .whiplogotop {
	height: 1em;
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(273deg) brightness(107%) contrast(101%);
}
.mainnav .whiplogotop:hover {
	filter: invert(66%) sepia(9%) saturate(7487%) hue-rotate(5deg) brightness(104%) contrast(97%);
}
.menuleft .whiplogotop {
	height: 1em;
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(273deg) brightness(107%) contrast(101%);
}
.menuleft .whiplogotop:hover {
	filter: invert(66%) sepia(9%) saturate(7487%) hue-rotate(5deg) brightness(104%) contrast(97%);
}
header .logo {
	height: 3em;
    width: auto;
    position: absolute;
    left: 1em;
    top: 1em;
    
}
header a:hover .logo {
	filter: invert(60%) sepia(7%) saturate(443%) hue-rotate(201deg) brightness(99%) contrast(94%);
	filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(21deg) brightness(97%) contrast(103%);

	cursor: pointer;
}

.logosecond {
	width: 9em;
}
.menubtn {
	height: 3em;
	width: auto;
	position: absolute;
	right: 1em;
	top: 1em;
}
.menubtn img {
	height: 1.5em;
	width: auto;
	margin-top: 0.75em;
	margin-top: 0.5em;
	filter: invert(10%) sepia(5%) saturate(635%) hue-rotate(21deg) brightness(99%) contrast(98%);
	filter: invert(97%) sepia(0%) saturate(45%) hue-rotate(179deg) brightness(96%) contrast(92%); /*grigio chiaro*/
	filter: invert(11%) sepia(36%) saturate(3889%) hue-rotate(207deg) brightness(97%) contrast(92%); /*blu scuro*/
}
.closemenu  img {
	filter: invert(97%) sepia(0%) saturate(45%) hue-rotate(179deg) brightness(96%) contrast(92%); /*grigio chiaro*/
}
.menubtn:hover img {
	
	filter: invert(66%) sepia(9%) saturate(7487%) hue-rotate(5deg) brightness(104%) contrast(97%); /*arancio*/
	filter: invert(97%) sepia(0%) saturate(45%) hue-rotate(179deg) brightness(96%) contrast(92%); /*grigio chiaro*/
	cursor: pointer;
}
.mainnav {
	display: none;
	position: absolute;
	top: 1.5em;
	left: 25.5625em;
	left: 18.5625em;
	left: 12em;
}
.mainnav li {
	display: inline-flex;
	margin-right:2em;
	word-spacing: -0.1em;
}

.mainnav a span, .langnav a span {
    /*color: rgba(148,192,31,1); VERDE*/
    /* color: rgba(18, 152, 21,1); */
    /*color: rgba(0,0,0,1);  NERO */
    color: rgba(255, 255, 255,1);
  }

.toplangnav {
	position: absolute;
	top: 1.5em;
	right: 5em;
	display: none;
}
.toplangnav .btn {
	margin: 0;
}
.toplangnav a.btn:link, .toplangnav a.btn:visited {
	color: rgba(255,255,255,1);
}
.langnav li {
	display: inline-flex;
	padding: 0 1em;
}
.langnav a:link, .langnav a:visited, nav a:link, nav a:visited {
	text-decoration: none;
	/*color: rgba(87,87,86,1);
	color: rgba(87,87,86,1);
	color: rgba(123, 105, 175, 1);*/
	/*color: rgba(103, 101, 101, 1);*/
	color: rgba(229, 229, 229, 1);
	color: rgba(213, 213, 213, 1.0);
}
nav a:link, nav a:visited {
	text-decoration: none;
	/*color: rgba(87,87,86,1);
	color: rgba(87,87,86,1);
	color: rgba(123, 105, 175, 1);*/
	/*color: rgba(103, 101, 101, 1);*/
	color: rgba(229, 229, 229, 1);
	
}
.menuleft .langnav a:link, .menuleft .langnav a:visited, .menuleft nav a:visited, .menuleft nav a:visited {
	color:  rgba(229, 229, 229, 1);
}
.menuleft .langnav a:hover, .menuleft .langnav a:hover, .menuleft nav a:hover, .menuleft nav a:hover {
	color: rgba(219, 90, 50, 1); /*arancione*/
	color:  rgba(246, 165, 4, 1); /*arancione chiaro*/
	color: rgba(213, 213, 213, 1.0);
}



.langnav a:hover, nav a:hover {
	/*text-decoration: underline;
	text-underline-offset: 0.5em;*/
	color: rgba(0,0,0,1);
	color:  rgba(246, 165, 4, 1);
}
.langnav li {
	border-left: 0.1em solid rgba(255,255,255,1);
}
.langnav li.noborder {
	border-left: none;
}
/*menu principale*/

.menuleft {
	display: none;
	position: fixed;
	/*display: inline-block;*/
	top: 0;
	right: 0;
	z-index: 9999;
	width: 100%;
	height: calc(100vh);
	overflow-x: scroll;
	background: rgba(221,221,221,1);
	background: rgba(22,22,22,1);

	text-align: left;
	font-weight: 300;
	color: rgba(255,255,255,1);
	text-transform: uppercase;
	font-size: 1.5em;
	line-height: 1.7em;
	padding: 0 1em 1em 1em;
}
.menuleft .menubtn img {
	margin-top: 0;
}
a.menuchiedi:link, a.menuchiedi:visited, a.menuchiedi:hover {
	color: #ffffff !important;
}
a.menuchiedi:hover {
	/*background-color: rgba(76, 133, 197, 1);*/
	background-color: rgba(0, 172, 169, 1); /*VERDE LANGE*/
}

nav ul {
	margin-top: 0.9em;
}

nav li a:link, menu li a:visited {
	text-decoration: none;
	font-size: 0.8em;
}
nav li a:hover {
	color: rgba(0,0,0,1);
}
.nap {
	font-size: 0.5em;
	line-height: 1.5em;
}
.testowarning {
	font-weight: 700;
	color: #db5a32;
}
.partnership {
	text-align: center;
}
.partnership h3 {
	margin: 1.5em 0 1em 0;
    font-weight: 100;
    font-family: "PT Sans", serif;
    font-size: 0.8em;
}
.partnership img {
	height: 4em;
	width: auto;
	margin: 0 0.5em;
}
/*immagine principale*/
.topblock {
	width: 100%;
}
.mainblock, .mainlarge {
	width: 100%;
	padding: 0 1em 2em 1em;
	padding: 0 0 2em 0;
	overflow: hidden;
	font-size: 1.125em;
	margin: auto;
}
.mainblock {
	width: 100%;
	padding: 0 1em 2em 1em;
}
.headtitle {
	position: absolute;
	top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-size: 4.5em;
  background: rgba(255, 255, 255, 0.3);
	width: 100%;
}

.headtitle h1 strong.brandname {
	color: rgb(106 106 106) !important;
}

.headtitle h2 {
	font-weight: 100;
	color: #808080;
	font-size: 1em;
}

.whiplogo {
	width: 18em;
	height: auto;
	display: block;
	margin: 1em auto;
}

.maintitle {
	text-align: center;
	padding: 2.5em;
}
.maintitle h1 {
	font-size: 1.8em;
	text-transform: uppercase;
	font-weight: 400;
}
.maintitle h2 {
	font-size: 1.2em;
}

.box {
	position: relative;
	padding: 1em 0 1em 0;
}
.box p {
	margin: 0.5em 0;
}
.scroll-container {
    /*position: absolute;
    bottom: 1.2em;
    left: 0;*/
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

.row-studi {
    height: 10em;
    display: flex;  /* Utilizza flexbox */
}
.row {
	padding: 0 1em 2em 1em;
	
}
.invert-desktop {
	flex-wrap: wrap;
}
.row .box {
	order: 0; /* Ordine naturale */
}

.titolosezione {
	width: 100%;
	padding: 1em 0;
	text-align: center;
	font-size: 2em;
	text-transform: uppercase;
	font-weight: 400;
}

.forminpagina {
	width:100%;
	text-align:center;
}

.iconstudio-link {
    text-decoration: none !important;
    margin: 1em;
    width: 7em;
     width: 5em;
    text-align: center;
}

.icon-studio {
    width: 6em;
    padding: 0.2em;
    height: auto;
    border: 1px solid #DBDBDB;
    background-color: #fff;
}

.iconstudio-link span {
    font-size: 0.8em;
    display: block;
    width: 100%;
    text-align: center;
}

.blackveil {
    z-index: 20;
    background-color: rgba(0, 0, 0, .5);
    width: 100%;
    height: calc(100vh - 6.5em);
    display: block;
}
.mainimage  {
	width: 100%;
	aspect-ratio: 1;
	position: relative;
	display: inline-block;
	height: calc(100vh);
	height: calc(100vh - 14em);
}
.onda {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 2;
}
.imagedetailproduct img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-fit: cover;
	object-position: center center;
	object-position: top center;
}

.wistiavideo, .vimeoevideo, .youtubevideo, .bunnyvideo {
	border-radius: 0.45em;
}

.mainblock h1 {
	margin-bottom: 1em;
	margin-top: 1em;
	font-size: 1.6745em;
	font-weight: 500;
	font-weight: 700;
	text-transform: uppercase;
	
}
.mainblock h2 {
	font-size: 1.391em;
	font-weight: 700;
	color: rgba(148,192,31,1);
 
}
.mainblock h3 {
	margin-top: 1em;
}
.mainblock p {
	margin-bottom: 1em;
}
.boximg {
	text-align: center;
}
.mainblock img {
	max-width: 100%;
	height: auto;
	margin: auto;
	border-radius: 0.45em;
}

.mainblock ul, .mainblock ol, .boxperche ul, .boxperche ol {
	padding: 1em 0;
}

.mainblock li, .boxperche li {
	list-style: square;
	list-style-position: inside;
	padding-left: 0em;
	margin-bottom: 0.625em;
}

.boxperche ul {
  /*padding-left: 1.5em; /* spazio per il simbolo */
  margin: 0;
}

.boxperche li {
  list-style: square;
  list-style-position: outside;
  padding-left: 0; /* evita doppio rientro */
  margin-bottom: 0.625em;
  text-indent: 0; /* resetta eventuali indentazioni */
}

.map {
	width: 100%;
	height: 30em;
}

.boxperche {
	background-color: rgb(44 44 44);
    color: rgba(255, 255, 255, 1);
  background-color: rgb(51 51 51)
}
.boxperche h4 {
	font-weight: 100;
}
.boxperche h3 {
	color: #ffffff;
}

.boxperche ul {
	font-size: 1.2em;
}
.boxperche ul {
	font-size: 1.2em;
	text-transform: uppercase
}
.boxperche ul li a:link, .boxperche ul li a:visited {
	color: rgba(247,173,0,1)
}
.boxperche ul li strong {
	color: rgba(247,173,0,1)
}
/*TABELLA*/
.tablecontainer {
	width: 100%;
	overflow-x: scroll;
}
.fl-table {
	border-radius: 0.3125em;
	font-size: 0.88em;
	font-weight: normal;
	border: none;
	border-collapse: collapse;
	width: 100%;
	max-width: 100%;
	white-space: nowrap;
	background-color: white;
}

.fl-table td, .fl-table th {
	text-align: center;
	padding: 0.5em;
}

.fl-table td {
	border-right: 1px solid #f8f8f8;
	font-size: 0.75em;
	font-size: 1em;
}

.fl-table thead th {
	color: #ffffff;
	background: rgba(29,29,26,1)
}


.fl-table thead th:nth-child(odd) {
	color: #ffffff;
	background: rgba(158,158,158,1);
}

.fl-table tr:nth-child(even) {
	background: #F8F8F8;
}
.fl-table tr:hover {
	background: #dddddd;
}

/*MAIN BODY*/
main {
	width: 100%;
	position: relative;
	padding-top: 5em;
	padding-top: 3.6em;
}
main p {
	margin: 1em 0;
}
.importodona {
	display: none;
}

.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, .boxdati textarea, .boxdativisibile textarea {
	
	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 textarea {
	height: 10em;
}

.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;
}



.extrafooter {
	position: fixed;
	bottom: 0;
	width: 100%;
	left: 0;
	background-color: rgb(221 221 221);
	z-index: 100;
}

.extrafooter ul {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.extrafooter li {
  flex: 1;
  text-align: center;
  padding: 0.625em;
}

.extrafooter a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #333; /* Cambia il colore del testo a tuo piacimento */
}

.extrafooter img {
  width: 2em; /* Regola la larghezza dell'icona a tuo piacimento */
  height: auto; /* Regola l'altezza dell'icona a tuo piacimento */
  margin-bottom: 0.3em; /* Spazio tra l'icona e il testo */
}


#modulocontatti {
	display: block;
	height: 5em;
	width: 100%;
}

/*FOOTER*/
footer {
	font-size: 0.75em;
	padding: 1em 2em 4em 2em;
	width: 100%;
	background-color: rgba(246, 246, 246, 1.0); /*grigio chiaro*/
	box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
	text-align: center;
	padding-top:5em;


	position: fixed;
  /* display: inline-block; */
	top: 0em;
  right: 0;
  z-index: 9998;
  width: 100%;
  height: calc(100vh);
  overflow-x: scroll;

  /*display:none;*/

  position: relative;
	  z-index: auto;
	  height: auto;
	  display: inline-block;
}
footer h5 {
	font-size: 1.875em;
	font-weight: 300;
	text-transform: uppercase;
}
footer p, footer ul {
	margin-bottom: 2em;
	line-height: 1.5em;
}

footer a:link, footer a:visited {
	color: rgba(0,0,0,1);
}

.openfooter {
	font-size: 1em;
	width: 100%;
	background-color: rgba(246, 246, 246, 1.0); /*grigio chiaro*/
	box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
	text-align: center;
	margin-bottom: 5.5em;
	padding: 1em 0 2em 0;	
}
.openfooter img {
	height: 2em;
	width: 2em;
	vertical-align:middle;
}


.contactFormConfirm {
	display: none;
}
.smalltext {
	font-size: 0.6em;
}
.previewphoto {
	width: 10em; 
	height: 10em; 
	background-size: cover; 
	background-position: center; 
	margin: 1em 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 */
}

.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(213, 213, 213, 1.0);
	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);
    color: rgba(43, 43, 43, 1.0);

    font-size: 1em;
    /*font-family: helvetica, georgia, verdana, arial, sans-serif;
    font-weight: 800;*/
    font-family: "Anton", serif;
  font-weight: 400;
  font-style: normal;
	
	margin-bottom: 0.5em;
}

.codiceconferma {
    width: 100%;
    font-size: 7em;
    line-height: 1.5em;
    text-align: center;
}

/*tabella ricerca admin*/
#searchInput {
  width: 100%;
  padding: 8px;
  margin-top: 6px;
  margin-bottom: 16px;
  box-sizing: border-box;
}

#myTable {
  border-collapse: collapse;
  width: 100%;
  overflow-x: auto; /* Abilita lo scroll orizzontale */
  max-width: 100%; /* Imposta la larghezza massima */
}

#myTable th, #myTable td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

#myTable tr:nth-child(even) {
  background-color: #f2f2f2;
}

#myTable th {
  background-color: #4c85c5;
  color: rgba(0, 172, 169, 1);
  color: white;
}

#myTable th:hover {
	cursor: pointer;
  background-color: #61acff;
  color: white;
}

.orizontal-scroll {
	width: 100%;
	overflow-x: scroll;
}

.schedautente {
	width: 96%;
	height: calc(100vh - 2em);
	position: fixed;
	left: 2%;
	top: 1em;
	background-color: rgba(255,255,255,0.8);
	z-index: 999999;
	display: none;
}

.checkbox label.marketing {
	display:none !important;
}

.review-container {
  overflow: hidden;
  position: relative;
  width: 100%;
  /*height: 100px; /* Altezza desiderata dello scroller */
}

.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 75%;
  box-sizing: border-box;
  padding: 0.85em;
  margin-right: 1.7em;
  background-color: #f0f0f0;
}

.review h5 {
	font-size: 1.7em;
	margin-bottom: 0.5em;
	color: rgba(76,133,197,1);
}

@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/*body::before {
  content: "Mobile";
  position: fixed;
  top: 0;
  left: 0;
  background: red;
  color: white;
  padding: 0.5em;
  z-index: 99999;
}*/




@media (min-width:320px) { /* smartphones, portrait iPhone, portrait 480x320 phones (Android) */ 
	
}

@media (min-width:480px) { /* smartphones, Android phones, landscape iPhone */ 
	
}
@media (min-width:600px) { /* portrait tablets, portrait iPad, e-readers (Nook/Kindle), landscape 800x480 phones (Android) */ 
	
}
/*@media (min-width:913px) { /* tablet, landscape iPad, lo-res laptops ands desktops */ 
@media (min-width:768px) { /* tablet, landscape iPad, lo-res laptops ands desktops */ 
	/*body::before { content: "≥768px"; background: orange; }*/
	.onlymobile {
		display: none !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%;
	}
	.nomobile {
		display: inline-block !important;
	}

	.topblock {
		width: 100%;
		/*display: flex;
		align-items: flex-start;*/
	}

	.mainblock {
		max-width: 1200px;
		padding: 2em 2em 2em 2em;
	}
	.mainimage  {
		height: calc(100vh - 5em);
		height: calc(100vh);
		height: calc(100vh - 14em);
	}
	.menuleft {
		width: auto;
		padding-right: 20%;
	}
	

	/*BARRA DI NAVIGAZIONE*/
	
	/*BURGET MENU*/
	.header-outer {
		height: 8.5em;
	}
	.hamburger {
		display: none;
	}
	.menu {
		display: flex;
		gap: 1em;
		/*font-size: 1.125em;*/
		font-size:  0.8em;
		letter-spacing: 0.2em;
		position: relative;
		margin-top:  2.5em;
	}
	.menu li {
		padding: 0.8571em 0.8375em;
		border-bottom: 0.01em solid transparent;
	}
	.menu li:hover {
		color: rgba(255,200,0,1);
		transition: 0.3s ease;
		border-bottom: 0.01em solid rgba(255,200,0,1);
	}
	.menu li + li {
		margin-top: 0;
	}
	
	
	.dropdown {
		position: absolute; /*WITH RESPECT TO PARENT*/
		right: 0;
		background-color: rgba(33,37,41,1);
		top: 2.74em;
		padding: 2em 1em 1em 0em;
		padding-top: 3em;
	}
	footer {
		font-size: 1.25em;
		top: 3.1em;
	}

	.box h3 {
		padding-top:0em;
	}

	.box-iscrizione {
		width: calc(100% / 3 - 4em); /* Cambia a tre colonne */
	}

	.box .box {
		width: 100%;
		text-align: left;
	}
	
	.titolosezione {
		padding: 1em 1em;
		font-size: 3em;
		
	}
	.titolostep {
	    font-size: 2em;
	}
	.theprice {
		padding: 1em;
	}

	

	.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 */
    }
}

@media (min-width:1024px) { /* big landscape tablets, laptops, and desktops */ 
	 /*body::before { content: "≥1024px"; background: green; }*/
	header .logo {
		/*width: 21.5625em;*/
		top: 1em;
	}
	.mainimage  {
		height: calc(100vh);
		/*height: calc(100vh - 14em);*/
	}
	.mainvideo {
		/*max-height: calc(60vh);	*/
		width: 100%;
        height: auto;
	}
	.mainblock h1 {
		max-width: 70%;
		font-size: 3em;
	}
	.mainblock h1.grande {
		text-align: center;
		font-size: 4.5em;
	}
	.mainblock h2 {
		max-width: 90%;
	}
	nav ul {
		margin-top: 2.2em;
	}
	footer {
		font-size: 1.25em;
		font-size: 0.95em;
		padding-top:1em;

		position: relative;
	  z-index: auto;
	  height: auto;
	  display: inline-block;
	}
	.firstcolinput {
		margin-right: 0.9em !important;
	}

	.review {
	  flex: 0 0 25%; /* Visualizziamo tre recensioni alla volta */
	}

	.row {
	  display: flex;
	  width: 100%;
	  flex-wrap: wrap;
	}

	.box {
	  width: calc(50% - 1.25em);
	  margin: 0.625em;
	  padding: 1em;
	  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;
	}
	
}
@media (min-width:1280px) { /* hi-res laptops and desktops */ 
	/*body::before { content: "≥1280px"; background: blue; }*/
	.nodesktop {
		display: none !important;
	}
	.mainnav, .langnav {
		display: inline-block;
	}
	/*HEADER*/
	
	.maintitle h1 {
		font-size: 4.5em;
	}
	.maintitle h2 {
		font-size: 2em;
	}
	.box h3 {
		
		font-size: 3.2em;	
		font-weight: 400;
	}

	.mainlarge {
	  /*display: flex;*/
	  justify-content: center;
	}

	.mainlarge img {
		border-radius: 0.45em;
	}

	.box-container {
	  display: flex;
	  flex-wrap: wrap;
	}

	.row {
	  flex-wrap: nowrap;
	}

	
	
	.boxstudi {
		padding-bottom: 10em;
	}
	.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;
	}
	.row-studi {
		position: absolute;
		bottom: 1.2em;
		left: 0;
	}

	.box img {
	  max-width: 100%;
	  height: auto;
	}

	.box h2 {
	  margin-top: 10px;
	  margin-bottom: 10px;
	}

	.forminpagina {
		max-width: 1024px;
		margin: auto;
		text-align:center;
	}


}
@media (min-width:1991px) { /* larger desktops */ 
	.mainimage  {
		/*width: 50%;*/
	}
	.controlwidth {
		max-width: 50%;
	}
	.bookblock {
		width: 24em;
	}
	.caratteristiche i {
		display: inline-block;
	}
	.innerheader {
		width: 80%;
		left: 10%;
	}
	.boxstretto {
		max-width: 70%;
	}
}


