@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

/* ===== Hero ===== */
.hero {
  position: relative;
  height: 100vh;
  width: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 1rem;
  overflow: hidden;
  font-family: 'Roboto', sans-serif;
}
body {background-image: unset!important;}
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
/*  background: url('/wp-content/themes/understrap/imgs/linee.png?blur=2') center/cover no-repeat;*/
  background-color: #4A6B7C;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
  z-index: 1;
}
aside.site-side {
    /*mix-blend-mode: unset;
    background: #fff;*/
}
.hero-side-menu {
    position: relative;
    left: -150%;
    transition: all .8s ease;
}
.hero-side-menu.finish {
    left: 0;
    transition: all .8s ease;
}
.lgoo-fixed {
    mix-blend-mode: difference;
}
.menu-sticky-container .mini a {font-size: 18px!important;line-height: 100%;}

.separator.mini {
    margin-top: 5rem;
}

.lgoo-fixed {
    pointer-events: unset!important;
}

.hero-content {
  position: relative;
  z-index: 2;
  text-align: left;
  max-width: 1000px;
}
h3 {
    font-family: 'Roboto';
    font-size: 36px;
    font-weight: 700;
    line-height: 100%;
    margin-bottom: 1rem;
    padding: 0;
}
.typing-text {
  white-space: pre-wrap;
  overflow: hidden;
  border-right: .15em solid currentColor;
}
.current-menu-item a {
    color: #9F9F9F!important;
}
.typing-text.small {
  font-size: 54px;
  line-height: 60px;
  font-weight: 400;
  margin-bottom: 20px;
  color: #007b7f;
}

.typing-text.big {
  font-size: 108px;
  line-height: 120px;
  font-weight: 700;
  color: #007b7f;
}

.typing-finished {
  border-right: none;
}

.hero-colored {
  color: #fff !important;
}

.hero-subtitle {
  margin-top: 40px;
  font-size: 1rem;
  color: #fff;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}

/* ===== Fascia 2 ===== */
.section-two {
  padding: 120px 0;
  font-family: 'Roboto', sans-serif;
}

.section-two .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.section-two .title-big {
  font-size: 64px;
  line-height: 1.2;
  font-weight: 700;
  color: #2E465C;
  margin-bottom: 40px;
}

.section-two .subtitle {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 700;
  color: #000;
  margin-bottom: 60px;
}

.section-two .columns {
  display: flex;
  gap: 40px;
  max-width: 90%;
}

.section-two .col {
  flex: 1;
  font-size: 18px;
  line-height: 1.6;
  color: #333;
}

.section-two .btn-primary {
  display: inline-block;
  margin-top: 20px;
  padding: 12px 20px;
  background: #4A6B7C;
  color: #fff;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 700;
}

.section-two .btn-primary:hover {
  background: #2E465C;
}

.section-two .note {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  color: #555;
}

/* ===== Fascia 3 ===== */
.section-three {
  padding: 120px 0;
  font-family: 'Roboto', sans-serif;
  background-color: #fafbfe;
  color: #fff;
      background-position: right;
    background-repeat: no-repeat;
    background-size: contain;
}

.container-fluid {
  max-width: 1800px;
  margin: 0 auto;
  padding: 0 40px;
}

.section-three .row {
  display: flex;
  flex-wrap: nowrap!important;
  align-items: center;
  gap: 60px;
}

.section-three .col.left {
  flex: 1;
  min-width: 300px;
}

.section-three .col.right {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.section-three .section-label {

  font-weight: 700;
  margin-bottom: 20px;

  text-transform: uppercase;
}

.section-three .title-big {
  font-size: 36px;
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 30px;
}

.section-three .subtitle {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 40px;
  color: #EAEAEA;
}

.section-three .btn-primary {
    display: inline-block;
    padding: 12px 20px;
    background: #fff;
    color: #4A6B7C;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.3s ease;
    border-color: #38889B !important;
}
a.btn-primary {
    font-size: 18px;
    font-family: 'Roboto';
    text-transform: uppercase;
    padding: 5px 10px!important;
}
.section-three .btn-primary:hover {
  background: #C7E1E8;
  color: #2E465C;
}

.section-three .section-image {
  max-width: 100%;
  height: auto;
}


span.preslash {
    display: inline-block;
    font-family: 'Roboto';
    font-size: 108px;
    padding-right: 1rem;
    color: #cccccc;
}

h3.section-label {
    font-family: 'Roboto';
    font-size: 28px;
    line-height: 40px;
    color: #ccc;
}
.footer-section span.wpcf7-list-item-label span {
    color: #fff!important;
}
.wpcf7-submit {
    background: #38889B !important;
    border: 0 !important;
    width: fit-content !important;
    padding: 0 2rem !important;
    border-radius: 100px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #fff !important;
}

.wpcf7 a {
    color: #000;
    font-weight: 700;
    text-decoration: underline;
}

.form-container .wpcf7 a {
    color: #fff;
    font-weight: 700;
    text-decoration: underline;
}
/* ===== Fascia 4 ===== */
.section-four {
  padding: 120px 0;
  font-family: 'Roboto', sans-serif;
  background-color: #fff;
  color: #2E465C;
}

.section-four .title-big {
  font-size: 36px;
  line-height: 120%;
  font-weight: 700;
  margin-bottom: 20px;
  color: #000;
}
.section-four p {
    font-family: 'Roboto';
    font-size: 18px;
}
.section-four .subtitle {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 30px;
  color: #333;
}

.section-four .btn-primary {
  display: inline-block;
  padding: 10px 20px;
  background: #38889B;
  color: #fff;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  transition: all 0.3s ease;
}

.section-four .btn-primary:hover {
  background: #2E465C;
}

.section-four .section-image {
  max-width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.section-four .section-label, .section-five .section-label {
  font-size: 28px;
  font-weight: 900;
  margin-bottom: 20px;
  text-transform: uppercase;
  color: #CCCCCC;
}
/* ===== Fascia 5 ===== */
.section-five {
  padding: 120px 0;
  font-family: 'Roboto', sans-serif;
  background-color: #fff;
  color: #2E465C;
}

.section-five .section-image {
  width: 100%;
  height: auto;
  margin-bottom: 40px;
}

.section-five .title-big {
  font-size: 28px;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 20px;
  color: #000;
}

.section-five .subtitle {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 30px;
  color: #333;
}

.section-five .btn-primary {
  display: inline-block;
  padding: 10px 20px;
  background: #38889B;
  color: #fff;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  transition: all 0.3s ease;
}

.section-five .btn-primary:hover {
  background: #2E465C;
}
/* ===== Fascia 6 ===== */
.section-six {
  padding: 120px 0;
  font-family: 'Roboto', sans-serif;
  background: #fff;
  color: #2E465C;
}

.section-six .btn-primary.small {
  font-size: 14px;
  padding: 8px 16px;
  border-radius: 20px;
}

.news-card {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.news-thumb img {
  border-radius: 8px;
  width: 100%;
  height: auto;
}

.news-meta {
  font-size: 14px;
  color: #777;
}

.news-title {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  margin-bottom: 10px;
}

.read-more {
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  color: #38889B;
}

.read-more:hover {
  color: #2E465C;
}

/* ===== Animazioni comuni ===== */
.animate-fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: opacity, transform;
}

.animate-fade-up.visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.delay-1 { transition-delay: 0.2s; }
.delay-2 { transition-delay: 0.4s; }
.delay-3 { transition-delay: 0.6s; }
.delay-4 { transition-delay: 0.8s; }

.section-three {
  position: relative;
  overflow: hidden;
}
.section-three .bg-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1;
  transition: opacity 0.8s ease-in-out;
  z-index: 0;
}
.section-three .container-fluid {
  position: relative;
  z-index: 1; /* sopra l'overlay */
}
.section-three {
  height: 100vh;
  overflow: hidden;
}
/* Assicurati che il contenitore principale non mostri il contenuto in eccesso */
#horizontal-scroll-section {
  overflow: hidden;
}

/* Il "nastro" che contiene le slide */
.slide {
  /* Imposta una larghezza totale pari al numero di slide (es. 3 slide = 300%) */
  width: 300%; 
  display: flex;
  flex-wrap: nowrap; /* Impedisce alle slide di andare a capo */
}

/* Ogni singola slide */
.left {
  /* Ogni slide deve occupare l'intera larghezza e altezza dello schermo */
  width: 100vw;
  height: 100vh;
  
  /* Centra il contenuto per estetica (opzionale) */
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5%; /* Aggiungi un po' di padding */
  flex-shrink: 0; /* Impedisce alle slide di restringersi */
  background-size: cover;
    background-position: center;
}
.link-container {
    width: fit-content;
}

span.note {
    padding: 0 1rem;
    font-family: 'Roboto';
    font-size: 18px!important;
    font-weight: 700!important;
    color: #000!important;
}
.section-three .btn-primary {
    margin-top: 2rem!important;
}

@media(max-width: 1599px) {
    .section-three .row {
        display: block;
        gap: 0!important;
    }

    .section-three {
        height: max-content;
        gap: 0;
        padding: 0;
    }

}



@media(max-width: 1200px) {
    .menu-sticky-container a {
        font-size: 20px!important;
    }

    .menu-sticky-container .mini a {
        font-size: 16px!important;
    }

    .menu-sticky-container ul li {
        margin-bottom: 1rem!important;
    }

    .menu-sticky-container ul {
        padding: 1rem 0!important;
    }

    .lgoo-fixed svg {
        width: 100px!important;
    }

    .typing-text.small {
        font-size: 34px!important;
        line-height: 40px!important;
    }

    .typing-text.big {
        font-size: 88px!important;
        line-height: 80px!important;
    }

    .section-two .title-big {
        font-size: 44px!important;
    }

    .section-two .subtitle {
    }

    .subtitle.animate-fade-up.delay-1.visible h2 {
        font-size: 24px!important;
    }

    .section-two .col {
        font-size: 16px!important;
    }

    .section-three .title-big {
        font-size: 24px!important;
        line-height: 1!important;
    }

    .horizontal-scroll-section p {
        font-size: 16px!important;
        line-height: 120%!important;
    }

    .section-four .title-big {
        font-size: 24px!important;
    }

    .section-four p {
        font-size: 16px!important;
    }

    .section-five .title-big {
        font-size: 24px!important;
        line-height: 1.2!important;
    }

    .content-box-2 p {
        font-size: 16px!important;
    }
    .left {
        height: auto;

    }
  section.hero {
      height: 100vh!important;
      display: flex!important;
  }
    .section-three {
        padding: 0;
    }
    section {
      min-height: auto!important;
      display: block!important;
      height: auto!important;
      padding-left: 1rem!important;
      padding-right: 1rem!important;
      
  }
    .left {
      padding: 10rem 4rem!important;
  }
  section.section-single {
      padding: 5rem 0;
  }

  .single_row h2 {
      font-size: 28px!important;
  }

  .single_row p {
      font-size: 16px!important;
      line-height: 140%!important;
  }
  section.section-four.colonne-adattabili h2 {
      font-size: 28px!important;
  }
  p.contenuto-hero {
      font-size: 28px!important;
  }

.children-menu {
    max-width: 100%;
    overflow-x: scroll;
}

}

@media(max-width: 991px) {
    .container-fluid {
      padding: 0;
  }
.horizontal-scroll-section ul.slick-dots {
    position: absolute;
    bottom: 0;
}

.left {
    width: 100%!important;
    max-width: 100%!important;
    min-height: auto!important;
    padding: 0!important;
    background-position: top right!important;
    background-size: 200px!important;
    padding-top: 18rem!important;
}



.content-internal.external.left {
    
}
  span.preslash {
      font-size: 40px;
      padding: 0;
      margin-top: 2rem;
  }
  .content-box-2 {
      max-width: 100%!important;
  }
  div#wrapper-footer, nav#mobile-menu {
      height: max-content;
      padding: 1rem;
  }
  .section-four h2, .section-four h3, .section-four p {
      max-width: 100%;
  }
.section-two .columns {

  max-width: 100%;
}

   nav#mobile-menu {
    height: 100vh;
    overflow-y: scroll!important;
    z-index: 3000000;
    display: block!important;
}

div#wrapper-footer > .container-fluid, nav#mobile-menu > .container-fluid {
    display: block!important;
}
ul.sub-menu .menu-item a {
    font-size: 18px!important;
    padding-bottom: 0!important;
}
.menu-item a {
    font-size: 32px!important;
}

div#wrapper-footer > .container-fluid > .row, nav#mobile-menu > .container-fluid > .row {
    padding: 5rem 1rem!important;
}
.menu-toggle.opened span:nth-child(1), .menu-toggle.opened span:nth-child(2) {
  background: #000!important;
}
.lgoo-fixed {
    z-index: 400000000!important;

}
bod.menu-open {
    overflow-y: hidden;
    height: 100vh;
}

body.menu-open {
    max-height: 100vh;
    overflow-y: hidden;
}
.form-container {
    display: none;
}
}

@media(max-width: 767px) {
    aside.site-side {
      padding: 2rem;
  }

  .typing-text.small {
      font-size: 16px!important;
  }

  .typing-text.big {
      font-size: 40px!important;
      line-height: 100%!important;
  }

  .section-two .title-big {
      font-size: 28px!important;
  }

  .subtitle.animate-fade-up.delay-1.visible h2 {
      font-size: 20px!important;
      padding: 0!important;
  }

  .section-two .columns div {
      padding: 0!important;
  }

  .horizontal-scroll {
      padding: 0!important;
  }

  /*.left {
      padding: 5rem 1rem!important;
  }*/
  .content-internal.external.left {
    padding: 0 1rem!important;
}

.slide {
  width: auto
}
  h3.section-label {
      font-size: 20px!important;
      padding-left: 0rem!important;
  }
  .section-four {
      padding: 2rem 0 0 0!important;
  }

  nav#mobile-menu {
    height: 100vh;
    overflow-y: scroll!important;
    z-index: 3000000;
    display: block!important;
  }

  div#wrapper-footer > .container-fluid, nav#mobile-menu > .container-fluid {
      display: block!important;
  }
  ul.sub-menu .menu-item a {
      font-size: 18px!important;
      padding-bottom: 0!important;
  }
  .menu-item a {
      font-size: 32px!important;
  }

  div#wrapper-footer > .container-fluid > .row, nav#mobile-menu > .container-fluid > .row {
      padding: 5rem 1rem!important;
  }
  .menu-toggle.opened span:nth-child(1), .menu-toggle.opened span:nth-child(2) {
    background: #000!important;
  }
  .lgoo-fixed {
      z-index: 400000000!important;

  }
  bod.menu-open {
      overflow-y: hidden;
      height: 100vh;
  }

  body.menu-open {
      max-height: 100vh;
      overflow-y: hidden;
  }

  div#wrapper-footer {
      height: max-content!important;
  }
  .children-menu {
      max-width: 100%;
      overflow-x: scroll;
  }
    .breadcrumb.typing-text {
    font-size: 16px!important;
}
section.section-single {
    padding-left: 0!important;
    padding-right: 0!important;
}
section.section-four.colonne-adattabili {
    padding: 2rem 1rem!important;
}
  button#back-to-top.show {
      left: auto!important;
      right: 2rem!important;
  }
  span.wpcf7-list-item-label {
    font-size: 16px;
    line-height: 100%;
    color: #fff!important;
}
.breadcrumb.typing-text.typing-finished {
    padding: 0!important;
}
section {
    padding-top: 0rem!important;
}

.menu-toggle {
    opacity: 1!important;
    transform: translate(0)!important;
}
#menu-toggle {
  left: 10px!important;
}
div#wrapper-footer {
    z-index: 3000;
    position: relative;
}
  nav#footer-menu2 ul a, #footer-menu3 ul a {
      font-size: 18px!important;
      line-height: 30px!important;
  }
  .image-2-blocks {
      padding: 0rem 1rem 0 1rem;
  }

  .section-five .section-image {
      margin: 0;
  }

  .mt-5, .my-5 {
      margin-top: 0!important;
  }

  .section-six {
      padding: 0rem 0 5rem 0;
  }
  p.contenuto-hero {
    font-size: 20px!important;
  }
  h2.title-big {
      padding-top: 1rem;
  }
  .listed ul li {
    font-size: 16px!important;
}
}
