﻿@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&display=swap');

body{ font-size:16px; font-family: 'Google Sans', sans-serif !important; color:#000;}

::selection{ background:#000; color:#fff; -webkit-background-clip: unset; -webkit-text-fill-color:#fff;}
::-moz-selection{ background:#000; color:#fff; -webkit-background-clip: unset; -webkit-text-fill-color:#fff;}
h1, h2, h3, h4, h5, h6, span.h2{ font-family: 'Google Sans', sans-serif; font-weight:normal; margin-top:0px;}
a{ color:#ff0000; font-weight:400; transition: all .3s ease-in-out;}
a:hover, a:focus{ color:#000;}
p, li{ color:#000; font-size:17px; line-height:1.6; font-weight:400;}
p{ margin-bottom:10px;}
strong{ font-weight:700;}
p strong{ font-weight:700;}
.container-max{}
.container-fluid{ padding:0 60px;}
.container-fluid.container0{ padding:0px;}
.row{ margin:0 -20px;}
.row [class*="col-"]{ padding:0 20px;}
.row.row0{ margin:0px;}
.row.row0 > [class*="col-"]{ padding:0;}
.row.row01{ margin-left:-1px; margin-right:-1px;}
.row.row01 > [class*="col-"]{ padding:0 1px;}
.row.row05{ margin-left:-5px; margin-right:-5px;}
.row.row05 > [class*="col-"]{ padding:0 5px;}
.row.row10{ margin-left:-10px; margin-right:-10px;}
.row.row10 > [class*="col-"]{ padding:0 10px;}
.row.row15{ margin-left:-15px; margin-right:-15px;}
.row.row15 > [class*="col-"]{ padding:0 15px;}
.row.row40{ margin-left:-40px; margin-right:-40px;}
.row.row40 > [class*="col-"]{ padding:0 40px;}
.row.row30{ margin-left:-30px; margin-right:-30px;}
.row.row30 > [class*="col-"]{ padding:0 30px;}
.row.row60{ margin-left:-60px; margin-right:-60px;}
.row.row60 > [class*="col-"]{ padding:0 60px;}
.row.flex{ display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:wrap; flex-wrap:wrap;}
.row.flex > [class*="col-"]{ display:-webkit-box; display:-ms-flexbox; display:flex; }
.row.flex:before, .row.flex:after{ content:none;}
.row.center{ align-items: center;}
.row.bottom{ align-items: end;}
.row.flex [class*="col-"].pull-right{ order:2;}
.mt0{ margin-top:0px !important;}
.countup{ display:inline; font-size:inherit; font-weight:inherit; margin:0px; white-space:normal; color:inherit;}
.countup > *{ float:left; font-size:inherit; font-weight:inherit;}
.text-right{ text-align:right;}
hr{ max-width:100%; margin:20px auto;}
hr.site{ width:100%; max-width:100%; height:1px; margin:0px; border:0px; background:#e1e1e1;}

input[type=text], input[type=email], input[type=password], input[type=search], input[type=file], input[type=tel], textarea{ font-family:'Google Sans', sans-serif; height:45px; float:left; font-size:16px; background:#f7f7f7; border-radius:5px; -webkit-appearance: none; -moz-appearance: none; appearance: none; border:1px solid #c7c7c7;}
input[type=file]{ width:100%; height:45px; padding:10px 20px; font-size:14px;}
select{ width:100%; padding:10px; background:#fff; border:1px solid #e1e1e1; color:#000; -webkit-appearance:none;}
textarea{ -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.form-group > label{ font-size:15px; text-align:left; font-weight:400; color:#000; position:relative; z-index:10;}
.form-group > label span{ color:#ff0000; font-size:16px; line-height:24px; float:right; margin-left:5px;}

.chosen-container{ font-family:'Google Sans', sans-serif; border-radius:5px; font-size:15px; background:#f7f7f7; border-color:#c7c7c7;}
.chosen-container.chosen-container-active.chosen-with-drop{ border-bottom-right-radius:0px; border-bottom-left-radius:0px;}
.chosen-container-single .chosen-single{ height:43px; line-height:43px;}
.chosen-container-single .chosen-single span{ font-size:16px; font-weight:400; margin-right:35px;}
.chosen-container .chosen-drop{ border-radius:0px; border-top-width:0px; border-bottom-right-radius:5px; border-bottom-left-radius:5px;}
.chosen-container .chosen-results{ border-radius:0px; padding:10px;}
.chosen-container .chosen-results li{ font-size:16px; line-height:30px; border-radius:0px; color:#000;}
.chosen-container .chosen-results li:hover{ background:#ff0000; border-radius:5px; color:#fff; }
.chosen-container-single .chosen-single div:after{ line-height:43px; font-size:15px;}
.widget .chosen-single{ font-weight:400; background:#f7f7f7;}
.widget .chosen-drop{ background:#f7f7f7;}
textarea{ height:110px;}
input[type="submit"].btn{ height:50px;}
.form-group{ margin-bottom:25px;}

.btn{ font-family: 'Google Sans', sans-serif; font-size:15px; height:auto; padding:10px 20px; line-height:20px; font-weight:700; text-transform:none; text-transform:uppercase; border-radius:5px;}
.btn.btn-input{ height:50px;}
.btn.btn-default{ background:#ff0000; border:1px solid #ff0000; color:#fff; vertical-align:top;}
.btn.btn-default:hover, .btn.btn-default:focus{ background:#000; border-color:#000; color:#fff;}
.btn.btn-primary{ background:#000; border:1px solid #000; vertical-align:top;}
.btn.btn-primary:hover, .btn.btn-primary:focus{ background:#ff0000; border-color:#ff0000; color:#fff;}

a.readmore{ font-family:'Google Sans'; display:inline-block; font-size:16px; line-height:20px; position:relative; padding-right:15px; color:#000; text-transform:uppercase;}
a.readmore span{ position:relative;}
a.readmore span:before{ content:""; width:0px; height:2px; position:absolute; right:0px; bottom:-5px; background:#ff0000; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out; transition: all .5s ease-in-out;}
a.readmore:after{ content:"\f054"; font-family: 'FontAwesome'; position:absolute; top:0px; right:0px; text-align:right; font-size:12px; }
a.readmore:hover span:before{ width:100%;}
a.readmore.white{ color:#fff;}
a.readmore.white span:before{ background:#fff;}
a.readmore.color span:before{ background:#000;}

a.backpage{ display:inline-block; font-size:16px; line-height:20px; position:relative; font-weight:600; padding-left:15px; color:#1d6e6d; text-transform:none;}
a.backpage span{ position:relative;}
a.backpage span:before{ content:""; width:0px; height:1px; position:absolute; right:0px; bottom:-5px; background:#1d6e6d; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out; transition: all .5s ease-in-out;}
a.backpage:after{ content:"\f053"; font-family: 'FontAwesome'; position:absolute; top:0px; left:0px; text-align:right; font-size:12px; }
a.backpage:hover span:before{ width:100%;}
a.backpage.white{ color:#fff;}
a.backpage.white span:before{ background:#fff;}
a.backpage.color span:before{ background:#000;}

.content .form .row{ margin:0 -15px;}
.content .form .row + .row{ margin-top:0px;}
.content .form .row [class*="col-"]{ padding:0 15px;}

.check{ width:100%; float:left;}
.check input[type=checkbox] {display: none;}
.check label{float:left; width:100%; position:relative; font-weight:400; color:#5c5c5c; vertical-align:top;}
.check label:before{ width:24px; height:24px; left:0px; background:#f7f7f7; border:1px solid #c7c7c7; content:""; position:absolute; margin-right:10px; cursor:pointer; border-radius:3px;}
.check input[type=checkbox]:checked + label:before { font-family: 'FontAwesome'; content:"\f00c"; text-align:center; line-height:24px; font-size:14px; color:#000;}
.check label span{ display:inline-block; padding-left:34px; font-size:14px; text-align:left; color:#000; line-height:24px; float:left;}
.check label span a{ font-weight:600;}
.check + .check{ margin-top:5px;}

.navbar-toggle{ width:50px; height:50px; background:none; line-height:50px; position:absolute; right:25px; top:25px; background-color:#ff0000; border-radius:50%;}
.navbar-toggle i{ font-size:16px; color:#fff; line-height:50px;}
.navbar-toggle:hover{ background:#000;}
.navbar-toggle:hover i{ color:#fff;}

.check + input[type="submit"]{ margin-top:20px;}

ul.pagination.solid{ font-family:"Google Sans", serif; text-align:center; margin-top:20px;}
ul.pagination.solid li{ padding:0px 5px !important; margin:0px;}
ul.pagination.solid li:first-child{ padding-left:0px;}
ul.pagination.solid li:last-child{ padding-right:0px; border:0px;}
ul.pagination.solid li a{ width:40px; height:40px; font-size:18px; line-height:40px; border:0px; border-radius:0px; background:#f7f6f1; border-radius:5px; color:#000;}
ul.pagination.solid li a:hover, ul.pagination.solid li a:focus{ background:#ff0000; color:#fff;}
ul.pagination.solid li.active a, ul.pagination.solid li.active a:hover, ul.pagination.solid li.active a:focus{ background:ff0000; color:#fff;}

/* header */

.header{ width:100%; background:none; position:absolute; z-index:9999; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; transition: all .3s ease-in-out;}
/*.header:before{ content:""; width:100%; height:100%; position:absolute; left:0px; top:0px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);}*/
.header .navbar{ display:flex; flex-wrap:nowrap; justify-content:space-between; align-items:center; position:relative;}
.header a.navbar-brand{ text-align:center; font-size:0px; letter-spacing:0px; position:relative; z-index:10; margin-right:auto; overflow:visible; line-height:120px;}
.header a.navbar-brand img{ height:40px; margin:0px; }
.header .navbar-collapse{ width:100%; display:flex; justify-content:center; padding:0px; margin:0px; margin-right:0px;}
.header .navbar .navbar-nav{ float:none; margin:0 auto;}
.header .navbar .navbar-nav > li{ float:left; padding:0px;}
.header .navbar .navbar-nav > li > a{ font-family: 'Google Sans', sans-serif; font-size:16px; color:#fff; font-weight:400; padding:15px 0; margin:0 10px; border:0px; text-transform:uppercase; line-height:20px;}
.header .navbar .navbar-nav > li > a:before{ content:""; width:0px; height:2px; position:absolute; right:0px; bottom:5px; background:#ff0000; transition: all .3s ease-in-out;}
.header .navbar .navbar-nav > li:last-child:after{ display:none;}
.header .navbar .navbar-nav > li:last-child > a{ margin-right:0px;}
.header .navbar .navbar-nav > li.dropdown > a:after{ display:none;}
.header .navbar .navbar-nav > li > a:hover{ color:#ff0000;}
.header .navbar .navbar-nav > li > a:hover:before{ width:100%;}
.header .navbar .navbar-nav > li.active > a{ color:#ff0000;}
.header .navbar .navbar-nav > li.active > a:before{ width:100%;}

.header .dropdown-menu{ width:100%; min-width:250px; background:#ff0000; border-radius:5px !important; padding:20px; left:50%; transform: translateX(-50%);}
.header .dropdown-menu:before{ display:none;}
.header .dropdown-menu li:focus > a, .header .dropdown-menu li:hover > a { background: none; }
.header .dropdown-menu > li:first-child { padding-top: 0px; }
.header .dropdown-menu > li:last-child { padding-bottom: 0px; border: 0px; }
.header .dropdown-menu > li { position:relative; text-align:center; }
.header .dropdown-menu > li > a{ font-size:14px; line-height:1; position:relative; padding:0px; font-weight:500; padding:5px 10px; text-transform:uppercase; color:#fff; white-space:normal; border-radius:5px;}
.header .dropdown-menu > li:last-child > a{ border: 0px; }
.header .dropdown-menu > li > a:hover, .header .dropdown-menu > li > a:focus{ background:#111; color:#fff;}


.wrapper{ width:100%; float:left; overflow:unset;}
.content{ overflow:hidden; }
.content .row + .row{ margin-top:60px;}

/* visual home page */

.visual{ position:relative;}
.visual:before{ content:""; width:50%; height:100%; position:absolute; left:0px; top:0px; background:#222; z-index:90; background:url(../images/background.jpg); background-size:cover;}
.visual:after{ content:""; width:100%; height:50%; position:absolute; left:0px; top:0px; background:rgb(0,0,0); background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.9) 100%); z-index:100;}

.visual .background-intro{ width:50%; height:100%; position:absolute; right:0px; bottom:0px; background-size:cover; background-position:bottom center; z-index:20;}
.visual .background-intro .image-wrap{ width:100%; height:100%;}
.visual .background-intro .image-wrap .image{ width:100%; height:100%; position:absolute; left:0px; top:0px; background-size:cover; background-position:center right;}
.visual .background-intro .swiper-container{ width:100%; height:100%; position:absolute; left:0px; top:0px;}
.visual-content{ width:100%; height:100vh; min-height:800px; display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; position:relative; z-index:150;}
.visual-content .inner{ width:100%;}
.visual-content .container-fluid{ width:100%;}
.visual-content .box{ width:100%; max-width:50%; float:left; text-align:left; padding:0 100px; position:relative; z-index:100;}
.visual-content .box h1{ color:#fff; font-size:60px; line-height:1; position:relative; z-index:2; font-weight:700; margin-bottom:20px;}
.visual-content .box h1 strong{ color:#ff0000;}
.visual-content .box h2{ max-width:90%; font-size:22px; line-height:1.5; color:#fff; font-weight:400; position:relative; z-index:2; margin-bottom:40px;}
.visual-content .box .actions{ display:flex; align-items:center; justify-content:left; margin:0px -10px; padding:0px;}
.visual-content .box .actions li{ padding:0 10px;}
.visual .down{ width:48px; height:48px; position:absolute; z-index:2; left:50%; margin-left:-24px; bottom:40px; border-radius:5px; background:#ff0000; border:2px solid #ff0000; z-index:200;}
.visual .down:before{ content:"\f078"; font-family:FontAwesome; font-size:18px; width:100%; height:100%; position:absolute; left:0px; top:0px; text-align:center; line-height:44px; color:#fff; z-index:999;}
.visual .down:hover{ background-color:#000; border-color:#000;}
.visual .down:hover:before{ color:#fff;}

/* titolo pagina */

.title{ padding:160px 0 60px 0; position:relative; text-align:center; overflow:hidden; background-color:#111; background-repeat:no-repeat; background-position:center center; background-size:cover; overflow:hidden;}
.title:before{ content:""; width:100%; height:100%; position:absolute; left:0px; top:0px; background:rgba(0,0,0,0.75);}
.title .text h1, .title .text h2{ font-family: "Google Sans", serif; font-size:60px; line-height:1; font-weight:700; text-transform:uppercase; color:#fff; text-transform:none; position:relative; z-index:2; margin-bottom:0px;}
.title .breadcrumb{ width:auto; display:inline-block; min-height:18px; position:relative; z-index:2; text-transform:none; margin-top:5px;}
.title .breadcrumb .box{ width:auto; display:inline-block;}
.title .breadcrumb ul{ float:left; margin:0px; padding:0px;}
.title .breadcrumb li{ width:auto; float:left; display:inline-block; position:relative; font-size:13px; line-height:18px; padding:0px; text-transform:uppercase;}
.title .breadcrumb a{ color:#fff; float:left; line-height:18px; position:relative;}
.title .breadcrumb a:hover{ color:#ff0000;}
.title .breadcrumb li:after{ content:"";  float:right; margin:0 7px; margin-top:0; font-size:14px; font-weight:200; color:#999;}
.title .breadcrumb li:last-child:after{ display:none;}

/* blocchi generale */

.block{ padding:100px 0;}
.block.small{ padding:60px 0;}
.block.gray{ background:#f7f6f1;}
.block.pt0{ padding-top:0px !important;}
.block.pb0{ padding-bottom:0px;}
.block h1, .block h2{ font-family: "Google Sans", serif; font-size:50px; line-height:1.1; color:#ff0000; font-weight:700; margin-bottom:0px;}
.block h1 strong, .block h2 strong{ color:#ff0000;}
.block h1:last-child, .block h2:last-child, .block span.h2:last-child{ margin-bottom:0px;}
.block h3{ font-size:22px; line-height:1.4; color:#000; margin-bottom:15px; text-transform:none; font-weight:400;}
.block h3:last-child{ margin-bottom:0px;}
.block ul, .block ol{ margin:0px; padding:0px; margin-bottom:25px;}
.block ul:last-child, .block ol:last-child{ margin-bottom:0px;}
.block li{ position:relative; margin-bottom:0px; padding-left:20px;}
.block li:last-child{ margin-bottom:0px;}
.block li:before{ content:"\f105"; font-family:FontAwesome; position:absolute; left:0px; top:4px; font-size:12px; color:#000;}
.block h3 + a.readmore{ margin-top:30px;}
.block .radius{ border-radius:5px;}

.block.presentation h2{ margin-bottom:0px;}
.block.presentation h3{ margin-bottom:0px;}
.block.presentation h2 + h3{ margin-top:20px;}
.block.presentation h2 + p, .block.presentation span.h2 + p{ margin-top:15px;}
.block.presentation h3 + p{ margin-top:15px;}
.block.presentation h3 + ul{ margin-top:15px;}
.block.presentation h3 + .btn{ margin-top:30px;}
.block.presentation h3 + h2{ margin-top:30px;}
.block.presentation p{ }
.block.presentation h2 + ul{ margin-top:20px;}
.block.presentation p + h2, .block.presentation p + span.h2{ margin-top:20px;}
.block.presentation p + h3{ margin-top:15px;}
.block.presentation p + .readmore{ margin-top:20px;}
.block.presentation p + .btn{ margin-top:20px;}
.block.presentation h2 + .btn{ margin-top:20px;}

.block.presentation .top-title{ text-align:center;}
.block.presentation .top-title h2{ font-size:60px; line-height:1; margin:0px; color:#000; font-weight:700; color:#ff0000;}
.block.presentation .top-title h2 + .readmore{ margin-top:5px;}
.block.presentation .top-title h2 + h3{ margin-top:20px;}
.block.presentation .top-title h3{ padding:0 10%;}
.block.presentation .top-title h3 + h3{ margin-top:20px;}

/* intro */

.block.intro{ position:relative;}
.block.intro:before{ content:""; width:800px; height:800px; position:absolute; top:60px; right:120px; background:url(../images/symbol.png); background-size:100% auto; opacity:0.05;}
.block.intro .actions{ display:flex; justify-content:left; margin:0px -10px; margin-top:40px; padding:0px;}
.block.intro .actions li{ padding:0 10px;}
.block.intro .actions li:before{ display:none;}

/* numeri dell'azienda */

.block.numbers{ padding:0; position:relative;}
.block.numbers .box{ background: #ededed; background: linear-gradient(90deg, rgba(237, 237, 237, 1) 0%, rgba(247, 247, 247, 1) 100%); border-top-width:0px; border-bottom-right-radius:5px; border-bottom-left-radius:5px; margin-top:-10px; padding:0 50px;}
.block.numbers .item{ width:100%; display:table; position:relative; z-index:100; padding:50px 0; text-align:center; overflow:hidden;}
.block.numbers .item.bottom{ border-top:2px solid #f7f7f7;}
.block.numbers .item .wrap{ display:table-cell; vertical-align:middle;}
.block.numbers .item h2{ margin-top:0px; display:flex; justify-content:center; align-items:center; color:#ff0000; font-weight:700;}
.block.numbers .item h2 span{ font-weight:600; display:inline-block; color:#ff0000; line-height:24px;}
.block.numbers .item h2 span.countup-sign{ font-weight:200; font-size:0.75em; margin-left:10px;}
.block.numbers .item h2 span.text{ font-weight:700; line-height:1; font-size:24px; margin-left:0px;}
.block.numbers .item p{ margin-bottom:0px;}
.block.numbers .item.normal h2{ font-size:64px; min-height:50px; letter-spacing:-2px; line-height:1; margin:0px;}
.block.numbers .item.normal p{ font-size:20px; line-height:1.1; color:#000; font-weight:400; margin-top:15px;}


/* categorie */

.block.categories{ padding-bottom:60px;}
.block.categories .item{ margin-bottom:40px;}
.block.categories .item .image{ margin-bottom:20px;}
.block.categories .item .text h2{ font-size:36px;}
.block.categories .item .text p + .readmore{ margin-top:10px;}
.block.categories + .block.cta{ padding-top:0px;}

/* fullwidth */

.block.fullwidth{ position:relative; padding:0px; border-radius:5px; margin:0 60px; overflow:hidden;}
.block.fullwidth.gray{ background:#dddddd}
.block.fullwidth.black{ background:#111}
.block.fullwidth .slideshow .swiper-container{ width:100%; height:100%;}
.block.fullwidth .slideshow .item{ width:100%; height:100%; position:absolute; left:0px; top:0px; background-size:cover; background-position:center center;}
.block.fullwidth .image{ width:65%; height:100%; position:absolute; top:0px; background-size:cover; background-position:center center; background-repeat:no-repeat;}
.block.fullwidth .image img{ display:none;}
.block.fullwidth.left .image{ top:0px; left:0px;}
.block.fullwidth.right .image{ top:0px; right:0px;}
.block.fullwidth.gradient .image:before{ content:""; width:75%; height:100%; position:absolute; z-index:10;}
.block.fullwidth.gradient.right .image:before{ left:0px; top:0px; background: rgb(255,255,255); background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);}
.block.fullwidth.gradient.left .image:before{ right:0px; top:0px;  background: rgb(255,255,255); background: linear-gradient(-90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);}
.block.fullwidth.gradient.right.gray .image:before{ background: rgb(221,221,221); background: linear-gradient(90deg, rgba(221,221,221,1) 0%, rgba(221,221,221,0) 100%);}
.block.fullwidth.gradient.left.gray .image:before{ background: rgb(221,221,221); background: linear-gradient(-90deg, rgba(221,221,221,1) 0%, rgba(221,221,221,0) 100%);}
.block.fullwidth.gradient.right.black .image:before{ background: rgb(17,17,17); background: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(17,17,17,0) 100%);}
.block.fullwidth.gradient.left.black .image:before{ background: rgb(17,17,17); background: linear-gradient(-90deg, rgba(17,17,17,1) 0%, rgba(17,17,17,0) 100%);}
.block.fullwidth .text{ position:relative; z-index:100; padding:120px 0;}
.block.fullwidth.black .text h3, .block.fullwidth.black .text p{ color:#fff;}

.block.homepage01{ margin-top:100px;}


/* about */

.block.numbers.page{ padding:60px 0 0 0;}
.block.numbers.page .box{ background:none; margin:0px;}

.block.about{ padding-top:60px;}
.block.about .image img{ border-radius:5px; overflow:hidden;}
.block.about + .block.cta{ padding-top:0px;}

/* dettaglio prodotto */

.block.product-detail .image img{ border-radius:5px; overflow:hidden;}

/* storia  */

.block.history-intro + .block.history{ padding-top:0px;}
.block.history-intro .image img{ border-radius:5px; overflow:hidden;}
.block.history-intro .slideshow{ width:100%; float:left;}
.block.history-intro .slideshow .swiper-wrapper{ width:100%; }
.block.history-intro .slideshow .swiper-slide{ width:100%; height:0px; padding-bottom:66.67%; position:relative;}
.block.history-intro .slideshow .swiper-slide .item{ width:100%; height:100%; position:absolute; left:0px; top:0px; background-size:cover; background-position:center center; border-radius:5px;}

.block.history{ position:relative;}
.block.history .item-wrap{ position:relative; padding:40px 0;}
.block.history .item-wrap:before{ content:""; width:1px; height:100%; position:absolute; left:50%; margin-left:-0.5px; top:0px; background:#ccc;}
.block.history .item{ margin-bottom:0px;}
.block.history .item:last-child{ margin-bottom:0px;}
.block.history .item .year{ width:100%; text-align:center; padding-bottom:80px;}
.block.history .item .year h2{ font-size:70px; font-weight:700; position:relative;}
.block.history .item .year h2 span{ background:#fff; position:relative; z-index:2; padding:0 40px;}
.block.history .item .year h2:before{ content:""; width:50%; height:1px; position:absolute; right:0px; top:50%; margin-top:-0.5px; background:#ccc;}
.block.history .item .year h2:after{ content:""; width:14px; height:14px; position:absolute; right:-7px; top:50%; margin-top:-7px; background:#ccc; border-radius:50%;}
.block.history .item .text{ padding-left:60px; padding-bottom:80px;}
.block.history .item .text h2{ font-size:36px; line-height:1; font-weight:700; margin-bottom:10px;}
.block.history .item .text h2 + p{ margin-top:10px;}
.block.history .item.alternate .text{ padding:0px; padding-right:60px; text-align:right; padding-bottom:80px;}
.block.history .item.alternate .year h2:before{ right:auto; left:0px;}
.block.history .item.alternate .year h2:after{ right:auto; left:-5px;}
.block.history .item:last-child .year{ padding-bottom:0px;}
.block.history .item:last-child .text{ padding-bottom:0px;}
.block.history + .block.cta{ padding-top:0px;}


/* galleria */

.block.gallery-page{ padding-bottom:60px;}
.block.gallery-page .gallery{ position:relative;}
.block.gallery-page .gallery .item-wrap{ display:flex; flex-wrap:wrap; margin:0 -20px;}
.block.gallery-page .gallery .item{ width:33.33%; float:left; padding:0 20px; margin-bottom:40px;}
.block.gallery-page .gallery .item .image a{ float:left;}
.block.gallery-page .gallery .item .image a img{ border-radius:5px; overflow:hidden;}
.block.gallery-page + .block.cta{ padding-top:0px;}

/* contatti */

.block.contacts{ position:relative;}
.block.contacts .box h2{ font-size:36px;}
.block.contacts .form{ margin-top:30px;}
.block.contacts .form .form-group{ position:relative;}
.block.contacts .form .form-group > label{ float:left;}

.block.contacts.work{ text-align:center;}
.block.contacts.work .form .check{ text-align:center;}
.block.contacts.work .form .check > span{ display:inline-block;}


/* footer */

.footer{ width:100%; position:relative; display:inline-block; font-family: "Google Sans", sans-serif; width:100%; float:left; background:#111; overflow:hidden;}
.footer .footer-row{ padding-top:60px; padding-bottom:40px; text-align:center; position:relative; z-index:20;}
.footer .footer-row .rowfooter01{ display:flex; flex-wrap:nowrap; margin:0 -40px;}
.footer .footer-row .rowfooter01 .colfooter{ width:auto; padding:0 40px;}
.footer .footer-row .rowfooter01 .colfooter.colcompany{ margin-left:auto;}
.footer .footer-row .widget{ width:100%; position:relative; z-index:10; text-align:left; margin-bottom:20px;}
.footer .footer-row .widget h4{ font-size:26px; line-height:1.2; color:#ff0000; font-weight:700; margin:0px; margin-bottom:10px;}
.footer .footer-row .widget h4 + p{ margin-top:5px;}
.footer .footer-row .widget p + h4{ margin-top:35px;}
.footer .footer-row .widget strong{ font-weight:700;}
.footer .footer-row .widget p{ font-family: "Google Sans", sans-serif; font-weight:400; font-size:17px; line-height:1.5; margin-bottom:10px; color:#fff;}
.footer .footer-row .widget a{ color:#fff; font-weight:400;}
.footer .footer-row .widget a:hover{ color:#ff0000;}
.footer .footer-row .widget.widget-company{ text-align:right;}
.footer .footer-row .widget.widget-company img{ display:inline-block; height:40px; margin-bottom:130px;}
.footer .footer-row .widget.widget-company p{ font-size:14px; line-height:1.5; color:#999;}
.footer .footer-row .widget.widget-company a{ color:#999;}
.footer .footer-row .widget.widget-menu li{ font-weight:400; font-size:17px; line-height:1.5;}

/* modal */

body.modal-open .header{ filter: blur(4px);}
body.modal-open .wrapper{ filter: blur(4px);}
body.modal-open .footer{ filter: blur(4px);}

.modal{ z-index:999999; border-radius:0px; display:none !important;}
.modal.in { display:flex !important; align-items:center; flex-direction: column; justify-content:center;}
.modal-open .modal{ overflow:auto;}
.modal-backdrop{ z-index:99999; background:#f7f7f7;}
.modal-backdrop.in{ opacity:0.75;}
.modal .modal-dialog{ width:100%; max-width:1000px; margin:0px; overflow:auto !important; box-shadow:0px 0px 100px rgba(0,0,0,0.2);}
.modal.in .modal-dialog{ top:auto; transform:none;}
.modal-body{ padding:30px;}
.modal .modal-content{ border-radius:0px; border:0px;}
.modal .close{ width:40px; height:40px; position:absolute; background-color:#fff; background-image:url(../images/icon-close.png); background-size:30px 30px; background-repeat:no-repeat; background-position:center center; top:0px; right:0px; opacity:1; z-index:9999;}
.modal .modal-body{ border-radius:0px; padding:0px;}
.modal .modal-body .image{ width:100%; background-size:cover; background-position:center center;}
.modal .modal-body .image img{ display:none;}
.modal .modal-body .text{ padding:60px 40px;}
.modal .modal-body .text h3{ font-size:22px; line-height:28px; color:#000; font-weight:300; margin-bottom:10px;}
.modal .modal-body .text h2{ font-size:34px; line-height:34px; color:#000; margin-bottom:10px;}
.modal .modal-body .text h3 + h2{ margin-top:0px;}
.modal .modal-body .text p + .btn{ margin-top:20px;}
.modal .modal-body .text .btn{ width:100%; padding:15px 20px; font-size:20px;}

#scrolltop{ width:48px; height:48px; position:fixed; z-index:999; right:20px; bottom:20px; opacity:0; visibility:hidden; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; transition: all .3s ease-in-out;}
#scrolltop.show{ opacity:1; visibility:visible;}
#scrolltop a{ width:48px; height:48px; float:left; background:#ff0000; border-radius:50%; text-align:center;}
#scrolltop a:before{ content:"\f106"; width:50px; height:50px; font-family:FontAwesome; font-size:16px; color:#fff; line-height:50px;}
#scrolltop a:hover{ background:#000;}

form{ margin-bottom:0px !important;}

.captchaField > div {margin-bottom: 20px;}

.header .navbar .languages{ margin-left:20px; }
.header .navbar .languages ul{ margin:0px; padding:0px; float:left; line-height:1; position:relative; display: flex;}
.header .navbar .languages li{ width:auto; float:left; line-height:1; margin:0 7px 0 0;}
.header .navbar .languages li img{ width:24px; height:auto;}
.header .navbar .languages li:last-child{ margin:0px;}
.header .navbar .languages li a {opacity:0.75;}
.header .navbar .languages li.active a{ filter:grayscale(0%); opacity:1;}
.header .navbar .languages li a:hover, .header .topbar .languages li.active a{ filter:grayscale(0%); opacity:1;}

	.header .navbar .navbar-nav > li.lnkContatti {		display: none;	}

@media (min-width: 1500px) {

	.container{ width:1400px;}
	.visual .container{ width:1400px; padding:0px 30px;}


}

@media (max-width: 1499px) {

	.row.row40{ margin-left:-20px; margin-right:-20px;}
	.row.row40 > [class*="col-"]{ padding:0 20px;}


}

@media (max-width: 1199px){

	/* header e menu: sotto i 1199px il menu desktop deve restare su una riga fino ai 992px */
	.container-fluid{ padding:0 35px;}
	.header .navbar a.navbar-brand img{ height:34px;}
	.header .navbar .navbar-nav > li > a{ font-size:13px; margin:0 6px;}
	.header .request .btn{ padding:8px 14px; font-size:13px;}

	/* breadcrumb: da float (non centrato quando va a capo) a inline-block centrato */
	.title .breadcrumb ul{ float:none; display:inline-block; text-align:center;}
	.title .breadcrumb li{ float:none; display:inline-block;}

	/* bottoni */
	.btn{ font-size:14px; padding:9px 18px;}
	.btn.btn-input{ height:46px;}

	/* griglie */
	.row.row40{ margin-left:-18px; margin-right:-18px;}
	.row.row40 > [class*="col-"]{ padding:0 18px;}

	/* titolo pagina */
	.title{ padding:150px 0 50px 0;}
	.title .text h1, .title .text h2{ font-size:46px;}

	/* blocchi generali */
	.block{ padding:80px 0;}
	.block.small{ padding:50px 0;}
	.block h1, .block h2{ font-size:42px;}
	.block.presentation .top-title h2{ font-size:46px;}

	/* hero home */
	.visual-content .box{ padding:0 60px;}
	.visual-content .box h1{ font-size:50px;}
	.visual-content .box h2{ font-size:20px;}

	/* numeri azienda: da 5 colonne strette (si schiacciano tra 992-1199px) a griglia 2 colonne */
	.block.numbers .row.flex > [class*="col-"]{ flex:0 0 50%; max-width:50%; min-width:0; margin-left:0 !important;}
	.block.numbers .box{ padding:0 30px;}
	.block.numbers .item{ padding:20px 15px;}
	.block.numbers .item.normal h2{ font-size:44px; min-height:0;}
	.block.numbers .item.normal p{ font-size:18px;}

	/* categorie */
	.block.categories .item .text h2{ font-size:30px;}

	.block.gallery-page .gallery .item{ width:50%; padding:0 5px; margin-bottom:10px; }
	.block.gallery-page .gallery .item-wrap{ margin:0 -5px;}
}

@media (max-width: 1008px) {

	/* header e menu */
	.container-fluid{ padding:0 25px;}
	.header .navbar a.navbar-brand img{ height:30px;}
	.header .navbar .navbar-nav > li > a{ font-size:13px; margin:0 4px;}
	.header .request .btn{ padding:7px 12px; font-size:12px;}

	/* bottoni */
	.btn{ font-size:13px; padding:8px 16px;}
	.btn.btn-input{ height:44px;}

	/* griglie */
	.row.row40{ margin-left:-15px; margin-right:-15px;}
	.row.row40 > [class*="col-"]{ padding:0 15px;}

	.block.fullwidth .text{ padding:80px 0;}

	.block.history .item .text{ padding-left:40px;}
	.block.history .item.alternate .text{ padding-right:40px;}

	/* numeri azienda */
	.block.numbers .box{ padding:0 22px;}
	.block.numbers .item{ padding:18px 12px;}
	.block.numbers .item.normal h2{ font-size:40px;}
	.block.numbers .item.normal p{ font-size:16px;}

	.footer .footer-row .rowfooter01{ margin:0 -20px;}
	.footer .footer-row .rowfooter01 .colfooter{ padding:0 20px;}
}

@media (min-width: 992px) {

	.header .navbar-collapse{ display:flex;}

}

@media (max-width: 992px) {

	.navbar-nav{ padding-bottom:0px;}
	.footer-row [class*=col-]{ margin:0px;}

	.content .row + .row{ margin-top:40px;}
	.block.fullwidth{ margin:0 30px;}
}

@media (max-width: 991px) {

	.navbar-toggle{ display:block; width:46px; height:46px;}
	.navbar-toggle i{ line-height:46px;}

	.container{ width:750px;}
	.visual .container{ width:750px;}
	.container-fluid{ padding:0 30px;}

	/* bottoni */
	.btn{ font-size:13px; padding:8px 16px;}

	/* header e menu mobile: sfondo scuro coerente col brand, stato attivo più evidente */
	.header{}
	.header .navbar{ position:relative;}
	.header .navbar a.navbar-brand{ position:relative; z-index:10; line-height:100px; margin-left:0px;}
	.header .navbar a.navbar-brand img{ height:36px;}
	.header .navbar .menu-wrap{ width:100%; display:block; flex-wrap:unset; float:left; margin:0px;}
	.header .navbar-collapse{ display:none; background:#161616; padding:15px 30px; float:none !important; box-shadow:0px 10px 30px rgba(0,0,0,0.3); clear: both; width: 100%; margin: 0 !important; border-radius:0 0 5px 5px;}
	.header .navbar-collapse.in{ display:block; position:absolute; left:0px; top:100%; z-index:999; max-height:calc(100vh - 90px); overflow-y:auto;}
	.header .navbar .navbar-nav{ width:100%; float:left;padding-bottom:0px; display:inherit; vertical-align:inherit; margin-bottom:0px; padding-bottom:10px; overflow:hidden;}
	.header .navbar .navbar-nav + .navbar-nav{ padding-top:0px;}
	.header .navbar .navbar-nav > li{ clear:both; width:100%; padding:0px; border-bottom:1px solid rgba(255,255,255,0.1);}
	.header .navbar .navbar-nav.right > li:last-child{ border:0px;}
	.header .navbar .navbar-nav > li:after{ display:none;}
	.header .navbar .navbar-nav > li > a:after{ display:none;}
	.header .navbar .navbar-nav > li > a{ line-height:1.2 !important; font-size:17px; color:#fff; padding:15px 5px; border-left:0px !important; margin:0px; border:0px; transition:all .2s ease-in-out;}
	.header .navbar .navbar-nav > li > a span:before, .header .navbar-nav > li.active > a span:before{ display:none;}
	.header .navbar .navbar-nav > li > a:before{ display:none;}
	.header .navbar .navbar-nav > li.active > a{ color:#ff0000; border:0px; padding-left:15px; border-left:3px solid #ff0000 !important; background:rgba(255,0,0,0.08);}
	.header .navbar .navbar-nav > li > a:hover{ color:#ff0000; border:0px; padding-left:15px; background:rgba(255,0,0,0.06);}
	.header .navbar .navbar-nav > li > span.aprisottomenu{ display:inline-block;}
	.header .navbar .navbar-nav > li.quote a{ font-size:18px; text-align:center; line-height:48px !important;}
	.header .navbar .navbar-nav > li:last-child{ border:0px;}
	
	.header .dropdown-menu{ display:none; width:100%; min-width:100%; max-width:100%; transform:none; background:rgba(255,255,255,0.04); padding:5px 0 15px 12px; position: relative; top:0; left:0; margin:0px;}
	.header .dropdown-menu.open{ display:block;}
	.header .dropdown-menu:before{ display:none;}
	.header .dropdown-menu > li{ text-align:left; border:0px;}
	.header .dropdown-menu > li > a{ color:#ccc; font-size:15px; line-height:22px; padding:8px 0; text-align:left; font-weight:inherit;}
	.header .dropdown-menu > li > a:hover{ color:#ff0000;}
	.header .dropdown-menu > li.active > a, .header .dropdown-menu > li.active > a:hover{ color:#ff0000; font-weight:600; background:none;}

	.navbar-toggle{ position:static; order:3; margin-left:10px; flex-shrink:0;}
	.header .request{ flex-shrink:0;}

	/* hero home: l'immagine passa da fascia laterale a fascia sotto il testo, mantenuta a tutte le risoluzioni */
	.visual:before{ display:none;}
	.visual:after{ display:none;}
	.visual-content{ height:auto; min-height:0; padding:190px 0 0 0; background:#111;}
	.visual-content .box{ max-width:100%; padding:0 40px 55px 40px; text-align:center;}
	.visual-content .box h1{ font-size:42px;}
	.visual-content .box h2{ max-width:100%; font-size:18px; margin-bottom:25px;}
	.visual-content .box .actions{ justify-content:center;}
	.visual .background-intro{ display:block; position:relative; width:100%; height:0; padding-bottom:66.67%; right:auto; bottom:auto; z-index:1;}
	.visual .background-intro .image-wrap .image{ background-position:center center;}

	/* titolo pagina */
	.title{ padding:140px 0 45px 0;}
	.title .text h1, .title .text h2{ font-size:40px;}
	.title .breadcrumb li{ font-size:12px;}
	.title .breadcrumb li:after{ font-size:13px;}

	/* blocchi generali */
	.block{ padding:70px 0;}
	.block.small{ padding:45px 0;}
	.block h1, .block h2{ font-size:36px;}
	.block.presentation .top-title h2{ font-size:40px;}
	.block.presentation .top-title h3{ padding:0 5%;}

	.block.homepage01{ margin-top:60px;}
	.block.fullwidth .image{ width:100%; height:0; padding-bottom:66.67%; position:relative;}
	.block.fullwidth .slideshow .swiper-container{ position:absolute; left:0px; top:0px;}
	.block.fullwidth.left .image{ top:auto; left:auto;}
	.block.fullwidth.right .image{ top:auto; right:auto;}
	.block.fullwidth.gradient .image:before{ display:none;}
	.block.fullwidth .text{ padding:40px 0; text-align:center;}

	/* numeri azienda: griglia a 2 colonne, meglio proporzionata */
	.block.numbers .box{ padding:0 25px;}
	.block.numbers .item{ padding:20px 10px;}
	.block.numbers .item.normal h2{ font-size:36px;}
	.block.numbers .item.normal p{ font-size:15px;}

	.block.categories .item .text h2{ font-size:28px;}

	/* timeline storia: da doppia colonna centrata a lista lineare */
	.block.history .item-wrap:before{ left:20px; margin-left:0px;}
	.block.history .item .year{ text-align:left; padding-left:50px; padding-bottom:20px;}
	.block.history .item .year h2{ font-size:40px;}
	.block.history .item .year h2 span{ padding:0 15px 0 0; background:none;}
	.block.history .item .year h2:before{ display:none;}
	.block.history .item .year h2:after{ left:14px; right:auto;}
	.block.history .item .text{ padding-left:50px; padding-bottom:40px;}
	.block.history .item.alternate .text{ padding:0px 0 40px 50px; text-align:left;}
	.block.history .item.alternate .year{ text-align:left; padding-left:50px;}
	.block.history .item.alternate .year h2:before{ display:none;}
	.block.history .item.alternate .year h2:after{ left:14px; right:auto;}

	.block.contacts .box h2{ font-size:28px;}
	/* colonne affiancate (immagine/slideshow + testo) che si impilano sotto i 991px:
	   senza margine il primo elemento tocca quello successivo */
	.block.contacts .box,
	.block.about .row.row40 > [class*="col-"]:first-child,
	.block.product-detail .row.row40 > [class*="col-"]:first-child,
	.block.history-intro .row.row40 > [class*="col-"]:first-child{ margin-bottom:40px;}

	/* seconda fascia azienda: l'immagine ha la classe pull-right (order:2 su desktop per
	   invertire la colonna); su mobile riportiamo l'immagine prima del testo */
	.block.about .row.row40 > [class*="col-"].pull-right{ order:0;}

	/* footer: sempre centrato e su una colonna sotto i 991px */
	.footer .footer-row .rowfooter01{ flex-wrap:wrap; margin:0 -15px;}
	.footer .footer-row .rowfooter01 .colfooter{ width:100%; padding:0 15px; margin-bottom:30px;}
	.footer .footer-row .rowfooter01 .colfooter.colcompany{ margin-left:0px;}
	.footer .footer-row .rowfooter01 .colfooter:last-child{ margin-bottom:0px;}
	.footer .footer-row .widget{ text-align:center;}
	.footer .footer-row .widget.widget-company{ text-align:center;}
	.footer .footer-row .widget.widget-company img{ margin-bottom:20px;}

	.header .request {	display: none;	}
	.header .navbar .navbar-nav > li.lnkContatti {		display: block;	}

}


@media (max-width: 768px){

	.content .row + .row{ margin-top:25px;}

	.container{ width:100%; padding:0 25px;}
	.container-fluid{ padding:0 25px;}
	.visual .container{ width:100%;}

	.row.row40{ margin-left:-10px; margin-right:-10px;}
	.row.row40 > [class*="col-"]{ padding:0 10px;}

	.header .navbar a.navbar-brand{ margin-left:0px; line-height:70px;}
	.header .navbar a.navbar-brand img{ height:30px;}
	.header .request .btn{ padding:9px 16px; font-size:14px;}
	.navbar-toggle{ width:42px; height:42px;}
	.navbar-toggle i{ line-height:42px; font-size:15px;}

	/* bottoni */
	.btn{ font-size:13px; padding:8px 14px;}
	.btn.btn-input{ height:42px;}

	/* hero home */
	.visual-content{ padding-top:100px;}
	.visual-content .box{ padding:0 25px 60px 25px;}
	.visual-content .box h1{ font-size:36px;}
	.visual-content .box h2{ font-size:17px; margin-bottom:20px;}
	.visual .background-intro{ padding-bottom:75%;}

	/* titolo pagina */
	.title{ padding:125px 0 35px 0;}
	.title .text h1, .title .text h2{ font-size:32px;}

	/* blocchi generali */
	.block{ padding:55px 0;}
	.block.small{ padding:35px 0;}
	.block h1, .block h2{ font-size:30px;}
	.block h3{ font-size:19px;}
	.block.presentation .top-title h2{ font-size:32px;}
	.block.presentation .top-title h3{ padding:0px;}

	/* numeri azienda */
	.block.numbers .box{ padding:0 15px;}
	.block.numbers .item{ padding:18px 8px;}
	.block.numbers .item.normal h2{ font-size:32px;}
	.block.numbers .item.normal p{ font-size:14px;}

	.block.categories .item .text h2{ font-size:26px;}
	.block.categories .item{ margin-bottom:30px;}

	.block.contacts .box h2{ font-size:26px;}
	.block.contacts .box{ margin-bottom:30px;}

	/* footer */
	.footer .footer-row{ padding-top:45px; padding-bottom:30px;}
	.footer .footer-row .widget{ margin-bottom:30px;}
	.footer .footer-row .widget:last-child{ margin-bottom:0px;}
	.footer .footer-row .widget.widget-company img{ margin-bottom:20px;}
	.footer .footer-row .widget.widget-company p{ font-size:12px;}

	.check label span{ font-size:12px;}



}

@media (max-width: 640px){

	.visual-content .box h1{ font-size:32px;}

	.block.gallery-page .gallery .item{ width:50%;}

	.modal-body .text{ padding:30px 20px;}
	.modal .modal-body .text h2{ font-size:26px;}
	.modal .modal-body .text h3{ font-size:18px;}
	.modal .modal-body .text .btn{ font-size:16px; padding:12px 15px;}
}

@media (max-width: 479px) {

	[class*=col-xs-]{ text-align:inherit;}
	.footer [class*=col-]{ text-align:inherit;}

	.container-fluid{ padding:0 15px;}
	.block.fullwidth{ margin:0 15px;}

	.row.row40{ margin-left:-8px; margin-right:-8px;}
	.row.row40 > [class*="col-"]{ padding:0 8px;}

	.navbar-toggle{ width:38px; height:38px; right:15px; top:15px;}
	.navbar-toggle i{ line-height:38px; font-size:13px;}

	.header .navbar a.navbar-brand img{ height:22px;}
	.header .navbar .languages li img {		width: 22px;		height: auto;}
	.header .request .btn{ padding:8px 14px; font-size:13px;}

	/* bottoni */
	.btn{ font-size:12px; padding:7px 12px;}
	.btn.btn-input{ height:40px;}

	/* titolo pagina */
	.title{ padding:115px 0 28px 0;}
	.title .text h1, .title .text h2{ font-size:26px;}

	/* blocchi generali */
	.block{ padding:40px 0;}
	.block.small{ padding:28px 0;}
	.block h1, .block h2{ font-size:26px;}
	.block.presentation .top-title h2{ font-size:26px;}

	/* hero home */
	.visual-content .box h1{ font-size:26px;}
	.visual-content .box h2{ font-size:15px;}

	/* numeri azienda */
	.block.numbers .item.normal p{ font-size:12px;}

	/* timeline storia */
	.block.history .item .year h2{ font-size:32px;}
}


@media (max-width: 365px) {

	.header .navbar a.navbar-brand img{ height: 18px;}
	.header .navbar .languages li img {		width: 18px;		height: auto;}

}
