* {
  box-sizing: border-box;
  margin: 0;
}

html {
  scroll-behavior: smooth;
}

html, body, .format, .stage {
  font-size: var(--copy-size) !important;
  padding: 0 !important;
  font-family: var(--sans-serif) !important;
}

.format hr, .stage hr {
  border: 0;
}
.format h1, .stage h1 {
  margin-bottom: 0;
}

/* Progress Bar */  
.progress-container {
  position: fixed;
  left: 0;
  z-index: 100;
  height: 4px;
  width: 100%;
  top: var(--asv);
}
.progress-container .progress-bar {
  width: 0%;
  height: 4px;
}

.progress-container {
  width: 100%;
  height: 5px;
  position: fixed;
  z-index: 100;
}

.sz .progress-container {
  top: 59px;
}

.progress-bar {
  height: 5px;
  background: #05141F;
  width: 0%;
}

/* Images */
.format figure, .stage figure {
  display: flex;
  flex-flow: column;
  position: relative;
}
.format figure div, .stage figure div {
  position: relative;
}
.format figure picture, .stage figure picture {
  display: flex;
  width: 100%;
}
.format figure picture img, .stage figure picture img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.format figure .image-source, .stage figure .image-source {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 10px;
  padding: 5px;
}

/* CTA */
.format p > a, .stage p > a {
  transition: 0.3s all ease-in-out;
}
.format section:not(.teaser) a:not(.cta), .stage section:not(.teaser) a:not(.cta) {
  transition: 0.3s all ease-in-out;
}

.cta {
  text-decoration: none;
}
.cta button {
  font-weight: var(--bold);
  font-family: var(--sans-serif);
  display: block;
  border: 0;
  cursor: pointer;
  transition: 0.3s all ease-in-out;
}
.cta.full button {
  width: 100%;
}
.cta.center button {
  margin: 0 auto;
}

/* Content Stage */
.stage {
  display: flex;
  flex-flow: column;
  align-items: center;
}
.stage header {
  width: 100%;
  background: grey;
}
.stage header figure, .stage header figure picture {
  max-height: 450px;
}
.stage > main {
  max-width: 920px;
  text-align: center;
  display: flex;
  flex-flow: column;
  align-items: center;
}

.teaser {
  display: grid;
  text-align: left;
  max-width: 1000px;
}
.teaser > a {
  display: flex;
  flex-flow: column;
  color: inherit;
  text-decoration: none;
}
.teaser > a article {
  transition: 0.3s all ease-in-out;
}
.teaser.teaser-2 {
  grid-template-columns: repeat(2, 1fr);
}
.teaser.teaser-3 {
  grid-template-columns: repeat(3, 1fr);
}
.teaser.teaser-image-left a {
  flex-flow: row;
}
.teaser.teaser-image-right a {
  flex-flow: row-reverse;
}
.teaser.teaser-image-left a, .teaser.teaser-image-right a {
  align-items: stretch;
}
.teaser.teaser-image-left a article, .teaser.teaser-image-right a article {
  display: flex;
  flex-flow: column;
  justify-content: center;
}
.teaser.width-text {
  max-width: 650px;
}

/* Format */ 
.format {
  display: flex;
  flex-flow: column;
  align-items: center;
  /* Slider */ 
  /* Video */
  /* Fade */
}
.format header {
  height: calc(100svh - var(--asv));
  min-height: 560px;
  width: 100%;
  position: relative;
}
.format header a.logo {
  position: absolute;
  top: calc(var(--space) * 2);
  right: calc(var(--space) * 2);
}
.format header figure {
  height: calc(100svh - var(--asv));
  min-height: 560px;
}
.format header figure video {
  width: 100%;
  height: inherit;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.format header figure picture {
  height: calc(100svh - var(--asv));
  min-height: 560px;
}
.format header .arrow {
  width: 30px;
}
.format header .header-content {
  display: flex;
  flex-flow: column;
  gap: 1rem;
  align-self: stretch;
  text-align: left;
  max-height: none !important;
}
.format header.gradient article, .format header.textbox-bottom article {
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 10;
}
.format header.gradient article .header-title, .format header.textbox-bottom article .header-title {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  max-width: 650px;
  margin: auto;
  z-index: 20;
}
.format header.textbox-center article {
  width: 100%;
  height: calc(100svh - var(--asv));
  position: absolute;
  top: 0;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.format header.textbox-center article .header-title {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
}
.format header.textbox-center article .header-title .header-content {
  display: flex;
  flex-flow: column;
  align-items: center;
  max-width: 650px;
  text-align: center;
}
.format header.textbox-center article .header-title .arrow {
  position: absolute;
}
.format header.small {
  max-width: 1000px;
  display: flex;
  flex-flow: column;
  align-items: center;
  height: auto;
}
.format header.small figure {
  height: auto;
  aspect-ratio: 16/9;
}
.format header.small figure picture {
  height: auto;
}
.format header.small article {
  max-width: 650px;
  width: 100%;
}
.format header:not(.small).height-90 {
  height: calc(90svh - var(--asv));
}
.format header:not(.small).height-90 figure, .format header:not(.small).height-90 figure picture {
  height: calc(90svh - var(--asv));
}
.format header.textbox-center.height-90 article {
  height: calc(90svh - var(--asv));
}
.format .background {
  display: flex;
  flex-flow: column;
  align-items: center;
  width: 100%;
}
.format section {
  width: 100%;
}
.format section.copy, .format section.social {
  max-width: 650px;
}
.format section .image.width-25 {
  width: 25%;
}
.format section .image.width-25.left-25 {
  margin: 0 1rem 0.5rem 0;
}
.format section .image.width-25.right-25 {
  margin: 0 0 0.5rem 1rem;
}
.format section .image.width-50 {
  width: 50%;
}
.format section .image.width-75 {
  width: 75%;
}
.format section .image.left, .format section .image.left-5, .format section .image.left-10, .format section .image.left-15, .format section .image.left-20, .format section .image.left-25, .format section .image.left-50 {
  float: left;
}
.format section .image.left {
  margin: 0 1rem 0.5rem 0;
}
.format section .image.left-15 {
  margin: 0 1rem 0.5rem -15%;
}
.format section .image.left-25 {
  margin: 0 1rem 0.5rem -25%;
}
.format section .image.right, .format section .image.right-5, .format section .image.right-10, .format section .image.right-15, .format section .image.right-20, .format section .image.right-25, .format section .image.right-25, .format section .image.right-50 {
  float: right;
}
.format section .image.right {
  margin: 0 0 0.5rem 1rem;
}
.format section .image.right-15 {
  margin: 0 -15% 0.5rem 1rem;
}
.format section .image.right-25 {
  margin: 0 -25% 0.5rem 1rem;
}
.format section.quote {
  max-width: 650px;
}
.format section.quote blockquote {
  text-align: center;
}
.format section.fixed-image {
  height: 150svh;
  width: 100%;
}
.format section.fixed-image figure {
  height: 100svh;
  position: sticky;
  top: 0;
}
.format section.fixed-image figure img {
  height: 100svh;
  -o-object-fit: cover;
     object-fit: cover;
}
.format section.fixed-image.no-stick {
  height: 100svh;
}
.format section.image-1 {
  max-width: 1000px;
}
.format section.image-1.width-text {
  max-width: 650px;
}
.format section.image-2 {
  max-width: 1000px;
  display: flex;
}
.format section.image-2.width-text {
  max-width: 650px;
}
.format section.parallax {
  position: relative;
  width: 100%;
  min-height: 200svh;
}
.format section.parallax figure {
  height: 100svh;
  position: sticky;
  top: 0;
}
.format section.parallax figure picture {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100svh;
}
.format section.parallax .wrapper {
  position: absolute;
  top: 0;
  width: 100%;
  height: 200svh;
  display: flex;
  flex-flow: column;
  justify-content: space-evenly;
}
.format section.parallax .wrapper .textbox {
  max-width: 650px;
  margin: auto;
}
.format section.parallax .wrapper .textbox.left {
  margin-left: 0;
}
.format section.parallax .wrapper .textbox.right {
  margin-right: 0;
}
.format .slider.width-full {
  max-width: 1000px;
}
.format .slider.width-text {
  max-width: 650px;
}
.format .slider swiper-container {
  width: 100%;
}
.format .slider swiper-slide {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.format .slider swiper-slide img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.format .video {
  position: relative;
}
.format .video.width-full {
  max-width: 1000px;
}
.format .video.width-text {
  max-width: 650px;
}
.format .video [id^=play-button-] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
  z-index: 5;
}
.format .video [id^=play-button-] .circle {
  transition: 0.3s all ease-in-out;
}
.format .video-preview {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 4;
}
.format .video, .format video {
  width: 100%;
}
.format .fader-wrapper {
  position: relative;
}
.format .fader-wrapper::after {
  position: absolute;
  bottom: -100svh;
  left: 0;
  height: 100svh;
  width: 100%;
  display: block;
  content: "";
}
.format [class^=pinfader] {
  position: relative;
  max-width: 100%;
}
.format [class^=pinfader] .pin-spacer.pin-spacer-pinning {
  height: auto !important;
  left: 0 !important;
}
.format [class^=pinfader] .wrapper {
  position: absolute;
  z-index: 0;
  overflow: hidden;
  height: 100svh;
  width: 100%;
}
.format [class^=pinfader] .fade {
  width: 100%;
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
  height: 100svh;
}
.format [class^=pinfader] .fade img {
  flex-basis: 100%;
  height: 100svh;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  left: 0;
  top: 0;
}
.format .overtext {
  height: 100svh;
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-flow: column;
  justify-content: space-evenly;
}
.format .overtext .textbox {
  margin: auto;
  position: relative;
  width: 100%;
  max-width: 650px;
}
.format .overtext .textbox.right {
  margin-right: 0;
}
.format .overtext .textbox.left {
  margin-left: 0;
}
.format .infobox {
  max-width: 650px;
  display: flex;
  flex-flow: column;
}
.format .infobox *:not(h2):last-of-type {
  margin-bottom: 0;
}
.format .social .social-buttons {
  display: flex;
  flex-flow: row wrap;
}
.format .social .social-buttons a {
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.format footer, .stage footer {
  display: flex;
  justify-content: center;
  width: 100%;
  z-index: 1;
}
.format footer > main, .stage footer > main {
  display: flex;
  flex-flow: column;
  text-align: left;
}
.format footer > main a, .stage footer > main a {
  color: inherit;
  transition: 0.3s all ease-in-out;
}
.format footer > main .logo, .format footer > main .footer-copyright, .stage footer > main .logo, .stage footer > main .footer-copyright {
  align-self: center;
  margin-bottom: var(--space);
  text-align: center;
}
.format footer > main .footer-copyright, .stage footer > main .footer-copyright {
  width: 100%;
}
.format footer > main .footer-copyright hr, .stage footer > main .footer-copyright hr {
  max-width: 100%;
  width: 100%;
  margin: 1rem 0;
}

/* Tablet */
@media screen and (max-width: 999px) and (min-width: 768px) {
  .teaser.teaser-3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .teaser.teaser-3 a:nth-of-type(3n) {
    grid-column: 1/span 2;
    flex-flow: row-reverse;
    align-items: stretch;
  }
  .teaser.teaser-3 a:nth-of-type(3n) article {
    display: flex;
    flex-flow: column;
    justify-content: center;
  }
  .teaser.teaser-2 {
    grid-template-columns: 1fr;
  }
}
/* Tablet */
@media screen and (max-width: 999px) {
  .format header article .header-title {
    flex-flow: column;
    align-items: center;
  }
  .format section .image.left-15 {
    margin: 0 1rem 0.5rem -7.5%;
  }
  .format section .image.left-25 {
    margin: 0 1rem 0.5rem -12.5%;
  }
  .format section .image.right-25.width-50 {
    margin: 0 -12.5% 0.5rem 1rem;
  }
  .format section .image.right-15 {
    margin: 0 -7.5% 0.5rem 1rem;
  }
}
@media screen and (max-width: 860px) {
  .format section .image.left-25 {
    margin: 0 1rem 0.5rem -6%;
  }
  .format section .image.right-25.width-50 {
    margin: 0 -6% 0.5rem 1rem;
  }
}
/* Mobil */ 
@media screen and (max-width: 767px) {
  .teaser.teaser-2, .teaser.teaser-3 {
    grid-template-columns: 1fr;
  }
  .teaser.teaser-3 a:nth-of-type(3n) {
    grid-column: 1;
  }
  .format header.gradient article .header-title, .format header.textbox-bottom article .header-title {
    flex-flow: column;
  }
  .format header article .arrow path {
    stroke-width: 2px;
  }
  .format header.small figure {
    width: 100%;
  }
  .format section .image.width-25 {
    width: 35%;
  }
  .format section .image.width-25.left-25 figcaption {
    margin-left: 0;
  }
  .format section .image.width-25.right-25 figcaption {
    margin-right: 0;
  }
  .format section .image.width-75 {
    width: 60%;
  }
  .format section .image.left-5, .format section .image.left-10, .format section .image.left-15, .format section .image.left-25 {
    margin: 0 1rem 0.5rem calc(-1 * var(--space));
  }
  .format section .image.left-5 figcaption, .format section .image.left-10 figcaption, .format section .image.left-15 figcaption, .format section .image.left-25 figcaption {
    margin-left: var(--space);
  }
  .format section .image.right-5, .format section .image.right-10, .format section .image.right-15, .format section .image.right-25 {
    margin: 0 calc(-1 * var(--space)) 0.5rem 1rem;
  }
  .format section .image.right-5 figcaption, .format section .image.right-10 figcaption, .format section .image.right-15 figcaption, .format section .image.right-25 figcaption {
    margin-right: var(--space);
  }
  .format section.image-2.column {
    flex-flow: column;
  }
}/*# sourceMappingURL=base.css.map */