co*{position: relative;}
a:hover, a:focus{text-decoration: none;}
a{display: inline-block; border-bottom: 1px solid transparent; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; transition: all .3s ease-in-out;}
a,h1,h2,h3, small, b{margin:0; line-height: 100%;}
p{line-height: 130%; margin:0; font-size: 16px;}
ul{list-style: none; padding:0; margin: 0;}
body{max-width: 1920px; margin-left: auto; margin-right:auto;}
.outer-container{max-width:1760px; margin-left:auto; margin-right:auto; padding-left:15px; padding-right:15px;}
.half-container{width:100%;}
.f-left{float: left;}
.f-right{float: right;}
.align-center{text-align: center;}
.align-right{text-align: right;}
.color-white{color:#FFF;}
.color-primary{color: #55200e;}
.color-secondary{color: #be8f52;}
.color-previcini{color:#dd471d;}
.bg-white{background-color: #FFF;}
.bg-primary{background-color: #55200e;}
.bg-secondary{background-color: #eddaab;}
.bg-grey{background-color: #fafafa;}
.font-lato{font-family: "Lato", sans-serif;}
.font-playfair{font-family: "Playfair Display", serif;}
.light{font-weight: 300;}
.regular{font-weight: 300;}
.bold{font-weight: 700;}
.italic{font-style: italic;}
.clearfix{clear: both;}
.full-height{height: 100%;}
.full-width{width: 100%;}
.p-top-xl{padding-top: 140px;}
.p-top-l{padding-top: 80px;}
.p-top-m{padding-top:60px;}
.p-top-s{padding-top:40px;}
.p-bottom-xl{padding-bottom: 140px;}
.p-bottom-l{padding-bottom: 80px;}
.p-bottom-m{padding-bottom: 60px;}
.m-bottom-m{margin-bottom: 40px;}
.m-bottom-s{margin-bottom: 30px;}
.p-bottom-s{padding-bottom: 40px;}
.d-table{display: table;}
.d-table-cell{display: table-cell; vertical-align: middle;}
.d-inline-block{display: inline-block;}
.col-30{float:left; width:30%;}
.col-15{float:left; width:15%;}
.col-40{float:left; width:40%;}
/*********HEADER******************/
header{padding:16px 0; z-index: 9; background-color: #FFF;}
nav.menu{width:100%; display: table; height: 87px;}
.link-menu{padding-right:28px; float:left;}
.link-menu>a{font-size: 14px; line-height: 24px; margin:40px 0 20px; border-bottom: 1px solid transparent; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; transition: all .3s ease-in-out;}

.foot-link>a{-webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; transition: all .3s ease-in-out;}
.link-menu.lang{float:left; margin:0;}
.logo{display: block; width: 167px; margin: -87px auto 0 auto;}
.social-box{margin-right:50px;}
.social-box a, .lang-box a, .lang-box span{float:left; font-size:14px; line-height: 28px; margin:40px 0 20px;}
.lang-box span{padding:0 3px;}
.social-box a{background-size: 60%; background-position: center; border-radius: 100%; margin-right: 10px; width: 30px; height: 30px; background-repeat: no-repeat;}
.facebook{background-image: url('../img/facebook.svg');}
.instagram{background-image: url('../img/instagram.svg');}

/***********HOMEPAGE**************/
.testata-home{background-image:url('../img/home/home-header.jpg'); background-size: cover; background-position: top center;}
.content-testata-home{height:600px; background-color: rgba(0,0,0,0.3); width: 100%;}
.testata-home p{font-size:70px; line-height: 60%;}
.testata-home span{font-size: 50px; line-height: 110%;}
.testata-home b{font-size:70px; line-height: 100%;}
.testata-home h1{font-size: 58px;}
.fascia-subtitle{padding:55px;}
.fascia-subtitle.foot{padding:55px 0;}
.fascia-subtitle h2, .col-address h2, .box-form h2{font-size: 46px; line-height: 1.2;}

.box-text-half-col{height:445px; padding:50px 35px 50px 35px;}
.box-text-half-col h3{font-size: 45px;}
.box-text-half-col .sub-title, .box-form h3{font-size: 32px;}
.box-text-half-col p{font-size: 17px; line-height: 1.4;}
.box-text-half-col.brand-staff p{font-size: 16px; line-height: 1.3;}
.box-img-half-col{overflow: hidden; height:445px; }
.img-half-col{width:100%; top: 50%; transform: translateY(-50%);}

/************PAGINE INTERNE************/
.testata-interna{background-size: cover; background-position: top center;}
.testata-interna.gelato{background-image:url('../img/gelato/gelato-header.jpg');}
.testata-interna.brand-staff{background-image:url('../img/brand-staff/brand-staff-header.jpg');}
.content-testata-interna{height:275px; background-color: rgba(0,0,0,0.3); width: 100%;}
.testata-interna h1{font-size: 70px;}
.col-address{margin-top:30px; padding-left:85px; background-image: url('../img/gelato-icon.svg'); background-position: left 10px; background-repeat: no-repeat; background-size: 48px auto;}
.gmap-link{font-size: 17px; margin-bottom:15px; display: inline-block;}
.month{font-size: 24px;}
.phone-hours{font-size: 20px; margin-bottom:20px; line-height: 100%;}
.img-contacts{float:left;}
.input-text, textarea{
    background-color: transparent; 
    padding:12px 13px; 
    -webkit-appearance: none; 
    outline: none; 
    color:#be8f52;
    border:1px solid #be8f52; 
    width: 100%; 
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-size: 14px;    
    margin-bottom: 27px;
}
 textarea{min-height:120px;}
.input-submit{
    display: table; 
    padding:13px 75px;  
    font-family: "Lato", sans-serif;
    font-size: 17px;     
    margin-top:10px;
    -webkit-appearance: none; 
    outline:none; 
    background-color: #55200e;
    color:#FFF;
    border:0;
 }
::-webkit-input-placeholder{opacity: 0.7; color:#be8f52;}
::-moz-placeholder{opacity: 0.7; color:#be8f52;}
:-ms-input-placeholder{opacity: 0.7; color:#be8f52;}
input[type="checkbox"]{display: none;}
input[type="checkbox"] + label:before {
  border: 1px solid #be8f52; 
  content: "\00a0";
  display: inline-block;
  font-size: 28px;
  height: 16px;
  line-height: 10px;
  margin: 0 10px 0 0;
  padding: 0;
  vertical-align: top;
  width: 16px;
}
input[type="checkbox"]:checked + label:before {
  background: transparent; 
  content: "\2713";
  text-align: center;
}
input[type="checkbox"]:checked + label:after {
  font-weight: bold;
}
input[type="checkbox"] + label{color:#be8f52; font-size: 12px;}
.error{font-family: "Lato", sans-serif;color: red;}
.message p{margin-top:10px; display: none; padding:10px 5px; font-size: 14px; font-weight: 700;}
.message p.ok{color:green; display: block;}
.message p.ko{color:red; display: block;}

.mappa-sito{height:calc(100vh - 438px); }



.torte .boxtorte h2{
	padding-top: 10px;
}
.torte .boxtorte p{
	padding-bottom: 10px;
}


/*************FOOTER****************/
.fascia-mappa{background-image:url('../img/mappa-foot.jpg'); background-size: cover; background-position: center; padding:100px 0;}
.box-mappa{padding:40px 25px; max-width: 680px; margin:0 auto;}
.border-sx-dx{border-left:1px solid #8d837b; border-right:1px solid #8d837b;}
.box-mappa>a, .box-mappa>p{font-size: 28px; line-height: 38px; display: table; margin: 0 auto 38px auto;}
.fascia-mappa .addr{font-size: 23px; color:#413225;}
.fascia-mappa .addr>span{font-size: 16px; color:#8d837b; margin-top:10px; display: block;}
.logo-footer{max-width:276px; margin-bottom:15px;}
.footer-top{padding:55px 0;}
.footer-top p{font-size: 14px;}
.footer-top .foot-link a{display: inline-block; font-size: 14px; line-height: 22px; margin:10px 15px 0;}
.footer-top .social-box{margin-right:0;}
.footer-top .social-box a{line-height: 22px; margin: 10px 0 0 10px;}
.footer-bottom{padding: 25px 0;}
.footer-bottom p, .footer-bottom a{font-size: 12px;}
.footer-bottom a{display: inline-block;}

/************MEDIA QUERY**********/
@media all and (min-width:1024px) and (max-width:1500px)
{
    .img-half-col{width:auto; height:100%; top:0; left: 50%; transform: translateX(-50%);}
}
@media all and (min-width:1201px)
{
    .no-padding-lg{padding:0;}
    .no-margin-lg{margin: 0;}
    .half-container{width:600px;}
    .link-menu>a:hover, .foot-link>a:hover, a:hover{border-bottom: 1px solid #55200e;}
    .logo:hover{border-bottom: 1px solid transparent; }
    .box-mappa a:hover{border-bottom: 1px solid #be8f52;}
    .no-border:hover{border-bottom: 0px solid transparent;}
    .link-menu:hover{font-weight: 700;}
}
@media all and (min-width:1024px) and (max-width:1200px)
{
    .no-margin-md{margin: 0;}
    .no-padding-md{padding:0;}
    .box-gusti{padding:0 30px;}
    .box-gusti>img{width:100%;}
    header{padding:55px 0;}
    .logo{width: 280px; margin: -150px auto 0 auto;}
    nav.menu{height: 100px; margin-top: 10px;}
    .testata-home p{font-size:55px; line-height: 60%;}
    .testata-home span{font-size: 40px; line-height: 110%;}
    .testata-home b{font-size:55px; line-height: 100%;}
    .testata-home h1{font-size: 40px;}
    .testata-interna h1{font-size: 55px;}
    .fascia-subtitle h2, .col-address h2, .box-form h2{font-size: 36px;}
    .content-testata-home{height:450px;}
}
@media all and (min-width:768px) and (max-width:1023px)
{
    .content-testata-home{height:450px;} 
    .no-padding-sm{padding:0;}
    .no-padding-sm-sx{padding-left: 0;}
    .no-padding-sm-dx{padding-right: 0;}
    .no-margin-sm{margin:0;}
    main{padding-top:75px;}
	main.torte {
	    padding-top: 117px;
	}
    header{padding:16px 0; position: fixed; z-index: 99; width: 100%;}
    .testata-home p{font-size:50px; line-height: 60%;}
    .testata-home span{font-size: 35px; line-height: 110%;}
    .testata-home b{font-size:50px; line-height: 100%;}
    .testata-home h1{font-size: 35px;}
    .testata-interna h1{font-size: 50px;}
    .fascia-subtitle h2, .box-form h2{font-size: 30px;}
    .content-testata-home{height:450px;}
    .box-gusti{padding:0 30px;}
    .box-gusti>img{width:100%;}
    .box-text-half-col{height:auto;}
    .logo{width:220px; margin:0 auto;}
    nav.menu{display: none; position: fixed; top:0; bottom:0; left:0; right:0; background-color: #be8f52; z-index: 9; padding:10vh 0; height:auto;}
    nav.menu.opened{height:100vh;}
    nav.menu .f-left, nav.menu .f-right{float:none;}
    .link-menu>a{font-size: 24px; text-align: center;}
    .social-box a, .lang-box a, .lang-box span{font-size: 24px;}
    .social-box{display: table; margin: 0 auto;}
    .lang-box>a, .lang-box span{margin: 0;}
    .lang-box {display: table; margin: 10px auto; }
    .cont-lang-social{width:100%;}
    .link-menu{font-size: 24px; line-height: 10vh; float:none; padding-right:0;text-align: center;}
    #mobile-menu{display: block; z-index: 10; position: absolute; right: 16px; top: 15px;}
    #mobile-menu span{height:3px; margin-bottom:6px; background-color: #55200e; width: 32px; display: block; transition: all .3s linear;}
    #mobile-menu.opened span:nth-child(1){transform: rotate(45deg);margin-top:10px;}
    #mobile-menu.opened span:nth-child(2){width:0px;}
    #mobile-menu.opened span:nth-child(3){transform: rotate(-45deg); margin-top:-18px;}
    .col-address{margin:20px 0 0 24px; padding-left:28px; background-position: left 5px; background-repeat: no-repeat; background-size: 22px auto;}
    .col-address h2{font-size: 26px;}
    .gmap-link{font-size: 16px; margin-bottom:10px; }
    .month{font-size: 18px;}
    .phone-hours{font-size: 16px; margin-bottom:15px;}
}
@media all and (min-width:481px) and (max-width:767px)
{
    .content-testata-home{height:450px;} 
    .no-padding-sm{padding:0;}
    .no-margin-sm{margin:0;}
    main{padding-top:75px;}
	main.torte {
	    padding-top: 117px;
	}
    header{padding:16px 0; position: fixed; z-index: 99; width: 100%;}
    .testata-home p{font-size:50px; line-height: 60%;}
    .testata-home span{font-size: 35px; line-height: 110%;}
    .testata-home b{font-size:50px; line-height: 100%;}
    .testata-home h1{font-size: 35px;}
    .testata-interna h1{font-size: 50px;}
    .fascia-subtitle h2, .col-address h2, .box-form h2{font-size: 30px;}
    .content-testata-home{height:450px;}
    .box-gusti{padding:0 30px;}
    .box-gusti>img{width:100%;}
    .box-text-half-col{height:auto;}
    .logo{width:220px; margin:0 auto;}
    nav.menu{display: none; position: fixed; top:0; bottom:0; left:0; right:0; background-color: #be8f52; z-index: 9; padding:10vh 0; height:auto;}
    nav.menu.opened{height:100vh;}
    nav.menu .f-left, nav.menu .f-right{float:none;}
    .link-menu>a{font-size: 24px; text-align: center;}
    .social-box a, .lang-box a, .lang-box span{font-size: 24px;}
    .social-box{display: table; margin: 0 auto;}
    .lang-box>a, .lang-box span{margin: 0;}
    .lang-box {display: table; margin: 10px auto; }
    .cont-lang-social{width:100%;}
    .link-menu{font-size: 24px; line-height: 10vh; float:none; padding-right:0;}
    #mobile-menu{display: block; z-index: 10; position: absolute; right: 16px; top: 15px;}
    #mobile-menu span{height:3px; margin-bottom:6px; background-color: #55200e; width: 32px; display: block; transition: all .3s linear;}
    #mobile-menu.opened span:nth-child(1){transform: rotate(45deg);margin-top:10px;}
    #mobile-menu.opened span:nth-child(2){width:0px;}
    #mobile-menu.opened span:nth-child(3){transform: rotate(-45deg); margin-top:-18px;}
    .col-address{margin:20px 0 0 30px; padding-left:50px; background-position: left 10px; background-repeat: no-repeat; background-size: 30px auto;}
    .gmap-link{font-size: 18px; margin-bottom:10px;}
    .month{font-size: 22px;}
    .phone-hours{font-size: 20px; margin-bottom:15px;}
}
@media all and (max-width:480px)
{    
    main{padding-top:75px;}
	main.torte {
	    padding-top: 117px;
	}
    .testata-home{background-position: right center;}
    header{padding:16px 0; position: fixed; z-index: 99; width: 100%;}
    .logo {
    width: 120px;
    margin: 10px;
}
    nav.menu{display: none; position: fixed; top:0; bottom:0; left:0; right:0; background-color: #be8f52; z-index: 9; padding:10vh 0; height:auto;}
    nav.menu.opened{height:100vh;}
    nav.menu .f-left, nav.menu .f-right{float:none;}
    .link-menu>a{font-size: 24px; text-align: center;}
    .social-box a, .lang-box a, .lang-box span{font-size: 24px;}
    .lang-box>a, .lang-box span{margin: 0;}
    .lang-box {display: table; margin: 10px auto; }
    .cont-lang-social{width:100%;}
    .link-menu{font-size: 24px; line-height: 10vh; float:none; padding-right:0; text-align: center;}
    #mobile-menu{display: block; z-index: 10; position: absolute; right: 16px; top: 10px;}
    #mobile-menu span{height:3px; margin-bottom:6px; background-color: #55200e; width: 32px; display: block; transition: all .3s linear;}
    #mobile-menu.opened span:nth-child(1){transform: rotate(45deg);margin-top:10px;}
    #mobile-menu.opened span:nth-child(2){width:0px;}
    #mobile-menu.opened span:nth-child(3){transform: rotate(-45deg); margin-top:-18px;}
    .outer-container{padding-left:15px; padding-right:15px;}
    .box-text-half-col p{font-size: 15px;}
    .half-container{width:100%;}
    .content-testata-home{height:350px;} 
    .testata-home p{font-size:38px; line-height: 60%;}
    .testata-home span{font-size: 36px; line-height: 110%;}
    .testata-home b{font-size:38px; line-height: 100%;}
    .testata-home h1{font-size: 28px;}
    .testata-interna h1{font-size: 36px;}
    .fascia-subtitle{padding:20px 15px;}
    .fascia-subtitle.foot{padding:25px 0;}
    .fascia-subtitle h2, .col-address h2{font-size: 26px;}
    .box-text-half-col h3{font-size: 26px; }    
    .box-text-half-col .sub-title, .box-form h3{font-size: 22px;}
    .box-text-half-col{height:auto; padding:30px 15px 30px 15px;}
    .box-img-half-col{overflow: hidden; height:250px; }
    .img-half-col{width:auto; height:100%; top:0; left: 50%; transform: translateX(-50%);}
    .fascia-mappa{padding:50px 0;}
    .box-mappa{padding:25px 30px; display: table; margin:0 auto; max-width: calc(100vw - 60px);}
    .box-mappa>p{font-size: 24px; margin-bottom: 20px;}
    .fascia-mappa .addr{font-size: 20px; color:#413225;}
    .fascia-mappa .addr>span{font-size: 16px; color:#8d837b; margin-top:5px; display: block;}
    .logo-footer{max-width:276px; margin-bottom:15px;}
    .footer-top{padding:25px 0 10px;}
    .no-padding-xs{padding:0;}
    .no-margin-xs{margin: 0;}
    .p-top-l{padding-top: 40px;}
    .p-top-m{padding-top:30px;}
    .p-top-s{padding-top:20px;}
    .p-bottom-xl{padding-bottom: 70px;}
    .p-bottom-l{padding-bottom: 40px;}
    .p-bottom-m{padding-bottom: 30px;}
    .m-bottom-m{margin-bottom: 20px;}
    .m-bottom-s{margin-bottom: 15px;}
    .p-bottom-s{padding-bottom: 20px;}
    .m-top-small-xs{margin-top:10px;}
    .text-center-xs{text-align:center;}
    .col-30{float:left; width:100%;}
    .col-40{float:left; width:100%;}
    .col-address{margin:20px 0 0 30px; padding-left:50px; background-position: left 10px; background-repeat: no-repeat; background-size: 30px auto;}
    .box-form h2{font-size: 32px;}
    .social-box.f-right{float:none; display: table; margin:10px auto;}
    .footer-top .social-box a{margin:0px 5px;}
    .footer-bottom{padding-top: 0;}
    .gmap-link{font-size: 16px; margin-bottom:10px;}
    .month{font-size: 20px;}
    .phone-hours{font-size: 18px; margin-bottom:15px;}
    .border-sx-dx{border-left:0; border-right: 0; padding-top:10px; padding-bottom: 10px;}
    .box-gusti{padding:0 30px;}
    .box-gusti>img{width:100%;}
    .footer-top .foot-link a{display: block;}
    .footer-bottom .credits{display: table; margin-left:auto; margin-right: auto;}
}
