body {
  height: -webkit-fill-available;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 10fr 0.5fr;
  grid-column-gap: 0px;
  grid-row-gap: 20px;
}

main {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(4, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 20px;
}

.div1 { 
  grid-area: 1 / 1 / 5 / 4; 
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 10px;
  opacity: .7;
  z-index: -1;
}
.div2 { 
  display: flex;
  grid-area: 4 / 1 / 5 / 5;
  align-items: center;
  justify-content: center;
  font-size: 8vw;
  color: var(--kleur4);
}
.div3 { 
  padding-left: 40px;
  padding-top: 40px;
  grid-area: 1 / 3 / 4 / 5;
  font-size: xx-large; 
}
.div3 h3 {
  white-space: nowrap;
}
.div3 p {
  color: var(--kleur4);
}
.div4 { 
  grid-area: 1 / 5 / 3 / 7;
}
.div5 { 
  grid-area: 2 / 7 / 4 / 9; 
}
.div6 { 
  grid-area: 3 / 5 / 4 / 7; 
}
.div7 { 
  grid-area: 1 / 7 / 2 / 9; 
}
.div8 { 
  grid-area: 4 / 5 / 5 / 7; 
}
.div9 { 
  grid-area: 4 / 7 / 5 / 9; 
}

.div4, .div5, .div6 {
  overflow-y: auto;
  min-height: 0;
}

.div7, .div8, .div9 {
  border: solid 1px var(--kleur1);
  border-radius: 10px;
  background-color: var(--kleur1);
  opacity: .3;
}