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

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

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

*, *: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:#f2f1ef; }

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; font-weight: 800; text-transform: uppercase; }
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:#333;}
a:hover {color:#E7031E;}
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}

a, a:hover, a *{-webkit-transition: .25s ease-in-out;-moz-transition: .25s ease-in-out;-o-transition: .25s ease-in-out;transition: .25s ease-in-out;}

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;margin-left: 25px; }
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; }

.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;
}

.col{float: left;}

span.box-bar{ display: block; width: 105px; height: 27px; position: absolute; background-color: #d7061f; }
span.box-bar.white{ width: 210px; height: 16px; background-color: #ffffff; }
span.box-bar.right{right: 0;}
span.box-bar.left{left: 0;}
span.box-bar.top{top: 25px;}
span.box-bar.bottom{bottom: 25px;}

/*---------------------------------------------*\
                   layout 
\*---------------------------------------------*/
.wrapper{ width:100%; max-width: 1400px; margin: 0 auto; }
#wrapper{ margin-top: 95px; width: 100%; }
#top-bar{ position: fixed; top: 0; width: 100%; padding: 25px; background: #ffffff; height: 95px; z-index: 999;}
#top-bar img.logo{ float: left; }
#menu{float: left;}
#menu ul{list-style: none;  margin: 25px 25px 0 25px;}
#menu ul li{ float: left; }
#menu ul li a{ padding: 10px; margin: 15px 5px; font-size: 14px; font-weight: 800; }
#menu ul li.active a{color: #E7031E;}

#lang{ position: absolute; right: 0; top: 20px; }
#lang ul{ margin: 0; }
#lang ul li{ float: none; display: none; cursor: pointer; text-align: center; padding: 3px 0px 2px 0; width: 60px; background: #ffffff; }
#lang ul li.active{ display: block; border: 1px solid #56534d; }
#lang ul:hover li{display: block;}
#lang ul li a{ text-transform: uppercase; color: #56534d; }
#lang ul li a:hover,
#lang ul:hover li.active a{ color: #E7031E; }
#lang ul:hover li.active{ border: 1px solid #E7031E; }

#nav-icon {
    display: none;
    width: 40px;
    height: 45px;
    position: absolute;
    margin: 0;
    top: 10px;
    right:  0;
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}
#nav-icon span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #000000;
  border-radius: 9px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}
#nav-icon span:nth-child(1) {top: 0px;}
#nav-icon span:nth-child(2),#nav-icon span:nth-child(3) {top: 11px;}
#nav-icon span:nth-child(4) {top: 23px;}
#nav-icon.open span:nth-child(1) {top: 18px; width: 0%; left: 50%;}
#nav-icon.open span:nth-child(2) {-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg);}
#nav-icon.open span:nth-child(3) {-webkit-transform: rotate(-45deg);-moz-transform: rotate(-45deg);-o-transform: rotate(-45deg);transform: rotate(-45deg);}
#nav-icon.open span:nth-child(4) {top: 18px;width: 0%;left: 50%;}


/* HOME PAGE */
#home-page.main-content{ text-align: center; padding: 50px 0; max-width: 800px; }
#home-page.main-content h1{text-align: center; margin-bottom: 35px;}

.cta-home .cta-box{ position: relative; width: 33.3333333% }
.cta-home .cta-box img{width: 100%; max-width: 100%; position: relative; z-index: 1;}
.cta-home .cta-box .content-cta{ padding: 35px; background: url(/i/bg-cta.jpg) no-repeat center; background-size: cover; position: absolute; z-index: 5; bottom: 0; width: 100%; min-height: 130px;}
.cta-home .cta-box .content-cta h4{ font-size: 20px; color: #ffffff; font-weight: 600; text-transform: uppercase; margin-bottom: 25px; }
.cta-home .cta-box .content-cta .txt{display: none;}
.cta-home .cta-box .content-cta .txt p{ color: #ffffff; line-height: 1.7em; }
.cta-home .cta-box .content-cta a.btn{display: inline-block; border: 1px solid #ffffff; color: #ffffff; padding: 5px 15px; letter-spacing: 2px; font-size: 12px; position: absolute; bottom: 15px;}
.cta-home .cta-box .content-cta a.btn:hover{border: 1px solid #ffffff; color: #E7031E; background: #ffffff;}
/*.cta-home .cta-box:hover .content-cta{background: rgba(83, 78, 73, 0.85); height: 100%; padding-top: 50px;}
.cta-home .cta-box:hover .content-cta .txt{display: block; color: #ffffff;}*/

#home-news{padding: 100px 0; background: #fdfcfa;}
#home-news h1{text-transform: none; margin: 0 0 50px 50px;}
#home-news .news-box{ width: 30.33333%; margin: 0 1.5%; padding: 35px; border-top: 1px solid #737373; border-bottom: 1px solid #737373;}
#home-news .news-box p{font-weight: 800; font-size: 16px;}
#home-news .news-box img.img-news{ max-width: 100%; margin-bottom: 25px; }
#home-news .news-box a.btn{display: inline-block; border: 1px solid #444444; color: #444444; padding: 5px 15px; letter-spacing: 2px; font-size: 12px;}
#home-news .news-box a.btn:hover{border: 1px solid #444444; color: #ffffff; background: #444444;}


#bottom-contatti{ padding: 100px 0; }
#bottom-contatti .img-col{ padding-right: 50px; width: 45%;}
#bottom-contatti .img-col img{ max-width: 100%; }
#bottom-contatti .txt-contatti{ width: 55%; }
#bottom-contatti .txt-contatti h4{ border-bottom: 1px solid #000000; font-weight: 800; padding-bottom: 15px; }
#bottom-contatti .txt-contatti .content-txt{ padding: 15px 0; }
#bottom-contatti .txt-contatti .content-txt .txt-small{ width: 50%;}

#bottom-contatti .txt-contatti .content-txt hr { border-bottom: 1px solid #000000; margin: 15px 0 0 0; }


#footer #menu-footer{ background-color: #e4011c; padding: 80px 0; }
#footer #menu-footer ul{ list-style: none; margin: 0;}
#footer #menu-footer ul li{ float: left; padding: 5px; margin: 0 20px; }
#footer #menu-footer ul li a{ color: #f8f0de; text-transform: uppercase; font-size: 12px; font-weight: bold; }





#footer #credits{ background: #32312c; padding: 25px; }
#footer #credits p, #footer #credits a{ color: #f8f0de; font-size: 12px; }
#footer #credits a>span{ color: #ef5c60; }
#footer #credits p{float: left;}
#footer #credits a{float: right;}


/* TEMPLATE VARI */
.header-img{position: relative;}
.header-img .img-header, .header-img .tit-header{ height: 280px; background-color: #676664; }
.header-img .img-header{ width: 45%; background-size: cover; background-repeat: no-repeat; background-position: center center; }
.header-img .tit-header{ width: 55%; }
.header-img .tit-header h1{padding: 25px; text-align: center; color: #ffffff; text-transform: none; letter-spacing: 2px; max-width: 500px;}
.inpage-menu{ background-color: #fdfcfa; height: 70px; width: 100%; }

.main-content{ padding: 100px 0px; position: relative; }
.main-content .txt-col{ width: 50%; padding: 0 50px; }

.inpage-menu{ position: relative; padding-top: 25px; }
.inpage-menu.scroll{ position: fixed; top: 73px; z-index: 999; width: 100%;}
.inpage-menu .lnk.forced{width: 12.9%;}
.inpage-menu .lnk{ text-align: center;  margin-bottom: 1%;  line-height: 1em; }
.inpage-menu .lnk a{ font-size: 14px; font-weight: bold; }
.inpage-menu .lnk a.active{color: #d7061f;}
.inpage-menu .menu-resp{display: none;}


#services{ position: relative; z-index: 0;}
#services .wrapper{position: relative;}
#services span.box-bar.top { top: 0; }
#services span.box-bar.bottom { bottom: 0; }
#services .section{padding: 50px 0px;}
#services .section.alternate{background-color: #fdfcfa;}

#services .title-box img{width: 100%; margin: 0;}
#services .title-box .title{ background: url(/i/bg-cta.jpg) no-repeat center; background-size: cover; height: 110px; margin-top: -5px; }
#services .title-box .title h4{color: #ffffff; text-align: center; padding: 25px; margin: 0;}
#services .section.alternate .title-box{ margin-left: 33.33333%; }
#services .section .title-box.fullwidth{ margin-left: 0; float: right; }

#services .title-box, #services .content-col{width: 33.33333%; padding: 0 25px;}
#services .content-col.fullwidth{ width: 66%; margin-top: 60px; }
#services .content-col.fullwidth .col.txt-col{ width: 50%; padding-right: 50px; }
#services .content-col.fullwidth .col.txt-col hr{ margin: 25px 0; }

.gallery-container{ margin: 150px auto 50px auto; }
.gallery-row{position: relative; margin: 25px 0;}
.gallery-row img{ float: left; width: 15.667%; margin: 0 3px 3px; }
/*.gallery-row img:hover{ opacity: 0.8; cursor: zoom-in; }*/

.gallery-row .blank{float: right; width: 16.6666666667%; height: 20px; }
.gallery-row.alternate .blank{float: left;}
.gallery-row .blank span.box-bar{right: 0; top: 0;}
.gallery-row.alternate .blank span.box-bar{left: 0; bottom: 0; top: initial;}

#services #section-bottom{ background-color: #676664; padding: 80px 0; }
#services #section-bottom .content-col {width: 45%; padding-top: 2%;}
#services #section-bottom .content-col *{ color: #ffffff; line-height: 1.7em; }



#contatti article{ margin-bottom: 100px; position: relative; }
#contatti article *{ text-align: center; }
#contatti .col{width: 50%;}
#contatti .contact-container{ padding: 100px 0 50px 0; background-color: #fdfcfa;}
.init-map { height: 100%;  min-height: 580px;  width: 100%;  display: block; }

#news.main-content{ padding: 100px 25px; }
#news-list{ background-color: #fdfcfa; }
#news-results{ margin-bottom: 50px; }

.news-container{ max-width: 1280px; margin: 0 auto;text-align: center; }
.news-container:after {content: '';display: block;clear: both;}
.grid-item {float: left; margin-bottom: 1.5%; text-align: center; }
.grid-item .content{text-align: left;}
.gutter-sizer { width: 1.5%; }

.grid-sizer, .grid-item { width: 32.333%; }

@media screen and (max-width: 1150px) {
  .grid-sizer, .grid-item { width: 49%; }
}
@media screen and (max-width: 850px) {
  .gutter-sizer { width: 0%; }
  .grid-sizer, .grid-item { width: 100%; }
}

#news h1{text-align: center; /*color: #3c3f6d;*/ margin-bottom: 30px;}
#news .box-news{background-color: #ffffff; padding: 30px;}
#news .box-news h4{font-size: 16px; margin-bottom: 0; font-weight: bold; line-height: 1.6em;}
#news .box-news p{font-size: 14px; margin-top: 15px;}
#news .box-news img{margin-top: 25px; max-width: 100%;}
#news .more{margin-top: 25px;}
#news a span.more-btn, #news a span.btn-lnk { display: inline-block; border: 1px solid #444444; color: #444444; padding: 5px 15px; letter-spacing: 2px; font-size: 12px; }
#news a:hover span.more-btn, #news a:hover span.btn-lnk {border: 1px solid #444444; color: #ffffff; background: #444444;}

#loader-icon {position: fixed;top: 50%;width: 100%;height: 100%;left: 0;text-align: center;display: none;}

/*********************************************
----------- Iubenda  -----------------
*********************************************/
#iubenda-cs-banner .iubenda-banner-content * {color: white !important;}
