/*** CSS RESET *****************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strong, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body {
    line-height: 1;
}
a{
    outline: 0;
}
/********************/
html, body {
	font-family: 'Noto Sans', sans-serif;
	font-size: 18px;
	margin:0px;
	padding:0px;
	line-height:1.3;
	height:auto;
	color: #333333;
	background-color: #f3f3f3;
	font-weight: 400;
}
img {
	border:0px;
}
div {
	outline: none;
}
a{
	color:#e31818;
	text-decoration: underline;
}
p{
	margin:0px;
	margin-bottom:6px;
}
h1{
	font-size: 38px;
    margin-top: 20px;
}
h2{
	font-size: 30px;
}
h3{
	font-size: 25px;
}
h4{
	font-size: 21px;
}
h5{
	font-size: 18px;
}
h6{
	font-size: 17px;
}
h1, 
h2, 
h3, 
h4, 
h5, 
h6
{
	/*font-weight: 400;*/
    margin-bottom: 10px;
    line-height: 1.1;
}
h1 > strong, h2 > strong, h3 > strong, h4 > strong, h5 > strong, h6 > strong {
    font-weight: 700;
}
small {
    font-size: 0.7rem;
}
hr {
	border:0px;
	border-bottom:1px solid #d7d7d7;
	height:1px;
	margin:25px 0px;
}
input, select, textarea, button {
	font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
}
ul {
	margin:0px;
	padding:0px;
}
ol, ul {
	list-style: none outside none;
}
.maiuscolo {
	text-transform:uppercase;
}
.rosso {
	color:#e31818;
}
/* editor */
.red {
	color:#e31818;	
}
.gray-box {
	background:#f5f5f5;
	padding: 20px;
}
.red-button {
	font-family: 'Open Sans', sans-serif;
	display:inline-block;
	text-transform:uppercase;
	text-decoration:none !important;
	padding: 20px 35px;
	color:#ffffff !important;
	font-weight: 700;
	margin: 20px 0;
	background: #e2001a;
    border: 0;
}
.red-button:hover {
	text-decoration: none;
	background: #494949;
}
.green-button {
	font-family: 'Open Sans', sans-serif;
	display:inline-block;
	text-transform:uppercase;
	text-decoration:none !important;
	padding: 20px 35px;
	color:#ffffff !important;
	font-weight: 700;
	margin: 10px 0;
    background-color: #27ae2e;
    border: 0;
}
.green-button:hover {
	text-decoration: none;
	background: #494949;
}
.green-button:disabled {
	text-decoration: none;
	background: #ccc;
}
/*.green-button:before {
    content: "";
    background-image: url(../images/send.svg);
    background-size: content;
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
}*/
.ar {
    direction: rtl;
    font-size: 130%;
	font-family: sans-serif;
}
/* */

.container {
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
}
/* HEADER */
.header {
	overflow:hidden;
}
.lingua {
    text-align: right;
    margin: 10px 0;
}
.elenco-cataloghi {
    list-style: none;
    clear: both;
    text-align: left;
}
.elenco-cataloghi li {
    list-style: none;
    margin-right: 10px;
    margin-bottom: 10px;
    display: inline-block;
    background-color: #fff;
    text-align: center;
    position: relative;
}
@media handheld, only screen and (max-width: 1024px) {
    .elenco-cataloghi li {
        display: block;
        margin-right: 0;
        margin-bottom: 10px;
    }
}
.elenco-cataloghi li.active:after {
    content: '';
    position: absolute;
    background-image: url('./images/selezionato.svg');
    width: 22px;
    height: 22px;
    right: 5px;
    top: 10px;
}
.elenco-cataloghi li a {
    text-decoration: none;
    display: block;
    min-width: 80px;
    padding: 8px 35px;
    color: #333;
}
.elenco-cataloghi li.active a {
    color: #e31818;
}
.carrello {
    position: fixed;
    right: 30px;
    bottom: 30px;
    background-color: #fff;
    padding: 25px;
    box-shadow: 0 0 15px rgba(0,0,0,0.2);
    min-width: 280px;
    border: 1px solid #ccc;
    border-radius: 8px;
}
.carrello h5 {
    margin-bottom: 20px;
}
.carrello h5 a {
    display: none;
}
.carrello ul {
    max-height: 150px;
    overflow: auto;
}
.carrello ul li {
    text-align: left;
    font-size: 16px;
    padding: 6px 0;
}
.carrello ul li a {
    margin-left: 10px;
}
@media handheld, only screen and (max-width: 1023px) {
    .carrello {
        bottom: 10px;
        right: 10px;
        width: calc(100% - 70px);
    }
    .carrello ul {
        display: none;
    }
    .carrello h5 {
        margin-bottom: 0px;
    }
    .carrello.carrello.aperto h5 {
        margin-bottom: 10px;
    }
    .carrello.aperto ul {
        display: block;
    }
    .carrello h5 a {
        display: inline;
        margin: 0 5px;
    }
}
.successo {
    background-color: #d4edda;
    color: #155724;
    padding: 25px;
    border: 1px solid #c3e6cb;;
    border-radius: 8px;
    margin-top: 20px;
}
.errore {
    background-color: #f8d7da;
    color: #721c24;
    padding: 25px;
    border: 1px solid #f5c6cb;;
    border-radius: 8px;
    margin-top: 20px;
}
.main {
    background-color: #fff;
    margin: 0 10px;
    overflow: hidden;
}
.selection {
    text-align: center;
    padding: 20px 0;
}
.selection a {
    margin: 0 10px;
}
.logo-box {
	background-color: #e2001a;
    margin: 0 10px;
}
.logo {
	overflow:hidden;
    text-align: center;
    padding: 10px;
}
.img {
    margin: 0 10px;
}
.img img {
    display: block;
    width: 100%;
}
.form-box {
	overflow:hidden;
	max-width:960px;
	margin: 0 auto 20px;
    
    /*display: none;
    height: 0;
    transition: height 500ms;*/
}
.form-box.visible {
    display: block;
    height: auto;
}
.form-box .layout {
    margin-top: 0;
}
.co-data {
    display: none;
    height: 0;
    transition: height 500ms;
}
.co-data.visible {
    display: block;
    height: auto;
}
.invia {
	overflow: hidden;
}
.invia-box {
	margin-left:25%;
}
.sfondo-grigio {
	overflow:hidden;
	background: #f6f6f6;
	margin-bottom: 30px;
}
.sfondo-rosso {
	overflow:hidden;
	background: #e2001a;
	margin-bottom: 30px;
    
    padding: 20px 75px;
    text-align: center;
}
.grigio-box {
	overflow:hidden;
	max-width:960px;
	margin:0px auto;
	padding:30px 0;
}
.indirizzi {
	overflow:hidden;
	max-width:960px;
	margin:0px auto 60px;
}
.col1, .col2, .col3 {
	float:left;
	width:325px;
	margin:0 10px 20px;
}
.col3 {
	width:250px;	
}

.main-form {
    background-color: #f6f6f6;
    padding: 50px 0;
}
.steps ul {
    margin-bottom: 50px;
}
.steps ul li {
    list-style-type: none;
    margin: 0;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    width: calc(33.333% - 81px);
    border-right: 1px solid #fff;
    padding: 0 40px;
}
.steps ul li:last-child {
    border-right: 0;
}
.steps svg {
    display: block;
    margin: auto;
    max-width: 100%;
}
.didascalia {
    font-size: 16px;
    margin-top: 20px;
}
.form-form {
    padding: 75px;
}
.footer {
    margin: 30px 10px;
    text-align: center;
    font-size: 14px;
}
.footer .foot-sx {
    float: left;
    text-align: left;
}
.footer .foot-dx {
    float: right;
}
.footer p {
    margin: 10px;
}
.footer .social {
    margin: 20px;
}
.footer .social li {
    display: inline-block;
    margin: 0 1px;
}
.footer img {
    max-width: 100%;
}
.video iframe {
    display: block;
}
.privacy {
    max-width: 960px;
    padding: 30px;
    font-size: 12px;
    line-height: 1.1;
}
.fancybox-slide--iframe .fancybox-content {
    max-width: 500px;
}
.grazie-info {
    max-width: 500px; 
    text-align: left;
    margin: auto;
    padding: 0 30px;
}
.grazie-info img {
    margin-right: 30px;
}
.grazie-info p {
    overflow: hidden;
    padding-bottom: 5px;
}

/* FORM */
.riga{
	overflow:hidden;
	margin-bottom: 25px;
}
.riga > label {
	margin-left: 15px;
	float:left;
	line-height:30px;
    font-size: 16px;
    margin-bottom: 3px;
}
.riga > label.req:after {
    content: " (*)";
}
.riga.recall > input {
    margin-right: 10px;
    height: 24px;
}
.riga.recall > label {
    width: 80%;
    font-size: 13px;
}
.riga.checkprivacy > input {
    margin-right: 10px;
    height: 24px;
    vertical-align: middle;
}
.riga.checkprivacy > label {
    width: 80%;
    font-size: 14px;
    margin-left: 0;
}
.riga > div.label {
	width:95%;
	margin-right:5%;
	float:left;
	line-height:30px;
}
.riga > div.interesse {
	width:70%;
	margin-right:5%;
	float:left;
	line-height:30px;
}
.riga h5 {
    margin: 15px;
}
.form-form table {
    width: 100%;
}
.form-form table tr td {
    padding: 5px 0;
}
.check {
    float: left;
    width: 40%;
}
.riga > input{
	width:auto;
	float:left;
}
.riga > input[type='text'], .riga > input[type='email'], .riga > textarea, .riga > select {
	width: 100%;
	float:left;
	height:40px;
	background: #fff;
	border: 0;
    padding: 0 15px;
}
.riga > textarea {
    height: 100px;
    width: 100%;
    font-size: 14px;
}
.riga > textarea.disclaimer {
    font-family: sans-serif;
	color: #666666;
    font-size: 11px;
}
.riga-check {
	margin-bottom:5px;
	width:45%;
	float:left;
}
.riga-check input{
	margin-right:10px;
}
.riga > input[type='submit'] {
	padding:5px 50px;
	font-weight:bold;
}





/* Customize the label (the container) */
.custom-input {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px !important;
  cursor: pointer;
  line-height: normal !important;
  /*font-size: 22px;*/
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default radio button */
.custom-input input {
  position: absolute;
  opacity: 0;
}

/* Create a custom radio button */
.radiobtn {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #ccc;
  border-radius: 50%;
}

/* On mouse-over, add a grey background color */
.custom-input:hover input ~ .radiobtn {
  background-color: #aaa;
}

/* When the radio button is checked, add a blue background */
.custom-input input:checked ~ .radiobtn {
  background-color: #27ae2e;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.radiobtn:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the indicator (dot/circle) when checked */
.custom-input input:checked ~ .radiobtn:after {
  display: block;
}

/* Style the indicator (dot/circle) */
.custom-input .radiobtn:after {
  top: 9px;
  left: 9px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: white;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
}

/* On mouse-over, add a grey background color */
.container:hover input ~ .checkmark {
  background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.container input:checked ~ .checkmark {
  background-color: #27ae2e;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.container input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.container .checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}




/* */
/***************************************************************************************/
.layout {
	margin: 30px auto;
	overflow: hidden;
}
/*.main .layout:last-child {
    margin-bottom: 0;
}*/
.testo-lay0 {
	margin: 0px 10px;
}
.testo-lay1 {
	margin-left:10px;
    overflow: hidden;
}
.testo-lay2 {
    margin-right:10px;
    overflow: hidden;
}
.testo-lay1 ul {
    margin-top: 10px;
    font-size: 20px;
    list-style-image: url('../images/tick.svg');
}
.testo-lay1 ul li {
    line-height: 32px;
    margin-left: 40px;
}
.foto-lay1 {
	float:right;
	margin:5px 10px 0px 20px;
	width: 325px;
    text-align: center;
}
.sfondo-grigio .foto-lay1 {
	width: 400px;    
}
.foto-lay2 {
	float:left;
	margin:5px 20px 0px 10px;
	width: 325px;
    text-align: center;
}
.foto-lay1 img, .foto-lay2 img {
    max-width: 100%;
	margin-bottom:5px;
}
.due-img-affiancate {
	float:left;
	width: calc(50% - 20px);
	text-align:center;
	display:inline;
	margin: 0px 10px;
}
.due-img-affiancate img{
	max-width:100%;
}

@media screen and (max-width: 958px) {
    .container {
        width: 100%;
    }
    .layout, .sfondo-grigio .layout {
        width: auto;
    }
    .main-form {
        padding: 0;
    }
}

/* RESPONSIVE */

/* Smartphones (portrait and landscape) ----------- */
@media handheld, only screen and (max-width: 767px) {
/* Styles */
    body {
        font-size: 15px;
        background-color: #fff;
    }
    h1{
        font-size: 32px;
        margin-top: 0;
    }
    h2{
        font-size: 24px;
    }
    h3{
        font-size: 19px;
    }
    h4{
        font-size: 15px;
    }
    h5{
        font-size: 14px;
    }
    h6{
        font-size: 13px;
    }
    .nomob {
        display: none;
    }
    .layout {
        margin: 10px auto;
    }
	.header {
		height:auto;
	}
	.header-box {
		text-align:center;
	}
	.logo, .heading {
		float:none;
	}
	.heading {
		margin: 0 10px 20px;
	}
    .sfondo-rosso {
        padding: 20px 25px;
    }
    .steps ul li {
        width: calc(33.333% - 21px);
        padding: 0 10px;
    }
    .form-form {
        padding: 25px;
    }
    .didascalia {
        font-size: 13px;
    }
	.form-box .foto-lay2 {
		display:none;
	}
	.testo-lay1, .testo-lay2 {
		max-width: none;
		margin: 0 10px;
	}
	.check {
		width: 100%;
	}
    .foto-lay1, .foto-lay2, .sfondo-grigio .foto-lay1 {
        float: none;
        width: 200px;
        margin: auto;
        text-align: center;
    }
    .grazie-info img {
        width: 60px;
    }
    .visual .title {
        margin: 10px;
    }
    .selection a {
        margin: 10px;
    }
}
/* iPads (portrait) ----------- */
@media only screen and (min-width: 768px) and (max-width: 959px) {
/* Styles */
	.header {
		height:auto;
	}
	.header-box {
		text-align:center;
	}
	.logo, .heading {
		float:none;
	}
	.heading {
		margin: 0 10px 20px;
	}
	.form-box .foto-lay2 {
		display:none;
	}
	.testo-lay2 {
		max-width: none;
		margin: 10px;
	}
    .visual .title {
        margin: 10px;
    }
}