body, input:not([type=file]), textarea, select, button { font-family: 'Source Sans Pro', sans-serif; color: #212121; font-size:18px; }
input:not([type=file]), textarea, select, button, a.submitSimulation { font-size:20px; }
a { outline:none; text-decoration:none; color:#B3322E; }
.sx { text-align:left; }
.cx { text-align:center; }
.dx { text-align:right; }
.paddt { padding-top:40px; }
.paddb { padding-bottom:40px; }
.nascosto { display:none; }
input:not([type=submit]):not([type=file]), textarea, select { border:1px solid #ddd; }
input[type=submit], a.submitSimulation { background:#47bc86; border:none; border-radius:2px; color:#FFF; padding:5px 10px; cursor:pointer;}
input[type=text], input[type=password], input[type=email], input[type=url], .accettazioneprivacy { width:60%; }
input[type=text], input[type=password], input[type=email], input[type=url], input[type=submit], textarea { border-radius:10px; padding:10px 15px; display:block; margin:0 auto 20px; }
input[type=submit] { padding:10px 20px; }
label { cursor:pointer; padding:3px; display:block; border:1px dashed #fff; }
label:hover { background:#eee; border:1px dashed #cfcfcf; }
.boxform { text-align: left; border-radius: 10px; padding: 10px 15px; display: block; margin: 0 auto 20px; width: 60%; border: 1px solid #ddd; font-size: 20px; font-family: 'Source Sans Pro', sans-serif; color: #212121; background:#fff; }
select { background:#f4f4f4; border-radius:5px; }
textarea { width:100%; min-height:80px; }
p,h1,h2,h3,.wrapped { max-width:800px; margin:10px auto; text-wrap:balance; }
h1 { font-size:3.5rem; color:#fff; text-shadow:0 0 20px rgba(0,0,0,0.3); padding:30px 0; }
h3 { font-size:1.5rem; line-height:1.2em; max-width:800px; margin-top:80px; padding:20px 0; }
p { margin-top:10px; max-width:800px; }
#contenitore { padding:15px; }
.iconpng { width:20px; height:auto; vertical-align:middle; filter: invert(1); margin:5px; }
form { padding:10px; }
.icona { width:30px; vertical-align:middle; }
a.pulsante { background:#47bc86; color:#fff; padding:10px; border-radius:3px; }
.avviso { background:#FFF1D7; padding:10px; font-size:1.3rem; border-radius:3px; margin-bottom:20px; margin-top:3px; }
.flex { display:flex; flex-wrap:wrap; justify-content:space-between; align-items: stretch; }
.col { flex-basis: 31%; align-self: top; text-align:center; padding:20px 0; }
.col2 { display:flex; flex-basis: 48%; align-self: top; padding:20px 0; }
.col2>* { width:100%; }
.col5 { display:flex; flex-basis: 19%; align-self: top; padding:20px 0; overflow:hidden; }
.col4 { display:flex; flex-basis: 23%; align-self: top; overflow:hidden; padding:0; margin:1%; }
.col3 { display:flex; flex-basis: 30%; align-self: top; overflow:hidden; padding:0; margin:1%; }
.col5 a, .col4 a, .col3 a { display:flex; aspect-ratio:1 / 1; overflow:hidden; }
.col5 a img, .col4 a img, .col3 a img { max-width:100%; object-fit: cover; aspect-ratio:1 / 1; opacity:0.8; border-radius:10px; }
.col5 a img:hover, .col4 a img:hover, .col3 a img:hover { transition-duration: 1s; opacity:1; transform: scale(1.2); cursor:zoom-in; }
.col5 .filmato { background:rgba(255,255,255,0.2); }
.col5 .filmato div { font-weight:bold; text-align:center; color:#0D482C; font-size:1.1rem; padding:10px 0; }		
.filmato { width:100%; max-height:80vh; }
.w1200 { max-width:1200px; margin:5vh auto; }
header, footer, section { padding:0 20px; border-radius:10px; }
header .col2 { align-self: center; }
header .col2 img { width:255px!important; height:31px!important; }
footer a { color:#fff; }
footer img { width:auto; height:auto; max-width:300px; }
form { text-align:center; background:#f4f4f4; border-radius:10px; }
footer { padding:10px 0; background:#030C1B; color:#fff; }
footer .inside { display:inline-block; max-width:90%; width:500px; margin:0 auto; }
footer .col2:nth-child(2) .inside { display:inline-block; max-width:90%; width:300px; margin:0 auto; }
.parallax { min-height:82vh; background-image: url('images/home.jpg');  background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size:contain; border-radius:10px; margin:0 auto; max-width:1180px; }
.parallax div.flex { min-height:80vh; align-items:flex-end; text-align:center; }
.vantaggi { border-radius:10px; background:#ECE7E5; padding:15px 60px; margin:60px auto; }
#newsletter h3, .vantaggi h3 { font-size:3rem; margin-top:20px; padding:0; white-space: unset; text-wrap: balance; }
.bronzo { color:#7A6058; text-transform: uppercase; }
#newsletter h3 { color:#555; }
.testo { font-size:1.4rem; margin:0px auto 8vh; width:800px; max-width:90%; }

.comparetable { width:1200px; max-width:90%; margin:30px auto 50px; color:#fff; }
.comparetable .col2 { display: block; background:#eee; border-radius:20px; box-shadow:0 0 10px rgba(0,0,0,0.2); padding:0; line-height:1.5em;flex-basis:45%; margin:0 2%; padding-bottom:30px; }
.comparetable .col2 h2 { margin-top:0; border-radius:20px 20px 0 0; width:auto; text-align:center; padding:20px 10px; background:rgba(0,0,0,0.2) }
.comparetable .col2 h3 { color:#fff; text-align:center; width:auto; padding:5px 0; font-weight:normal; }
.comparetable .col2:nth-child(1) { background:#347557; }
.comparetable .col2:nth-child(2) { background:#326286; }
.comparetable ul { list-style:none; list-style-position: outside; padding:0; }
.comparetable ul li { margin: 0 0 0 30px; position: relative; border-bottom: 1px dotted #ccc; padding:5px 0; }
.comparetable ul li:last-child { border-bottom:none; }
.comparetable ul span { margin-left: -30px; position: absolute; color:rgba(0,0,0,0.6); font-size: 1rem; top: 10px; }

@-webkit-keyframes click-wave {
  0% {
	height: 30px;
	width: 30px;
	opacity: 0.35;
	position: relative;
  }
  100% {
	height: 200px;
	width: 200px;
	margin-left: -60px;
	margin-top: -60px;
	opacity: 0;
  }
}
@-moz-keyframes click-wave {
  0% {
	height: 40px;
	width: 40px;
	opacity: 0.35;
	position: relative;
  }
  100% {
	height: 200px;
	width: 200px;
	margin-left: -60px;
	margin-top: -60px;
	opacity: 0;
  }
}
@keyframes click-wave {
  0% {
	height: 30px;
	width: 30px;
	opacity: 0.35;
	position: relative;
  }
  100% {
	height: 200px;
	width: 200px;
	margin-left: -60px;
	margin-top: -60px;
	opacity: 0;
  }
}
.option-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  top: -5px;
  right: 0;
  bottom: 0;
  left: 0;
  height: 30px;
  width: 30px;
  -webkit-transition: all 0.15s ease-out 0s;
  -moz-transition: all 0.15s ease-out 0s;
  transition: all 0.15s ease-out 0s;
  background: #cbd1d8;
  border: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  margin-right: 0.5rem;
  outline: none;
  position: relative;
  z-index: 1000;
}
.option-input:hover {
  background: #A2E0C3;
}
.option-input:checked {
  background: #47BC86;
  color:#fff;
}
.option-input:checked::before {
  height: 28px;
  width: 28px;
  position: absolute;
  content: "✖";
  display: inline-block;
  font-size: 20px;
  text-align: center;
  line-height: 30px;
}
.option-input:checked::after {
  -webkit-animation: click-wave 0.65s;
  -moz-animation: click-wave 0.65s;
  animation: click-wave 0.65s;
  background: #47BC86;
  content: "";
  display: block;
  position: relative;
  z-index: 100;
}
.option-input.radio {
  border-radius: 50%;
}
.option-input.radio::after {
  border-radius: 50%;
}

@media only screen and (max-width: 1024px) {
	.col,.col2,.col3, .col5 { flex-basis:100%; width:100%; margin:10px 0; }
	.w1200 { margin:2vh auto; }
	input[type="text"], input[type="password"], input[type="email"], input[type="url"], .accettazioneprivacy { width: 80%; padding:10px; }
	h1 { font-size:10vw; }
	header .col2:nth-child(1), header .col2:nth-child(2) { display:block; text-align:center; padding:0; margin:5px auto; }
	header .col2:nth-child(2) div.dx { text-align:center; }
	header .col2:nth-child(2) img { max-width:30%; }
	.parallax { min-height:auto; background-attachment: scroll; margin-top:30px; background-size: cover; }
	.parallax div.flex { min-height:auto; flex-wrap: nowrap }
	.vantaggi { padding:15px 50px; }
	.vantaggi ul li { font-size:18px; line-height:1.4em; }
	.comparetable { max-width:100%; }
	.comparetable .col2 { flex-basis:100%; margin:0; margin-bottom:30px; }
	.col5 { flex-basis:48%; padding: 8px 0; margin:0; }
	.col3 { flex-basis:31%; padding: 8px 0; margin:0; }
	.boxform { width:78%; }
	footer .inside { display:block; max-width:90%; width:500px; margin:0 auto; }
}