/* ===================================
    Google font
====================================== */
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

/* ===================================
    General
====================================== */

body { font-family: "Lato", sans-serif; font-size: 16px;color: #212121;font-weight:300;line-height: 25px;letter-spacing: 0px;overflow-x: hidden;-webkit-font-smoothing: antialiased; }

p{ margin-bottom: 0; } 

::-webkit-scrollbar-track { background-color: #e9edf0;border-left: 1px solid #ededed; }
::-webkit-scrollbar { width: 7px;background-color: #3C3C3B; }
::-webkit-scrollbar-thumb { background: #3C3C3B; }

a { text-decoration: none; color: inherit; }
a:hover, a:active { color: inherit !important; text-decoration: none; }
a:hover { font-weight: 700; }

ul { list-style: none; padding: 0; margin: 0; }

img { max-width: 100% }

section { position: relative;padding: 5rem 0;overflow: hidden; }
.section-padding-xxl {
    padding: 10rem 0
}

.section-casestudy_padding {
    padding: 7rem 0 5rem 0
}

.container-custom{
    max-width: 1480px;
    width: 100%;
    padding-right: var(--bs-gutter-x,.75rem);
    padding-left: var(--bs-gutter-x,.75rem);
    margin-right: auto;
    margin-left: auto;
}


.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {line-height: 1; margin-bottom: 0;}
.h1 {
    font-size: 40px;
    line-height: 50px;
    font-weight: 700;
}
.h3{
    font-size:25px;
    line-height:30px;
    font-weight:300;
}
.h3-italic{
    color:#242424;
    font-size:25px;
    line-height:30px;
    font-style: italic;
 }
.h3-bold{
    font-size:25px;
    line-height:40px;
    font-weight:700;
}
.h4 {
    font-size:20px!important;
    line-height:25px!important;
    line-height:35px!important; 
    font-weight: 300!important; 
 }

.font-italic { font-style: italic; }

/*font-weight*/
.font-weight-100{font-weight: 100 !important;}
.font-weight-300{font-weight: 300 !important;}
.font-weight-400{font-weight: 400 !important;}
.font-weight-500{font-weight: 500 !important;}
.font-weight-600{font-weight: 600 !important;}
.font-weight-700{font-weight: 700 !important;}
.font-weight-900{font-weight: 900 !important;}

/* Line height */
.line-height-40 { line-height: 40px; }


.modal-backdrop{z-index: 99!important;}


/* ===================================
    Header & Navigation
====================================== */

header { width: 100%; z-index: 99; }
header a.logo {display: inline-block; vertical-align: middle;line-height: 0}
header a.logo img {max-height:35px;/* max-width: 100px;*/vertical-align: sub;}

.top-navbar {
    font-size: 12px;
}
.top-navbar .container-fluid ul li {
    font-size: 12px;
    padding: 0 15px;
}
.top-navbar .container-fluid ul li:first-child {
    font-size: 12px;
    padding: 0 15px 0 0px;
}
.bg-blurred-gray-transparent {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgb(65 65 64 / 70%);
}
.navbar-light .navbar-toggler {
    color: transparent;
    border-color: transparent;
}
.navbar-toggler .navbar-toggler-line {
    display: block;
    width: 25px;
    height: 2px;
    background-color: #fff;
    margin-bottom: 6px;
    transition: transform 0.3s ease;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-line:nth-child(1) {
    transform: rotate(45deg) translate(5px, 6px);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-line:nth-child(2) {
    transform: scaleX(0);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-line:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -6px);
}
.navbar-toggler .navbar-toggler-line:nth-child(3) {
    margin-bottom: 0px;
}

.fullscreen{
    height: 100vh !important;
    width: 100%;
}

.text-banner h1 {
    font-size: 4.2vw;
    line-height: 1.2;
    font-weight: 900;
    text-align: center;
    /*position: fixed;
    top: 50%;
    transform: translateY(-50%);*/
}

header a.logo img {
    height: 23px;
    width: auto;
    max-height: 35px;
    vertical-align: sub;
}

.list-megamenu li {
    font-size: 16px;
    line-height: 18px;
    font-weight: 400;
    /* text-transform: uppercase; */
    margin-top: 20px;
}
.height-banner {
    height: 80vh !important;
    width: 100%;
}

.counter-row{
    /*width: 550px;*/
    margin: 0 auto;
    position: relative;
    color: #3C3C3B;
}

.counter-row .counter-item{
/*    width: 20%;*/
    text-align: center;
    display: inline-block;
    float: left;
    padding:15px;
}

.counter-row .counter-item .count{
    font-size: 60px;
    line-height: 1.1;
    font-weight: 300;
    margin-bottom: 1rem;
}

.counter-row .counter-item h6{
    font-weight: 300;
}

.text-azienda-col-sx {
    /*font-size: 25px;
    line-height: 40px;
    font-weight: 300;*/
    width: 80%;
} 
.text-azienda-col-dx {
    width: 80%;
} 
.text-banner-cta {
    font-size: 30px;
    line-height: 50px;
    font-weight: 700;
}
.background-img-section {
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 490px;
}
#block-img-text .title-block {
    font-size: 40px;
    line-height: 50px;
    color: #242424;
    font-weight: 700;
}
#block-img-text .testo-block {
    margin-top: 40px;    
    margin-bottom: 40px;
}
#block-img-text .padding-text-block {
    padding: 0 15%
}
.icon-servizi {
    font-size: 60px;
    margin-bottom: .6rem
}
.icon-operazioni {
    font-size: 35px;
    line-height: 42px;
    margin-bottom: .6rem
}
.text-list-operazioni {
    font-size: 14px;
    line-height: 25px;
}
.padding-vantaggi {
    padding-top: 40px;
    padding-bottom: 40px;
}
.img-absolute-vantaggi {bottom: 0px; position:absolute;}

.image-absolute-home {
    position: absolute;
    bottom: 0%;
    left: 0;
    right: 0;
    width: 100%; 
    z-index: 2;
}

.error-icon {
    font-size: 150px;
}
.error-text h2 {
    display: inline-block;
    margin: 3rem;
    font-size: 40px;
    line-height: 50px;
    font-weight: 700;
}
.error-text p {
    font-size: 21px;
    line-height: 30px;
}
.counter-slide {
    font-size: 20px;
    line-height: 30px;
    vertical-align: top;
}

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

/* ===================================
    Background
====================================== */
.bg-gray {
    background-color: #F2F2F2;
}
.bg-img {
    position: relative;
    background-size: cover;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
}
.bg-fixed {
   background-attachment: fixed; 
}
.bg-light-gray {
    background-color: #F7F7F7;
}
.bg-grey-blur {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    background-color: rgb(60 60 59 / 70%);
}
.bg-grey-dark-blur {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgb(60 60 59 / 88%);
}
.bg-white-blur {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgb(255 255 255 / 80%);
}
.bg-orange-blur {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgb(233 103 33 / 80%);
}

/* ===================================
    END Background
====================================== */

/* ===================================
    Slide
====================================== */

#carouselPiattaforma .owl-nav {
    position: absolute;
    top: -50px;
    right: -100px;
}
#carouselPiattaforma.owl-theme .owl-nav [class*=owl-] {
    color: #212121; 
    margin: 10px;
    padding: 0;
    background: transparent; 
    border-radius: 0px; 
    font-size: 20px;
}

/* ===================================
    END Slide
====================================== */

.image-page-banner {
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover; 
}

.btn-megamenu {
    background-color: #1C74BE;
    color: #fff;
    border-radius: 25px;
    padding: 15px 20px;
    margin-bottom: 35px;
    width: 100%;
}
.btn-megamenu:hover {
    background-color: #3C3C3B;
    color: #fff;
}
.title-megamenu {
    font-size: 17px;
    line-height: 21px;
    font-weight: 900;
    text-transform: uppercase;
}
.megamenu {
    padding: 80px 9%;
}
.scroll-down {
    display: inline-block;
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff !important;
    font-size: 35px;
}
ul.carousel-list li{
    padding:3px 0;
}
.title-blockquote { 
    font-size: 36px;
    line-height: 44px;
    font-weight: 900;
}

.padding-col-sx-section {
    padding: 7rem 120px 7rem 0;
}
.padding-col-sx {
    padding: 7rem 120px 7rem 25%;
}
.padding-col-dx {
    padding: 7rem 25% 7rem 120px;
}
.box-info {
    display: flex;
    justify-content: center;
    cursor: pointer;
}
.box-info .info-text {
    visibility: hidden;
    position:absolute;
    top: 0;
    width: 300px;
    background: #000;
    border-radius: 5px;
    color: #fff;
    text-align: center;
    transform: translate(0px, -150%);
    font-size: 12px;    
}
.box-info:hover .info-text {
    visibility: visible;
}

.digital-energy-step { margin: 0 1.5rem; align-content: center; }
.digital-energy-step:first-child { margin-left: 0; }
.digital-energy-step:last-child { margin-right: 0; }
.arrow {
    position: relative;
    display: inline-block;
    width: 80px; /* Lunghezza della linea */
    height: 1px; /* Spessore della linea */
    background-color: #3C3C3B;
}

.arrow::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 12px solid #3C3C3B;
}

#SlideStepMobile.owl-theme .owl-nav [class*=owl-]{
    color: #3C3C3B;
    font-size: 40px;
    margin: 0;
    padding: 0;
    background: transparent;
    display: inline-block;
    cursor: pointer;
    border-radius: 0px;
    position: absolute;
	top: 50%;
	transform: translatey(-50%);
}
#SlideStepMobile.owl-theme .owl-nav .owl-prev {
    left: 0px;
}
#SlideStepMobile.owl-theme .owl-nav .owl-next {
    right: 0px;
}
#SlideStepMobile.owl-theme .owl-nav .disabled {
    opacity: .3;
    cursor: default;
    display: none
}

.content-col-snocu {
    padding: 60px 10%;
}
.icona-snocu { 
    font-size: 60px;
    line-height: 73px;
    display: inline-block;
    margin-right: 25px;
}
.sez-titolo { 
    display: inline-block; 
}
.sez-titolo .titolo-snocu { 
    font-size: 40px;
    line-height: 40px;
    font-weight: 700;
}
.list-benefici {
    list-style: disc;
    padding-left: 15px;
}
.bg-snocu-col {
    background-repeat: no-repeat;
    background-size: cover;
    min-height:600px;
}
.padding-benefici {
    padding: 5rem
}
.icon-maps {
    font-size: 38px;
}
.icon-contatti {
    font-size: 47px;
}


#form-contatti .form-field, #form-contatti .form-select, #form-start-now .form-field, #form-start-now .form-select, #form-newsletter .form-field {
    border: none;
    padding: 12px 20px;
    border-radius: 25px;
    width: 100%;
    display: inline-block;
    margin-top: 30px;
    background-color: #F4F4F4;
    color: #212121;
}
#form-contatti.form-specifiche .form-field, #form-contatti.form-specifiche .form-select {
    background-color: #ffffff;
}

/*#form-newsletter .form-field{
    background-color: #ffffff;
}*/
#form-contatti .privacy, #form-start-now .privacy, #form-newsletter .privacy {
    margin-top: 20px;
}
#form-newsletter .privacy {
    font-size: 14px;
    line-height: 19px;
}
#form-newsletter .privacy a {
    font-weight: 400;
}
#form-newsletter .privacy a:hover {
    font-weight: 400;
}
#form-contatti .privacy .wpcf7-list-item, #form-start-now .privacy .wpcf7-list-item, #form-newsletter .privacy .wpcf7-list-item {
    margin-left: 0px;
    margin-right: 10px;
}
#form-contatti .send, #form-start-now .send, #form-newsletter .send {
    margin-top: 40px;
}

#form-contatti .send .btn-send, #form-start-now .send .btn-send, #form-newsletter .send .btn-send {
    background: none;
    border: none;
}
#form-contatti .checkbox, #form-start-now .checkbox {
    font-size: 13px;
    margin-top: 20px;
}


.form-candidatura {
    background: #F4F4F4;
    /*border-radius: 50px;*/
    padding: 40px;
}

#form-candidatura .form-field, #form-candidatura .form-select{
    border: none;
    padding: 12px 20px;
    border-radius: 50px;
    width: 100%;
    display: inline-block;
    margin-top: 30px;
}
#form-candidatura .cv {
    margin-top: 30px;
}
#form-candidatura .privacy {
    margin-top: 30px;
}
#form-candidatura .privacy .wpcf7-list-item {
    margin-left: 0px;
    margin-right: 10px;
}
#form-candidatura .send {
    margin-top: 40px;
}
#form-candidatura .send .btn-send{
    background: none;
    border: none;
}




#accordionFAQ .accordion-item {
    background-color: #fff;
    border: none;
}
#accordionFAQ .accordion-item .card-body {
    padding: 0
} 
#accordionFAQ .accordion-button {
    cursor: pointer;
    padding: 1rem 0;
}
#accordionFAQ .accordion-button:not(.collapsed) {
    color: #212121;
    background-color: transparent;
    box-shadow: none;
}

#accordionFAQ .accordion-button:not(.collapsed)::after {
    background-image: none;
    transform: none;
    content: "\58"; 
    font-family: 'Font Awesome 6 Pro';
}
#accordionFAQ .accordion-button::after {
    flex-shrink: 0;
    width: auto;
    height: auto;
    margin-left: auto;
    padding-left: 30px;
    font-weight:300;
    content: "";
    background-image: none;
    background-repeat: no-repeat;
    background-size: auto;
    transition: transform .2s ease-in-out;
    content: "\2b"; /* Codice Unicode per l'icona 'fa-chevron-down' */
    font-family: 'Font Awesome 6 Pro';
    font-size: 20px;
}
#accordionFAQ .accordion-item:after {
    content: '';
    display: block;
    height:1px;
    width: 20%;
    background-color: #000
}
#accordionFAQ .accordion-item:after .show {
    display: none;
}
#accordionFAQ .accordion-collapse {
    background-color: #E8E8E8
}
#accordionFAQ .accordion-collapse .accordion-body {
    padding: 1.5rem 1.25rem;
}

.popup-newsletter {
    text-align: left;
    padding: 70px 40px;
}
#popupNewsletter .modal-close {
    position: absolute;
    right: 0px;
    top: -40px;
    font-size: 25px;
    cursor: pointer;
}
#popupNewsletter .modal-body {
    padding: 0;
}

#accordionMenu .accordion-item {
    background-color: transparent;
    border: none;
}
#accordionMenu .accordion-item .card-body {
    padding: 0
} 
#accordionMenu .accordion-button {
    cursor: pointer;
    padding: 1rem 0;
    background-color: transparent;
    color: #fff;
}
#accordionMenu .accordion-button:not(.collapsed) {
    color: #fff;
    background-color: transparent;
    box-shadow: none;
}

#accordionMenu .accordion-button::after {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    content: "";
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");    
    background-repeat: no-repeat;
    background-size: 1.25rem;
    transition: transform .2s ease-in-out;
}

#accordionMenu .accordion-collapse {
    background-color: transparent
}
#accordionMenu .accordion-collapse .accordion-body {
    padding: 0;
}

.cover-project {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    height: 315px;
}

.bg-opacity {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .2);
    position: absolute;
}

.padding-piattaforma {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.carousel-list {
    list-style-type: none; /* Rimuovi il bullet di default */
    padding-left: 0; /* Opzionale: Rimuovi il padding sinistro della lista */
}
.carousel-list li.check {
    display: flex;
    align-items: flex-start;
    line-height: 20px;
}

.project {
    padding: 0 45px;
}
.cover-project {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    height: 315px;
}
.preview-project .read-more {
    display: none !important;
}

.content-desc ul {
    list-style: disc; 
    padding-left: 17px;
}


/******** Stile del popup fullscreen **************/
        
    body.no-scroll {
        overflow: hidden;
    }    
        
    .popup {
      display: none; /* Inizialmente nascosto */
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(255, 255, 255, 0.93); /* Colore di sfondo semitrasparente */
      justify-content: center;
      align-items: center;
      z-index: 99999999;
    }

    .popup-content {
      width: 100%;
      text-align: center;
    }

    .popup h2 {
      margin-bottom: 20px;
    }

    .popup #closePopup {
      padding: 10px 20px;
      border: none;
      border-radius: 5px;
      cursor: pointer;
      font-size: 38px;
      position: absolute;
      top: 40px;
      right: 40px;
    }



.label-complete {
    position: fixed;
    left: -300px;
    top: 50%;
    display: flex;
    transition: all 1s linear;    
    z-index: 9999;
}
.label-complete .img-complete-energy {
    border: 3px solid #575756;
    border-left: none;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    height: 65px;
    display: flex;
    align-items: center;
    background-color: color(srgb 1 1 1 / 0.54);
    backdrop-filter: blur(13px);
}
.label-complete .img-complete-energy img{
    height: 38px;
    padding-right: 11px;
    padding-left: 11px;
}
.label-complete:hover {
    left: 10px; 
    transition: all 1s linear;
}
.label-complete .consulenza {
    background-color: color(srgb 1 1 1 / 0.54);
    backdrop-filter: blur(13px);
    font-size: 14px;
    line-height: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 300px;
    height: 65px;
    color: #161735;
    border: 3px solid #575756;
    border-right: none;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
    padding-left: 20px;
}

/******** END stile del popup fullscreen **************/


/* ===================================
    Resposive
====================================== */

@media (max-width: 575.98px) { 
    .container-custom {
       max-width: 540px; 
    }
    .text-banner h1 {
        font-size: 8.5vw;
        position: relative;
        top: auto;
        transform: none;
    }
    .popup-newsletter {
        padding: 40px 20px;
    }
    .fullscreen{
        height: 70vh !important;
        width: 100%;
    }
    #SlideStepMobile.owl-carousel .owl-item img{
        width:auto;
        height: 250px
    } 
    #SlideStepMobile.owl-carousel .owl-item .digital-energy-step{
        display: flex;
        justify-content: center;
    }     
    .bg-snocu-col {
        min-height: 350px
    }
    .padding-col-sx-section {
        padding:0
    }
}
/* // Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) { 
    .text-banner h1 {
        position: relative;
        top: auto;
        transform: none;
    }
    .background-img-section {
        background-repeat: no-repeat;
        background-size: cover;
        min-height: 230px;
    }
    .height-banner {
        height: 40vh !important;
        width: 100%;
    }
    .padding-text-block {
        padding: 0;
    }
    #block-img-text .padding-text-block {
         padding:0
    }
    .text-azienda-col-sx, .text-azienda-col-dx {
        width: 100%;
    }
    .img-absolute-vantaggi {
        position: relative;
    }
    .padding-benefici {
        padding: 5rem 0;
    }
    .section-padding-xxl {
        padding: 5rem 0
    }
	.section-padding-xl{
		padding: 3rem 0
	}
    
    .image-page-banner {
        background-attachment: scroll; 
        background-repeat: no-repeat;
        background-size: auto; 
        background-image: none !important;
    }
    .sez-titolo .titolo-snocu { 
        font-size: 30px;
        line-height: 30px;
        font-weight: 700;
    }
    #carouselPiattaforma .owl-nav {
        position: absolute;
        top: -45px;
        right: 0;
        margin-top: 0;
    }
}
/* // Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) { 
    .height-banner {
        height: 50vh !important;
        width: 100%;
        position: relative;
    }
    .megamenu {
        padding: 40px 9% 60px;
        height: 100%;
        overflow-y: scroll;
    }
    .padding-text-block {
        padding: 0 3%; 
    }
    .top-navbar .container-fluid ul li:first-child {
        font-size: 12px;
        padding: 0 10px 0 0px;
    }
    .top-navbar .container-fluid ul li {
        font-size: 12px;
        padding: 0 10px;
    }
    .image-absolute-home {
        position: relative;
    }
    .padding-col-sx {
        padding: 3rem 0;
    }
    .padding-col-dx {
        padding: 3rem 0;
    }
    .digital-energy-step {
        text-align: center;
        margin: 3px 0
    }
    .padding-benefici {
        padding: 5rem 2rem;
    }
    .bg-snocu-col {
        min-height: 330px;
        background-position: bottom;
    }
}

