* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font: inherit;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  scroll-behavior: smooth;
  font-family: "Roboto Mono", monospace;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  background-color: rgb(237, 234, 229);
  color: rgb(0, 0, 0);
  transition: all 0.3s ease-in-out;
  text-align: justify;
}

/* HEADER */

header {
  display: flex;
  flex-direction: column;
  gap: 2vw;
  padding: 3vw 2vw;
  position: fixed;
  height: 100vh;
  width: 20vw;
  background-color: white;
  z-index: 10;
}

#naviButton {
  display: none;
}

header img {
  width: 25%;
  height: auto;
  margin-bottom: 2vw;
  display: block;
}

.logoweiss {
  width: 25%;
  height: auto;
  margin-bottom: 2vw;
  display: none;
}

nav {
  display: flex;
  flex-direction: column;
  line-height: 2;
}

.unterseite {
  padding-left: 1.5vw;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

nav ul:hover .unterseite {
  max-height: 500px;
}

.impressum {
  position: absolute;
  bottom: 5.5vw;
}

ul {
  list-style-type: none;
}

a {
  cursor: pointer;
  text-decoration: none;
  color: rgb(0, 0, 0);
}

a:visited {
  color: rgb(0, 0, 0);
}

a:hover,
.unterseite li a:hover {
  color: rgb(228, 182, 121);
}

.current {
  color: rgb(218, 135, 27) !important;
}

#nachtansicht {
  background: none;
  border: none;
  width: 1.5vw;
  height: 1.5vw;
  position: absolute;
  left: 2vw;
  bottom: 3vw;
  cursor: pointer;
}

#nachtansicht img {
  width: 100%;
  height: auto;
}

.buttonsonne,
.buttonsonnehover,
.buttonmondhover,
#nachtansicht:hover .buttonmond {
  display: none;
}

.buttonmond,
#nachtansicht:hover .buttonmondhover {
  display: block;
}

/* BODY */

/* HOME */

main {
  margin-left: 20vw;
  padding: 5vw;
  padding-top: 5vw;
  flex: 1;
  position: relative;
}

main p {
  margin-bottom: 1vw;
}

h2 {
  margin-bottom: 2vw;
  color: rgb(218, 135, 27);
  font-size: 1.3em;
}

.homegalerie {
  display: flex;
  gap: 2vw;
  flex-wrap: wrap;
}
.homegalerie img {
  width: auto;
  height: 30vw;
}

/*------- NACHT -------*/

body.nacht {
  background-color: rgb(31, 31, 31);
  color: white;
}

body.nacht header,
body.nacht footer {
  background-color: rgb(40, 40, 40);
}

body.nacht a,
body.nacht a:visited {
  color: white;
}

body.nacht a:hover,
body.nacht .unterseite li a:hover {
  color: rgb(255, 211, 154);
}

body.nacht .current,
body.nacht h2,
body.nacht h3 {
  color: rgb(191, 122, 32) !important;
}

body.nacht .buttonsonne,
body.nacht .logoweiss,
body.nacht #nachtansicht:hover .buttonsonnehover {
  display: block;
}

body.nacht .buttonmond,
body.nacht header img,
body.nacht #nachtansicht:hover .buttonsonne,
body.nacht #nachtansicht:hover .buttonmondhover {
  display: none;
}

body.nacht .homegalerie a figure {
  border-style: none;
}

body.nacht .homegalerie figcaption {
  background-color: rgb(0, 0, 0);
}

body.nacht .homegalerie a {
  color: rgb(255, 255, 255);
}

/* PROJEKT */

article {
  padding-right: 4vw;
}

.projekttruhe {
  display: flex;
  gap: 2vw;
  flex-wrap: wrap;
  margin-bottom: 5vw;
  margin-top: 5vw;
}
.projekttruhe img {
  width: auto;
  height: 22vw;
}

.projektmaroni {
  display: flex;
  gap: 2vw;
  flex-wrap: wrap;
  margin-bottom: 5vw;
  margin-top: 5vw;
}
.projektmaroni img {
  width: auto;
  height: 19vw;
}

/*ABOUT*/
.neu {
  margin-left: 15vw;
  padding-right: 0;
}

.vita {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  align-items: end;
  justify-items: end;
  column-gap: 5vw;
  row-gap: 2vw;
  padding-right: 0;
}

.vita div {
  grid-column: 2 / span 2;
  padding-right: 15vw;
}

.vita p {
  margin: 0;
  padding-bottom: 1vw;
}

.vita .links {
  margin-left: 5vw;
  grid-column: 1 / span 2;
}

.vita img {
  height: 12vw;
  width: auto;
  margin-bottom: 2vw;
  padding: 0;
  margin: 0;
}

.vita .musterlinks {
  width: 100%;
  height: 100%;
  object-fit: cover;
  overflow: hidden;
  align-items: baseline;
}

.arbeit {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: end;
  justify-items: end;
  column-gap: 4vw;
  row-gap: 2vw;
  padding-right: 0;
  margin-bottom: 5vw;
}

.arbeit div {
  grid-column: 1 / span 3;
  padding-left: 7vw;
  padding-right: 2vw;
}

.arbeit .musterrechts {
  width: 100%;
  height: auto;
  grid-column: 4 / span 2;
}

h3 {
  margin-bottom: 2vw;
  margin-top: 2vw;
  color: rgb(218, 135, 27);
  font-size: 1em;
}

ol {
  list-style-type: decimal;
  list-style-position: inside;
}
li {
  color: rgb(218, 135, 27);
}

/* KONTAKT */
.kontakt {
  margin: 5vw;
}
.kontakt .name {
  color: rgb(218, 135, 27);
  margin-bottom: 2vw;
}
.kontakt .name p {
  margin: 0;
}

/* IMPRESSUM */

#impressum div {
  margin-bottom: 1vw;
}

#impressum div p {
  margin: 0;
}
h4 {
  font-size: 1.3em;
}
