* {
  font-family: "Montserrat", sans-serif;
}

html {
  height: 100%;
}
body {
  background-color: #ffffff;
  margin: 0;
  height: 100%;
  overflow: hidden;
}

#container {
  display: flex;
  flex-direction: column;
  align-content: stretch;
  height: 100%;
}

header {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 3vh;
  padding: 2vh;
  height: 8vh;
}

main {
  height: 84vh;
  background-size: cover;
  background-position: center top;
  padding: 1vh;
  overflow-y: auto;
}

footer {
  text-align: center;
  height: 2vh;
}

main[subpage_loaded="home"] {
  background-image: url("images/home.jpeg");
}
main[subpage_loaded="impressum"] {
  background-image: url("images/impressum.jpeg");
  color: #ffffff;
  padding: 5vw;
}
main[subpage_loaded="portfolio"] {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-start;
  gap: 2vw;
  padding: 2vw;
}
a,
footer {
  color: #777777;
  font-variant: small-caps;
  line_height: 100%;
}
a {
  cursor: pointer;
  padding: 0.3vh 0.7vh 0.3vh 0.7vh;
  transition: color 200ms;
  font-size: 2vh;
}
footer,
footer * {
  font-size: 1.5vh;
}
a:hover {
  color: #000000;
}
a.active {
  color: #000000;
  font-weight: 500;
}
#instagram_link img {
  margin-bottom: -0.5vh;
  height: 2.5vh;
}
h1,
h2,
h3 {
  font-variant: small-caps;
}
a {
  text-decoration: none;
}

#logo {
  height: 100%;
}
main[subpage_loaded="portfolio"] img {
  height: 22vw;
  border-radius: 0.3vw;
  transition: transform 300ms;
  cursor: pointer;
}
@media (orientation: landscape) {
  main[subpage_loaded="portfolio"] img {
    /*width: 22vw;*/
    object-fit: cover;
  }
}
@media (orientation: portrait) {
  main[subpage_loaded="portfolio"] img {
    width: 94vw;
    height: auto;
    margin-bottom: 3vw;
    border-radius: 1vw;
  }
  main[subpage_loaded="portfolio"] {
    background-color: #171717;
    padding: 3vw;
    gap: 0;
  }
}
@media (orientation: landscape) {
  main[subpage_loaded="portfolio"] img:hover {
    transform: scale(1.05);
  }
}

#image_fullscreen {
  display: none;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 12vh;
  bottom: 2vh;
  left: 0;
  right: 0;
  background-color: #171717;
}

#image_fullscreen div[control] {
  width: 5vw;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 30%;
  background-position: center center;
  opacity: 0.1;
  cursor: pointer;
}

#image_fullscreen div[control="left"] {
  background-image: url("left.svg");
}

#image_fullscreen div[control="right"] {
  background-image: url("right.svg");
}

#image_fullscreen img {
  max-width: 90vw;
  max-height: 90%;
  height: auto;
  width: auto;
  cursor: pointer;
  border-radius: 0.5vw;
}
