*,
*:after,
*:before {
  font-family: sans-serif;
  font-weight: normal;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  outline: 0;
}

body,
html {
  height: 100%;
  width: 100vw;
  font-size: 1.75vw;
  line-height: 2vw;
}
@media (max-width: 800px) {
  body,
  html {
    font-size: 5.25vw;
    line-height: 6vw;
  }
}
body,
html {
  background-color: white;
  font-smooth: always;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -ms-text-size-adjust: 100%;
  -webkit-touch-callout: none;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

#content {
  padding: 0.5vw;
  min-height: calc(100dvh - 4vw);
}
#content .item {
  margin-top: 1vw;
  padding: 1vw;
}
#content h2 {
  font-size: 1.75vw;
  line-height: 2vw;
  margin-left: -5vw;
  margin-bottom: 2vw;
}
@media (max-width: 800px) {
  #content h2 {
    font-size: 5.25vw;
    line-height: 6vw;
    margin-left: -12.5vw;
    margin-bottom: 6vw;
  }
}
#content h2:not(:first-of-type) {
  margin-top: 1.5vw;
}
#content h1 {
  margin-top: 1vw;
}
#content p {
  margin-bottom: 2vw;
}
@media (max-width: 800px) {
  #content p {
    margin-bottom: 6vw;
  }
}
#content .block-cv {
  line-height: 0;
  font-size: 0;
}
#content .block-cv p {
  margin-top: 0;
}
#content .block-cv .block-cv-date, #content .block-cv .block-cv-text {
  display: inline-block;
  line-height: inherit;
  font-size: 1.75vw;
  line-height: 2vw;
}
@media (max-width: 800px) {
  #content .block-cv .block-cv-date, #content .block-cv .block-cv-text {
    font-size: 5.25vw;
    line-height: 6vw;
  }
}
#content .block-cv .block-cv-date, #content .block-cv .block-cv-text {
  vertical-align: top;
}
#content .block-cv .cv-block-wrapper {
  margin-left: -5vw;
  width: 5vw;
  display: inline-block;
  vertical-align: top;
}
#content .block-cv .block-cv-date {
  width: -moz-max-content;
  width: max-content;
  max-width: 5vw;
  font-size: 0.875vw;
  line-height: 0.75vw;
  padding-top: 0.25vw;
}
@media (max-width: 800px) {
  #content .block-cv .block-cv-date {
    padding-top: 0.75vw;
    margin-left: -7vw;
    max-width: 12.5vw;
    font-size: 2.625vw;
    line-height: 2.25vw;
  }
}
#content .block-cv .block-cv-date .block-cv-date-label,
#content .block-cv .block-cv-date .block-cv-date-value {
  white-space: nowrap;
}
#content .block-cv .block-cv-date .block-cv-date-value {
  display: flex;
  align-items: center;
}
#content .block-cv .block-cv-date .block-cv-date-value .dash {
  flex: 1 1 auto;
  min-width: 0.3em;
  height: 0.075vw;
  margin-right: 0.3em;
  background: currentColor;
}
@media (max-width: 800px) {
  #content .block-cv .block-cv-date .block-cv-date-value .dash {
    height: 0.2vw;
  }
}
#content .block-cv .block-cv-text {
  width: 100%;
}
#content main {
  padding-top: 6vw;
  padding-left: 30vw;
  padding-right: 25vw;
}
#content main::after {
  content: "";
  display: table;
  clear: both;
}
#content main .content-modern,
#content main .content-oe {
  position: relative;
  padding-top: 6vw;
  padding-bottom: 4vw;
}
@media (max-width: 800px) {
  #content main .content-modern,
  #content main .content-oe {
    padding-top: 24vw;
  }
}
#content main .block-image {
  margin-top: 1vw;
}
#content main .block-image img {
  display: block;
  width: 100%;
  height: auto;
}
#content main .block-image[data-size=small] {
  float: left;
  width: calc(25% + 5vw);
  margin-right: 1vw;
  margin-bottom: 0vw;
  margin-top: 0;
}
@media (max-width: 800px) {
  #content main .block-image[data-size=small] {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 6vw;
  }
}
#content main .block-image[data-size=large] {
  width: calc(100% + 5vw);
  clear: both;
}
@media (max-width: 800px) {
  #content main .block-image[data-size=large] {
    width: calc(100% + 12.5vw);
  }
}
#content main .block-divider {
  display: block;
  clear: both;
}
#content main .block-headline {
  clear: both;
}

figure {
  margin-left: -5vw;
}
@media (max-width: 800px) {
  figure {
    margin-left: -12.5vw;
  }
}
figure {
  padding-top: 0.25vw;
  position: relative;
}
figure:hover figcaption {
  opacity: 1;
}

figcaption {
  opacity: 0;
  font-size: 0.875vw;
  line-height: 1vw;
  position: absolute;
  bottom: 0.5vw;
  left: 0.5vw;
  color: white;
  mix-blend-mode: difference;
}

nav.mainnav {
  z-index: 9999;
  padding-top: 0.5vw;
  top: 0.5vw;
  height: 5vw;
  position: absolute;
  left: -5vw;
}
@media (max-width: 799.98px) {
  nav.mainnav {
    width: 98vw;
    left: -12.5vw;
    height: 10vw;
  }
}
nav.mainnav .nav-modern,
nav.mainnav .nav-oe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
nav.mainnav .oe-toggle {
  position: relative;
  z-index: 1;
}
nav.mainnav ul {
  display: inline;
}
nav.mainnav .nav-break-desktop {
  display: inline;
}
@media (max-width: 799.98px) {
  nav.mainnav .nav-rest {
    display: block;
    text-align: left;
  }
  nav.mainnav .nav-rest li:first-of-type {
    letter-spacing: 0.05vw;
  }
  nav.mainnav .nav-break-desktop {
    display: none;
  }
}
nav.bottomnav p, nav.bottomnav ul {
  display: inline-block;
}
nav.bottomnav ul {
  float: right;
}
nav.bottomnav {
  text-align: left;
  width: 50vw;
  margin-top: 2vw;
  margin-left: -5vw;
}
@media (max-width: 800px) {
  nav.bottomnav {
    margin-left: -12.5vw;
    width: 99vw;
  }
}
nav.bottomnav {
  position: absolute;
  bottom: 0;
}
@media (max-width: 800px) {
  nav.bottomnav {
    position: relative;
  }
}
nav {
  width: 50vw;
}
nav li {
  display: inline-block;
}
nav li a {
  color: black;
  text-decoration: none;
}
nav li a.active {
  text-decoration: underline;
}
nav {
  text-align: right;
}
nav .home {
  position: absolute;
  left: 0;
}

.block-video {
  width: calc(100% + 5vw);
  margin-left: -5vw;
  margin-bottom: 2vw;
}
@media (max-width: 800px) {
  .block-video {
    margin-left: -12.5vw;
    width: calc(100% + 12.5vw);
    margin-bottom: 6vw;
  }
}
.block-video iframe {
  border: none;
  width: 100%;
  height: 30vw;
  display: block;
}
@media (max-width: 800px) {
  .block-video iframe {
    width: 99vw;
    height: 60vw;
  }
}

.content-oe-wrapper, .content-modern-wrapper {
  background-color: white;
}

@media (min-width: 800px) {
  .content-oe-wrapper, .content-modern-wrapper {
    width: 100vw;
    height: 100vh;
    overflow: scroll;
    padding-left: 30vw;
    padding-right: 25vw;
    position: fixed;
    top: 0;
    left: 0;
  }
}
@media (max-width: 799.98px) {
  #content main {
    padding-top: 0vw;
    padding-left: 12.5vw;
    padding-right: 1vw;
  }
  .content-oe-wrapper {
    display: none;
  }
  .content-modern-wrapper {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
  }
  .follower {
    display: none;
  }
}
.oe-toggle {
  font: inherit;
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: underline;
}

.follower {
  width: 40px;
  height: 100vh;
  position: fixed;
  top: 0;
  z-index: 99;
  pointer-events: none;
}
.follower .follower-layer {
  position: absolute;
  inset: 0;
}
.follower .follower-layer-1 {
  backdrop-filter: blur(0.4px);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 50%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 50%, transparent 100%);
}
.follower .follower-layer-2 {
  backdrop-filter: blur(0.8px);
  -webkit-mask-image: linear-gradient(to right, transparent 15%, black 50%, transparent 85%);
  mask-image: linear-gradient(to right, transparent 15%, black 50%, transparent 85%);
}
.follower .follower-layer-3 {
  backdrop-filter: blur(1.2px);
  -webkit-mask-image: linear-gradient(to right, transparent 25%, black 50%, transparent 75%);
  mask-image: linear-gradient(to right, transparent 25%, black 50%, transparent 75%);
}
.follower .follower-layer-4 {
  backdrop-filter: blur(1.6px);
  -webkit-mask-image: linear-gradient(to right, transparent 35%, black 50%, transparent 65%);
  mask-image: linear-gradient(to right, transparent 35%, black 50%, transparent 65%);
}
.follower .follower-layer-5 {
  backdrop-filter: blur(2px);
  -webkit-mask-image: linear-gradient(to right, transparent 42.5%, black 50%, transparent 57.5%);
  mask-image: linear-gradient(to right, transparent 42.5%, black 50%, transparent 57.5%);
}

.block-file {
  margin-bottom: 2vw;
}
@media (max-width: 800px) {
  .block-file {
    margin-bottom: 6vw;
  }
}

@media (max-width: 800px) {
  a {
    line-break: anywhere;
  }
}