*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  }
  
  body {
    font-family: "Poppins", sans-serif;
    color: white;
    margin: 0;
    padding: 0;
    background-color: #004879;
  }
  

  header {
    position: relative;
    width: 100%;
    
  }
  
  .hero {
    display: flex;
    align-items: center;
    justify-content: space-around;
    min-height: 100vh;
    background: url('../img/bg.jpg') no-repeat center center;
    background-size: cover;
  }
  
  .hero-text {
    text-shadow: 0px 0px 10px rgb(255, 255, 255);
    padding-left: 5%;
  }

  .hero-text h1{
    font-size: 2rem;
    font-weight: bold;

    transform: translateY(100%);
    animation: slideIn 1.25s ease-out forwards;
  }

  .hero-text p{
    font-size: 2rem;
    font-weight: bold;
    opacity: 0;
    transform: translateY(-100%);
    animation: slideIn 1.25s ease-out forwards;
  }

  
  .hero h1 {
    font-size: 500%;
    margin-bottom: 20px;
    
  }
  
  .hero p {
    font-size: 22px;
    font-weight: 600;
  }
  
  .pfp {
    max-width: 50%;
    height: auto;
    width: 200%; /* adjust to your image size */

    transform: translateX(100%); /* start off-screen to the right */
    animation: slideIn 1.25s ease-out forwards;
  }
  
  @keyframes slideIn {
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  .nav{ 
    padding: 30px 0px; 
    width: 100%; 
    height: 5%; 
    position: absolute; 
    top: 0; 
    text-align: center; 
  }
  
  .nav a {
    color: white;
    text-decoration: none;
    font-weight: bold;
    font-size: 150%;
    transition: color 0.3s, background-color 0.3s;
    padding: 8px 16px;
    border-radius: 5px;
  }
  
  .nav a:hover {
    background-color: #0099ff;
    color: #004879;
  }



.aboutmetext {
  display: flex;
  flex-direction: column;
  padding-left: 13%;
  font-size: 110%;
  line-height: 1.6;
  opacity: 0;
    transform: translateY(100%); /* start off-screen to the right */
  animation: slideIn 1s ease-out forwards;
}

  .aboutmepfp {
    max-width: 36%;
    width: 100%;
    height: auto;
    border: 1vh solid #ffffff;
    box-shadow: 0 0 10px rgb(255, 255, 255),
                0 0 20px rgb(255, 255, 255),
                0 0 40px rgb(255, 255, 255);
    opacity: 0;
    transform: translateX(100%); /* start off-screen to the right */
    animation: slideIn 1s ease-out forwards;
                
  }

.aboutme {
  display: flex;
  align-items: center;
  gap: 6%;
  width: 100%;
  height: 100%;
  padding-right: 10%;
}

  .aboutme h2{
    font-size: 300%;
  }

  .aboutme img {
    width: 100%; /* adjust size */
    height: auto;
    border-radius: 2%;
    
  }

.slide {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
  transition: opacity 0.5s ease;
}
.slide.active {
  opacity: 1;
  pointer-events: auto;
  position: relative;
}
.slideshow {
  position: relative;
  min-height: 500px; /* Adjust as needed */
}


@keyframes fade {
  from {opacity: 0;}
  to {opacity: 1;}
}

.arrow {
  background: none;
  border: none;
  color: white;
  font-size: 2rem;
  cursor: pointer;
  margin: 0% 5%;
  text-shadow: 0px 0px 10px rgb(255, 255, 255);
}

.arrow:hover {
  color: #0099ff;
}

  .grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columns */
    gap: 5%; /* space between images */
    padding: 7%;
    display: grid;
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 1.2s ease-out, transform 1.2s ease-out;
  }

  .grid-container.show {
    opacity: 1;
    transform: translateY(0);
  }

  

.grid-container a {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 10px;
  transition: transform 0.3s, box-shadow 0.3s;
  box-shadow: 
    0 0 10px rgb(255, 255, 255),
    0 0 20px rgb(255, 255, 255),
    0 0 40px rgb(255, 255, 255);
}
.grid-container a img {
  width: 100%;
  height: auto;
  display: block;
}


/* Overlay effect */
.grid-container a .overlay-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5); /* 50% white overlay */
  color: black;
  font-size: 1.5rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s;
  border-radius: 10px;
  text-align: center;
}

.grid-container a:hover .overlay-text {
  opacity: 1;
}

.grid-container a:hover {
  transform: scale(1.05);
  box-shadow: 
    0 0 10px rgb(67, 164, 255),
    0 0 20px rgb(67, 164, 255),
    0 0 40px rgb(67, 164, 255);
}

  #Photoshop h1{
    display: flex;
    justify-content: center;
    padding-top: 6%;
    font-size: 300%;
    text-shadow: 0px 0px 10px rgb(255, 255, 255);
  }


.gwen-container {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 9%;
  gap: 8%;
  width: 100%;
}

.meanakin-container {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 13% 9%;
  width: 100%;
  gap: 8%;
}

.boba-container {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 13% 9%;
  width: 100%;
  gap: 8%;
}

.boba-text{
  max-width: 40%;
    opacity: 0;
    transform: translateY(100%); /* start off-screen to the right */
  animation: slideIn 1s ease-out forwards;
}

.gwen-text{
  max-width: 50%;
    opacity: 0;
    transform: translateY(100%); /* start off-screen to the right */
  animation: slideIn 1s ease-out forwards;
}

.gwen-text h1 {
  font-size: 300%;
  color: #ffffff;
  margin-bottom: 20px;
}

.gwen-text p {
  font-size: 110%;
  line-height: 1.6;
}

iframe {
  aspect-ratio: 16/9;
}

img {
  display: block;
  max-width: 100%;
}

main {
  display: grid;
  place-items: center;
  min-height: 100%;
}

.container {
    box-shadow: 
    0 0 10px rgb(255, 255, 255),
    0 0 20px rgb(255, 255, 255),
    0 0 40px rgb(255, 255, 255);
  display: grid;
  place-content: center;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  --position: 50%;
      opacity: 0;
    transform: translateX(100%); /* start off-screen to the right */
    animation: slideIn 1s ease-out forwards;


}

.slider-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left;
}



.image-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.image-before {
  position: absolute;
  inset: 0;
  width: var(--position);
  overflow: hidden;
}

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

.slider {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: ew-resize;
  opacity: 0; /* slider onzichtbaar maar nog steeds klikbaar */
  pointer-events: all;
}

.slider-line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4px;
  background-color: #fff;
  left: var(--position);
  transform: translateX(-50%);
  pointer-events: none;
}

.slider-button {
  position: absolute;
  top: 50%;
  left: var(--position);
  transform: translate(-50%, -50%);
  background-color: #fff;
  color: black;
  padding: 0.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  pointer-events: none;
}


#TwoD-Animation h1{
    display: flex;
    justify-content: center;
    font-size: 175%;
    padding-top: 6%;
    text-shadow: 0px 0px 10px rgb(255, 255, 255);
}
#TwoD-Animation {
    justify-content: center;
    font-size: 175%;
    text-shadow: 0px 0px 10px rgb(255, 255, 255);
}

    .TwoD-gallery {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 5%;
      padding: 10%;
      margin: auto;
      justify-content: center;
    }

    .TwoD-gallery iframe {
      width: 100%;
      aspect-ratio: 16 / 9;
      border: none;
      border-radius: 10px;
          box-shadow: 
    0 0 10px rgb(255, 255, 255),
    0 0 20px rgb(255, 255, 255),
    0 0 40px rgb(255, 255, 255);
    }

.cv-container {
  margin-top: 10% ;
  margin-bottom: 10%;
  display: flex;
  flex-direction: column; /* stapel items onder elkaar */
  align-items: center;    /* centreer horizontaal */
  gap: 3rem;              /* ruimte tussen cv en button */
}

.cv {
  max-width: 26%;       /* of een percentage zoals 30% */
  height: auto;
  border-radius: 3%;
  box-shadow: 0 0 10px rgb(255, 255, 255),
              0 0 20px rgb(255, 255, 255),
              0 0 40px rgb(255, 255, 255);
                    opacity: 0;
    transform: translateX(100%); /* start off-screen to the right */
    animation: slideIn 1s ease-out forwards;
}

.btn {
  background-color: rgb(33, 120, 192);
  color: rgb(255, 255, 255);
  border-radius: 10%;
  padding: 1% 2%;
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: bold;
  border: 2px solid rgb(33, 120, 192);
  font-family: poppins;
  text-decoration: none;
  opacity: 0;
    transform: translateY(100%); /* start off-screen to the right */
    animation: slideIn 1s ease-out forwards;
}

.btn:hover {
    background-color: #0099ff;
    color: #004879;
    border-color: #0099ff;
}

    .social-icons {
      display: flex;
      gap: 20px;
            opacity: 0;
    transform: translateY(100%); /* start off-screen to the right */
    animation: slideIn 1s ease-out forwards;
    }

    .social-icons a {
      text-decoration: none;
      color: #ffffff;
      font-size: 2rem;
      transition: transform 0.2s, color 0.2s;
    }

    .social-icons a:hover {
      transform: scale(1.2);
    }

    /* Specific colors for each icon */
    .linkedin:hover { color: #0077b5; } /* LinkedIn blue */
    .instagram:hover { color: #E1306C; } /* Instagram pink */
    .youtube:hover { color: #FF0000; } /* YouTube red */

    .copy {
      margin-top: 1rem;
      font-size: 1.2rem;
      text-align: center;
      color: #ffffff;
            opacity: 0;
    transform: translateY(100%); /* start off-screen to the right */
    animation: slideIn 1s ease-out forwards;
  }
  

    
    @media (max-width: 768px) {
      .gallery {
        grid-template-columns: 1fr;
      }
    }



  /* Make it responsive */
  @media (max-width: 800px) {
    .grid-container {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (max-width: 500px) {
    .grid-container {
      grid-template-columns: 1fr;
    }
  }


  
  @media (max-width: 768px) {

    .aboutme {
      flex-direction: column; /* stack instead of row */
      text-align: center;
      gap: 20px;
      padding: 20px;
    }

    .aboutmetext {
      padding-left: 0;
    }
  
    .aboutmepfp {
      max-width: 80%;
      margin: 0 auto;
    }

    

    .hero {
      flex-direction: column;
      text-align: center;
    }
  
    .hero-text {
      max-width: 100%;
      margin-bottom: 20px;
    }
  
    .pfp {
      max-width: 70%;
    }
  
    .nav {
      position: static;
      justify-content: center;
      margin-top: 20px;
    }

      .gwen-container {
    flex-direction: column;
    gap: 2rem;
  }

    main .container {
    width: 90%;
    height: 60vh; /* zorgt dat de slider genoeg hoogte heeft */
  }

    .image-container {
    height: 100%;
  }

  .slider-image {
    object-fit: cover;
  }


  }
  
  @media (max-width: 480px) {
    .hero h1 {
      font-size: 32px;
    }
  
    .hero p {
      font-size: 18px;
    }
  
    .pfp {
      max-width: 100%;
    }
  }