html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

@font-face {
  font-family: 'SoehneBreit';
  src: url("/assets/fonts/soehne-breit-web-halbfett.eot");
  src: url("/assets/fonts/soehne-breit-web-halbfett.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/soehne-breit-web-halbfett.woff2") format("woff2"), url("/assets/fonts/soehne-breit-web-halbfett.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Soehne';
  src: url("/assets/fonts/soehne-web-buch.eot");
  src: url("/assets/fonts/soehne-web-buch.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/soehne-web-buch.woff2") format("woff2"), url("/assets/fonts/soehne-web-buch.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Soehne';
  src: url("/assets/fonts/soehne-web-leicht.eot");
  src: url("/assets/fonts/soehne-web-leicht.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/soehne-web-leicht.woff2") format("woff2"), url("/assets/fonts/soehne-web-leicht.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap; }

:root {
  --fs: 0.625rem;
  --fl: 2.625rem;
  --black: #000;
  --white: #fff;
  --pm: 40px;
  --ph: calc(var(--pm) / 2);
  --ss: calc((100vw - (2 * var(--pm)) - (14 * var(--ph))) / 15);
  --sb: 650px;
  --timing: 0.25s cubic-bezier(1, 0, .29, 1); }

* {
  box-sizing: border-box; }

*:before,
*:after {
  box-sizing: border-box; }

.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap; }

html {
  font-size: 16px;
  font-weight: 300;
  font-style: normal;
  font-family: 'Soehne',-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  line-height: 1.25;
  letter-spacing: 0.02em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body {
  line-height: inherit; }

a {
  color: currentColor;
  text-decoration: none;
  cursor: pointer; }

strong {
  font-weight: normal; }

button {
  outline: none;
  cursor: pointer; }

.aspectholder {
  height: 0;
  position: relative;
  padding-bottom: 60%; }
  .aspectholder[data-orientation="portrait"] {
    height: 0;
    padding-bottom: 166%;
    position: relative; }
  .aspectholder video, .aspectholder img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
    height: 100%;
    width: 100%; }

#logo {
  min-width: 4rem; }

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  grid-template-columns: repeat(15, 1fr);
  grid-auto-rows: auto;
  display: grid;
  column-gap: var(--ph);
  padding: var(--pm);
  background-color: var(--white);
  z-index: 100; }
  @media (max-width : 900px) {
    header {
      grid-template-columns: repeat(5, 1fr);
      row-gap: var(--pm); } }
  header nav {
    font-family: 'SoehneBreit';
    letter-spacing: 0.2em;
    font-weight: normal;
    grid-column: 3/16;
    display: flex;
    justify-content: space-between;
    text-transform: uppercase;
    height: 1em; }
    header nav div[submenu] ul {
      opacity: 0;
      transition: opacity var(--timing);
      padding: 1em 0;
      position: absolute;
      pointer-events: none; }
      header nav div[submenu] ul li {
        font-size: var(--fs);
        line-height: 2em; }
    header nav div[submenu]::after {
      content: '';
      position: fixed;
      background-color: transparent;
      display: block;
      height: 9em;
      width: 100vw;
      left: 0;
      z-index: -1;
      transition: background-color 0.5s;
      pointer-events: none;
      user-select: none; }
    header nav div[submenu]:hover ul {
      opacity: 1;
      pointer-events: initial; }
    header nav div[submenu]:hover::after {
      content: '';
      position: fixed;
      background-color: white;
      display: block;
      height: 9em;
      width: 100vw;
      left: 0;
      z-index: -1; }
    @media (max-width : 900px) {
      header nav div[submenu]:hover::after {
        content: none; } }
  header #mobilemenu {
    display: none; }
  @media (max-width : 900px) {
    header {
      padding: var(--ph); }
      header > a {
        transition: filter 0.5s ease; }
      header #mobilemenu {
        margin-top: 6px;
        grid-column: 5;
        display: block;
        height: 2rem;
        width: 3rem;
        display: flex;
        outline: none;
        border: 0px;
        padding: 0px;
        background: transparent;
        transition: all 0.5ms ease-out;
        cursor: pointer; }
        header #mobilemenu::before, header #mobilemenu::after {
          content: '';
          width: 3rem;
          height: 3px;
          position: absolute;
          background: var(--black);
          transition: all 250ms ease-out;
          will-change: transform; }
        header #mobilemenu::before {
          transform: translateY(-6px); }
        header #mobilemenu::after {
          transform: translateY(6px); }
      header nav {
        position: fixed;
        top: 0;
        visibility: hidden;
        left: 100vw;
        width: 100vw;
        height: 100vh;
        height: -webkit-fill-available;
        padding: var(--ph);
        padding-top: calc((4 * var(--ph)) + 4rem);
        flex-direction: column;
        justify-content: flex-start;
        background: var(--black);
        color: var(--white);
        transition: left 0.5s ease 0, visibility 0 ease 0.5s; }
        header nav div[submenu] {
          margin-bottom: 1em; }
          header nav div[submenu] ul {
            display: none; }
          header nav div[submenu]::after {
            content: none; }
        header nav a {
          margin-bottom: 1em; }
          header nav a ul {
            display: none; }
      header[active] > a {
        z-index: 2000;
        filter: invert(1); }
      header[active] nav {
        left: 0;
        visibility: visible; }
      header[active] #mobilemenu {
        margin-top: 12px;
        filter: invert(1); }
        header[active] #mobilemenu::before {
          transform: translateY(0) rotate(45deg); }
        header[active] #mobilemenu::after {
          transform: translateY(0) rotate(-45deg); } }
main {
  grid-template-columns: repeat(15, 1fr);
  grid-auto-rows: auto;
  display: grid;
  column-gap: var(--ph);
  padding: var(--pm); }
  @media (max-width : 900px) {
    main {
      grid-template-columns: repeat(5, 1fr);
      row-gap: var(--pm); } }
  @media (max-width : 900px) {
    main {
      padding: var(--ph); } }
footer {
  grid-template-columns: repeat(15, 1fr);
  grid-auto-rows: auto;
  display: grid;
  column-gap: var(--ph);
  padding: var(--pm);
  row-gap: 5rem; }
  @media (max-width : 900px) {
    footer {
      grid-template-columns: repeat(5, 1fr);
      row-gap: var(--pm); } }
  footer div.vitals {
    grid-column: 1/4; }
    footer div.vitals p:first-of-type {
      font-weight: normal; }
    footer div.vitals p:not(:last-of-type) {
      margin-bottom: 1em; }
  footer svg {
    grid-column: 15;
    width: 100%; }
  footer nav {
    grid-column: 1/16;
    grid-row: 2;
    font-weight: normal;
    display: flex;
    justify-content: space-between; }
  footer button {
    appearance: none;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    font: inherit;
    padding: 0;
    margin: 0;
    text-align: left; }
  @media (max-width : 900px) {
    footer {
      padding: var(--ph); }
      footer svg {
        grid-column: 5; }
      footer nav {
        grid-column: 1/4;
        flex-direction: column;
        justify-content: flex-start; }
        footer nav a:last-child {
          font-weight: 300;
          margin-top: 1em; } }
.subscriptions {
  margin-bottom: var(--mp);
  opacity: 0;
  user-select: none;
  pointer-events: none;
  transition: opacity 0.5s, max-height 0.5s;
  grid-column: 10/14;
  background-color: var(--black);
  color: var(--white);
  padding: var(--ph);
  grid-row: 1; }
  @media (max-width : 900px) {
    .subscriptions {
      grid-column: 1/6;
      grid-row: 2;
      z-index: 100; } }
  .subscriptions.active {
    opacity: 1;
    user-select: initial;
    pointer-events: initial; }
  .subscriptions .mc-field-group {
    display: flex;
    flex-direction: column;
    padding-bottom: 1em; }
    @media (max-width : 900px) {
      .subscriptions .mc-field-group {
        width: calc(100vw - var(--single) - var(--mp) - var(--mp) - var(--mp)); } }
  .subscriptions input {
    padding-left: 1ex;
    background-color: transparent;
    border-radius: 0;
    border: 0;
    color: inherit;
    border-bottom: 1px solid currentColor;
    padding: 0 0 0.4em 0;
    font: inherit;
    appearance: none;
    outline: 0;
    margin-top: 0.2em; }
    .subscriptions input[type="submit"] {
      font-weight: normal;
      cursor: pointer; }

.page-content {
  margin-top: 12.5rem;
  min-height: 50vh; }

.swiper-button-next:after,
.swiper-button-prev:after {
  content: none; }

.swiper-button-next {
  background-image: url("/assets/graphics/ar.svg");
  background-size: 1rem;
  background-position: top right;
  background-repeat: no-repeat;
  height: 1rem;
  margin: 0;
  outline: none; }

.swiper-button-prev {
  background-image: url("/assets/graphics/al.svg");
  background-size: 1rem;
  background-position: top left;
  background-repeat: no-repeat;
  height: 1rem;
  margin: 0;
  outline: none; }
