@charset "UTF-8";
/* CSS Document */

body {
    margin: 0;
    padding: 0;
    font-family:"acumin-pro";
    font-weight: 300;
    color: #4E5F67;
    overflow-x: hidden;
}

.clear {clear: both;}

img {border: none;}

:focus,:active {outline: none !important;}

.stretched-link::after {z-index: 2;}

a {
    text-decoration: none !important;
    color: inherit;
}

a:hover {color: inherit;}

.wrap-img {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    min-height: 100%;
    /* min-height: 300px;*/
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.wrap-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.site-wrap {overflow: hidden;}

b, strong {font-weight:700;}

@-webkit-keyframes fadeInFromNone {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInFromNoneIE {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInFromNone {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*BUTTONS*/
.btn-simple {
    display: inline-block;
    padding: 10px 0;
    color: #4E5F67;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.4px;
    position: relative;
    transition: all .25s ease-in-out;
}

.btn-simple.white {color: #fff;}

.btn-simple::before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    height: 3px;
    width: 70%;
    background-color: #1795CC;
    transition: all .25s ease-in-out;
}

.btn-simple.line-grey::before {background-color: #C1CAD1;}

.btn-simple:hover {color: #1795CC;}
.btn-simple.white.line-grey:hover {color: #fff;}

.btn-simple:hover::before {width: 100%;}

/*classe da utilizzare per bottoni semplici*/
.btn-square {
    font-size: 20px;
    font-weight: 600;
    color: #4E5F67;
    border: 2px solid #4E5F67;
    padding: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    min-width: 180px;
    width: auto;
    max-width: 100%;
}

.btn-square.yellow-full {
    border: 0;
    background-color: #F0AD28;
    color: #fff;
}

.btn-square.big {width: 215px;}


/*COLORS*/
.text-white {color: #fff;}

.bg-grey {background-color: #F0F1F2;}
.bg-dark-grey {background-color: #6F7D86;}
.bg-yellow {background-color: #F0AD12;}

/*TYPOGRAPHY*/
p, ul, h1, h2, h3, h4, h5, h6, figure {margin-bottom: 0;}

h1, h2 {font-size: 55px;letter-spacing: 1px;font-weight:600; line-height: 1.2 !important;}

h3, .h3, .h-h3 h2, .h-h3 h4 {font-size: 45px;letter-spacing: 1px;font-weight:600;}

h4, .h4, .h-h4 h2, .h-h4 h3, .h-h4 h4 {font-size: 35px;letter-spacing: 0.7px;font-weight: 600;}
h5, .h5, .h-h5 h2, .h-h5 h3, .h-h5 h4 {font-size:30px;letter-spacing: 0.5px;font-weight: 300;}

h6, .h6, .h-h6 h2, .h-h6 h3, .h-h6 h4, .item-step .tit {font-size: 25px;letter-spacing: 0.6px;font-weight: 300;}
h6 b, h6 strong, .h-h6 h6 strong, .h-h6 h6 b, .nav-footer ul li b, .item-step .tit {font-weight: 600;}
.h-mb h2, .h-mb h3, .h-mb h4, .h-mb h5 {margin-bottom: 1rem;}

.h-initial h1 { font-size: 2.5rem !important; }
.h-initial h2 { font-size: 2rem !important; }
.h-initial h3 { font-size: 1.75rem !important; }
.h-initial h4 { font-size: 1.5rem !important; }
.h-initial h5 { font-size: 1.25rem !important; }
.h-initial h6 { font-size: 1rem !important; }

.nav-footer ul li {font-weight: 500;}

p, ul li {font-size: 18px;letter-spacing: 0.3px;}
.p-mb p:not(:last-child) {margin-bottom: 1rem;}
.p-small p {font-size: 16px;letter-spacing: 0.3px;}
.p-big p {font-size: 21px;letter-spacing: 0.5px;}
.prev-realiz .p-big p b, .prev-realiz .p-big p strong, .descr-realiz p b, .descr-realiz p strong {font-size:30px;font-weight: bold;}


.font-medium {font-weight: 500;}
.font-semi {font-weight: 600;}

#navigation .nav-item.last .nav-link.phone i {font-size: 14px;}


/*HEADER*/
header {
    width: 100%;
}

header::before {
    position: absolute;
    content: "";
    top:0;
    left:0;
    width: 100%;
    /*height: 500px;*/
    background: rgb(0,62,137);
    background: -moz-linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 46%, rgba(255,255,255,1) 80%);
    background: -webkit-linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 46%, rgba(255,255,255,1) 80%);
    background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 46%, rgba(255,255,255,1) 80%);
    z-index: -1;
}
header .navbar-toggler.opened {
    z-index: 101;
}
#navigation .nav-item {margin-right: 35px;}
#navigation .nav-item.last {margin-right: 0;}

#navigation .nav-link,
#navigation .nav-item.lingue li a {
    color: #4E5F67;
    letter-spacing: 0.4px;
    font-weight: 600;
    padding: 0;
    text-transform: uppercase;
}

#navigation .nav-link, #navigation .nav-item.lingue li {position: relative;}

#navigation .nav-item.lingue li:last-of-type::before {display: none;}

#navigation .nav-item.lingue li::before {
    content: "/";
    position: absolute;
    color: #4E5F67;
    font-size: 18px;
    right: -0.5rem;
    top: 50%;
    transform: translateY(-50%);
}

#navigation .nav-item.lingue li a.active {font-weight: bold;}
#navigation .dropdown-item:focus,
#navigation .dropdown-item:active,
#navigation .dropdown-item:hover{ background-color:rgba(79,95,103,0.5); }


.shadow-grey {
    position: relative;
    z-index: 0;
}
.shadow-grey::before {
    position: absolute;
    content:"";
    background: rgb(79,95,103);
    background: -moz-linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(255,255,255,0) 100%);
    background: -webkit-linear-gradient(0deg, rgba(0,0,1003,0.5) 0%, rgba(255,255,255,0) 100%);
    background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(255,255,255,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#4f5f67",endColorstr="#ffffff",GradientType=1);
    bottom: 0;
    left: 0;
    width: 100%;
    height: 350px;
    z-index: 1;
}

.slider-testata .slick-dots {bottom: 30px;display:none;}

.slider-testata .slick-dots li button::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 6px;
    background-color: #4E5F67;
    opacity: 1;
}

.slider-testata .slick-dots li.slick-active button::before {background-color: #fff;}

.item-servizio figure {height: 100%;}

.item-servizio figcaption {
    width: 100%;
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 1;
    background-color: rgba(0, 148, 206, 0.7);
}

.item-servizio.yellow figcaption {
    background-color: rgba(240, 173, 18, 0.75);
}

.item-servizio.order-reverse figcaption {background-color: rgba(239, 184, 6, 0.7);}

.item-servizio figcaption .content {
    margin-right: 0;
    margin-left: auto;
}

/*testo contenuto nella colonna a fianco all'immagine*/
.item-servizio.order-reverse .content {margin-left: auto;margin-right: 0;}
/*testo contenuto nel box con immagine*/
.item-servizio.order-reverse figcaption .content {margin-left: 0;margin-right: auto;}

.item-servizio .p-custom-left {padding: 100px 120px 100px 15px;}

.item-servizio .p-custom-right {padding: 100px 15px 100px 70px;}

.icon-plus {
    width: 60px;
    height: 60px;
    border: 2px solid #fff;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: all .3s ease-in-out;
}

.icon-plus.dark {color:#4F5F67;border-color: #4F5F67;}

.col-big:hover .icon-plus.hover-full {color:#4F5F67;background-color: #fff;}

.pills-buttons .nav-link .icon-plus {border-color: #C1CAD1;}

.pills-buttons .nav-link {
    border-top: 4px solid #E0E3E5;
    border-radius: 0;
    color: #C1CAD1;
    font-size: 50px;
    font-weight: 600;
    letter-spacing: 1.2px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 0;
    max-width: 100%;
}

.pills-buttons .nav-link.active,
.pills-mobile .pills-buttons .nav-link[aria-expanded="true"] {background-color: transparent;color: #6F7D86;}

.pills-buttons .nav-link .text-btn {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.pills-buttons .nav-link .icon-plus, .pills-buttons .nav-link .icon2 {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: all .2s ease-in-out 0s;
}

.pills-buttons .nav-link.active .icon-plus,
.pills-buttons .nav-link .icon2,
.pills-mobile .pills-buttons .nav-link[aria-expanded="true"] .icon-plus,
.pills-mobile .pills-buttons .nav-link .icon2 {
    opacity: 0;
    visibility: hidden;
}

.pills-buttons .nav-link .icon-plus,
.pills-buttons .nav-link.active .icon2,
.pills-mobile .pills-buttons .nav-link .icon-plus,
.pills-mobile .pills-buttons .nav-link[aria-expanded="true"] .icon2{
    opacity: 1;
    visibility: visible;
}

.pills-content .tab-content, .pills-content .tab-content .tab-pane,
.pills-buttons, .pills-buttons .nav {height: 100%;}

.pills-content {height: 800px;}

.pills-content .box-top {
    height: 50%;
    color: #fff;
    padding: 50px 80px;
}

.pills-content .box-btm {
    height: 50%;
    background-color: rgba(111, 125, 134, 0.9);
}

.prev-realiz figcaption {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,0.9);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prev-realiz:hover figcaption {
    opacity: 1;
    visibility: visible;
}

.prev-realiz figcaption .content {
    opacity: 0;
    text-align: center;
    transform: translateY(50px);
    transition: opacity .2s ease-in-out, transform .3s ease-in-out .5s;
}

.prev-realiz:hover figcaption .content {
    transform: translateY(0);
    opacity: 1;
    transition: opacity .3s ease-in-out 0.3s, transform .3s ease-in-out 0.2s;
}

.chisiamo-row .title-abs {
    position: absolute;
    bottom:0;
    right: 0;
    padding-bottom: 80px;
    z-index: 1;
}

img.righe-sx {
    position: absolute;
    top: 0;
    left: 0;
    max-height: 90%;
}

img.righe-dx {
    position: absolute;
    bottom: 0;
    right: 0;
    max-height: 90%;
}

.nav-footer ul {
    list-style: none;
    padding-left: 0;
}

.nav-footer ul li {
    font-size: 20px;
    letter-spacing: 0.4px;
    margin-bottom: 12px;
}

.nav-footer ul li:last-of-type {margin-bottom: 0;}

.line-yell {
    height: 6px;
    background-color: #F0AD28;
    width: 100%;
    position: relative;
    z-index: 99;
}

.line-yell::before {
    position: absolute;
    content: "";
    height: 6px;
    background-color: #F0AD28;
    width: 100vw;
    right: 100%;
    top: 0;
}
.line-yell.grey {background-color: #4E5F67;}

footer .bg-gradient::before {
    position: absolute;
    content: "";
    top: 0;
    right: -33%!important;
    height: 100%;
    width: 150vw;
    background-color: #4E5F67;
}

.testata .title-page {
    position: absolute;
    bottom:0;
    left: 50%;
    transform: translateX(-50%);
    padding-bottom: 80px;
    z-index: 1;
}
.img-testata .wrap-img  {
    min-height: 400px;
    max-height: calc(100vh - 3rem);
}
.testata-small .img-testata .wrap-img  {
    height: 500px;
    min-height: auto;
}

/*breadcrumb*/
.mybcrumb .breadcrumb {border:0;background-color: transparent;padding: 18px 0;}

.mybcrumb .breadcrumb li {color:#4E5F67;font-size: 16px;font-weight: 500;}

.mybcrumb .breadcrumb .breadcrumb-item+.breadcrumb-item::before {color:#4E5F67;content:"|";font-weight: 500;}

.mybcrumb .breadcrumb .breadcrumb-item.active, .mybcrumb .breadcrumb .breadcrumb-item:last-child {font-weight: bold;}

.btn-sez a {font-size: 21px;letter-spacing: 0.5px;color: #4E5F67;transition: all .3s ease-in-out;}

.btn-sez .line {
    height: 3px;
    width: 100%;
    background-color: #F0AD12;
    margin-top: 10px;
    transition: all .3s ease-in-out;
}

.item-step {
    border: 1px solid #C1CAD1;
    overflow: hidden;
}

.item-step .icon {height: 90px;}
.item-step .icon img {max-height: 100%;}

.item-step .icon span {
    font-size: 50px;
}

.item-step .icon::before,
.open-realiz .descr-realiz::before {
    content: "";
    position: absolute;
    bottom: 0;
    height: 3px;
    background-color: #1795CC;
    right: -10px;
    width: 200px;
}

.open-realiz .descr-realiz::before {right: auto;left: -50px;height: 4px;}

.sez-sostenib::before {
    position: absolute;
    content: "";
    left: 0;
    top:0;
    height: 100%;
    width: 50%;
    background-color: rgba(255,255,255,0.9);
}

.sez-sostenib .wrap-content{
    min-height: 650px;
}

.list-custom ul {list-style: none;padding-left: 0;}
.list-custom ul li {padding-left: 30px;position: relative;margin-bottom: 15px;}
.list-custom ul li::before {
    content:"";
    position: absolute;
    width: 0;
    left:0;
    top:8px;
    height: 0;
    border-style: solid;
    border-width: 0 0 13px 13px;
    border-color: transparent transparent #EFB806 transparent;
}

.list-custom.azzurro ul li::before {border-color: transparent transparent #1795CC transparent; }

.box-contatti {
    background-color: #F8F8F8;
    padding: 70px 80px;
}

.box-contatti .icon {
    width: 27px;
    color: #EFB806;
}

.form-contatti form input[type="text"],
.form-contatti form input[type="email"],
.form-contatti form input[type="phone"],
.form-contatti form select.form-control,
.form-contatti form textarea.form-control {
    font-size: 18px;
    color: #4E5F67;
    border-radius: 0;
    border: 1px solid #C1CAD1;
    height: 75px;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
}

.form-contatti form textarea.form-control {min-height: 150px;padding-top: 20px;}

.form-contatti form .form-control::-webkit-input-placeholder {
	color: #4E5F67;
}

.form-contatti form .form-control::-moz-placeholder {
	color: #4E5F67;
}

.form-contatti form .form-control:-ms-input-placeholder {
	color: #4E5F67;
}

.form-contatti form .form-control::-ms-input-placeholder {
	color: #4E5F67;
}

.form-contatti form .form-control::placeholder {
	color: #4E5F67;
}

.form-contatti form .form-check label.big {font-size: 16px;}
.form-contatti form .form-check label {font-size: 13px;}

.testata .title-page span, .testata span {font-size: 30px;font-weight: 500;letter-spacing: 0-6px;margin-bottom: 40px;display: inline-block;}

.elenco-realiz .prev-realiz {display: none;}

/**MODALE DETTAGLIO REALIZZAZIONE**/
.open-realiz {
    padding-right: 0!important;
}
.wrap-modal-slider {
    display: none;
}
.wrap-modal-slider.open {
    display: block;
}
.open-realiz .modal-content {
    left: 50%;
    transform: translateX(-50%);
    border: 0;
    border-radius: 0;
}
.open-realiz .modal-body {
    padding: 0;
}

/*.wrap-modal-slider.open .slider-realiz .slick-slide.slick-current.slick-active {
    width: 100%!important;
}*/

.open-realiz .modal-dialog {max-width: 100%;width: 100%;margin:0;}

.open-realiz button.close {
    position: absolute;top: 20px;right: 20px;z-index: 1;
}

.open-realiz .slider-realiz .slick-prev {
    left: 30px;
    z-index:1;
}

.open-realiz .slider-realiz .slick-next {
    right: 30px;
    z-index:1;
}

.open-realiz .slider-realiz .slick-prev::before,
.open-realiz .slider-realiz .slick-next::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 50px;
    color: #C1CAD1;
    opacity: 1;
}

.open-realiz .slider-realiz .slick-prev::before {content: "\f053";}
.open-realiz .slider-realiz .slick-next::before {content: "\f054";}

.open-realiz .slider-realiz.slick-slider .slick-list,
.open-realiz .slider-realiz.slick-slider .slick-list .slick-track {height: 100% !important;}

.modal-backdrop.show {opacity: 0.7;}


.img-editor img {
    width: auto;
    height: auto !important;
    max-width: 100%!important;
    padding: 0 5px!important;
    margin: 5px auto!important;
}

/*pagina 404*/
.error {
  font-size: 150px;
  color: #6e818a;
  text-shadow:
    1px 1px 1px #4E5F67,
    2px 2px 1px #4E5F67,
    3px 3px 1px #4E5F67,
    4px 4px 1px #4E5F67,
    5px 5px 1px #4E5F67,
    6px 6px 1px #4E5F67,
    7px 7px 1px #4E5F67,
    8px 8px 1px #4E5F67,
    25px 25px 8px rgba(0,0,0, 0.2);
}
.wrap-error {position: relative;width:400px;max-width: 100%;padding: 10px 0 50px 0;margin: 0 auto;}


.wrap-error::before {
    content: '';
    position: absolute;
    width: 0;
    height: 10px;
    top: 0;
    left: 0;
    background: #1795CC;
    animation: line-animation 4s linear infinite;
}
@keyframes line-animation {
  0%{
    width:0;
    left: 0;
    right: 100%;
  }
  50%{
    width:100%;
    left: 0;
    right: 0;
  }
  100%{
    width:0;
    left: 100%;
    right: 0;
  }
}
.wrap-error::after {
    content: '';
    position: absolute;
    width: 0;
    height: 10px;
    bottom: 0;
    right: 0;
    left: 100%;
    background: #EFB806;
    animation: line-animation2 4s linear infinite;
}
@keyframes line-animation2 {
  0%{
    width:0;
    right: 0;
    left: 100%;
  }
  50%{
    width:100%;
    right: 0;
    left: 0;
  }
  100%{
    width:0;
    right: 100%;
    left: 0;
  }
}

/*.wrap-error::before {
    content: '';
    position: absolute;
    width: 150%;
    transform: scaleX(0);
    border-radius: 5px;
    height: 0.05em;
    bottom: 0;
    left: 0;
    background: red;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    animation: line-animation 4s linear infinite;
}
.wrap-error::after {
    content: '';
    position: absolute;
    width: 150%;
    transform: scaleX(0);
    border-radius: 5px;
    height: 0.05em;
    top: 0;
    left: 0;
    background: red;
    transform-origin: bottom left;
    transition: transform 0.25s ease-out;
    animation: line-animation2 4s linear infinite;
}


@keyframes line-animation {
  0%{
    transform: scaleX(0);
  }
  50%{
    transform: scaleX(1);
    transform-origin: bottom left;
  }
  100%{

    transform: scaleX(0);
  }
}

@keyframes line-animation2 {
  0%{
    transform: scaleX(0);
  }
  50%{
    transform: scaleX(1);
    transform-origin: bottom right;
  }
  100%{

    transform: scaleX(0);
  }
}*/



/*FAQ ACCORDION*/
.wrap-faq {
    border: 1px solid #C1CAD1;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;
}

.wrap-faq .item-faq + .item-faq {border-top: 1px solid #C1CAD1;}

.wrap-faq .btn-faq {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px 14px;
    font-size: 18px;
    font-weight: 600;
    color: #4E5F67;
    background-color: #fff;
    transition: background-color .3s ease, color .3s ease;
}

.wrap-faq .btn-faq:hover {background-color: #F0F1F2;}

.wrap-faq .btn-faq:not(.collapsed) {
    background-color: #F0F1F2;
    color: #1795CC;
}

.wrap-faq .btn-faq i {
    flex: 0 0 auto;
    margin-left: 20px;
    font-size: 14px;
    transition: transform .3s ease;
}

.wrap-faq .btn-faq:not(.collapsed) i {transform: rotate(180deg);}

.wrap-faq .body-faq {
    padding: 9px 15px 13px;
    font-weight: 300;
    color: #6F7D86;
}
.body-faq p{
    font-size: 17px !important;
}

@media (max-width: 575px) {
    .wrap-faq .btn-faq {padding: 9px 15px 13px;font-size: 15px;}
    .wrap-faq .body-faq {padding: 9px 15px 13px;}
}

