/* ------------------------------ */
/* ------ Minify & Flexbox ------ */
/* ------------------------------ */

.inside,.site_wrapper{position:relative}main,picture{display:block}img,picture{max-width:100%}body,ul{margin:0}[type=search],input,textarea{-webkit-appearance:none}*{-webkit-box-sizing:border-box;box-sizing:border-box}:focus{outline:0!important}html{min-height:100.1%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.inside{margin:0 auto}a,button,input{-ms-touch-action:manipulation;touch-action:manipulation}ul{list-style-type:none;padding:0}img{border-style:none;vertical-align:top}img:not(.logo){height:auto}input,textarea{border-radius:0}button,input,optgroup,select,textarea{font-family:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}textarea{overflow:auto}address{font-style:normal}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden]{display:none}

.row{box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.row_simple{display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-ms-flex-wrap:wrap;flex-wrap:wrap}.row.reverse,.row_simple.reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.col,.col-xs-12,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-xs-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-xs-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-xs-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-xs-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-xs-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-xs-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-xs-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-xs-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.center-xs{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-xs{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-xs{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-xs{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-xs{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.between-xs{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media only screen and (min-width:576px){.col-s-12,.col-s-3,.col-s-4,.col-s-5,.col-s-6,.col-s-7,.col-s-8,.col-s-9{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-s-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-s-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-s-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-s-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-s-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-s-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-s-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-s-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.center-s{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-s{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-s{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-s{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-s{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.between-s{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}@media only screen and (min-width:768px){.col-m-12,.col-m-3,.col-m-4,.col-m-5,.col-m-6,.col-m-7,.col-m-8,.col-m-9{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-m-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-m-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-m-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-m-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-m-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-m-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-m-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-m-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.center-m{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-m{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-m{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-m{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-m{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.between-m{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}@media only screen and (min-width:992px){.col-l-12,.col-l-3,.col-l-4,.col-l-5,.col-l-6,.col-l-7,.col-l-8,.col-l-9{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-l-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-l-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-l-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-l-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-l-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-l-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-l-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-l-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.center-l{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-l{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-l{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-l{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-l{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.between-l{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}@media only screen and (min-width:1240px){.col-xl-12,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-xl-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-xl-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-xl-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-xl-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-xl-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-xl-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-xl-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-xl-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.center-xl{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-xl{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-xl{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-xl{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-xl{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.between-xl{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}@media only screen and (min-width:1400px){.col-xxl-12,.col-xxl-3,.col-xxl-4,.col-xxl-5,.col-xxl-6,.col-xxl-7,.col-xxl-8,.col-xxl-9{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-xxl-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-xxl-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-xxl-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-xxl-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-xxl-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-xxl-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-xxl-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-xxl-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.center-xxl{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-xxl{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-xxl{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-xxl{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-xxl{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.between-xxl{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}



/* ------------------------------ */
/* ----------- General ---------- */
/* ------------------------------ */

html {
  font-size: 20px;
}

body {
  font-family: var(--brand-font);
  font-size: var(--font-size-standard);
  line-height: var(--line-height-1);
  -webkit-tap-highlight-color: transparent;
}

h1 {
  margin-top: 0;
}

.typography--copy {
  font-size: var(--font-size-standard);
}

span[class$="--hide-text"], span.hide-text, a.full > span {
  position: absolute;
  height: 1px;
  width: 1px;
  clip: rect(1px,1px,1px,1px);
  border: 0;
  overflow: hidden;
}

a {
  text-decoration: none;
}

a.full {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  max-width: 100%;
  text-indent: -30000px;
  z-index: 10;
  text-decoration: none;
  text-align: left;
}

a.full::before, a.full::after {
  display: none;
}

.section p a:not(.full), .section li a:not(.full), label a {
  position: relative;
  -webkit-transition: opacity var(--transition-2);
  -o-transition: opacity var(--transition-2);
  transition: opacity var(--transition-2);
}

.no-touchevents .section p a:not(.full):hover, .no-touchevents .section li a:not(.full):hover, .no-touchevents label a:hover {
  opacity: var(--opacity);
}

p:last-child, ul:last-child, div > p:last-of-type {
  margin-bottom: 0;
}

main ul li {
  position: relative;
}

main ul li::before {
  content: "";
  position: absolute;
  left: 0;
}

a.visually-hidden:focus, a.visually-hidden:active {
  position: fixed;
  top: 0;
  left: 0;
  clip: auto;
  width: auto;
  height: auto;
  z-index: 9999;
}



/* ------------------------------ */
/* ---------- Animations -------- */
/* ------------------------------ */

.intro-animation, .intro-animation-mobile {
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
} 

.intro-animation.intro-animation--visible, 
.intro-animation-mobile.intro-animation--visible,
.intro-animation-container.intro-animation--visible .intro-animation {
  opacity: 1;
  -webkit-transition: transform 1s cubic-bezier(0,.55,.45,1), opacity 1s;
  -o-transition: transform 1s cubic-bezier(0,.55,.45,1), opacity 1s;
  transition: transform 1s cubic-bezier(0,.55,.45,1), opacity 1s;
  -webkit-transform: translateZ(0) !important;
  transform: translateZ(0) !important;
  will-change: opacity,transform;
}


@media all and (min-width: 768px) {

  .intro-animation--bottom {
    -webkit-transform: translate3d(0, var(--spacing4), 0);
    transform: translate3d(0, var(--spacing-4), 0);
  }
  
  .intro-animation--top {
    -webkit-transform: translate3d(0, calc(-1 * var(--spacing-4)), 0);
    transform: translate3d(0, calc(-1 * var(--spacing-4)), 0);
  }
    
  .intro-animation--left {
    -webkit-transform: translate3d(calc(-1 * var(--spacing-4)), 0, 0);
    transform: translate3d(calc(-1 * var(--spacing-4)), 0, 0);
  }
    
  .intro-animation--right {
    -webkit-transform: translate3d(var(--spacing-4), 0, 0);
    transform: translate3d(var(--spacing-4), 0, 0);
  }

  /* Delays */
  .intro-animation.intro-animation--delay-2, .intro-animation-container .intro-animation + .intro-animation {-webkit-transition-delay: calc(var(--transition-delay) * 1);-o-transition-delay: calc(var(--transition-delay) * 1);transition-delay: calc(var(--transition-delay) * 1);}
  .intro-animation.intro-animation--delay-3, .intro-animation-container .intro-animation + .intro-animation + .intro-animation {-webkit-transition-delay: calc(var(--transition-delay) * 2);-o-transition-delay: calc(var(--transition-delay) * 2);transition-delay: calc(var(--transition-delay) * 2);}
  .intro-animation.intro-animation--delay-4, .intro-animation-container .intro-animation + .intro-animation + .intro-animation + .intro-animation {-webkit-transition-delay: calc(var(--transition-delay) * 3);-o-transition-delay: calc(var(--transition-delay) * 3);transition-delay: calc(var(--transition-delay) * 3);}
  .intro-animation.intro-animation--delay-5, .intro-animation-container .intro-animation + .intro-animation + .intro-animation + .intro-animation + .intro-animation {-webkit-transition-delay: calc(var(--transition-delay) * 4);-o-transition-delay: calc(var(--transition-delay) * 4);transition-delay: calc(var(--transition-delay) * 4);}

}

@media all and (max-width: 767.98px) {

  .intro-animation-mobile {
    opacity: 0;
  }

  .intro-animation-mobile, .intro-animation--bottom, .intro-animation--top, .intro-animation--left, .intro-animation--right {
    -webkit-transform: translate3d(0, var(--spacing-4), 0);
    transform: translate3d(0, var(--spacing-4), 0);
  }

  /* Delays */
  .intro-animation.intro-animation--delay-2 {-webkit-transition-delay: calc(var(--transition-delay) * 1);-o-transition-delay: calc(var(--transition-delay) * 1);transition-delay: calc(var(--transition-delay) * 1);}
  .intro-animation.intro-animation--delay-3 {-webkit-transition-delay: calc(var(--transition-delay) * 2);-o-transition-delay: calc(var(--transition-delay) * 2);transition-delay: calc(var(--transition-delay) * 2);}
  .intro-animation.intro-animation--delay-4 {-webkit-transition-delay: calc(var(--transition-delay) * 3);-o-transition-delay: calc(var(--transition-delay) * 3);transition-delay: calc(var(--transition-delay) * 3);}
  .intro-animation.intro-animation--delay-5 {-webkit-transition-delay: calc(var(--transition-delay) * 4);-o-transition-delay: calc(var(--transition-delay) * 4);transition-delay: calc(var(--transition-delay) * 4);}


}



/* ------------------------------ */
/* ----------- Layout ----------- */
/* ------------------------------ */

.section {
  position: relative;
  z-index: 1;
}

.section, .section > div + div, footer {
  padding-top: var(--spacing-13);
}

header.header--cover + main .section:first-child {
  padding-top: var(--spacing-12);
}

.section > div:not([class*="--full"]), .inside {
  margin: 0 auto;
  max-width: var(--width-content);
}



/* ------------------------------ */
/* ------------ Media ----------- */
/* ------------------------------ */

/* Images */
.picture_container {
  position: relative;
  display: block;
  overflow: hidden;
  line-height: 0;
}

.picture_container--cover, .picture_container--cover picture,
.video_container--cover {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.picture_container--cover img, .video_container--cover video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.video_container.is-ready + .picture_container--thumb, .site_cover__media .video_container {
  opacity: 0;
}

.site_cover__media .video_container.is-ready {
  opacity: 1;
}


/* Media Position */
.picture_container--center-center img, .video_container--center-center video {
  -o-object-position: center center;
    object-position: center center;
}

.picture_container--left-center img, .video_container--left-center video {
  -o-object-position: left center;
    object-position: left center;
}

.picture_container--right-center img, .video_container--right-center video {
  -o-object-position: right center;
    object-position: right center;
}

.picture_container--center-top img, .video_container--center-top video {
  -o-object-position: center top;
    object-position: center top;
}

.picture_container--left-top img, .video_container--left-top video {
  -o-object-position: left top;
    object-position: left top;
}

.picture_container--right-top img, .video_container--right-top video {
  -o-object-position: right top;
    object-position: right top;
}

.picture_container--center-bottom img, .video_container--center-bottom video {
  -o-object-position: center bottom;
    object-position: center bottom;
}

.picture_container--left-bottom img, .video_container--left-bottom video {
  -o-object-position: left bottom;
    object-position: left bottom;
}

.picture_container--right-bottom img, .video_container--right-bottom video {
  -o-object-position: right bottom;
    object-position: right bottom;
}


/* LazyLoad */
img[data-lazy-src] {
    opacity: 0;
}

img.lazyloaded {
  -webkit-transition: opacity .5s linear 0.2s;
  -moz-transition: opacity .5s linear 0.2s;
  transition: opacity .5s linear 0.2s;
  opacity: 1;
}


/* iFrames */
.iframe_container {
  position: relative;
  overflow: hidden;
}

.iframe_container iframe {
  max-width: 100%;
}



/* ------------------------------ */
/* ------------ Header ---------- */
/* ------------------------------ */

header {
  position: relative;
}

.site_header {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
}

.admin-bar .site_header {
  padding-top: calc(var(--spacing-5) + 50px);
}

.site_header::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;

  opacity: 0;
  transition: top var(--transition-2), opacity var(--transition-2);
}

.site_header > div {
  position: relative;
  z-index: 2;
}

.site_logo {
  position: absolute;
  z-index: 25;
  left: 50%;
  transform: translateX(-50%);
  line-height: 0;
}

.site_logo a {
  display: inline-block;
}

.site_menu, .site_cta {
  position: relative;
  top: calc(-1 * var(--spacing-2));
}

.site_menu {
  left: calc(-1 * var(--spacing-2));
}

.site_cta {
  right: calc(-1 * var(--spacing-2));
}

.site_cta--status > span {
  opacity: 0;
  transition: opacity var(--transition-2);
}

.site_cta--status.site_cta--loaded > span {
  opacity: 1;
}


/* Cover */
.site_cover, .banner {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.site_cover, .site_cover__container, .site_cover__content {
  min-height: 100vh;
  min-height: 100svh;
}

.site_cover__container, .site_cover__content, .banner__media {
  position: relative;
  height: 100%;
  width: 100%;
}

.site_cover__media, .site_cover__media::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.site_cover__media {
  z-index: 1;
}

.site_cover--vimeo .site_cover__media, .site_cover--video .site_cover__media {
  aspect-ratio: 16 / 9;
}

.site_cover__media::after {
  content: "";
  z-index: 2;
}

.site_cover__content {
  z-index: 3;
}

.site_cover__content h1 {
  max-width: unset;
}

.site_cover__content p {
  margin-right: auto;
  margin-left: auto;
}

.site_cover .content__arrow a {
  display: inline-block;
  position: relative;
  padding: var(--spacing-1);
  line-height: 0;
  transition: opacity var(--transition-2);
}

.no-touchevents .site_cover .content__arrow a:hover {
  opacity: var(--opacity);
}

.site_cover .content__arrow .arrow {
  -webkit-animation: MoveUpDown 2s linear infinite;
  animation: MoveUpDown 2s linear infinite;
}

@-webkit-keyframes MoveUpDown {
  0%,100% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }

  50% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
  }
}

@keyframes MoveUpDown {
  0%,100% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }

  50% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
  }
}



/* ------------------------------ */
/* ------------ Button ---------- */
/* ------------------------------ */

/* General */
.section > .section__button, .section > .section__buttons, 
.section .row > div > .section__button, .section .row > div > .section__buttons {
  margin-top: 0;
  padding-top: 0;
}
  
.section__button--center, .section__buttons--center {
  text-align: center;
}
  
.section > .section__title + .section__button .button, .section > .section__title + .section__buttons .button {
  margin-top: 0;
}

.section__buttons .button, .buttons .button {
  margin-right: var(--spacing-6);
}

.section__buttons .button, .buttons .button, .button--small {
  display: inline-block;
}

.section__buttons .button:last-child, .buttons .button:last-child {
  margin-right: 0;
}

.button > a, button, .button > span, .cookie_box button {
  position: relative;
  display: inline-block;
}

.button--normal a span, .button--normal button span, .cookie_box button span {
  z-index: 2;
  position: relative;
}

button {
  cursor: pointer;
  padding: 0;
  line-height: var(--line-height-3);
  background-color: transparent;
  border: 0;
}



/* ------------------------------ */
/* ------ Inhaltselemente ------- */
/* ------------------------------ */

/* Teaser */
.teaser {
  position: relative;
}

.teaser__content {
  position: relative;
  z-index: 1;
  overflow: hidden;
}


/* Informationen */
.section__information .information h2 {
  margin-bottom: var(--spacing-5);
}

.section__information .information .information__label {
  padding-right: var(--spacing-6);
}

.section__information .information .information__text p, .section__information .information .information__text ul {
  max-width: var(--width-text);
}



/* ------------------------------ */
/* ------------ Footer ---------- */
/* ------------------------------ */

/* General */
footer {
  position: relative;
  z-index: 1;
  padding-bottom: var(--spacing-8);
}

footer p {
  margin-bottom: var(--spacing-2);
}
  
footer a {
  text-decoration: none;
  -webkit-transition: opacity var(--transition-2);
  -o-transition: opacity var(--transition-2);
  transition: opacity var(--transition-2);
}
  
footer span {
  display: block;
}

/* Main */
.footer__main {
  text-align: center;
}

.footer__logo a {
  display: inline-block;
}

.footer__contact address {
  margin-top: var(--spacing-3);
  margin-bottom: var(--spacing-2);
}

.footer__contact p a {
  display: inline-block;
  line-height: 1.2;
  border-bottom: 1px solid;
  -webkit-transition: opacity var(--transition-2);
  -o-transition: opacity var(--transition-2);
  transition: opacity var(--transition-2);
}

.footer__contact p a + br + a {
  margin-top: 10px;
}

.no-touchevents .footer__contact p a:hover {
  opacity: var(--opacity);
}

.footer__social {
  margin-top: var(--spacing-5);
  line-height: 0;
}


/* Footer bottom */
.footer__bottom {
  font-size: var(--font-size-3);
}

.footer__legal__info span, .social_media {
  display: inline-block;
}

.footer__legal__nav a, .footer__creator a {
  display: inline-block;
  border-bottom: 1px solid;
  line-height: 1.2;
}

.footer__bottom__divider {
  position: relative;
  text-align: center;
}

.footer__bottom__divider::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
}

.footer__bottom__divider span {
  display: inline-block;
  position: relative;
  z-index: 1;
}

.footer__bottom__emmenpark_group {
  width: 100%;
  text-align: center;
}

.emmenpark_group {
  display: block;
}

.emmenpark_group .company, .emmenpark_group .company a {
  line-height: 0;
}

.emmenpark_group .company {
  margin: calc(var(--spacing-3) / 2) 0;
}

.footer__bottom__emmenpark_group .company a {
  display: inline-block;
}

.emmenpark_group__place .company__inside {
  position: relative;
}

.social_media > a {
  position: relative;
  display: inline-block;
  border-radius: 50%;
  transition: opacity var(--transition-2);
}

.no-touchevents .social_media > a:hover {
  opacity: var(--opacity);
}

.social_media > a svg {
  position: absolute;
  top: 50%;
  left: 50%;
}


/* ------------------------------ */
/* ----------- Cookie ----------- */
/* ------------------------------ */
  
/* Toggle */
.section > div.section__cookie, .section > div.section__cookie + .section__text {
  padding-top: var(--spacing-3);
}

.section__cookie p, .section__cookie button {
  display: inline-block;
}
  
.section__cookie p {
  margin-bottom: 0;
}

.section__cookie button {
  margin-left: var(--spacing-2);
}


/* Notificaiton */
.cookie_box {
  position: fixed;
  z-index: 100;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);

  -webkit-transition: all 1s cubic-bezier(0,.55,.45,1);
  -o-transition: all 1s cubic-bezier(0,.55,.45,1);
  transition: all 1s cubic-bezier(0,.55,.45,1);
}

.cookie_box.is-active {
  bottom: 0;
}

.cookie_box p, .cookie_box a {
  font-size: var(--font-size-3);
}

.cookie_box a {
  position: relative;
  display: inline-block;
  text-decoration: underline;
  
  -webkit-transition: opacity var(--transition-2);
  -o-transition: opacity var(--transition-2);
  transition: opacity var(--transition-2);
}

.no-touchevents .cookie_box a:hover {
  opacity: var(--opacity);
}
    
.cookie_box button {
  min-width: auto;
  font-size: var(--font-size-2);
}



/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 576px) {

  .site_logo {
    top: var(--spacing-5);
  }

  .site_cover__content .content__container {
    padding: calc(var(--spacing-12) + var(--header-height)) 0 var(--spacing-12);
  }

  header.header--no-cover + main .section:first-child {
    padding-top: calc(var(--spacing-13) + var(--header-height) / 2);
  }

}


@media all and (min-width: 768px) {

  /* Header */
  .site_header::after {
    top: -120%;
    height: 120%;
  }

  /* Footer */
  .footer__legal__nav li {
    display: inline-block;
  }

  .footer__legal__info span + span, .footer__legal__nav li + li {
    padding-left: var(--spacing-4);
  }

  .footer__bottom {
    padding-top: var(--spacing-9);
  }

  .footer__bottom__divider {
    margin: calc(var(--spacing-3) / 2) 0;
  }

}


@media all and (min-width: 992px) {

  /* Header */
  .site_header {
    padding: var(--spacing-5) var(--spacing-6) 0;
  }

  /* Cover & Banner */
  .site_cover--image .site_cover__media, .section__banner--image .banner__media {
    aspect-ratio: 2560 / 1440;
  }

  .section__banner--vimeo .banner__media, .section__banner--video .banner__media {
    aspect-ratio: 16 / 9;
  }

  .banner__media {
    min-height: 100vh;
    min-height: 100svh;
  }

  /* Teaser */
  .teaser {
    padding: var(--spacing-6-5) 0;
  }

  .teaser__media {
    position: absolute;
    top: 0;
    height: 100%;
  }
  
  .section__teaser--reverse .teaser__media {
    right: 0;
  }
  
  .section__teaser:not(.section__teaser--reverse) .teaser__media {
    left: 0;
  }
  
  .teaser__media__container {
    position: relative;
    width: 100%;
    height: 100%;
  }

  /* Informationen */
  .section__information .information:not(.information--title) {
    padding: var(--spacing-6-5) 0;
  }

  .section__information .information .information__label h3.typography--label {
    margin-bottom: 0;
  }

  /* Footer */
  .footer__opening_hours {
    margin-top: var(--spacing-10);
  }

  .footer__route {
    margin-top: var(--spacing-9);
    margin-bottom: var(--spacing-7);
  }

}


@media all and (min-width: 1240px) {

  .section__information .information .information__label {
    width: 260px;
  }

  .section__information .information .information__text {
    width: calc(100% - 260px);
  }

}


@media all and (min-width: 1400px) {

  /* Impressum & Datenschutz */
  .page-template-page-legal .section > div:not([class*="--full"]).section__text {
    padding-left: var(--spacing-13);
    padding-right: var(--spacing-13);
  }

}


@media all and (min-width: 1536px) {

  .section__teaser .teaser__content {
    padding: var(--spacing-6-5) var(--spacing-5);
  }

  .teaser__media {
    width: 69%;
  }

  .teaser__content {
    width: 45%;
  }

  .section__teaser:not(.section__teaser--reverse) .teaser__content {
    margin-left: 55%;
  }

}


@media all and (min-width: 1600px) {

  .emmenpark_group__row {
    margin-right: calc(var(--spacing-3)* -1);
    margin-left: calc(var(--spacing-3)* -1);
  }

  .emmenpark_group .company {
    padding-right: var(--spacing-3);
    padding-left: var(--spacing-3);
  }

}


@media all and (min-width: 1720px) {

  .section > div:not([class*="--full"]), .inside {
    padding-left: var(--spacing-12);
    padding-right: var(--spacing-12);
  }
  
}


@media all and (max-width: 1719.98px) and (min-width: 1400px) {

  .section > div:not([class*="--full"]), .inside {
    padding-left: var(--spacing-10);
    padding-right: var(--spacing-10);
  }

}


@media all and (max-width: 1599.98px) {

  .emmenpark_group__row {
    margin-right: calc(var(--spacing-2)* -1);
    margin-left: calc(var(--spacing-2)* -1);
  }

  .emmenpark_group .company {
    padding-right: var(--spacing-2);
    padding-left: var(--spacing-2);
  }

}


@media all and (max-width: 1535.98px) and (min-width: 992px) {

  .section__teaser .teaser__content {    
    padding: var(--spacing-6-5) var(--spacing-4);
  }

  .section__teaser.section__teaser--reverse .teaser .teaser__content {
    padding-right: var(--spacing-5);
  }

  .section__teaser:not(.section__teaser--reverse) .teaser .teaser__content {
    padding-left: var(--spacing-5);
  }

}


@media all and (max-width: 1535.98px) and (min-width: 1240px) {

  .teaser__media {
    width: 64%;
  }

  .teaser__content {
    width: 50%;
  }

  .section__teaser:not(.section__teaser--reverse) .teaser__content {
    margin-left: 50%;
  }

}


@media all and (max-width: 1399.98px) and (min-width: 1240px) {

  .section > div:not([class*="--full"]), .inside {
    padding-left: var(--spacing-6);
    padding-right: var(--spacing-6);
  }

  .teaser__content {
    min-height: 500px;
  }

  /* Impressum & Datenschutz */
  .page-template-page-legal .section > div:not([class*="--full"]).section__text {
    padding-left: var(--spacing-12);
    padding-right: var(--spacing-12);
  }

}


@media all and (max-width: 1399.98px) and (min-width: 992px) {

  .emmenpark_group {
    padding-right: var(--spacing-7);
  }

}


@media all and (max-width: 1239.98px) {

  .section > div:not([class*="--full"]), .inside {
    padding-left: var(--spacing-5);
    padding-right: var(--spacing-5);
  }

  /* Footer */
  .emmenpark_group__row {
    margin-right: calc(var(--spacing-3-5) * -1);
    margin-left: calc(var(--spacing-3-5) * -1);
  }

  .footer__bottom__emmenpark_group .company {
    padding-left: var(--spacing-3-5);
    padding-right: var(--spacing-3-5);
  }

  .footer__main__voucher {
    margin-top: var(--spacing-6-5);
    margin-bottom: var(--spacing-6);
  }

}


@media all and (max-width: 1239.98px) and (min-width: 768px) {

  .site_cover, .site_cover__container, .site_cover__content, .banner {
    max-height: 768px;
  }

}


@media all and (max-width: 1239.98px) and (min-width: 992px) {

  /* Teaser */
  .teaser__media {
    width: 64%;
  }

  .teaser__content {
    width: 56%;
    min-height: 445px;
    max-width: 550px;
  }

  .section__teaser:not(.section__teaser--reverse) .teaser__content {
    margin-left: 44%;
  }

  .section__teaser.section__teaser--reverse .teaser .teaser__content {
    padding-left: 0;
  }

  .section__teaser:not(.section__teaser--reverse) .teaser .teaser__content {
    padding-right: 0;
  }

  /* Informationen */
  .section__information .information .information__label {
    width: 240px;
  }

  .section__information .information .information__text {
    width: calc(100% - 240px);
  }

}


@media all and (max-width: 991.98px) {

  /* Cover & Banner  */
  .site_cover--image .site_cover__media, .section__banner--image .banner__media {
    aspect-ratio: 992 / 1400;
  }

   .section__banner--vimeo .banner__media, .section__banner--video .banner__media {
    aspect-ratio: 1 / 1;
  }


  /* Teaser */
  .section > .section__teaser + .section__teaser {
    padding-top: var(--spacing-12);
  }

  .section > div.section__teaser {
    padding-left: 0;
    padding-right: 0;
  }

  .section__teaser .picture_container--cover, .section__teaser .picture_container--cover picture, .section__teaser .video_container--cover,
  .section__teaser .picture_container--cover img {
    height: auto;
  }

  .section__teaser .picture_container--cover, .section__teaser .picture_container--cover picture, .section__teaser .video_container--cover {
    position: relative;
  }

  /* Informationen */
  .section__information .information:not(.information--title) {
    padding: var(--spacing-7) 0;
  }

  .section__information .information .information__label, .section__information .information .information__text {
    width: 100%;
  }

  .section__information .information .information__label h3.typography--label {
    margin-bottom: var(--spacing-3);
  }


  /* Footer */
  .footer__opening_hours {
    margin-top: var(--spacing-9);
  }

  .footer__route {
    margin-top: var(--spacing-8);
    margin-bottom: var(--spacing-6);
  }

  .emmenpark_group__row {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }

  .footer__bottom {
    padding-top: var(--spacing-8);
  }

  .footer__bottom__emmenpark_group .company {
    -ms-flex-preferred-size: 33.333%;
    flex-basis: 33.333%;
    max-width: 33.333%;
  }

  .footer__bottom__emmenpark_group .company:nth-of-type(n+4) {
    padding-top: var(--spacing-3);
  }

}


@media all and (max-width: 991.98px) and (min-width: 576px) {

  /* Header */
  .site_header {
    padding: var(--spacing-5) var(--spacing-5) 0;
  }

  /* Teaser */
  .section__teaser .teaser__content {
    margin: calc(var(--spacing-7) * -1) var(--spacing-5) 0;
    padding: var(--spacing-6) var(--spacing-5) 0;
  }

}
  


@media all and (max-width: 991.98px) and (min-width: 768px) {

  /* Footer */
  .footer__bottom__divider {
    height: 25px;   
  }

  .company--1881-kantine img{
    max-width: 70px;
  }

  .company--maxililian img {
    max-width: 170px;
  }

}


@media all and (max-width: 767.98px) {

   h1 br, h2 br, h3 br {
    display: none;
  }

  h3, .typography--h3 {
    margin-bottom: var(--spacing-2);
    margin-top: var(--spacing-5);
  }

  .section {
    padding-bottom: var(--spacing-8);
  }

  /* Header */
  .site_header::after {
    top: -140%;
    height: 140%;
  }

  .site_cover .picture_container--cover, .site_cover .picture_container--cover picture {
    position: relative;
  }

  /* Banner */
  .banner {
    max-height: 500px;
  }


  /* Footer */
  .footer__legal__nav li, .footer__legal__info span {
    display: block;
  }

  .footer__legal__nav li + li, .footer__legal__info span + span {
    margin-top: 5px;
  }

  .footer__bottom__divider {
    height: 23px;
    margin: var(--spacing-1) 0 var(--spacing-2);
  }

  .emmenpark_group__row {
    margin-right: -10px;
    margin-left: -10px;
  }

  .footer__bottom__emmenpark_group .company  {
    padding: var(--spacing-1) 10px;
  }

  .company--emmenpark-catering img {
    max-height: 60px;
  }

  .company--1881-kantine img {
    max-height: 70px;
  }

  .footer__bottom__emmenpark_group .company--maxililian {
    -ms-flex-preferred-size: 35%;
    flex-basis: 35%;
    max-width: 35%;
  }

  .footer__bottom__emmenpark_group .company--sagi-oberwil {
    -ms-flex-preferred-size: 37%;
    flex-basis: 37%;
    max-width: 37%;
  }

  /* Cookie */
  .cookie_box {
    width: 100%;
    max-width: 100%;
    left: 0;
    right: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    margin: 0;
  }

}


@media all and (max-width: 575.98px) {

  /* Header */
  .site_header {
    padding: var(--spacing-4) var(--spacing-5) 0;
  }

  .site_logo {
    top: var(--spacing-11);
  }

  .site_cover__content .content__container {
    padding: calc(var(--spacing-12) + var(--header-height) + var(--spacing-8)) 0 var(--spacing-12);
  }

  header.header--no-cover + main .section:first-child {
    padding-top: calc(var(--spacing-12) + var(--header-height) + var(--spacing-8));
  }

  /* Teaser */
  .section__teaser .teaser__content {
    margin: calc(var(--spacing-7) * -1) var(--spacing-3-5) 0;
    padding: var(--spacing-5) var(--spacing-4) 0;
  }

  /* Footer */
  .footer__bottom__divider span {
    position: absolute;
    height: 1px;
    width: 1px;
    clip: rect(1px,1px,1px,1px);
    border: 0;
    overflow: hidden;
  }

}


@media all and (max-width: 359.98px) {

  .footer__legal__info {
    width: 100%;
    padding-bottom: 6px;
  }

}