*{
    margin: 0;
    padding: 0;
}
.main{
    overflow: hidden;
    /* height: 100vh; */
    font-family: 'Roboto', sans-serif;
}
.clearer{
    clear: both;
}
.col-md-6, .col-xs-12{
    padding-left: 0 !important;
    padding-right: 0 !important;
}
img {
	width:100%;
	height:100vh;
	/* object-fit: contain; l'immagine viene gestita mantenendo le proporzioni */
	/* object-fit: fill; default, l'immagine viene "stretchata" */
	/* object-fit: scale-down; uguale a contain */
	/* object-fit: none; l'immagine viene gestita mantenendo le proporzioni ma ritagliandone gran parte */
	object-fit: cover; /* stesso comportamente del background-size, ottimale per la maggior aprte delle situazioni */
	object-position: 0 0;
	overflow: hidden;
}
.info{
    position: absolute;
    color: #fff;
    bottom: 150px;
    left: 100px;
    right: 100px;
}
.info h1{    
    font-weight: bold;
    font-size: 71px;
}
.info p{
    font-family: 'Roboto', sans-serif;
    font-size: 17px;
    font-weight: 400;
    text-align: justify;
}
.info p{
    margin-bottom: 0;
}
.info p.first{
    margin-bottom: 35px;
}
.form{
    padding: 100px 100px 85px;    
}
.form h2{
    font-weight: bold;
    font-size: 44px;
    color: #3d4657;
}
.orange{
    color: #f09b2d;
    font-size: 17px;
    font-weight: bold;
    line-height: 15px;
}
.grey{
    color: #747b8a;
    font-size: 17px;
    font-weight: 400;
    line-height: 15px;
}
.green{
    color: #3daa35;
    font-size: 17px;
    font-weight: 700;
}
.form form{
    margin-top: 50px;
}
.form form input[type="text"], .form form input[type="email"]{
    width: 100%;
    border: none;
    height: 50px;
    margin-bottom: 10px;
    border-bottom: 1px solid #7b879e;
    font-size: 19px;
    color: #7b879e;
}
textarea{
    display: block;
    width: 100%;
    border: none;
    margin-bottom: 10px;
    border-bottom: 1px solid #7b879e;
    font-size: 19px;
    color: #7b879e;
    height: 100px;
}
.form form input[type="checkbox"]{
    margin-top: 40px;
    margin-right: 5px;
    width: 5%;
    display: block;
    float: left;
}
.form form label{
    display: block;
    float: left;
    width: 90%;
    margin-top: 35px;
    font-weight: 400;
    color: #747b8a;
    font-size: 12px; 
    text-align: justify;
}
.form form input[type="submit"], a.return{
    font-size: 21px;
    color: #fff !important;
    font-weight: 400;
    text-align: center;
    border-radius: 30px;
    background-color: #f09b2d;
    width: 160px;
    height: 60px;
    padding: 10px 30px;
    margin-top: 40px;
    float: right;
}
a.return{
    font-size: 18px;
    line-height: 40px;
}
a:focus, a:hover{
    text-decoration: none !important;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */   
    font-size: 19px;
    color: #7b879e;
}
::-moz-placeholder { /* Firefox 19+ */
    font-size: 19px;
    color: #7b879e;
}
:-ms-input-placeholder { /* IE 10+ */
    font-size: 19px;
    color: #7b879e;
}
:-moz-placeholder { /* Firefox 18- */
    font-size: 19px;
    color: #7b879e;
}
.mobile-only{
    display: none;
}
.arrow {
    text-align: center;
    margin: 80px 0 0;    
}
.arrow i{
    font-size: 30px;
    color: #fff;
}
.bounce {
    -webkit-animation: bounce 2s infinite;
    animation: bounce 2s infinite;
}
#compiled{
    display: none;
}
#compiled .grey, #compiled .orange{
    line-height: inherit;
}
@-webkit-keyframes bounce {
    0%,
    20%,
    50%,
    80%,
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    40% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px);
    }
    60% {
      -webkit-transform: translateY(-15px);
              transform: translateY(-15px);
    }
  }
  @keyframes bounce {
    0%,
    20%,
    50%,
    80%,
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    40% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px);
    }
    60% {
      -webkit-transform: translateY(-15px);
              transform: translateY(-15px);
    }
  }
@media only screen and (max-width:768px){
    .mobile-only{
        display: block;
    }
    .info{
        bottom: 100px;
        left: 50px;
        right: 50px;
    }
    .info h1{    
        font-size: 40px;
    }
    .form{
        padding: 100px 50px 85px;    
    }
    .form h2{        
        font-size: 35px;
    }
    .orange{
        font-size: 19px;     
        line-height: 20px;
    }
    .form form input[type="submit"], a.return{
        font-size: 21px;
        color: #fff;
        font-weight: 400;
        text-align: center;
        border-radius: 30px;
        background-color: #f09b2d;
        width: 160px;
        height: 60px;
        padding: 10px 30px;
        margin: 40px auto 0;        
        display: block;
        float: none;
    }
    a.return{
        font-size: 18px;
    }
}
@media only screen and (max-width: 768px) and (orientation:landscape){
    .info {
        bottom: 0px;
    }
    .arrow {
        text-align: center;
        margin: 40px 0 0;    
    }
    .arrow i{
        font-size: 25px;
    }
}