body {
  background-color: rgb(20, 20, 20);
  margin: 0px;
  color: white;
  overflow-x: hidden;
  font-family: Arial, Helvetica, sans-serif;
  transition: font-size 1000ms ease;
}

a {
  color: white;
}


p {
  color: white;
  font-size: 20px;
  white-space: pre-wrap;
}

html {
  scroll-snap-type: y proximity;
}

section {
  scroll-snap-align: start;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px #141414;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: white;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: whitesmoke;
}


#menu {
  align-items: center;
  display: flex;
  height: 100vh;
  width: 100vw;
}

#menu-items {
  margin-left: clamp(4rem, 20vw, 48rem);
  position: relative;
  z-index: 2;
}

#menu[data-active-index="0"] > #menu-background-pattern {
  background-position: 0% -25%;
}

#menu[data-active-index="1"] > #menu-background-pattern {
  background-position: 0% -50%;
}

#menu[data-active-index="2"] > #menu-background-pattern {
  background-position: 0% -75%;
}

#menu[data-active-index="3"] > #menu-background-pattern {
  background-position: 0% -100%;
}

#menu[data-active-index="0"] > #menu-background-image {
  background-position: center 45%;
}

#menu[data-active-index="1"] > #menu-background-image {
  background-position: center 50%;
}

#menu[data-active-index="2"] > #menu-background-image {
  background-position: center 55%;
}

#menu[data-active-index="3"] > #menu-background-image {
  background-position: center 60%;
}

#menu-background-pattern {
  background-image: radial-gradient(
    rgba(255, 255, 255, 0.1) 9%,
    transparent 9%
  );
  background-position: 0% 0%;
  background-size: 12vmin 12vmin;
  height: 100vh;
  left: 0px;
  position: absolute;
  top: 0px;
  transition: opacity 800ms ease,
    background-size 800ms ease,
    background-position 800ms ease;
  width: 100vw;
  z-index: 1;
}

#menu-background-image {
  background-image: url("./assets/images/1080p/background.webp");
  background-position: center 40%;
  background-size: 110vmax;
  height: 100%;
  left: 0px;
  opacity: 0.15;
  position: absolute;
  top: 0px;
  transition: opacity 800ms ease,
    background-size 800ms ease,
    background-position 800ms ease;
  width: 100%;
  z-index: 0;
}

#menu-items:hover ~ #menu-background-pattern {
  background-size: 11vmin 11vmin;
  opacity: 0.5;
}

#menu-items:hover ~ #menu-background-image {
  background-size: 100vmax;
  opacity: 0.1;
}

#menu-items:hover > .menu-item {
  opacity: 0.3;
}

#menu-items:hover > .menu-item:hover {
  opacity: 1;
}

.menu-item {
  color: white;
  cursor: pointer;
  display: block;
  font-family: 'Ibarra Real Nova', serif;
  font-size: clamp(3rem, 8vw, 8rem);
  padding: clamp(0.25rem, 0.5vw, 1rem) 0rem;
  text-decoration: none;
  transition: opacity 400ms ease;
}

#home-container {
  min-height: 100vh;
  min-width: 100vw;
  border-bottom: 3px solid white;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 10px;

}

.text-container {
  text-align: left;
  padding-left: 10%;
  grid-template-columns: 1fr auto;
}

.text-container h2 {
  font-size: 50px;
  font-style:none;
}
.text-container h3 {
  font-size: 30px;
  font-style:none;
  padding-top: 30px;
  padding-bottom: 0px;
}




#macro-container {
  min-height: 100vh;
  min-width: 100vw;
  border-bottom: 3px solid white;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 10px;
}


#portret-container {
  min-height: 100vh;
  min-width: 100vw;
  border-bottom: 3px solid white;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 10px;
}

#landscape-container {
  min-height: 100vh;
  min-width: 100vw;
  border-bottom: 3px solid white;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 10px;
}



@media (prefers-color-scheme: light) {
  body {
    background-color: rgb(235, 235, 235);
    margin: 0px;
    color: rgb(50, 50, 50);
    overflow-x: hidden;
  }

  a {
    color: rgb(50, 50, 50);
  }

  p {
    color: rgb(50, 50, 50);
    font-size: 20px;
    white-space: pre-wrap;
  }

  #menu-background-pattern {
    background-image: radial-gradient(
      rgba(0, 0, 0, 0.1) 9%,
      transparent 9%
    );
    background-position: 0% 0%;
    background-size: 12vmin 12vmin;
    height: 100vh;
    left: 0px;
    position: absolute;
    top: 0px;
    transition: opacity 800ms ease,
      background-size 800ms ease,
      background-position 800ms ease;
    width: 100vw;
    z-index: 1;
  }

  .menu-item {
    color: rgb(50, 50, 50);
    cursor: pointer;
    display: block;
    font-family: 'Ibarra Real Nova', serif;
    font-size: clamp(3rem, 8vw, 8rem);
    padding: clamp(0.25rem, 0.5vw, 1rem) 0rem;
    text-decoration: none;
    transition: opacity 400ms ease;
  }

  #home-container {
    min-height: 100vh;
    min-width: 100vw;
    border-bottom: 3px solid black;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
  }

  #macro-container {
    min-height: 100vh;
    min-width: 100vw;
    border-bottom: 3px solid black;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
  }


  #portret-container {
    min-height: 100vh;
    min-width: 100vw;
    border-bottom: 3px solid black;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
  }

  #landscape-container {
    min-height: 100vh;
    min-width: 100vw;
    border-bottom: 3px solid black;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
  }

  ::-webkit-scrollbar-thumb {
    background: black;
    border-radius: 4px;
  }

  ::-webkit-scrollbar-thumb:hover {
    background: rgb(30,30,30);
  }
}


.image {
  opacity: 0.4; /* Begin met een onzichtbare afbeelding */
  border-radius: 8px; /* Originele border-radius */
  transition: transform 400ms ease,
              opacity 1000ms ease,
              border-radius 400ms ease,
              width 1000ms ease,
              height 1000ms ease;
  display: table; /* Start met alle afbeeldingen verborgen */
  margin: 10px;
  width: 10vw;
}

.image.show {
  opacity: 1; /* De standaard opaciteit */
  width: 15vw;
}

 .image:hover {
   transform: scale(1.05);
   border-radius: 16px;
  }

  .image-container {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .image2 {
    opacity: 0.8; /* Begin met een onzichtbare afbeelding */
    border-radius: 8px; /* Originele border-radius */
    transition: transform 400ms ease,
                opacity 1000ms ease,
                border-radius 400ms ease,
                width 1000ms ease,
                height 1000ms ease;
    margin: 10px;
    width: 17vw;
    height: auto;
    gap: 0px;
    padding: 0px;
  }

  .image2:hover {
    transform: scale(1.05);
    border-radius: 16px;
    opacity: 1;
   }

   .image-container2 {
    display: table-row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 10px;
  }


.verwerkingsopdracht {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    max-width: 756px;
}
.textopdracht {
    flex: 1;
    margin-right: 20px;
}

.image-page2 img{
  max-width: 256px;
  border-radius: 8px;
  transition: transform 400ms ease,
                opacity 1000ms ease,
                border-radius 400ms ease,
                width 1000ms ease,
                height 1000ms ease;
  margin: 15px;
  opacity: 0.8;
}

.image-page2 img:hover {
  transform: scale(1.05);
  border-radius: 16px;
  opacity: 1;
}

.text p {
  max-width: 475px;
}

figure figcaption {
  margin-left: 15px;
  max-width: 256px;
}
