@import url('extras.css');
@import url('forms.css');

/*---------------------------------------------*\
                   
\*---------------------------------------------*/

* { margin:0; padding:0; font:15px/1.25 sans-serif; font-family: 'Roboto', sans-serif; font-weight:400; color:#555556; z-index:1; -webkit-text-size-adjust: none; }

*, *:before, *:after { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; box-sizing: border-box;  }

/* html, body { min-height:100%; height:100%; width:auto; }
html > body  {min-height:100%; height:100%; width:auto; } */
html, body { width:auto; }
html > body  { width:auto; }
html { }
body {background:#ffffff; }

h1,h2,h3,h4,h5,h6 {line-height:1em; color:#555556; padding:0;  margin-bottom:10px; text-align:left; font-weight: 400; }
h1 *, h2 *, h3 *, h4 *, h5 *, h6 * {line-height:1em; font-size:inherit; color:inherit; font-family:inherit; }

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {line-height:1em; background:none }

h1 {font-size:34px; }
h2 {font-size:30px; }
h3 {font-size:26px; }
h4 {font-size:20px; }
h5 {font-size:16px; }
h6 {font-size:14px; }

p { margin-bottom: 15px; line-height: 1.7em; letter-spacing: 0.5px; }
a {text-decoration:none; color:#2d5da9; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease;}
a:hover {color:#555556; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease;}
hr {height:1px; border:0; border-bottom:1px dotted #ccc; margin:10px 0;}
a:visited, a:link {outline:none;}
a img {border:0;}
p.err {color:red; margin-bottom:10px}

em {font-style:italic}

strong, strong *, * strong {font-weight:bold !important; }
input {margin:0; padding:0;}
form p { margin:0; padding:0;}

ul { list-style-position:outside; margin:0; padding:0; }
ul li{ margin-left: 18px; margin-bottom: 8px; }
ol li { list-style-type: decimal; list-style-position: outside; margin-left:15px }

label {color:#fff;}
select {-webkit-appearance:none; }

.hide {display:none}
.err {color:#f12 !important; }
strong.err {font-size:inherit; padding:0;}
h3.err {font-size:30px; padding:0;}

input:focus, select:focus {color:#444; outline:none; }
select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #000; }
input{ -webkit-appearance: none; -webkit-border-radius: 0; }
button:focus {outline:0;}

.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
.clearfix { display: inline-block; }
* html .clearfix { height: 1%; }
.clearfix { display: block; }
div.clear { clear:both; }


a.btn{ display: inline-block; padding: 5px 18px; border: 2px solid #2d5da9; color: #2d5da9; letter-spacing: 1px; font-weight: 400; }
a.btn:hover{ border: 2px solid #2d5da9; background: #2d5da9; color: #ffffff; }

a.btn.white{ border: 2px solid #ffffff; color: #2d5da9; background:#ffffff;}
a.btn.white:hover{ border: 2px solid #2d5da9; color: #ffffff; background: #2d5da9; }



/*---------------------------------------------*\
                   layout 
\*---------------------------------------------*/
#wrapper { width:100%; margin-top: 200px; }
#wrapper.page--home, #wrapper.page--azienda { margin-top: 0; }
.container{ width: 100%; max-width: 1350px; margin: 0 auto; padding: 0 25px; position: relative; }
.container--header-home { max-width: 1500px; }

#header{ background: transparent; position: fixed; top: 0; left: 0; width: 100%; padding: 25px 0;  z-index: 5; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease; }
#header.fixed-top{ background: #ffffff; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease; }
#header #logo{ width: 209px; height: 75px; background: url(/i/logo--bianco.png) center center no-repeat; background-size: cover; background-position-y: -40px; margin: 0 auto; }
.horizontal-line:before { width: calc((100vw - 230px)/2); border-bottom: 1px solid white; content: " "; display: block; position: absolute; top: 80px; left: 0; }
.horizontal-line:after { width: calc((100vw - 230px)/2); border-bottom: 1px solid white; content: " "; display: block; position: absolute; top: 80px; right: 0; }

#header a.a-logo-header{margin: 0 auto; display: block; width: 209px;}
#header.fixed-top #logo{ background: url(/i/logo--blu.png) center center no-repeat; background-size: cover; }

#header .contact-header{ position: absolute; right: 25px; top: 20px; }
/* #header.fixed-top .contact-header{ position: absolute; right: 25px; top: 20px; } */
#header .contact-header a, #login-box{ float: left; font-size: 14px; font-weight: 400; }

#login-box, #login-box a, #login-box #login-form{width: 164px;}
#login-box .password-login{ border: 0; margin: 0; outline: 0; padding: 0px 5px 0px 5px; border-bottom: 1px solid #ffffff; color: #ffffff; background-color: transparent; }
#header.fixed-top #login-box .password-login{ border-bottom: 1px solid #2d5da9; color: #2d5da9; }

#login-box input.password-login::-webkit-input-placeholder { color: #ffffff; text-shadow: none; -webkit-text-fill-color: initial; font-weight: 300; text-align: center; }
#header.fixed-top #login-box input.password-login::-webkit-input-placeholder { color: #2d5da9; }

#login-box input.password-login, #login-box .sbt-login{float: left;}

#login-box input.password-login{ width: 134px; height: 31px; }
#login-box .sbt-login{ width: 30px; height: 31px; border: 0; outline: 0; margin: 0; cursor: pointer; background: url(/i/login-w.png) no-repeat center; background-size: contain; background-color: transparent;  }
#header.fixed-top #login-box .sbt-login{background: url(/i/login-b.png) no-repeat center;}


#menu #lang{display: none;}
#lang{position: absolute; left: 90px; top: 25px;}
#lang ul li{ display: inline-block; vertical-align: middle; margin-left: 0; margin-bottom: 0; background-position: center center; background-repeat: no-repeat; background-size: contain; }
#lang ul li.first{margin-right: 16px;}
#lang ul li a {display: block; position: relative; }
#lang ul li a span{position: absolute; top: 0; left: 0; width: 20px; height: 20px; }
#lang ul li a img{max-width: 20px; width: 100%;}

#header .contact-header a.mail{ color: #ffffff; /*margin: 40px -175px 0 0;*/ margin: -13px 25px 0 0; letter-spacing: 1px; }
#header.fixed-top .contact-header a.mail{ color: #ffffff; margin: 7px 25px 0 0; letter-spacing: 1px; }

#header.fixed-top .contact-header a.mail{ color: #2d5da9; 
        /* margin: 7px 25px 0 0;  */
}

#header.fixed-top #login-box{ margin-top: -22px; }
#login-box{ margin-top: -43px; position: relative;}
#header .contact-header a.btn{ display: block; padding: 5px 18px; border: 2px solid #ffffff; color: #ffffff; letter-spacing: 1px; text-align: center; margin-top: 5px; }
#header .contact-header a.btn:hover{ border: 2px solid #2d5da9; background: #2d5da9; color: #ffffff; text-align: center; }
#header.fixed-top .contact-header a.btn{ border: 2px solid #2d5da9; color: #2d5da9; text-align: center; }
#header.fixed-top .contact-header a.btn:hover{ background: #2d5da9; color: #ffffff; }

.qr-reader { display: none; width: 50px; height: 100px; background: url('/i/qr-reader.png') center center no-repeat; background-size: contain; position: absolute; top: -13px; right: 0;}
.qr-reader:hover { cursor: pointer; }
#header.fixed-top #login-box .qr-reader { background-image: url('/i/qr-reader--blue.png'); }

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after{ background-color: #ffffff; }
#header.fixed-top .hamburger-inner, #header.fixed-top .hamburger-inner::before, #header.fixed-top .hamburger-inner::after{ background-color: #2d5da9; }
.hamburger .menu-title { color: white; position: absolute; left: 17px; top: 50px;}
#header.fixed-top .hamburger .menu-title { color: white; position: absolute; left: 17px; top: 45px;}

#menu{ background-color: #ffffff; position: fixed; z-index:14; left: 0; top: 125px; padding: 25px; min-width: 350px; height: 100%; }
#menu #menu-content{ overflow-y: auto; }
#menu #menu-content ul{ list-style: none; }
#menu #menu-content ul li{ margin: 15px 5px; }
#menu #menu-content ul li a{ text-transform: uppercase; color: #3f4040; font-weight: 400; font-size: 18px; letter-spacing: 2px; padding: 5px; display: block; }
#menu #menu-content ul li a:hover,
#menu #menu-content ul li.active a{ color: #2d5da9; }
#menu #menu-content ul li:last-child{ margin-top: 45px;}
#menu #menu-content ul.menu-mobile{display: none;}
#menu #menu-content ul.menu-mobile li:last-child{ margin-top: 15px; }

#login-form-tec{margin-top: 8px;}

#header-slider-single{ position: relative; margin-top: 120px; margin-bottom: 20px; background: transparent; min-height: 240px; }
.header-slider-single--product { background: rgba(255,255,255,0.6) !important; }
#header-slider-single.home-header{ margin-top: 0; min-height: 400px; }
#header-slider-single img{width: 100%; position: relative; z-index: 1;}
/* #header-slider-single .caption{ position: relative; width: 100%; padding: 13% 25px 10% 25px; text-align: center; z-index: 10; } */
#header-slider-single .caption{ position: relative; width: 100%; padding: 6% 25px; text-align: center; z-index: 10; }
#header-slider-single .caption h1{ width: 100%; text-align: center; letter-spacing: 2px; color: #ffffff; font-size: 42px; }
#header-slider-single .caption h4{ width: 100%; text-align: center; letter-spacing: 2px; color: #ffffff; font-weight: 300; font-size: 16px; }


.breadcrumb-bar{ margin-bottom: 50px; text-align: center;}
.breadcrumb-bar--product { margin-top: 30px; margin-bottom: 20px;}
.breadcrumb-bar--product .container, .breadcrumb-bar--product .container a{ font-size: 32px; }


#footer{ background-color: #f3f4f5; width: 100%; padding: 25px; }
#footer .container{ padding: 25px 0; border-top: 1px solid #c2c3c4; border-bottom: 1px solid #c2c3c4; }
#footer .contacts{ text-align: left; }
#footer .contacts p{ margin-top: 15px; margin-bottom: 0; }
#footer .contacts *{ font-size: 18px; font-weight: bold; }
#footer #credits{ text-align: center; padding: 25px 25px 0 25px; }
#footer #credits p{ font-size: 11px; }
#footer #credits a{ font-size: 12px; }



img.divider{ max-width: 100% !important; width: auto !important; margin: 15px 0; }

.main{ margin-bottom: 50px;     margin-top: 50px; }
.main .txt .col{ padding: 0 2%; }


.downlaod-area{ margin-bottom: 50px; text-align: center; }
.downlaod-area .dl-eh{ padding: 20px; width: 25%; display: inline-block; vertical-align: top; }
/* .downlaod-area .dl-eh a, .download__locked{ display: block; background: url(/i/dl-icon.png) no-repeat top center; text-align: center;  padding: 85px 10px 10px 10px;} */
.downlaod-area .dl-eh a, .download__locked { display: block; text-align: center;  padding: 10px; }
.downlaod-area .dl-eh span{ word-break: break-all; }
.download__locked:hover { cursor: pointer; }
.downlaod-area .dl-eh a img, .download__locked img { height: 45px; width: 40px; margin: auto; display: block; margin-bottom: 20px;}
.downlaod-area .dl-eh a:hover span{ color: #3c5b8e; }

.download__container{ margin-top: 80px; }
.download__title { font-size: 20px; font-weight: bold; text-align: center;}
/* .download__locked { background: url('/i/lock-blue.png') center center no-repeat; height: 75px; background-size: contain; margin: auto; padding-bottom: 0;} */
/* .download__locked span { margin-top: 15px; } */


.gallery-area{ margin-bottom: 50px; }
.gallery-area .gallery-area-container{ margin: 15px 0; }
.gallery-area .gallery-area-container .gallery-box{ float: left; width: 24%; overflow: hidden; margin: 0.5%; }
.gallery-area .gallery-area-container .gallery-box a{ display: block; line-height: 0; }
.gallery-area .gallery-area-container .gallery-box img{ max-width: 100%; -moz-transition: all 0.3s; -webkit-transition: all 0.3s; transition: all 0.3s; position: relative; outline: 2px solid white; outline-offset: -10px; }
.gallery-area .gallery-area-container .gallery-box:hover img { -moz-transform: scale(1.1); -webkit-transform: scale(1.1); transform: scale(1.1); }


.feedback{ position: fixed; top: 0; right: 0; width: 300px; z-index: 100; background-color: #c50000; text-align: center; padding: 10px 25px; cursor: pointer; display: none; }
.feedback p{ margin: 0; color: #ffffff; font-size: 13px; }


.cornice-img { position: absolute; width: calc(100% - 10px); height: calc(100% - 10px); border: 2px solid white; top:  0; left:  0; margin: 5px; }
.cornice-img--home { height: calc(100% - 14px); }


/*---------------------------------------------*\
                   HOME PAGE
\*---------------------------------------------*/
#video-header { position: relative; width: 100%; display: block; line-height: 0; }
#video-header #video-background{ width: 100%; }
#video-header .video-overlay{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(109, 66, 59, 0.3); z-index: 5; }


.cta-news{ margin: 50px 0; background: #ffffff; }
.cta-news .box-news{ text-align: center; background-color: #f3f4f5; cursor: pointer; border: 15px solid #ffffff; width: 25%; float: left; padding: 5px; }
.cta-news .box-news:hover{ background-color: #fcfcfc; }
.cta-news .box-news img{ width: 100%; }
.cta-news .box-news h4{ text-align: center; }
.cta-news .box-news .txt{ padding: 25px; }


.link-row{ background: transparent; }
.link-row .text-content{ text-align: center; padding: 8% 20%;  }
.link-row .text-content h1{ color: #ffffff; text-align: center; margin-bottom: 30px; letter-spacing: 1px; }
.link-row .text-content p{ color: #ffffff; margin-bottom: 40px; }



/*---------------------------------------------*\
                   PRODOTTI
\*---------------------------------------------*/

.template-produtcts .txt{ text-align: center; }

.category-list{ margin-bottom: 50px; text-align: center; }
.category-list .box{ display: block; float: left; width: 23%; text-align: center; margin: 1%; background-color: #f7f8f9;}
.category-list .box.sublevel-prod{ display: inline-grid; float: none; }
.category-list .box:hover{ background-color: #fcfcfc; }
.category-list .box img{max-width: 100%;}
.category-list .box img.box-img{ width: 100%; }
.category-list .box .txt{ padding: 15px; }
.category-list .box .txt h5{ text-align: center; font-weight: bold; margin: 0 0 15px 0;}
.category-list .box .txt p{ line-height: 1.2em; font-weight: 300; }
.category-list .category-list__title {text-align: center;}



/*---------------------------------------------*\
                   CONTATTI
\*---------------------------------------------*/
.contact-page .form{ padding: 0 25px 0 30px; }
.map-container{ margin-top: 85px; margin-bottom: 100px; }
.init-map { height: 100%; min-height: 350px; width: 100%; display: block; min-height: 350px; }

.tab-content{display: none;}
.tab-content.active{display: block;}

/*.tab-nat-select{ margin: 0 30px; }*/
.tab-nat-select{ margin: 0; }
.tab-nat-select ul li{ list-style: none; padding: 15px; background-color: #f3f4f5; cursor: pointer; position: relative; margin-left: 0; }
.tab-nat-select ul li:after{ content: ""; position: absolute; top: 30px; right: 25px; background-image: url(/i/down-arrow.png); background-size: cover; background-repeat: no-repeat; background-position: center center; width: 18px; height: 18px; -webkit-transition: all .3s; -o-transition: all .3s; transition: all .3s; }
.tab-nat-select ul li.active:after{transform: rotate(180deg); }
.tab-nat-select ul li a{cursor: pointer; display: inline-block; vertical-align: middle; text-transform: uppercase; color: #555556; font-weight: bold; letter-spacing: 0.7px; width: 100%; padding-right: 20px; }
.tab-nat-select ul li.active a{text-decoration: underline;}
.tab-nat-select ul li a img{cursor: pointer; display: inline-block; vertical-align: middle; margin-right: 10px;}
#tabs-2{margin-bottom: 20px;}
#tabs-2 .tab-nat-select{ margin: 0; }
.ui-widget.ui-widget-content {border: 0px;}
.ui-tabs .ui-tabs-panel {  padding: 25px 0; }
.ui-widget-header{ background: none; }
.ui-widget-header{ border: 0; border-bottom: 1px solid #f6f6f6; }
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active { border: 0; background: none; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { border: 0; background: #f6f6f6;}

#form.description{ width: 100%; max-width: 1024px; margin: 50px auto; }
#form.description h3{ text-align: center; margin-bottom: 50px; }

/*---------------------------------------------*\
                   NEWS
\*---------------------------------------------*/
.template-news,
.template-news .txt{ text-align: center; }
.template-news img{ padding: 25px; max-width: 500px; width: 100%; }
.template-news a.btn-news{ display: block; margin: 0 auto 30px auto; max-width: 200px; text-transform: uppercase; }


/*---------------------------------------------*\
                   NORMATIVE
\*---------------------------------------------*/
.page--normative .main .txt .col p{text-align: center;}

/*---------------------------------------------*\
                 AREA RISERVATA
\*---------------------------------------------*/


.area-riservata{ margin: 50px auto; }
.area-riservata .title-row{ display: block; text-align: center; }
/* .area-riservata .title-row h4{ float: left; }
.area-riservata .title-row .download-btn{ float: right; margin-top: -5px; } */
.area-riservata .title-row .download-btn{ display:block; text-align: center; margin-top: 20px; margin-bottom: 20px; }
.area-riservata .title-row h4{ display: inline-block; text-align: center; }
.area-riservata .title-row h4 a{ display: block; margin-top: 10px; }
.area-riservata .title-row h4 a:hover{color: #2d5da9; opacity: 0.8;}
.area-riservata .title-row h4 img{ max-width: 18px; display: inline-block; vertical-align: middle; margin-left: 10px; margin-top: -3px; }
.area-riservata .search-box{ float: right; margin: 15px 0; width: 100%; max-width: 250px; }
.area-riservata .search-box .icon{ float: left; margin: 0; width: 20%; max-width: 27px; }
.area-riservata .search-box .search{ float: right; border: 0; border-bottom: 1px solid #555556; padding: 3px 5px; width: 80%; }

.area-riservata span.rev{ /*margin: 0 5px 0 2px;*/ margin: 0 3px 0 2px; font-size: 18px; }
.area-riservata span.rev.ok{ color: #0099ff; cursor: pointer; }
.area-riservata span.rev.no{ color: red; cursor: default; }

.area-riservata #download{ margin-top: 100px; }
.area-riservata #download h2{ text-align: center; }

.tablesorter .filtered { display: none; }
.tablesorter .tablesorter-errorRow td { text-align: center; cursor: pointer; background-color: #e6bf99; }

@media ( max-width: 35em ) {
        .area-riservata .search-box{ float: left; }
        .ui-table-reflow td,
        .ui-table-reflow th {
                -webkit-box-sizing: border-box;
                -moz-box-sizing: border-box;
                box-sizing: border-box;
                float: right;
                /* if not using the stickyHeaders widget (not the css3 version)
                 * the "!important" flag, and "height: auto" can be removed */
                width: 100% !important;
                height: auto !important;
        }
        /* reflow widget */
        .ui-table-reflow tbody td[data-title]:before {
                color: #469;
                font-size: .9em;
                content: attr(data-title);
                float: left;
                width: 50%;
                white-space: pre-wrap;
                text-align: bottom;
                display: inline-block;
        }
        table.ui-table-reflow thead { display: none; }
}
.ui-table-reflow .ui-table-cell-label { display: none; }


.tooltipster-content a{ color: #ffffff; text-decoration: underline; font-style: italic; }

.header--no-image{margin-top: 125px; position: fixed; top: 0; left: 0; width: 100%; height: auto; z-index: 2; background-color: white;}
.header--no-image h1{ width: 100%; text-align: center; letter-spacing: 2px; color: #2d5da9; font-size: 42px; text-transform: uppercase; margin-top: 10px; margin-bottom: 10px; }