html {
  box-sizing: border-box;
}

/* Ervoor zorgen dat alle elementen en pseudo-elementen dit erven */
*,
*::before,
*::after {
  box-sizing: inherit;
}

/* header */
nav {
  padding: 2rem;
  display: flex;
  flex-flow: row;
}
nav li {
  list-style-type: none;
}

nav a {
  color: black;
  text-decoration: none;
  margin-right: 1rem;
  text-transform: uppercase;
}

nav ul {
  display: flex;
  align-items: center;
}

nav a:hover {
  color: red;
  transition: color 150ms ease-in-out;
}
nav img {
  width: auto;
  height: 5rem;
}
a:link {
  color: rgb(0, 0, 0);
}
a:visited {
  color: rgb(0, 0, 0);
}
a:active {
  color: rgb(0, 0, 0);
  text-decoration: underline;
}

/* main */
/* webshort */

/* Sectie die de video bevat */
#video-section {
  position: relative;
  width: 100%;
  height: 100vh; /* Volledige schermhoogte */
  overflow: hidden;
}

/* Video zelf */
#intro-video {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  object-fit: cover; /* De video vult de sectie */
  z-index: 1; /* Video blijft achter de inhoud */
  background-color: grey;
  opacity: 70%;
}

/* Overlay die inhoud over de video plaatst */
.overlay-video {
  position: relative; /* Zorgt dat alles binnen de overlay correct wordt gepositioneerd */
  display: flex; /* Flexbox om afbeelding en tekst naast elkaar te zetten */
  align-items: center; /* Verticaal uitlijnen */
  justify-content: flex-start; /* Begin van de sectie */
  width: 100%;
  height: 100%; /* Zorgt dat de overlay de sectie vult */
  padding: 0 10%; /* Ruimte aan de zijkanten */
  z-index: 2; /* Zorgt dat de overlay boven de video staat */
}

/* Tekst rechts */
.video-text {
  color: white; /* Tekstkleur */
  font-family: montserrat, sans-serif;
  font-size: 1.2rem;
  line-height: 1.4; /* Leest prettiger */
  max-width: 50%; /* Zorgt dat de tekst niet te breed wordt */
  text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.7); /* Schaduw voor betere leesbaarheid */
}
p {
  font-family: montserrat, sans-serif;
}
h1 {
  font-family: montserrat, sans-serif;
  font-size: 3rem;
  margin-top: 3rem;
  text-align: center;
}
h2 {
  font-size: 2rem;
  text-transform: uppercase;
  font-family: montserrat, sans-serif;
}
.project-info {
  padding-top: 6rem;
  padding-bottom: 2rem;
  padding-left: 5rem;
}
section img {
  width: auto;
  height: auto;
  margin-bottom: 1rem;
  object-fit: cover;
}
.hor,
.vert {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  padding-left: 5rem;
  padding-right: 5rem;
}

.hor img,
.vert img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
}

/* main about */
.voorstelling img {
  height: 30rem;
  margin-left: 2.5rem;
}

.voorstelling {
  display: flex;
  flex-flow: row;
  gap: 4rem;
}

.blue {
  color: lightseagreen;
}

.voorstelling h1 {
  text-transform: uppercase;
  font-family: montserrat, sans-serif;
  font-size: 150%;
  margin-bottom: 1rem;
}
/* contact */
.contactinfo {
  margin: 3rem;
}

.sendmail {
  text-align: center;
  margin: 2rem;
  font-size: 1.5rem;
  text-transform: uppercase;
}

.sendmail a:hover {
  color: red;
  transition: color 150ms ease-in-out;
}

/* footer */
.copyright {
  text-align: center;
}
.social-icons {
  text-align: center;
  padding: 2rem 0;
}

.social-icons a:hover {
  color: red; /* Kleur verandert bij hover, je kunt het aanpassen naar je gewenste kleur */
}
.social-icons a {
  margin: 1rem;
  color: #000000;
  font-size: 2rem;
  transition: color 0.3s;
}
footer {
  padding-bottom: 2rem;
  background-color: lightgrey;
}
.contact-general {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  padding-right: 5rem;
  align-items: center;
}
.contact-general img {
  width: 20rem;
  height: 30rem;
}
.contactinfo p {
  line-height: 2rem;
}

/* responsiveness */

@media screen and (width < 500px) {
  #video-section {
    height: 30vh;
  }
  .video-text {
    font-size: 0.8rem;
    max-width: 100%;
  }
  .hor,
  .vert {
    display: flex;
    flex-flow: column;
  }
  .project-info {
    max-width: 80%;
  }
  .voorstelling {
    display: flex;
    flex-flow: column;
    gap: 4rem;
    margin-left: 2rem;
    margin-right: 2rem;
    margin-bottom: 2rem;
  }
  .voorstelling img {
    margin: 2rem;
  }
  .contact-general {
    flex-flow: column;
    padding: 1rem;
  }
}

@media screen and (500px < width < 1280px) {
  #video-section {
    height: 50vh; /* Volledige schermhoogte */
  }
  .video-text {
    font-size: 1.4rem;
    max-width: 70%;
  }
  .hor,
  .vert {
    grid-template-columns: 1fr 1fr;
  }
  
}
