@import url('https://fonts.googleapis.com/css?family=Montserrat:400,500,700,900');

body { margin:0; padding: 0; font-family: 'Montserrat', sans-serif; color: #232323; }
.container { max-width: 1300px; margin: 0 auto; padding: 0 1%; color: #222; font-size: 15px }
ul, li, h1, h2, h3, h4, h5, p { padding: 0; margin: 0; list-style: none; }
a { text-decoration: none; color: #444 }
p { line-height:2; font-size: 16px }
button { background-color: transparent; border: none; }
.center { text-align: center; }
.clear { clear: both; }
.upper { text-transform: uppercase; }
.lblu { color: #b8ccf9 }
.azz { color: #9bb0ff }
.lilla { color: #7878de }
.blu { color: #485aa5 }
.blue { color: #1f325e }
.bgblu { background-color: #485aa5 }
.fff {color: #fff}
.orange { color: #ff9833 }
.active { border-bottom: 3px solid #485aa5 }

/*TOP BUTTON*/
.back-to-top {position: fixed;z-index: 200;bottom: 10px;right: 0;display: inline-block;padding: 8px 10px;margin: 1em;;background: #4241bd;font-size: 11px;text-align: center;color: #fff}
.back-to-top i { margin: 3px 0; color: #fff}
.back-to-top:hover {cursor: pointer;}

.casella { width: 10px }
p.flags img {margin: 0 5px; float: left; display: inline-block;}

header { position: absolute; padding-top: 15px; left: 0; right: 0; z-index: 2; }
header .info { text-align: center; margin-bottom: 5px }
header .info p, header .info a { color: #fff; font-size: 14px; font-weight: 700; }
header .info p { display: inline-block; margin: 0 10px }
header .logo { width: 30%; float: left; }
header .bg-menu { background-color:#fafafa; border-radius: 5px; position: relative;}
header .main-navigation { z-index: 1000; position: relative; width: 70%; float: right; text-align: right; }
header .main-navigation li {color: #485aa5; position: relative; display: inline-block; padding: 43px 0.5% 0 2.5%;}
header .main-navigation a { transition: all 0.25s ease 0s; color: #1f325e; font-weight: 500}
header .sub-nav li { display: block; text-align: left;}
header .logo img { height: 100px; margin-top: 5.5px }
header .bg-m-l {position: absolute; left: -94px; background: url(../images/img-menu-sx.png) center/83% no-repeat; height: 100%; width: 90px; top: 0;}
header .bg-m-r {position: absolute; right: -94px; background: url(../images/img-menu-dx.png) center/83% no-repeat; height: 100%; width: 90px; top: 0;}

.header-page { background-color: #1f325e; padding: 15px 0 30px; position: relative!important  }

.claim { position: absolute; z-index: 1; left: 0; right: 0; top: 30%; text-align: center; text-shadow: 0 0 13px rgba(0, 0, 0, 0.44);}
.claim p {font-size: 83px; font-weight: 900; color: #9bb0ff; line-height: 83px;}
.button {display: inline-block; margin: 20px auto;}
.button img, .button span { display: inline-block; vertical-align: middle;}
.button span {color: #fff; margin: 0 5px; font-weight: 700;}

main .cont-icone { width: 100%; padding: 40px 0 0;  position: relative; background: #1f325e; color: #fff; margin: -60px auto 0;}
main .cont-icone a { color: #fff;}
main .blocco-ico {width: calc(12.5% - 1px); border-right: 1px solid #fff; float: left; text-align: center; padding: 20px 0 40px;}
main .blocco-ico.no-brdr {border-right: none;}
main .blocco-ico p { width: 95%; margin: 10px auto 0;}
main .blocco-ico img { height: 55px }

.blocco-main {position: relative; width: 100%;}
.blocco-main .background {background: center/cover no-repeat; width: 50%; top: 0; position: absolute; height: 100%;}
.blocco-main .white-bl-r { width: calc(50% - 200px); float: right; padding: 110px 2%; }
.blocco-main .white-bl-l { width: calc(50% - 200px); float: left; padding: 110px 2%; }
.blocco-main .text {text-align: center; width: 70%;}
.white-bl-l .text {text-align: center; width: 60%; margin: 0 0 0 auto;}
.tit-white-bl { color: #1f325e; font-size: 30px; display: inline-block; padding-bottom: 20px; border-bottom: 5px solid #7878de; text-align: center; font-weight: 500;}
.text p { font-size: 18px; margin: 20px 0;}
.text .button span { color: #4241bd; }
.text .button span:hover { color: #1f325e; }
.button img { height: 24px }

#prefooter {position: relative; width: 100%; background-image: url(../images/bg-prefooter.jpg); background-position: center; padding: 140px 0 60px; text-align: center;}
.img-pf-l { position: absolute; top: 0; height: 100%; left: 0; z-index: 1;}
.img-pf-r { position: absolute; top: 0; height: 100%; right: 0; z-index: 1;}
.logo-footer {position: absolute; top: -130px; left: 0; right: 0; margin: 0 auto;}
.text-pf {width: 40%; margin: 0 auto; z-index: 2; position: relative;}
.text-pf h3 { font-size: 30px; color: #fff; margin: 0 auto 20px;}
.text-pf h4 { transition: all 0.2s ease 0s; display: inline-block; font-size: 45px; font-weight: 900; margin: 0 auto 20px;}
.text-pf h4:hover { color: #9bb0ff }
.text-pf p { font-size: 18px; font-weight: 700; margin: 0 auto 40px; color: #232323;}
.a-pf {font-size: 22px; display: block; margin: 10px auto;}
.a-pf i {color: #1f325e;}

footer { background: #1f325e; padding: 50px 0; border-top: 20px solid #9bb0ff;}
footer .bl-1 {width: calc(50% - 61px); float: left; text-align: right; padding: 0 30px; color: #fff; border-right: 1px solid;}
footer .bl-2 {width: calc(50% - 60px); float: left; text-align: left; padding: 0 30px; color: #fff;}
footer p { font-size: 14px;}
footer p span { font-size: 14spx;}
footer p span a { color: #fff;}

.percorso { background-color: #cecece; padding: 5px 0; }
.percorso a { color: #fff; font-weight: bolder; }
.percorso a:last-child { color: #e97c10 }
.percorso i { margin: 0 5px }

.mollificio .txt { width: 50%; float: left; margin: 80px 0 }
.mollificio .img { width: 47%; float: right; margin: 60px 0}
.mollificio .img img { width: 100% }
.title {font-size: 30px;display: inline-block;font-weight: 500;}
.line { background-color: #7878de; height: 5px; margin: 20px 0 }
.line2 { background-color: #7878de; height: 5px; margin: 20px auto; width: 300px }

.qualita { background-color: #cecece; padding: 50px 0 }
.qualita img { width: 150px; margin: 20px 0 }
.qualita .download { background: #fff; padding: 15px 30px; display: inline-block; }

.foto img { transition: all 0.2s ease 0s; width: 24%; float: left; margin: 50px 0.5% }
.foto img:hover { opacity: 0.9 }

.map iframe { background-color: #cecece; width: 100%; height: 450px; margin: 0; border-radius: 5px; }

.contatti, .prodotti { margin: 60px auto }

form { margin: 20px auto 40px; width: 50%; text-align: center;}
form input, textarea { width: 100%; background-color: #cecece; text-align: center; padding: 7px; border-radius: 5px; border: none; font-size: 14px; margin: 5px 0; font-family: 'Montserrat', sans-serif; }
form .obbligo { font-size: 14px }
#checkbox input { width: 15px; margin-right: 5px; display: inline-block; }
#checkbox p { font-size: 14px; display: inline-block; }
form .button { padding: 10px 20px; display: inline-block; margin-top: 10px; border-radius: 5px; }

.prodotti .prodotto { vertical-align: top; border-radius: 10px; position: relative; height: 250px; width: 21%; display: inline-block; margin: 30px 0.5% 70px; background-color: #1f325e }
.prodotti .prodotto .bg { border-radius: 10px; transition: all 0.5s ease 0s; height: 250px; width: 100%; background-size: cover; background-position: center; opacity: 0.8  }
.prodotti .prodotto .bg:hover { opacity: 1 }
.prodotti .prodotto .circle { margin: 0 auto; background-color: #1f325e; border-radius: 50%; height: 30px; width: 30px; padding: 15px }
.prodotti .prodotto .circle img { height: 30px }
.prodotti .prodotto .text { text-align: center; width: 100%; margin-top: -35px; z-index: 1; position: relative;}
.prodotti .prodotto .text h2 { font-size: 20px; margin-top: 5px }

.prod-page { margin: 60px 0 0 }
.prod-page .img { width: 40%; float: left; }
.prod-page .img img { width: 100%; border-radius: 5px; }
.prod-page .txt { width: 58%; float: right; margin: 10px 0 }
.prod-page .txt a { background-color: #e97c10; color: #fff; font-weight: bolder; padding: 15px 20px; margin: 20px 0; display: inline-block; border-radius: 5px }
.prod-page .gallery img { transition: all 0.1s ease 0s; width: 19%; float: left; margin: 10px 1% 0 0; border-radius: 5px }
.prod-page .gallery img:hover { opacity: 0.8 }
.prod-page .altro { margin-top: 60px; padding: 40px 0; text-align: center; background-color: #cecece }
.prod-page .altro a { display: inline-block; margin: 10px 1%; padding: 10px 20px; border-radius: 20px; border: 2px solid #cecece; }
.prod-page .altro a:hover { background-color: rgba(255,255,255,0.2); border: 2px solid #eee; }
.prod-page .altro .circle { display: inline-block; text-align: center; background-color: #1f325e; border-radius: 50%; height: 30px; width: 30px; padding: 15px }
.prod-page .altro .circle img { height: 30px }
.prod-page .altro h2 { display: inline-block; font-size: 20px; vertical-align: middle; margin-top: -15px }

.sitemap { padding: 50px 0 }
.sitemap a { color: #1f325e;}
.sitemap a:hover { color: #9bb0ff; font-weight: bold;}

.mollificio.dove-siamo .txt { width: 100%; margin: 40px 0 10px }

.app { width: 49%; float: left; margin: 5px 0.5%; position: relative; }
.app img { width: 100% }
.app h1 { position: absolute; top: 45%; left: 0; right: 0; text-align: center; font-weight: 900;; text-transform: uppercase; }

@media screen and (min-width: 1535px){
 nav p.flags img {display: none;}
}

@media screen and (max-width: 1535px) {
nav p.flags img {display: none;}
header .bg-menu { width: 80%; }
}

@media screen and (max-width: 1420px) {
nav p.flags img {display: none;}
main .blocco-ico p { font-size: 11px!important }
main .cont-icone { padding: 30px 0 0 }
.text-pf { width: 60% }
}

@media screen and (max-width: 1200px) {
nav p.flags img {display: none;}
.claim p { font-size: 65px; line-height: 60px; margin-top: 10px }
.blocco-main .text { width: 100% }
}

@media screen and (max-width: 1020px) {
nav p.flags img {display: none;}
header .bg-menu { width: 96%; }
header .bg-m-l, header .bg-m-r { display: none; }
.mollificio .txt { width: 90%; margin: 30px 5% 0; text-align: center; }
.mollificio .img { width: 90%; margin: 30px 5% }
.prod-page .txt { margin-top: 0 }
.map iframe { width: 100%; float: none; margin: 20px 0 60px }
.app h1 { font-size: 25px }
}

@media screen and (max-width: 960px) {
nav p.flags img {display: none;}
main .blocco-ico { border:none; }
.text p {font-size: 15px}
.blocco-main .white-bl-r, .blocco-main .white-bl-l { width: 40%; padding: 60px 5% }
.prodotti .prodotto { width: 31%; height: 200px }
.prodotti .prodotto .bg { height: 200px }
.prodotti .prodotto .text h2 { font-size: 18px }
}

@media screen and (max-width: 768px) {
nav p.flags img {display: inline-block;}
header {padding-top: 37px}
header .logo { width: 100%; margin: 0 auto; text-align: center; }
header .logo img { background-color: #fafafa; border-radius: 10px; padding: 20px;  }
header .bg-menu { text-align: center; background-color: transparent; }
.main-menu { position: fixed; background-color: #1f325e; left: 0; top: 30px; width: 100%; text-align: center; }
header .main-navigation a { color: #fff!important }
header .main-navigation li { padding: 10px 0 }
.main-navigation > ul.open > li:first-child { padding-left: 0!important }
.main-navigation .sub-nav { width: 100%!important; background-color: transparent!important; padding: 0!important }
.main-navigation .sub-nav a { text-align: center!important }
.main-navigation .sub-nav li { padding: 1px 0!important }

header .info { display: none; }
#masterslider0 { height: 600px!important; overflow: hidden; }
.claim { top: 260px }
.claim h1 { font-size: 15px }
.claim p { font-size: 35px!important; line-height: 24px }

main .cont-icone { text-align: center; padding: 20px 0 }
main .blocco-ico img { height: 30px }
main .blocco-ico { width: 24%; float: none; display: inline-block; padding: 10px 0; vertical-align: top; }
.blocco-main .background { height: 400px; position: relative; width: 100% }
.blocco-main .white-bl-r, .blocco-main .white-bl-l { width: 90% }
#prefooter { margin-top: 50px }
.text-pf { width: 80%; z-index: 0 }
.header-page { background-color: #fafafa; padding: 30px 0 0 }
.foto { margin: 10px 0 -40px }
.foto img { width: 49%; margin: 0.5% }
.percorso { text-align: center; }
.qualita { padding: 50px 5% }
.logo-footer { top: -100px;  }
#prefooter { padding-top: 105px }
#prefooter img { height: 200px }
.text-pf { width: 90% }

.prod-page .img { width: 50%; margin: 0 25%; float: none; }
.prod-page .txt { width: 90%; margin: 30px auto; float: none; text-align: center; }
.gallery { text-align: center; }
.prod-page .gallery img { float: none; margin: 10px 0.5% }
form input, textarea { width: 96% }
form { width: 80% }
.app h1 { font-size: 3vw }
}

@media screen and (max-width: 530px) {
#masterslider0 { height: 500px!important;}
.claim { top: 190px }
main .blocco-ico { width: 45% }
.blocco-main .background { height: 300px }
.blocco-main .white-bl-r, .blocco-main .white-bl-l { padding: 30px 5% }
#prefooter { margin-top: 80px }
footer .bl-1, footer .bl-2 { width: 100%; float: none; text-align: center; padding: 0; border:none; }
header .logo img { height: 60px}
.text-pf h4 { font-size: 30px }
.a-pf { font-size: 15px; font-weight: bold; }
p { font-size: 15px!important; }
.title { font-size: 25px }
.prodotti .prodotto { width: 48%; height: 150px; margin-bottom: 50px }
.prodotti .prodotto .bg { height: 150px }
.prodotti .prodotto .text h2 { font-size: 14px }
.prod-page .gallery img { width: 31%; margin-top: 0 }
.prod-page .altro { margin-top: 40px; padding: 10px 0 }
.prod-page .altro .circle { display: block; margin: 0 auto }
.prod-page .altro h2 { display: block; margin: 0; font-size: 15px }
.prod-page .altro a { display: block; }
.contatti, .prodotti { margin: 30px 0 }
.prod-page { margin: 30px 0 0 }
.prod-page .img { width: 80%; margin: 0 10% }
.percorso i, .percorso a { font-size: 11px }
.contatti h2, .dove-siamo h2 { font-size: 15px }
.contatti p { line-height: 1.5 }
footer { padding: 60px 0 }
form { margin: 20px auto 0 }
.back-to-top { bottom: 0 }
.app { width: 100%; margin: 0 0 10px }
.app h1 { font-size: 5vw }
}