#cookie-banner {
  background-color: #f2f2f2;
  padding: 20px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  justify-content: center;
  align-items: center;
}
#cookie-banner button {
  background-color: #8d004c;
  border: none;
  color: white;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin-left: 10px;
  cursor: pointer;
}
#cookie-banner p {
  margin: 0;
  font-size: 14px;
}

/* open-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: url("../../../fonts/open-sans-v34-latin-300.woff2") format("woff2"), url("../../../fonts/open-sans-v34-latin-300.woff") format("woff"); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 300;
  src: url("../../../fonts/open-sans-v34-latin-300italic.woff2") format("woff2"), url("../../../fonts/open-sans-v34-latin-300italic.woff") format("woff"); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../../../fonts/open-sans-v34-latin-regular.woff2") format("woff2"), url("../../../fonts/open-sans-v34-latin-regular.woff") format("woff"); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 400;
  src: url("../../../fonts/open-sans-v34-latin-italic.woff2") format("woff2"), url("../../../fonts/open-sans-v34-latin-italic.woff") format("woff"); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../../../fonts/open-sans-v34-latin-700.woff2") format("woff2"), url("../../../fonts/open-sans-v34-latin-700.woff") format("woff"); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 700;
  src: url("../../../fonts/open-sans-v34-latin-700italic.woff2") format("woff2"), url("../../../fonts/open-sans-v34-latin-700italic.woff") format("woff"); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 800;
  src: url("../../../fonts/open-sans-v34-latin-800.woff2") format("woff2"), url("../../../fonts/open-sans-v34-latin-800.woff") format("woff"); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 800;
  src: url("../../../fonts/open-sans-v34-latin-800italic.woff2") format("woff2"), url("../../../fonts/open-sans-v34-latin-800italic.woff") format("woff"); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
body {
  width: 100%;
  max-width: 1440px;
  background-color: #fee8ba;
  margin: 0;
  padding: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
}
body ul {
  margin: 0;
  padding: 0;
}
body ul li {
  list-style: none;
}
body a {
  color: #062e3a;
  cursor: pointer;
  display: inline-block;
}
body a:hover {
  color: #8d004c;
}
body a.active {
  font-weight: bold;
  color: #8d004c;
}
body header {
  display: flex;
  justify-content: end;
  padding: 0 50px 50px 50px;
}
body header a {
  display: block;
  position: relative;
  width: 100%;
  max-width: 100px;
}
body header a img {
  width: 100%;
  position: relative;
  z-index: 1;
}
body header a:after {
  content: "";
  display: block;
  width: 100%;
  height: 100px;
  transform: skew(0, -20deg);
  background-color: white;
  margin: -75px 0 0 0;
}
body main {
  padding: 0 50px;
}
body main div.heading {
  margin: -100px 0 50px 0;
  text-align: left;
}
body main div.heading h1 {
  color: #8d004c;
  margin: 0;
  font-size: 2.5rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1.45;
}
body main div.heading p.sub {
  color: #007cb0;
  margin: 0;
  font-size: 24px;
}
@media screen and (max-width: 991px) {
  body main div.heading {
    margin: 0 0 50px 0;
  }
}
body main div#consenthint {
  display: none;
  text-align: center;
  background-color: white;
  padding: 50px;
}
body main article {
  width: 100%;
  display: flex;
  align-items: start;
}
@media screen and (max-width: 991px) {
  body main article {
    flex-direction: column-reverse;
  }
}
body main article div.aside {
  width: 25%;
  padding: 0 50px 0 0;
}
@media screen and (max-width: 991px) {
  body main article div.aside {
    width: 100%;
    padding: 0;
  }
}
body main article div.aside ul#nav a#hautpfilm {
  text-decoration: none;
  padding: 0 0 10px 0;
}
body main article div.aside ul#nav li {
  padding: 10px 0;
  border-top: 1px dotted rgba(6, 46, 58, 0.33);
}
body main article div.aside ul#nav li a {
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
}
body main article div.aside ul#nav li ul#kapitel,
body main article div.aside ul#nav li ul#bonus,
body main article div.aside ul#nav li ul#untertitel {
  display: none;
  margin: 0 0 0 20px;
  max-height: 300px;
  overflow-y: scroll;
}
body main article div.aside ul#nav li ul#kapitel li:first-child,
body main article div.aside ul#nav li ul#bonus li:first-child,
body main article div.aside ul#nav li ul#untertitel li:first-child {
  border-top: none;
}
@media screen and (max-width: 991px) {
  body main article div.aside ul#nav {
    margin: 25px 0 0 0;
    /*> li {
        display: inline-block;
        &:after {
            content: '|';
            display: inline-block;
            padding: 0 10px;
        }
        &:last-child {
            &:after {
                display: none;
            }
        }
    }*/
  }
}
body main article div#videocontainer {
  display: block;
  width: 75%;
  box-shadow: 0.7px 0.7px 1.9px rgba(0, 0, 0, 0.021), 1.6px 1.8px 4.7px rgba(0, 0, 0, 0.031), 3px 3.4px 8.8px rgba(0, 0, 0, 0.037), 5.4px 6px 15.6px rgba(0, 0, 0, 0.043), 10px 11.3px 29.2px rgba(0, 0, 0, 0.051), 24px 27px 70px rgba(0, 0, 0, 0.07);
  border: 5px solid white;
}
@media screen and (max-width: 991px) {
  body main article div#videocontainer {
    width: 100%;
  }
}
body main article div#videocontainer #vimeo-player {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
}
body main article div#videocontainer #vimeo-player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 991px) {
  body main {
    padding: 25px;
  }
}
body footer {
  margin: 100px 0 0 0;
  padding: 50px;
  display: flex;
  align-items: center;
  gap: 50px;
}
@media screen and (max-width: 991px) {
  body footer {
    margin: 100px 25px 0 25px;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  body footer {
    margin: 50px 0 0 0;
    padding: 25px;
  }
}
body footer a.logolink {
  cursor: pointer;
}
body footer a.logolink img {
  max-width: 150px;
}
body footer ul li {
  display: inline-block;
}
body footer ul li:after {
  content: "|";
  display: inline-block;
  padding: 0 10px;
  color: rgba(6, 46, 58, 0.33);
}
body footer ul li:last-child:after {
  display: none;
}
body footer ul li a {
  text-decoration: none;
  color: #062e3a;
}
body footer ul li a:hover {
  color: #8d004c;
}
@media screen and (max-width: 576px) {
  body footer ul li {
    display: block;
    text-align: center;
    margin: 0 0 20px 0;
  }
  body footer ul li:after {
    display: none;
  }
}
