html {
  scroll-behavior: smooth;
}

section[id],
div[id] {
  scroll-margin-top: 110px;
}

  .footer-info,
          .footer-info * {
            color: #fff !important;
          }
          .footer-info a:hover {
            opacity: 0.8;
          }

@supports (-webkit-touch-callout: none) {
      footer,
      footer * {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        backface-visibility: hidden;
      }

      footer::before,
      footer::after,
      footer *::before,
      footer *::after {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        backface-visibility: hidden;
      }
    }

    .demo-showcase-container {
      transform-origin: center center;
      backface-visibility: hidden;
      will-change: transform, opacity, filter;
      transition: transform 0.9s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.9s cubic-bezier(0.23, 1, 0.32, 1), filter 0.9s cubic-bezier(0.23, 1, 0.32, 1);
    }
    .demo-showcase-closed {
      transform: translateX(100%) scale(0.65) rotateY(20deg);
      opacity: 0;
      filter: blur(22px);
    }
    .demo-showcase-open {
      transform: translateX(0) scale(1) rotateY(0deg);
      opacity: 1;
      filter: blur(0px);
    }
    
    
@media (max-width: 1024px) {
    #cadre_alert_cookies {
        width: calc(100% - 40px) !important;
        left: 20px !important;
        right: 20px !important;
    }
}
    button {
        transition: all 0.25s ease;
        cursor: pointer;
    }
    button:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    }
    button:active {
        transform: scale(0.96);
    }
    #cadre_alert_cookies {
        transition: opacity 0.35s ease, transform 0.35s ease;
    }
    #cadre_alert_cookies.hide-anim {
        opacity: 0;
        transform: translateY(20px);
    }
    #cookieSettings {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 999999;
        align-items: center;
        justify-content: center;
        opacity: 0;
        transition: opacity 0.25s ease;
    }
    #cookieSettings.show {
        display: flex;
        opacity: 1;
    }
    #cookieOverlay {
        opacity: 0;
        transition: opacity 0.25s ease;
    }
    #cookieSettings.show #cookieOverlay {
        opacity: 1;
    }
    .cookie-modal-box {
        width: 40%;
        max-width: 760px;
        min-width: 340px;
        transform: scale(0.92);
        transition: transform 0.25s ease;
    }
    #cookieSettings.show .cookie-modal-box {
        transform: scale(1);
    }
@media (max-width: 1024px) {
        .cookie-modal-box {
            width: 95%;
            min-width: 0;
        }

    }
    .cookie-modal-box h4 {
        color: #000 !important;
    }
    
       section.bg-white {
                        background-color: #ffffff !important;
                    }

                    .privacy-content,
                    .privacy-content * {
                        color: #000000 !important;
                    }

                    .privacy-content {
                        text-align: justify;
                        text-justify: inter-word;
                        hyphens: auto;
                        line-height: 1.75;
                    }

                    .privacy-content p {
                        margin-bottom: 14px;
                    }

                    .privacy-content h4 {
                        margin: 32px 0 12px 0;
                        font-size: 20px;
                        font-weight: 800;
                    }
                    
                    
                    
          .projects-wrap{
        margin-top: 5rem;                 
        display: flex;
        flex-wrap: wrap;
        justify-content: center;          
        row-gap: 1.5rem;                  
      }
      .projects-item{
        box-sizing: border-box;
        padding-left: 12px;
        padding-right: 12px;
        flex: 0 0 100%;
        max-width: 100%;
        display: flex;
        justify-content: center;          
      }
      @media (min-width: 640px){
        .projects-wrap{ row-gap: 1.25rem; } 
        .projects-item{ flex-basis: 50%; max-width: 50%; }
      }
      @media (min-width: 1024px){
        .projects-item{ flex-basis: 33.3333%; max-width: 33.3333%; }
      }
      @media (min-width: 768px){
        .projects-item{ padding-left: 16px; padding-right: 16px; } 
      }
      .project-card{ width: 100%; max-width: 500px; }                
    
    
    .videos-wrap{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 2rem;
      }

      .video-item{
        box-sizing: border-box;
        padding-left: 16px;
        padding-right: 16px;
        flex: 0 0 100%;
        max-width: 100%;
      }

      @media (min-width: 768px){
        .video-item{
          flex-basis: 50%;
          max-width: 50%;
        }
      }

      @media (min-width: 1024px){
        .video-item{
          flex-basis: 33.3333%;
          max-width: 33.3333%;
        }
      }