
/*--- Header ------------------------------*/

p {
  line-height: 160%;
}
strong {
  color: #141414;
  font-family: "IBMPlexSans";
  font-weight: 500;
}

.header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: rgba(255, 255, 255, 1);
  color: #000000;
}

.navbar li {
    list-style: none;
}

/*-- Fix Nav höhe Case single */
.navbar ul {
  padding-top: 5px;
}


li .cases {
  text-decoration: underline;
  -webkit-text-decoration: underline;
  text-underline-offset: 0.25rem;
  -webkit-text-underline-offset: 0.25rem;
} 

.case-info {
  display: flex;
  flex-direction: row;
  padding-bottom: 0.5rem;
}

.hero-area{
  background-color: #f1f4ff;
  width: 100%;
  height: 25%;
  min-height: 300px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
} 

.hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  top: 0%;
  width: 100%;
  height: 100%;
  padding: 0 0 12px 0;
  padding-left: 2rem;
}

.hero-category {
  color: #4D4D4D;
  text-align: left;
  font-family: "IBMPlexSans";
  font-weight: 300;
  padding: 0.25rem 0.75rem 0.25rem 0.75rem;
  border: 1px solid rgba(6, 53, 244, 0.1);
  margin: 0 0.75rem 0 0;
  border-radius: 50px;
  background-color: rgba(255, 255, 255, 0.2);
}

.hero-title {
  color:#000000;
  text-align: left;
  font-family: "IBMPlexSans";
  color: var(--color-code-accent);
  font-weight: 600;
}


.client {
  font-size: 1rem;
  font-weight: 300;
  color: var(--color-code-accent);
  padding-top: 0.5rem;
  padding-left: 0.075rem;
}

.back-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 1704px;
  padding: 0 0 2rem 0;
  margin-top: -3rem;
}

.back-button {
  width: fit-content;
  text-underline-offset: 0.5rem;
  font-size: 1.2rem;
  float: left;
}

.back-button a{
  font-family: "IBMPlexSans";
  color: var(--color-black);
  text-underline-offset: 0.5rem;
  -webkit-text-underline-offset: 0.5rem;
  text-decoration-line: underline;
  -webkit-text-decoration-line: underline;
  text-decoration-color: var(--color-code-accent);
  -webkit-text-decoration-color: var(--color-code-accent);
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-thickness: 1.5px;
}


.back-button a:hover {
  color: var(--color-code-accent);
  text-decoration-line: dashed;
  -webkit-text-decoration-line: dashed;
  cursor: pointer;
}

a:hover {
  color: var(--color-code-accent);
  text-decoration-style: dashed;
  cursor: pointer;
}

.main {
  align-items: center;
  flex-direction: column;
  display: flex;
  width: 100%;            
}

.wrapper {
  padding: 0 1rem 0 1rem;
  width: 100%;
}

.note-box {
  display: flex;
  padding: 0rem 1rem 0rem 1rem;
  flex-direction: column;
  align-items: center;
  margin: 2rem 0 0 0;
}


.note {
  font-family: "IBMPlexSans";
  font-style: italic;
  font-size: 1rem;
  display: flex;
  padding: 1rem 0 1rem 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  border-radius: 8px;
  background: rgba(77, 90, 161, 0.05);
  width: 100%;
}

.note-headline {
  color:#4A4A4A;
  text-align: left;
  font-size: 1rem;
  line-height: 150%;
  font-family: "IBMPlexSans";
  font-weight: 600;
  padding: 0 1rem 0 1rem;

}

.case-headline {
  color:#141414;
  line-height: 150%;
  width: 100%;
  padding-bottom: 0.5rem;
}

.case-headline-txt {
  font-family: "IBMPlexSans";
  font-weight: 600;
  padding: 1rem 0rem 0rem 0rem;
  padding-left: 1rem;
}

.case-text {
  width: 100%;
}

.case-image {
  display: inline-block;

}

.case-image img {
    width: 100%;
    height: auto; /* Optional: Ensures the aspect ratio is maintained */
    padding: 2rem 0 1.5rem 0;
}

figcaption {
 padding: 0 0 32 0;
 margin-top: -32px;
 align-items: center;
 flex-direction: column;
 display: flex;
 padding-left: 1rem;
 width: 100%;
}

.caption {
  width: 100%;
  padding-left: 1rem;
  padding: 12 0 12 0;
  font-size: 1rem;
  line-height: 150%;
  color:#4A4A4A;
  font-family: "IBMPlexSans";
  font-weight: 400;
}



/* Responsive-Optimierung ----------------------------------------------- */

/* Tablets (portrait) and larger */
@media (min-width: 768px) {
  main ul {
    margin-left: 2rem;
    width: 550px;
  }

  main ol {
    margin-left: 2rem;
    width: 550px;
  }
  
  li {
    font-size: 1.125rem;
  }
  
  .hero-content {
    width: 600px;
    padding: 2rem 2rem 1rem 4rem;
  }

  .back-button {
    margin-left: 2rem;
  }
  .note {
    width: 600px;
  }

  .client {
    font-size: 1.25rem;
  }
  

  .case-headline {
    font-size: 1.5rem;
    line-height: 125%;
    width: 600px;
    padding: 32 0 16 0;
  }
  
  .case-text {
    font-size: 1rem;
    width: 600px;
    padding: 0 0 0 0;
  }

  .caption {
    width: 600px;
    font-size: 1rem;
    line-height: 150%;
    color:#4A4A4A;
    font-family: "IBMPlexSans";
    font-weight: 400;
  }
  
}

/* Tablets (landscape) and small laptops */
@media (min-width: 992px) {
  
  main ul {
    margin-left: 2rem;
    width: 640px;
    line-height: 150%;
  }

  main ol {
    margin-left: 2rem;
    width: 640px;
    line-height: 150%;
  }


  .hero-content {
    width: 700px;
  }

  .hero-title {
    font-size: 2.5rem;
    font-weight: 600;
  }

  .note {
    width: 700px;
  }
  
  .note-headline {
    font-size: 1rem;
  }

  .case-headline {
  width: 700px;
  padding: 1rem 0rem 0.75rem 0rem;
  }
  
  .case-text {
    width: 700px;
  }

  .case-image img {
    width: 800px;
  }

  .caption {
    width: 700px;
  }
  
  p {
    font-size: 1.125rem;
  }

  h1 {
    line-height: 125%;
   }
}

/* Large desktops */
@media (min-width: 1200px) {
  p {
    font-size: 1.25rem;
  }

 main ul {
    margin-left: 2rem;
    width: 740px;
    line-height: 180%;
  }
  
main ol {
    margin-left: 2rem;
    width: 740px;
    line-height: 180%;
  }
  
  li {
    font-size: 1.25rem;
  }

  h1 {
    font-size: 3rem;
    font-weight: 600;
   }
   
   h2 {
    font-family: "IBMPlexSans";
    font-weight: 500;
     font-size: 1.5rem;

    }

  .hero-content {
      width: 800px;
      padding: 2rem 2rem 1rem 4rem;
    }

  
  .note {
      width: 800px;
    }

  .note-text {
    font-size: 1rem;
    }

  .case-image img {
      width: 960px;
    }
    

  .case-headline {
      width: 800px;
      padding: 1rem 0rem 0.75rem 0rem;
      }
      
  .case-text {
        width: 800px;
      }
    
  .caption {
        width: 800px;
      }  
} 

/* --- Lightbox ------------------------------------ */
.case-image {
  text-align: center;
}

.case-image img {
  max-width: 100%;
  cursor: pointer;
}

/* Lightbox overlay */
.lightbox-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.9);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.lightbox-overlay img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 8px;
  z-index: 1001;
}

/* Close button styles */
.lightbox-close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 2rem;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.1);
  border: none;
  cursor: pointer;
  z-index: 1002;
}

.lightbox-overlay.active {
  display: flex;
}

.nav-menu li {
  margin: 0rem 0rem 0rem 20px;
}


 /*--- Responsive-Optimierung Hero Area------------------------------*/
  
  @media (min-width: 768px) {
      .hero-area{
          height: 5rem;
        } 
  
      .hero-content {
          width: 600px;
        }

      .portait-img {
          width: 140px;
        }
  
      .img-and-text {
        gap: 1.5rem;
      }
      
      .hero-text {
          font-size: 2rem;
      }
  
  }    
    
   
  /* Tablets (landscape) and small laptops */
  @media (min-width: 992px) {
      .hero-area{
          height: 5rem;
          margin-bottom: 4rem;
        } 
  
      .hero-content {
          width: 700px;
      }
  
        .portait-img {
          width: 140px;
        }
  
        .menu ul a.home{
          font-size: 1.5rem;
        }
      
        .menu ul a.about{
          font-size: 1.5rem;
        }
  
        .img-and-text {
          gap: 2rem;
        }
    }
    
    /* Large desktops */
    @media (min-width: 1200px) {
      .hero-area{
          height: 5rem;
          margin-bottom: 3rem;
        } 
  
      .hero-content {
          width: 800px;
        }
  
      .hero-text {
          font-size: 2.25rem;
      }

      .menu ul a.home{
          font-size: 1.5rem;
        }
      
      .menu ul a.about{
          font-size: 1.5rem;
        }
  
    }
  
  
    
    /*--- Main ------------------------------*/
    .main {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 2rem;
    }
    
    .section-headline {
      font-size: 1.2rem;
      color: #4D4D4D;
      text-align: center;
      padding: 2rem 0 2rem 0;
    }
    
  
    .cases-wrapper {
      display: flex;
      gap: 2rem;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 0rem 1rem 0rem
    }
  
    .case-wide {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: auto;
      padding: 3rem 0rem 3rem 0rem;
      margin: 0 1rem 0 1rem;
      border-radius: 12px;
      background: rgb(184 184 184 / 15%);
      border: 1px solid #0000001e;
    }
    
    .case-grid {
      display: grid;
      row-gap: 1.5rem;
    }
  
    .case-left {
      display: grid;
      grid-column-start: 1;
      grid-column-end: 4;
      padding: 3rem 0px;
      margin: 0 1rem 0 1rem;
      background: #f1f4ff;
  }
    
    .case-right {
      display: grid;
      grid-column-start: 1;
      grid-column-end: 4;
      padding: 3rem 0px;
      margin: 0 1rem 0 1rem;
      background: #f1f4ff;
    }
    
    .case-content{
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 0 1rem;
    }
    
    .case-img {
      max-width: 300px;
      height: auto;
    }
    
    .case-category {
      padding: 1rem 0 0.25rem 0rem;
      color:#4D4D4D;
    }
  
    .case-title {
      font-size: 1.25rem;
      padding-top: 0rem;
    }
    
    .btn-group {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding-top: 1rem;
      gap: 0.5rem;
    }
    
  
    .btn-primary {
      align-items: center;
      font-size: 1.2rem;
      cursor: pointer;
      text-align: center;
    }
  
    .btn-primary a{
      font-family: "IBMPlexSans";
      cursor: pointer;
    }
  
    .about-wrapper {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }
  
    .text-section {
     width: 100%;
     display: flex;
     justify-content: center;
     align-items: center;
    }
    
    .text-block {
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: 100%;
    }
  
    .text-block h2 {
      padding: 0 1rem 0 1rem;
   
    }
  
  /*--- Responsive-Optimierung ------------------------------*/
  @media (min-width: 414px) {
    .case-img {
      max-width: 320px;
    }
  }
  
  @media (min-width: 768px) {

      .cases-wrapper {
          padding: 0rem 2rem 0rem;
      }
      
      .case-wide {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          height: auto;
          border-radius: 12px;
        }
  
      .case-img {
          max-width: 600px;
          width: 100%;
        }
  
      .case-title {
          font-size: 1.25rem;
          padding-top: 0.25rem;
        }
        
      .btn-group {
          flex-direction: row;
          width: 100%;
      }
  
      .btn-primary{
          min-width: 6rem;
          max-width: 12rem;
      }
      
  
      .btn-secondary{
          max-width: 20rem;
          width: 100%;
      }
  
      .text-section {
          width: 100%;
      }
      
      .text-block {
          max-width: 600px;
      }
      
      .text-block h2 {
          padding: 0 1rem 0 1rem;
      
      }
  }    
    
   
  /* Tablets (landscape) and small laptops */
  @media (min-width: 992px) {
    .main {
        padding-top: 0rem;
    }
      .case-grid {
          row-gap: 2rem;
          grid-template-columns: 50% 50%;
        }
  
      .case-row {
          display: flex;
          flex-direction: row;
       }
  
      .case-left {
        grid-column-start: 1;
        grid-column-end: 2;
      }
  
      .case-right {
        grid-column-start: 2;
        grid-column-end: 3;
      }
  
      .case-title {
        font-size: 1.25rem;
        padding-top: 0.5rem;
      }
  
      .img-wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 520px;
      }
  
        .text-block {
          max-width: 700px;
      }
    }
    
    /* Large desktops */
    @media (min-width: 1200px) {
      .section-headline {
          padding: 4rem 0 4rem 0;
      }
      
      .case-category {
          padding: 1rem 0 0rem 0rem;
          color:#4D4D4D;
        }
  
      .text-block {
          max-width: 800px;
      }
    
    }