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

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

* { margin:0; padding:0; font:15px/1.25 sans-serif; font-family: 'Lato', sans-serif; font-weight:400; color:#000000; 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 {background: #ffffff; }

h1,h2,h3,h4,h5,h6 {line-height:1em; color:#444; padding:0;  margin-bottom:10px; text-align:left; }
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:22px; }
h5 {font-size:16px; }
h6 {font-size:14px; }

p {margin-bottom:15px;}
a {text-decoration:none; color:#8f3f2b; -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:#000000; -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:inside; margin:0; padding:0; }
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; }
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; }

.centered-element {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {  
   /* IE10+ specific styles go here */  
   .header-image .centered-element {
        display: block;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
    }
}

/*---------------------------------------------*\
                   layout 
\*---------------------------------------------*/
#wrapper { width:100%; overflow: hidden;}
.container{ width: 100%; max-width: 1450px; margin: 0 auto; padding: 0 25px; position: relative; }

.col{ float: left; }


#header{ position: fixed; z-index: 9999; top: 0; width: 100%; height: 100px; left: 0; padding-top: 10px; padding-bottom: 10px; background-color: transparent; -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 img.logo-header{ opacity: 0; -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-color: #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.fixed-top img.logo-header{ opacity: 1; -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 .hamburger{ padding: 15px; display: block; position: absolute; left: 0; top: 12px; }
#header .hamburger-inner, #header .hamburger-inner:after, #header .hamburger-inner:before{ background-color: #ffffff; border-radius: 0; }
#header.fixed-top .hamburger-inner, #header.fixed-top .hamburger-inner:after, #header.fixed-top .hamburger-inner:before{ background-color: #000000; }
#header.black .hamburger-inner, #header.black .hamburger-inner:after, #header.black .hamburger-inner:before{ background-color: #000000; }
#header .hamburger--spring.is-active .hamburger-inner{ background-color: transparent; }

#header .logo{ width: 75px; display: none; margin: 0 auto;  }
#header.fixed-top .logo, #header.black .logo{ display: block; }
#header .logo img{ width: 100%; }

#menu{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; background-color: #ffffff; overflow: auto; }
#menu #menu-content{ width: 100%; }
#menu #menu-content ul{ list-style: none; padding-top: 150px;}
#menu #menu-content ul li{ padding: 5px; width: 100%; text-align: center; }
#menu #menu-content ul li a{ color: #000000; text-transform: uppercase; font-weight: bold; font-size: 23px; letter-spacing: 3px; }
#menu #menu-content ul li:after{ content: ""; width: 8px; height: 8px; display: block; margin: 15px auto; border: 1px solid #000000; border-radius: 50%; }
#menu #menu-content ul li:last-child:after{ display: none; }
#menu #menu-content ul li.active a, #menu #menu-content ul li a:hover{ color: #8f3f2b; }
#menu #menu-content ul li.menu_voice{ display: none; }
#menu.fixed-top #menu-content ul li.menu_voice{ display: block; }


#lang{ position: absolute; right: 15px; top: 14px; }
#lang ul{ list-style: none; }
#lang ul li{ float: left; }
#lang ul li>a{ color: #ffffff; text-transform: uppercase; font-size: 14px; padding: 3px; cursor: pointer; font-weight: 300; letter-spacing: 1px; }
#lang ul li.active>a{ font-weight: 700; }
.fixed-top #lang ul li>a, .fixed-top #lang ul li:after{ color: #000000; }
#lang ul li:after{ content: "|"; display: inline-block;  margin: 0 5px; color: #ffffff; font-weight: 300; }
#lang ul li:last-child:after{ display: none; }

#header.black #lang ul li>a, #header.black #lang ul li:after{ color: #000000; }

span.b-block{ display: block; width: 42px; height: 10px; position: absolute; background-color: #000000; }
span.b-block.top{ top: 0; }
span.b-block.bottom{ bottom: 0; }
span.b-block.left{ left: 25px; }
span.b-block.right{ right: 25px; }

span.line-block{ display: block; width: 140px; height: 70px; position: absolute; border-top: 1px solid #000000; border-bottom: 1px solid #000000; }
span.line-block.top{ top: 50px; }
span.line-block.bottom{ bottom: 15px; }
span.line-block.left{ left: 0; }
span.line-block.right{ right: 0; }

a.link{ font-weight: 900; text-transform: uppercase; color: #000000; letter-spacing: 3px; padding-right: 50px; display: inline-block; background: url(/i/arrow-link.png) no-repeat center right; background-size: contain; }
a.link:hover{ color: #8f3f2b; }

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

.header-image{ background-size: cover; background-repeat: no-repeat; background-position: center; min-height: 103vh; position: relative; }
.header-image .container{ min-height: 100vh; }
.header-image .container .text{ display: block; margin: 0 auto; text-align: center; padding: 30px 0px 30px 0px; }
.header-image .container .text img{ max-width: 100%; margin-bottom: 25px; }
.header-image .container .text h1{ color: #ffffff; font-weight: bold; letter-spacing: 12px; font-size: 50px; margin-bottom: 25px; text-align: center; text-transform: uppercase; }
.header-image .container .text .intro:after, .header-image .container .text .intro:before{ content: ""; width: 8px; height: 8px; display: block; margin: 20px auto; border: 1px solid #ffffff; border-radius: 50%; }
.header-image .container .text .intro p{ color: #ffffff; text-transform: uppercase; font-size: 20px; letter-spacing: 2px; margin-bottom: 5px; }
.header-image .container .text .intro p.big{ font-size: 45px; font-weight: bold; }

.header-image .container .bio-more{ width: 37%; position: absolute; bottom: -15%; right: 25px; overflow: hidden; line-height: 0; }
.header-image .container .bio-more>a{ line-height: 0; }
.header-image .container .bio-more img{ width: 100%; -moz-transition: all 0.3s; -webkit-transition: all 0.3s; transition: all 0.3s; }
.header-image .container .bio-more:hover img{ -moz-transform: scale(1.1); -webkit-transform: scale(1.1); transform: scale(1.1); }
.bio-more.responsive{ display: none; }
.bio-more.responsive img{ width: 100%;}


.home-container{ padding-top: 10%; padding-bottom: 50px; }
.home-container.home-page{ padding-bottom: 240px; }
.home-container .col-title{ width: 45%; padding-right: 25px; position: relative; min-height: 30px; }
.home-container .col-title img{ max-width: 100%; margin-top: 50px; }

.home-container .col-text{ width: 55%; }
.home-container .col-text article{ width: 100%; max-width: 545px; margin-top: 25px; }
.home-container .col-text article p{ line-height: 2.3em; }
.home-container .col-text img.main-img{ width: 100%; margin-top: 20px; }
.home-container img.main-img-fullw.responsive{ width: 100%; margin-top: 20px; display: none; }
.home-container .col-text a.link{ margin-top: 80px; }

.home-container .col-text h4{ text-transform: uppercase; font-weight: 900; letter-spacing: 3px; }
.home-container .col-text article.col2{ max-width: 90%; }
.home-container .col-text article.col2 .col.w50{ width: 50%; }

.home-container .row-main-img{ width: 100%; margin: 50px 0; position: relative; }
.home-container .row-main-img img.main-img{ max-width: 80%; }
.home-container .row-main-img.download-side img.main-img{ width: 67%; }

.home-container .fullw-img{ margin-bottom: 25px; }
.home-container .fullw-img.responsive{ display: none; }
.home-container .fullw-img.map-container iframe{ width: 100%; }
.home-container .fullw-img img{ width: 100%; }


.download-box{ position: absolute; right: 15px; bottom: 0; width: 30%; min-height: 400px; z-index: 9; background-color: #ffffff; background-position: center; background-size: cover; background-repeat: no-repeat; }
.home-container .col-text img.main-img.download-side{ width: 40%; }
a.download-lnk{ display: none; }
.home-container .col-text article.download-side{ min-height: 360px; }

.row-more-text{ margin-top: 50px; margin-bottom: 50px; }
.row-more-text .img-left{ float: left; min-height: 30px; width: 70%; background-position: left; background-size: cover; background-repeat: no-repeat; }
.row-more-text .txt-more{ float: left; width: 30%; padding: 60px 0 60px 30px; }
.row-more-text .txt-more h4{ font-weight: 900; margin-bottom: 35px; letter-spacing: 4px; }
.row-more-text .txt-more p{ line-height: 2.3em; }
.row-more-text .txt-more a.link{ margin-top: 30px; }


.titolo-rombo{ border: 1px solid #4d2e2a; width: 400px; height: 400px; margin-left: 10%; margin-top: 20%; position: absolute; left: 25px; top: 0; -ms-transform: rotate(45deg); /* IE 9 */ -webkit-transform: rotate(45deg); /* Safari */ transform: rotate(45deg); /* Standard syntax */ }
.titolo-rombo *{ color: #4d2e2a; text-align: center; text-transform: uppercase; }
.titolo-rombo .text-container{ -ms-transform: rotate(-45deg); /* IE 9 */ -webkit-transform: rotate(-45deg); /* Safari */ transform: rotate(-45deg); /* Standard syntax */ }
.titolo-rombo .text-container p.pre-title{ font-size: 11px; margin: 0; letter-spacing: 2px; }
.titolo-rombo .text-container .main-txt:before, .titolo-rombo .text-container .main-txt:after{ content: ""; width: 8px; height: 8px; display: block; margin: 15px auto; border: 1px solid #4d2e2a; border-radius: 50%; }
.titolo-rombo .text-container .main-txt h2{ font-size: 40px; font-weight: 900; letter-spacing: 6px; }
.titolo-rombo .text-container .main-txt h4{ font-weight: 900; line-height: 1em; letter-spacing: 3px; }
.titolo-rombo .text-container .main-txt h4>span{font-weight: 900; font-size: 14px; line-height: 1.2em; }
.titolo-rombo .text-container .main-txt p{ font-size: 13px; font-weight: bold; line-height: 1.6em; margin: 0; letter-spacing: 1px; }


#footer{ border-top: 1px solid #cdcdcd; padding-top: 100px; padding-bottom: 50px; }
#footer *{ font-size: 12px; }
#footer .col-1{ width: 25%; display: flex; align-items: center; }
#footer .col-1 img.logo-footer{ width: 100%; max-width: 80px; opacity: 0.9; }
#footer .col-1 img.logo-footer--40{ width: 100%; max-width: 160px; opacity: 1; margin-left: 30px; }

@media screen and (max-width: 1024px) {
    #footer .col-1 {
        flex-direction: column;
    }

    #footer .col-1 img.logo-footer--40 {
        max-width: 130px;
        margin-left: 0;
        margin-top: 20px;
    }
}
#footer .col-2{ width: 25% }
#footer .col-3{ width: 25% }
#footer .col-4{ width: 25% }

#footer .col-3 p a{ color: #000000; }

#footer img.footer-cert{ width: 80%; }

#footer #menu-content ul{list-style: none;}
#footer #menu-content ul li{ margin-bottom: 11px; }
#footer #menu-content ul li.voice a{ color: #000000; }
#footer #menu-content ul li.voice.active a{ color: #8f3f2b; }
#footer #menu-content p{ margin-bottom: 11px; }

#credits{ text-align: center; padding-bottom: 15px; }
#credits>a{ font-size: 12px; }

.loadingbar {
    position: fixed;
    top: 0;
    height: 3px;
    width: 100%;
    z-index: 1000;
    left: 0;
    opacity: 1;
    transition: all 0.3s ease-out 0s; 
}
.loadingbar .bar {
    display: block;
    height: 100%;
    background: #f6f4ea;
    width: 40%;
    transition: all 0.3s ease-out 0s; 
}
.loadingbar--hide { opacity: 0; }
@media (max-width: 979px) {
    .loadingbar {
        display: none; 
    } 
}
/*********************************************
----------- Iubenda  -----------------
*********************************************/
#iubenda-cs-banner .iubenda-banner-content * {color: white !important;}
