/*
-----------------------------
NAVIGARE
-----------------------------
*/

.video-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9)), url("../img/other_pages/header_constructori.jpeg");
    background-size: cover;
    background-position: center 70%;
    background-repeat: no-repeat;
    z-index: 1000; /* Higher than expanding cards z-index: 100 */
}

.video-hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7));
    z-index: 2;
    pointer-events: none;
}



.nav-section {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 40px 0 10px;
}

.video-hero video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    z-index: 1;
    transform: translate(-50%, -50%);
    filter: sepia(20%);
    object-fit: cover;
    object-position: center center;
}

.over-video-section {
    position: relative;
    z-index: 1000;
    height: 100%;
    text-align: center;
}

.navbar-wrap {
    text-align: right;
}

.secondary-menu-navbar {
    display: inline-flex;
    flex-wrap: wrap;
}

.secondary-menu-link-navbar {
    padding: 2px 15px;
}

.secondary-menu-link-navbar a {
    color: var(--first-color);
    font-size: 1.3rem;
    font-weight: 600;
}

.secondary-menu-link-navbar a:hover {
    font-weight: 800;
}

.primary-menu-navbar {
    display: inline-flex;
    flex-wrap: wrap;
}

.primary-menu-link-navbar {
    padding: 5px 15px;
}

.primary-menu-link-navbar a {
    font-size: 1.6rem;
    color: var(--third-color);
    font-weight: 500;
}

.primary-menu-link-navbar a:hover {
    color: var(--first-color);
}

.on-home-page a{
    color: var(--first-color);
    font-weight: 900;
}

/* .btn-menu-hamburger{
    display: none;
} */

.hero-section-wrap {
    margin-top: 12vh;
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.hero-section-content {
    text-align: left;
    width: 60%;
    max-width: 600px;
    min-width: 280px;
    padding: 4vw 0 4vw 32px; /* Add left padding to align with logo */
    background: none;
    float: none;
}

.hero-section-text {
    width: 100%;
    max-width: 600px;
}

.hero-section-text h1{
    color: var(--first-color);
    margin-bottom: 18px;
    /* font-size: 2.8rem; */
    line-height: 1.1;
}

.hero-section-text p{
    color: #ffffff;
    margin-bottom: 36px;
    font-size: 1.6rem;
    line-height: 1.5;
}

.hero-section-buttons .btn-black {
    border: 2px solid var(--second-color);
    margin-right: 16px;
}

@media (max-width: 1023px) {
  .hero-section-wrap {
    margin-top: 7vh;
    min-height: 50vh;
    justify-content: center;
    padding-top: 4vh;
  }
  .hero-section-content {
    width: 90%;
    max-width: 95vw;
    padding: 4vw 0;
    text-align: center;
  }
  .hero-section-text {
    max-width: 100vw;
  }
  .hero-section-text h1 {
    font-size: var(--font-size-m);
  }
  .hero-section-text p {
    font-size: var(--font-size-s);
  }
}
@media (max-width: 767px) {
  .video-hero {
    height: 70vh;
  }
  .hero-section-wrap {
    margin-top: 10vh;
    min-height: 40vh;
    padding-top: 2vh;
    justify-content: center;
  }
  .hero-section-content {
    width: 100%;
    max-width: 100vw;
    padding: 6vw 0 2vw 0;
    text-align: left;
  }
  .hero-section-text h1 {
    font-size: 3rem;
    text-align: center;
  }
  .hero-section-text p {
    display: none;
    font-size: var(--font-size-xs);
  }
  .hero-section-buttons {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: auto;
    gap: 20px;
  }
  
  .hero-section-buttons .btn-black,
  .hero-section-buttons .btn-yellow-negativ {
    width: 70%;
    text-align: center;
    margin: 0 auto;
  }
}

/*
-----------------------------
NAV MOBILE
-----------------------------
*/

@media (max-width: 1023px) {
  
}

@media (max-width: 767px) {
  
}


.partners-container{
    background-color: var(--second-color);
    /* white-space: nowrap; */
    width: 100%;
    overflow: hidden;
    padding-top: 6vh;
}

.text-partners h4{
    text-align: center;
    color: var(--first-color) !important;
}
.slider-content{
    background-color: black;
    position: relative;
    white-space: nowrap;
    overflow: hidden;
    

}
.slider-content:hover .slider{
    animation-play-state: paused;
}
.slider{
    display: inline-block;
    padding: 3rem 0;
    animation: 40s slide infinite linear;
    white-space: nowrap;
}
.slider-content::before{
    position: absolute;
    top: 0;
    left: 0;
    width: 250px;
    height: 100%;
    /* fader optional */
    background: linear-gradient(to left,rgba(0, 0, 0, 0.01),#000000);
    content: '';
    z-index: 2;
}
.slider-content::after{
    position: absolute;
    top: 0;
    right: 0;
    width: 250px;
    background: linear-gradient(to right,rgba(0, 0, 0, 0.01),#000000);
    height: 100%;
    content: '';
    z-index: 2;
}
.slider img{
    height: 80px;
    margin: 0 40px;
    display: inline-block !important;
    max-width: none !important;
}

#pizzarotti-ipc-x2{
    height: 60px !important;
}

@keyframes slide {
    from{
        transform: translateX(0);
    }
    to{
        transform: translateX(-100%);
    }
}

@media (max-width: 767px) {
  .slider img{
    height: 70px;
  }
  .text-partners h4{
    font-size: var(--font-size-m);
    font-weight: 900;
  }
}

/*
-----------------------------
WHAT WE DO
-----------------------------
*/

.what-we-do {
    background-color: var(--second-color);
    padding: 150px 0;
}

.whtwd-section-wrap {
    text-align: center;
}

.whtwd-section-title {
    margin-bottom: 50px;
}

.whtwd-section-title h2 {
    color: var(--first-color);
    margin-bottom: 5px;
}

.whtwd-section-title h4 {
    color: #ffffff;
    margin-bottom: 100px;
}

.whtwd-section-categories {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: start;
    width: 100%;
}

.whtwd-section-category {
    width: 280px;
}

.whtwd-section-category-img {
    margin-bottom: 32px;
    text-align: center;
}

.whtwd-section-category-img img{
    filter: drop-shadow(0 0 10px var(--second-color))
            drop-shadow(0 0 50px var(--first-color));
}

.animated-image img {
  transform: scale(0);
  opacity: 0;
  transition: all 0.7s ease-out;
}


.animated-image.in-view img {
  transform: scale(1);
  opacity: 1;
}

.delay-animation-img-1 img {
  transition-delay: 0.3s;
}

.delay-animation-img-2 img {
  transition-delay: 0.5s;
}

.ddelay-animation-img-3 img {
  transition-delay: 0.4s;
}

.whtwd-section-category-text h3{
    margin-bottom: 20px;
    color: var(--first-color);
    font-size: 4rem;
}

.whtwd-section-category-text p{
    margin-bottom: 10px;
    color: var(--third-color);
    font-size: 2rem;
    font-weight: 300;
}

.whtwd-section-category-text {
    display: none;
}

.whtwd-section-category-text.active {
    display: block;
}

@media (max-width: 1023px) {
  
}

@media (max-width: 767px) {
  
}

/* Projects Section */
.expanding-cards-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* justify-content: center; */
    box-sizing: content-box;
    min-height: 80vh;
    background-color: #000;
    padding: 8vh 0 8vh 0;
    position: relative;
    /* z-index: 1; */
  }
  .expanding-cards-section .prj-section-title{
    margin-bottom: 70px;
  }
  .expanding-cards-section .prj-section-title h2{
    color: var(--first-color);
    text-align: center;
    margin-bottom: 5px;
  }
  .expanding-cards-section h4{
    color: #ffffff;
    text-align: center;
  }
  .expanding-cards-section .options {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
    padding: 20px;
    width: 100%;
    height: 400px;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
    z-index: 100 !important;
  }
  .expanding-cards-section .option {
    flex-grow: var(--option-flex, 1);
    flex-basis: 0;
    transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95);
    position: relative;
    overflow: hidden;
    min-width: 60px;
    /* filter: grayscale(60%); */
    margin: 3px;
    background: var(--optionBackground, var(--defaultBackground, #E6E9ED));
     background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    z-index: 4;
  }
  .expanding-cards-section .option.active::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.10) 60%, rgba(0,0,0,0.01) 100%);
}
  .expanding-cards-section .option.active {
    --option-flex: 10;
    transform: scale(1);
    max-width: 600px;
    margin: 0px;
    border-radius: 40px;
    background-size: cover;
  }
  .expanding-cards-section .option.active .shadow {
    box-shadow: inset 0 -120px 120px -120px black, inset 0 -120px 120px -100px black;
  }
  .expanding-cards-section .option.active .label {
    bottom: 20px;
    left: 20px;
  }
  .expanding-cards-section .option.active .label .info > div {
    left: 0px;
    opacity: 1;
  }
  .expanding-cards-section .option:not(.active) {
    --option-flex: 1;
    border-radius: 30px;
  }
  .expanding-cards-section .option:not(.active) .shadow {
    bottom: -40px;
    box-shadow: inset 0 -120px 0px -120px black, inset 0 -120px 0px -100px black;
  }
  .expanding-cards-section .option:not(.active) .label {
    bottom: 10px;
    left: 10px;
  }
  .expanding-cards-section .option:not(.active) .label .info > div {
    left: 20px;
    opacity: 0;
  }
  .expanding-cards-section .option .shadow {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    height: 120px;
    transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95);
  }
  .expanding-cards-section .option .label {
    display: flex;
    position: absolute;
    right: 0px;
    margin-bottom: 20px;
    height: 40px;
    transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95);
    position: absolute;
    z-index: 2;
  }
  .expanding-cards-section .option .label .icon {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    /* min-width: 40px;
    max-width: 40px; */
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: #FCC90C;
    color: var(--defaultBackground);
  }
  .expanding-cards-section .option .label .info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: 10px;
    color: white;
    white-space: pre;
  }
  .expanding-cards-section .option .label .info > div {
    position: relative;
    transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95), opacity 0.5s ease-out;
  }
  .expanding-cards-section .option .label .info .main {
    font-weight: bold;
    font-size: 2.5rem;
    color: #FCC90C;
    margin-bottom: 0.3rem;
    
  }

  .expanding-cards-section .option:not(.active) .label .icon {
    display: none !important;
  }

  .expanding-cards-section .option .label .info .sub {
    transition-delay: 0.1s;
    font-weight:300;
    font-size: 1.5rem;
  }

  #what-we-do-v3{
    /* padding: 10vh 0; */
    justify-content: center;
  }
  /* Responsive for 4 cards */
  @media (max-width: 767px) {
    .expanding-cards-section{
      padding: 10vh 0;
      min-height: auto;
    }
    .expanding-cards-section .options {
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: auto;
      min-height: auto;
      gap: 15px;
    }

    .expanding-cards-section .prj-section-title h2{
      font-size: 3rem;
    }

    .expanding-cards-section .prj-section-title{
      margin-bottom: 50px;
    }

    .expanding-cards-section .prj-section-title h4{
      font-size: var(--font-size-s);
    }

    .expanding-cards-section .option {
      width: 90vw !important;
      max-width: 90vw !important;
      height: 80px !important;
      margin: 0 !important;
      border-radius: 20px !important;
      flex: 1 1 auto !important;
      min-height: 80px !important;
      transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95) !important;
    }
    
    .expanding-cards-section .option.active {
      --option-flex: 1 !important;
      max-width: 90vw !important;
      margin: 0 !important;
      height: 300px !important;
      min-height: 300px !important;
    }

    .expanding-cards-section .option .label .info .main {
      font-weight: bold;
      font-size: var(--font-size-m);
      color: #FCC90C;
      margin-bottom: 0.3rem;
      white-space: normal !important;
      word-wrap: break-word !important;
    }
    .expanding-cards-section .option .label .info .sub {
      transition-delay: 0.1s;
      font-weight: 400;
      font-size: var(--font-size-xxs);
      white-space: normal !important;
      word-wrap: break-word !important;
    }
    
    /* Override HTML breakpoints on mobile */
    .expanding-cards-section .option .label .info .sub br {
      display: none !important;
    }
    
    .expanding-cards-section .option .label .icon {
      width: 30px !important;
      height: 30px !important;
      min-width: 30px !important;
      min-height: 30px !important;
      font-size: 14px !important;
    }
    
    
    .expanding-cards-section .option .label {
      bottom: 15px !important;
      left: 15px !important;
      right: 15px !important;
      height: auto !important;
      min-height: 40px !important;
    }
    
    .expanding-cards-section .option .label .info {
      margin-left: 8px !important;
      white-space: normal !important;
    }
    
  }

  /* Responsive scaling for larger screens */
  
  @media screen and (min-width: 1600px) {
    .expanding-cards-section .options {
      transform: scale(1.3);
      transform-origin: center center;
    }
  }
  
  @media screen and (min-width: 2000px) {
    .expanding-cards-section .options {
      transform: scale(1.3);
      transform-origin: center center;
    }
  }
  
  @media screen and (min-width: 2560px) {
    .expanding-cards-section .options {
      transform: scale(1.4);
      transform-origin: center center;
    }
  }

  #what-we-do-v3{
    min-height: 60vh;
  }

  .divisions {
    display: flex;
    gap: 10px;
    margin-bottom: 70px;
  }

  .divisions h4 {
    padding: 0.8em 1.5em 0.4em;
    text-transform: uppercase;
    font-weight: 400;
    color: #fdca0b;
    transition: 0.3s ease-in-out;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    border: 2px solid #212121;
    border-bottom: none;
  }
  
  .divisions h4:hover {
    color: #ffffff;
    cursor: pointer;
    border-color: #ffffff;
  }

  .divisions h4.active {
    color: #ffffff;
    border-color: #ffffff;
  }
  

  .divisions-container{
    text-align: center;
  }

  .our-team-cards {
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 60px;
    flex-wrap: wrap;
    z-index: 20;
    position: relative;
    margin-bottom: 60px;
  }

  .our-team-cards h3{
    line-height: 1.3;
  }
  
  :root {
    --gradient: conic-gradient(
      from 90deg at 50% 50%,
      var(--first-color),
      rgb(253, 164, 11),
      rgb(253, 196, 11),
      rgb(253, 136, 11)
    );
  }
  
  .team-card {
    --start: 0;
    position: relative;
    background: #000;
    border-radius: 20px;
    padding: 30px 20px;
    width: 300px;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: border-color 0.3s ease-in-out;
    box-shadow: 0 1px 8px #333;
    z-index: 25;
    will-change: transform, opacity, background;
  }
  
  .team-card::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 20px;
    border: 2px solid transparent;
    background: -webkit-conic-gradient(
      from 90deg at 50% 50%,
      var(--first-color),
      rgb(253, 164, 11),
      rgb(253, 196, 11),
      rgb(253, 136, 11)
    );
    background: conic-gradient(
      from 90deg at 50% 50%,
      var(--first-color),
      rgb(253, 164, 11),
      rgb(253, 196, 11),
      rgb(253, 136, 11)
    );
    -webkit-mask: linear-gradient(#0000, #0000),
      conic-gradient(
        from calc((var(--start) - (20 * 1.1)) * 1deg),
        #ffffff1f 0deg,
        white,
        #ffffff00 100deg
      );
    mask: linear-gradient(#0000, #0000),
      conic-gradient(
        from calc((var(--start) - (20 * 1.1)) * 1deg),
        #ffffff1f 0deg,
        white,
        #ffffff00 100deg
      );
    -webkit-mask-composite: destination-in; /* ✅ Safari fix */
    mask-composite: intersect;
    -webkit-mask-clip: padding-box, border-box;
    mask-clip: padding-box, border-box;
    opacity: 0;
    transition: 0.5s ease;
    will-change: transform, opacity, background;
  }
  
  .team-card .glow {
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    filter: blur(14px);
    will-change: transform, opacity, background;
  }
  
  .team-card .glow::before {
    position: absolute;
    content: "";
    width: 98%;
    height: 98%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 20px;
    border: 15px solid transparent;
    background: -webkit-conic-gradient(
      from 90deg at 50% 50%,
      var(--first-color),
      rgb(253, 164, 11),
      rgb(253, 196, 11),
      rgb(253, 136, 11)
    );
    background: conic-gradient(
      from 90deg at 50% 50%,
      var(--first-color),
      rgb(253, 164, 11),
      rgb(253, 196, 11),
      rgb(253, 136, 11)
    );
    -webkit-mask: linear-gradient(#0000, #0000),
      conic-gradient(
        from calc((var(--start) - (20 * 1.1)) * 1deg),
        #ffffff1f 0deg,
        white,
        #ffffff00 100deg
      );
    mask: linear-gradient(#0000, #0000),
      conic-gradient(
        from calc((var(--start) - (20 * 1.1)) * 1deg),
        #ffffff1f 0deg,
        white,
        #ffffff00 100deg
      );
    -webkit-mask-composite: destination-in; /* ✅ Safari fix */
    mask-composite: intersect;
    -webkit-mask-clip: padding-box, border-box;
    mask-clip: padding-box, border-box;
    opacity: 0;
    transition: 1s ease;
    will-change: transform, opacity, background;
  }
  
  .team-card:hover > .glow::before {
    opacity: 1;
  }
  
  .team-card:hover::before {
    opacity: 0.6;
  }
  
  /* Fallback for browsers that don't support advanced mask properties */
  @supports not (mask-composite: intersect) {
    .team-card::before,
    .team-card .glow::before {
      background: var(--gradient);
      border: 2px solid transparent;
      background-clip: padding-box;
      -webkit-background-clip: padding-box;
    }
    
    .team-card:hover::before {
      opacity: 0.8;
      border-color: var(--first-color);
    }
    
    .team-card:hover > .glow::before {
      opacity: 0.4;
    }
  }
  
  .team-card-img {
    width: 175px;
    height: 175px;
    object-fit: cover;
    border-radius: 16px;
    margin-bottom: 20px;
  }
  
  .team-card-info h3 {
    font-size: 2rem;
    font-weight: 700;
    color: var(--first-color);
    margin-bottom: 8px;
  }
  
  .team-card-info h5 {
    font-size: 1.3rem;
    font-weight: 500;
    color: #fff;
    margin-bottom: 20px;
  }
  
  .team-card-info p {
    font-size: 1.5rem;
    color: #fff;
    line-height: 1.6;
    margin: 0;
    text-align: center;
  }
  
  /* Responsive */
  @media (max-width: 1100px) {
    .our-team-cards {
      gap: 24px;
    }
    .team-card {
      width: 90vw;
      max-width: 350px;
    }
  }
  @media (max-width: 800px) {
    .divisions{
      gap: 20px;
      padding: 0 8vw 0 8vw;
    }

    .divisions h4{
      font-size: 1.3rem;
      font-weight: 500;
    }

    .our-team-cards {
      flex-direction: column;
      align-items: center;
    }
  }
   

/*
-----------------------------
OUR PROCESS
-----------------------------
*/

.our-process {
    background-color: var(--second-color);
    padding: 8vh 0;
    min-height: 80vh;
    position: relative;
    overflow: hidden;
}

.oprcs-section-wrap {
    text-align: center;
}

.oprcs-section-title {
    margin-bottom: 50px;
}

.oprcs-section-title h2,
.oprcs-section-category p{
    color: var(--first-color);
}
.oprcs-section-title h2{
  margin-bottom: 5px;
}
.oprcs-section-title h4{
    color: #ffffff;
}
.oprcs-section-category h3{
  color: var(--first-color);
}
.oprcs-section-category p{
  color: #ffffff;
  margin: 10px 0;
}
.oprcs-section-categories {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: start;
    width: 100%;
}

.oprcs-section-category {
    width: 280px;
}

.oprcs-section-category-img {
    text-align: center;
}

.oprcs-section-category-img img{
    margin: 0 auto 16px;
}

.icon-wrap {
    transform: translateY(50px);
    opacity: 0;
    transition: all 0.8s ease-out;
}

.icon-wrap.in-view {
    transform: translateY(0);
    opacity: 1;
}

.delay-animation-icon-1 {
    transition-delay: 0.1s;
}

.delay-animation-icon-2 {
    transition-delay: 0.2s;
}

.delay-animation-icon-3 {
    transition-delay: 0.3s;
}

@media (max-width: 1023px) {
  
}

@media (max-width: 767px) {
  /* Our Process Section */
.our-process{
  padding: 4vh 0 4vh 0;
}

  .oprcs-section-title h2{
    font-size: 3rem;
  }
  .oprcs-section-title h4{
    font-size: var(--font-size-s);
  }

  .oprcs-section-categories {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  
  .oprcs-section-category {
    width: 100%;
    max-width: 400px;
    text-align: center;
  }
  
  .oprcs-section-category-img img {
    margin: 0 auto 20px;
  }
  
  .oprcs-section-category-text h3 {
    font-size: var(--font-size-m);
    margin-bottom: 15px;
  }
  
  .oprcs-section-category-text p {
    font-size: var(--font-size-xs);
    line-height: 1.6;
  }
}

/*
-----------------------------
FEATURED PROJECT
-----------------------------
*/

.featured-projects {
    padding: 150px 0;
}

.ftrprj-section-wrap {
    text-align: center;
}

.ftrprj-section-logo img{
    margin: 0 auto 24px;
}

.ftrprj-section-title {
    margin-bottom: 50px;
}

.ftrprj-section-title h2{
    color: var(--first-color);
}

.ftrprj-section-categorie {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: start;
    width: 100%;
}

.ftrprj-section-category {
    width: 280px;
}

.ftrprj-section-category-img {
    margin-bottom: 32px;
    text-align: center;
}

.ftrprj-section-category-img img{
    filter: drop-shadow(0 0 5px var(--second-color))
            drop-shadow(0 0 40px var(--first-color));
}

.ftrprj-section-category-text h3{
    margin-bottom: 10px;
    color: #000000;
}


@media (max-width: 1023px) {
  
}

@media (max-width: 767px) {
  
}


/*
-----------------------------
OUR EQUIPMENT
-----------------------------
*/

.our-equipment {
    height: 700px;
    position: relative;
    overflow: hidden;
    background-color: var(--first-color);
}

.our-equipment-split {
    display: flex;
    height: 100%;
    position: relative;
}

.oeqmnt-section-wrap {
    width: 100%;
    max-width: 1240px;
    padding-right: 40vw;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
}

.oeqmnt-section-video {
    width: 50vw;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    overflow: hidden;
}

.oeqmnt-section-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.oeqmnt-section-content-title h4{
    color: #ffffff;
    margin-bottom: 24px;
}

.oeqmnt-section-content-button {
    margin-top: 70px;
}

@media (max-width: 1023px) {
  
}

@media (max-width: 767px) {
  
}

/*
-----------------------------
FAST FACTS
-----------------------------
*/

.fast-facts {
    text-align: center;
    padding: 50px 0;
    background-color: var(--first-color);
    z-index: 999;
}

.fstfct-section-wrap {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.fstfct-section-title h2{
    text-align: left;
    color: #000000;
}

.fstfct-section-content {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
}

.fstfct-section-content-category {
    width: 200px;
}

.fstfct-section-content-number p{
    font-family: var(--font-family);
	font-size: var(--font-size-xl);
	font-weight: 900;
	color: #ffffff;
    line-height: 5.4rem;
}

.number sup {
  font-size: 60%;
  vertical-align: super;
}


@media (max-width: 1023px) {
  
}

@media (max-width: 767px) {
  .fstfct-section-wrap {
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.fstfct-section-title h2{
    text-align: center;
    color: #000000;
}

.fstfct-section-content {
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
}

/*
-----------------------------
WHO WE ARE
-----------------------------
*/

.who-we-are {
    background-color: var(--second-color);
    min-height: 60vh; 
    height: auto;
    /* padding: 6vh 0; */
  }

.who-we-are-split {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 0;
    height: auto;
    margin-bottom: 6vh;
}

.whwar-section-img {
    width: 50%;
    height: 100vh;
    background-image: url("../img/homepage/muncitorinoi.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: 2;
    filter: sepia(40%);
}

.whwar-section-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
}

.whwar-section-content {
    /* padding: 150px 100px 150px 50px; */
    width: 60%;
}

.whwar-section-content-title {
    margin-bottom: 28px;
}

.whwar-section-content-title h2 {
    color: var(--first-color);
    margin-bottom: 5px;
}

.whwar-section-content-text  p,
.whwar-section-content-title h4 {
    color: #ffffff;
}

.whwar-section-content-button {
    margin-top: 50px;
}

@media (max-width: 1023px) {
  
}

@media (max-width: 767px) {
  /* Who We Are Section */
  .who-we-are-split {
    flex-direction: column !important;
  }
  
  .whwar-section-img {
    min-height: 250px !important;
    height: 500px !important;
    width: 100% !important;
  }
  
  .whwar-section-wrap {
    padding: 20px 0;
    width: 100% !important;
  }
  
  .whwar-section-content {
    width: 100% !important;
    text-align: center;
    padding: 4vh 8vw;
  }
  
  .whwar-section-content-title h2 {
    font-size: 3rem;
    font-weight: 900;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    margin-bottom: 15px;
    text-align: center;
  }
  
  .whwar-section-content-title h4 {
    font-size: var(--font-size-m);
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
  }
  
  .whwar-section-content-text p {
    font-size: var(--font-size-xs);
    line-height: 1.6;
    margin-bottom: 50px;
    text-align: left;
  }
  
  .whwar-section-content-button {
    margin-top: 30px;
  }
  
  .whwar-section-content-button .btn-yellow {
    width: 100%;
    padding: 15px 30px;
    font-size: var(--font-size-xs);
    font-weight: 300;
  }
}

/*
-----------------------------
CERTIFICATION
-----------------------------
*/

.certifications {
    text-align: center;
    padding: 150px 0 125px;
    background-color: var(--first-color);
}

.crtf-section-wrap {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.crtf-section-content {
    width: 500px;
    text-align: left;
}

.crtf-section-content-title {
    margin-top: 100px;
}

.crtf-section-content-text {
    margin: 24px 0 50px;
}

.crtf-section-badges {
    width: 700px;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: end;

}

.crtf-section-badges-category {
    width: 190px;
    text-align: center;
    margin-bottom: 25px;
}

.crtf-section-badges-category-logo img{
    margin: 0 auto;
}

.animated-image img {
  transform: scale(0);
  opacity: 0;
  transition: all 0.7s ease-out;
}


.animated-image.in-view img {
  transform: scale(1);
  opacity: 1;
}

.delay-animation-crtf-1 img{
    transition-delay: 0.2s;
}

.delay-animation-crtf-2 img{
    transition-delay: 0.7s;
}

.delay-animation-crtf-3 img{
    transition-delay: 0.4s;
}

@media (max-width: 1023px) {
  
}

@media (max-width: 767px) {
  
}

/*
-----------------------------
FUTURE PLANS
-----------------------------
*/

.future-plans {
    text-align: center;
    padding: 150px 0;
}

.fpln-section-wrap {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between
}

.fpln-section-content {
    width: 500px;
    text-align: left;
}

.fpln-section-content-logo {
    margin-bottom: 100px;
}

.fpln-section-content-title h2 {
    color: var(--first-color);
}

.fpln-section-content-title h2 {
  font-size: 4.6rem;
  font-family: var(--font-family, sans-serif);
  display: flex;
  flex-wrap: wrap;
  gap: 0.1em;
}

.fpln-section-content-title h2 .letter {
  opacity: 0;
  transform: translateY(-20px);
  display: inline-block;
  animation: fadeInUp 0.5s ease forwards;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fpln-section-content-title h4 {
  font-size: 2.2rem;
  font-family: var(--font-family, sans-serif);
}

.fpln-section-content-text {
    margin: 24px 0 50px;
}

.fpln-section-hexagons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.fpln-hex-row {
  display: flex;
  gap: 10px;
}

.fpln-hex-row.fpln-hex-offset {
  margin:-55px auto;
}

.fpln-hex {
  width: 190px;
  height: 220px;
  transition: transform 0.1s ease, box-shadow 0.3s ease;
  z-index: 99;
}

.fpln-hex-color {
    width: 190px;
  height: 220px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  z-index: 1;
}

.fpln-hex img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.1s ease, filter 0.3s ease;
  z-index: 100;
}

.fpln-hex:hover img {
  transform: scale(1.1);
  filter: drop-shadow(0 8px 24px rgba(0,0,0,0.75));
  z-index: 100;
}

.fpln-section-hexagons:has(.fpln-hex:hover) .fpln-hex-color img {
    filter: blur(3px);
    opacity: 0.7;
    transition: filter 0.3s, opacity 0.3s;
  }
  
  .fpln-section-hexagons .fpln-hex img {
    transition: filter 0.3s, opacity 0.3s;
  }

@media (max-width: 1023px) {
  
}

@media (max-width: 767px) {
  
}

/*
-----------------------------
CLIENTS AND PARTNERS
-----------------------------
*/

.clients-partners {
    text-align: center;
    padding: 150px 0;
    background-color: var(--first-color);    
}

.cprt-section-title {
    margin-bottom: 24px;
}

.cprt-section-title h4{
    color: #ffffff;
}

.cprt-section-text {
    width: 800px;
    margin: 0 auto;
}

.cprt-section-container {
    margin: 50px 0 0;
}

.cprt-section-container-logo {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 50px;
}

@media (max-width: 1023px) {
  
}

@media (max-width: 767px) {
  
}


            
@media (max-width: 1023px) {
  
}

@media (max-width: 767px) {
  
}

.logo-header-navbar img {
    width: 180px !important; /* Make logo smaller */
    max-width: 40vw;
    height: auto;
    display: block;
}


@media (max-width: 1023px) {
  .logo-header-navbar img {
    width: 140px !important;
  }
  .hero-section-content {
    padding-left: 16px;
  }
}
@media (max-width: 767px) {
  .logo-header-navbar img {
    width: 150px;
  }
  .hero-section-content {
    padding-left: 8px;
  }
}

.who-we-are, .what-we-dov2-custom {
  position: relative;
  overflow: hidden;
}

.who-we-are img,
.what-we-dov2-custom img {
  position: relative;
  z-index: 4;
}

.fpln-hex, .fpln-hex-color {
  position: relative;
  z-index: 3;
}
.fpln-hex img, .fpln-hex-color img {
  z-index: auto !important;
}


/*
-----------------------------
ENGINEERING SOLUTIONS
-----------------------------
*/

.engineering-solutions {
  background-color: var(--second-color);
  min-height: 100vh;
  display: flex;
  align-items: center;
}

.engineering-solutions-split {
  display: flex;
  width: 100%;
  height: 100vh;
}

.engineering-solutions-img {
  width: 50%;
  background-image: url("../img/homepage/autostrada-nocturna.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  filter: sepia(20%);
  z-index: 2;
}

.engineering-solutions-content {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px;
  margin: 0 auto;
}

.engineering-solutions-text {
  color: var(--third-color);
  width: 70%;
  /* max-width: 500px; */
}

.engineering-solutions-text h2 {
  color: var(--first-color);
  text-transform: uppercase;
}

.engineering-solutions-text p {
  color: var(--third-color);
  margin: 20px 0;
  width: 80%;
} 

.engineering-solutions-text .slogan {
  color: var(--first-color);
  font-size: 2rem;
  /* font-weight: 500; */
  margin: 40px 0;
}

.engineering-solutions-button {
  margin-top: 30px;
}


@media (max-width: 1023px) {
  .engineering-solutions-split {
    flex-direction: column;
  }
  
  .engineering-solutions-img {
    width: 100%;
    height: 50vh;
  }
  
  .engineering-solutions-content {
    width: 100%;
    padding: 40px 20px;
  }
  
  .engineering-solutions-text h2 {
    font-size: 2rem;
  }
}

@media (max-width: 767px) {
  /* Engineering Solutions Section */
  .engineering-solutions-split {
    flex-direction: column !important;
    height: auto !important;
  }
  
  .engineering-solutions-img {
    min-height: 250px !important;
    height: 500px !important;
    width: 100% !important;
  }
  
  .engineering-solutions-content {
    padding: 20px 0 40px 0;
    width: 100% !important;
  }
  
  .engineering-solutions-text {
    width: 100% !important;
    text-align: center;
    padding: 4vh 8vw;
  }
  
  .engineering-solutions-text h2 {
    font-size: 3rem;
    font-weight: 900;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    margin-bottom: 15px;
    line-height: 3.5rem;
    text-align: center;
  }
  
  .engineering-solutions-text p {
    font-size: var(--font-size-xs);
    line-height: 1.6;
    margin-bottom: 50px;
    text-align: left;
  }
  
  .engineering-solutions-button {
    margin-top: 30px;
    margin-bottom: 20px;
  }
  
  .engineering-solutions-button .btn-yellow {
    width: 100%;
    padding: 15px 30px;
    font-size: var(--font-size-xs);
    font-weight: 300;
  }
}
