:root {
  --background-color: #fff;
  --text-color: #515E65;
  --link-color: rgb(0, 0, 238);
  --link-color-visited: rgb(85, 26, 139);
  --menu-background-color: #d4d4d4;
  --menu-text-color: #222b0c;
  --shadow-color: #cccccc;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background-color: #121212;
    --text-color: #d5d5d5;
    --link-color: #79b8ff;
    --link-color-visited: #c58fff;
    --menu-background-color: #424242;
    --menu-text-color: #f5f5f5;
    --shadow-color: #555555;
  }
}
body {
  margin: 0px;
  font-size: 10pt;
  background-color: var(--background-color);
  color: var(--text-color);
  font-family: "Univers";
  font-size: 16px;
  display: flex;
  width: 100%;
  justify-content: space-around;
}

#outer {
  overflow: hidden;
  max-width: 980px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
}

#shadow {
  overflow: hidden;
  box-shadow: 0px 0px 10px var(--shadow-color);
  border-right: 2px solid #c53636;
}

@media (max-width: 780px) {
  div#outer {
    padding-left: 0px;
    padding-right: 2px;
    padding-bottom: 0px;
  }
  #shadow {
    box-shadow: none;
  }
}
#inner {
  margin-left: 30px;
  margin-right: 30px;
  overflow: hidden;
}

header#pageheader {
  display: flex;
  flex-direction: row;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 20px;
  padding-bottom: 10px;
  width: calc(100% - 105px);
}
@media (max-width: 780px) {
  header#pageheader {
    width: calc(100% - 65px);
  }
}
header#pageheader {
  transition: box-shadow 1s;
  overflow: visible;
  gap: 30px;
}

div#logo-and-burgerbutton {
  display: flex;
  justify-content: space-between;
  gap: 50px;
}

div#logo {
  width: 270px;
  margin-left: 0px;
}

header#pageheader button {
  display: none;
  background-color: var(--background-color);
  border: none;
  padding: 0;
  width: 35px;
  height: 35px;
  flex-shrink: 0;
  position: relative;
}
@media (max-width: 780px) {
  header#pageheader button {
    display: block;
  }
}
header#pageheader button img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  display: block;
  transition: opacity 0.5s;
}
header#pageheader button img.normal {
  opacity: 1;
}
header#pageheader button img.open {
  opacity: 0;
}

.burgermenu-open header#pageheader button img.normal {
  opacity: 0;
}
.burgermenu-open header#pageheader button img.open {
  opacity: 1;
}

nav#menu {
  min-width: 200px;
  display: flex;
  justify-content: flex-end;
  flex-grow: 1;
}
@media (max-width: 780px) {
  nav#menu {
    background: var(--background-color);
    opacity: 0;
    --transition-duration: 1.5s;
    transition: opacity var(--transition-duration);
    display: none;
  }
}

@media (max-width: 780px) {
  .burgermenu-open nav#menu {
    opacity: 1;
    --transition-duration: 0.5s;
  }
  .burgermenu-display nav#menu {
    display: flex;
  }
  header#pageheader {
    position: fixed;
    background-color: var(--background-color);
    flex-direction: column;
  }
  .scrolled-down header#pageheader, .burgermenu-open header#pageheader {
    box-shadow: 0px 0px 10px var(--shadow-color);
  }
}
nav#menu ul {
  margin: 0;
  padding: 0;
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: flex-end;
}

nav#menu li {
  display: block;
  overflow: hidden;
  background-color: var(--menu-background-color);
  width: 175px;
  padding: 3px;
  margin-right: 10px;
  margin-bottom: 10px;
  text-align: center;
}

.whole-menuitem-clickable nav#menu li {
  cursor: pointer;
}

nav#menu a {
  text-decoration: none;
  color: var(--menu-text-color);
}

nav#menu a.active {
  font-weight: bold;
}

img.lightmode {
  display: inline;
}

img.darkmode {
  display: none;
}

@media (prefers-color-scheme: dark) {
  img.lightmode {
    display: none;
  }
  img.darkmode {
    display: inline;
  }
}
a {
  color: var(--link-color);
}

a:visited {
  color: var(--link-color-visited);
}

main {
  overflow: hidden;
  margin-top: 65px; /*calculate from header height */
  margin-bottom: 65px;
}

.slidedown_trigger {
  cursor: pointer;
  text-decoration: underline dotted;
}

.slidedown_content {
  overflow: hidden;
  margin-left: 30px;
  font-style: italic;
}