/* ------------------------------ */
/* ----- Typography / Colors ---- */
/* ------------------------------ */

@font-face {
  font-family: 'GT Standard';
  font-weight: normal;
  font-style: normal;
  src: url('/wp-content/themes/augenweide_child/fonts/gt-standard-regular.woff2') format('woff2');
  font-display: swap;
}

@font-face {
  font-family: 'GT Standard';
  font-weight: 300;
  font-style: normal;
  src: url('/wp-content/themes/augenweide_child/fonts/gt-standard-light.woff2') format('woff2');
  font-display: swap;
}

@font-face {
  font-family: 'GT Standard';
  font-weight: bold;
  font-style: normal;
  src: url('/wp-content/themes/augenweide_child/fonts/gt-standard-bold.woff2') format('woff2');
  font-display: swap;
}


/* ------------------------------ */
/* ---------- Variables --------- */
/* ------------------------------ */

:root {
  /* Brand Fonts */
  --brand-font: 'GT Standard';

  /* Brand Colors*/
  --brand-black: #000000;
  --brand-dark-blue: #1C4861;
  --brand-light-blue: #f3f6f8;
  --brand-grey: #BFBFBF;
  --brand-light-grey: #EBF0F4;
  --brand-white: #FFFFFF;
  
  /* Font Styling */
  --line-height-4: 0.9;
  --line-height-3: 1;
  --line-height-2: 1.16;
  --line-height-1: 1.34;

  /* Hover & Transition */
  --opacity-2: .7;
  --opacity-1: .5;
  --transition-delay: .25s;
  --transition-4: 1s;
  --transition-3: .75s;
  --transition-2: .5s;
  --transition-1: .25s;

  /* Box shadow */
  --box-shadow-1: 0 -14px 20px 0px rgba(66,66,65,.05);

  /* Layout */
  --width-content: 850px;
}


/* ------------------------------ */
/* ------ 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{-webkit-box-sizing:border-box;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:-webkit-box;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{-webkit-box-sizing:border-box;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{-webkit-box-sizing:border-box;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{-webkit-box-sizing:border-box;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{-webkit-box-sizing:border-box;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{-webkit-box-sizing:border-box;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{-webkit-box-sizing:border-box;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 ---------- */
/* ------------------------------ */

::-moz-selection {
  background: var(--brand-dark-blue);
  color: var(--brand-white);
}

::selection {
  background: var(--brand-dark-blue);
  color: var(--brand-white);
}

::-moz-selection {
  background: var(--brand-dark-blue);
  color: var(--brand-white);
}

img::-moz-selection, video::-moz-selection, iframe::-moz-selection {
  background-color: transparent;
}

img::selection, video::selection, iframe::selection {
  background-color: transparent;
}

img::-moz-selection, video::-moz-selection, iframe::-moz-selection {
  background-color: transparent;
}

footer ::-moz-selection, .text_box__content ::-moz-selection, .person__desc ::-moz-selection {
  background: var(--brand-white);
  color: var(--brand-dark-blue);
}

footer ::selection, .text_box__content ::selection, .person__desc ::selection {
  background: var(--brand-white);
  color: var(--brand-dark-blue);
}

footer ::-moz-selection, .text_box__content ::-moz-selection, .person__desc ::-moz-selection {
  background: var(--brand-white);
  color: var(--brand-dark-blue);
}

html {
  font-size: 20px;
}

body {
  font-family: var(--brand-font);
  font-size: var(--font-size-standard);
  font-weight: 300;
  line-height: var(--line-height-1);
  color: var(--brand-black);
  -webkit-tap-highlight-color: transparent;
}

.site_wrapper {
  background-color: var(--brand-white);
}

.typography--huge {
  font-size: var(--font-size-11);
  font-weight: normal;
  line-height: var(--line-height-4);
  margin-bottom: 0;
}

body.lang--en .typography--huge {
  font-size: calc(var(--font-size-11) * 0.85);
  max-width: 1040px;
}

h1, .typography--h1, h2, .typography--h2, h3, .typography--h3, h4, .typography--h4 {
  font-weight: normal;
}

h1 b, .typography--h1 b, h1 strong, .typography--h1 strong, h2 b, .typography--h2 b, h2 strong, .typography--h2 strong,
h1 b, .typography--h3 b, h3 strong, .typography--h3 strong {
  color: var(--brand-dark-blue);
  font-weight: normal;
}

h2:first-child, h3:first-child, h4:first-child, .section > .section__title:first-child h2, .section > .section__title:first-child h3, .section > .section__title:first-child h4 {
  margin-top: 0;
}

h1, .typography--h1 {
  font-size: var(--font-size-9);
  line-height: var(--line-height-4);
  margin-top: 0;
}

h1 {
  margin-bottom: var(--spacing-6);
}

h2, .typography--h2 {
  font-size: var(--font-size-7);
  line-height: var(--line-height-3);
}

h2, h1.typography--h2 {
  margin-bottom: var(--spacing-5);
}

h3, .typography--h3 {
  font-size: var(--font-size-6);
  line-height: var(--line-height-2);
}

h2.typography--h3-small {
  font-size: var(--font-size-5);
  line-height: var(--line-height-2);
}

h3 {
  margin-bottom: var(--spacing-4);
}

h4, .typography--h4 {
  font-size: var(--font-size-4);
  line-height: var(--line-height-2);
}

h4 {
  margin-bottom: var(--spacing-3);
}

.typography--lead {
  font-size: var(--font-size-6);
  font-weight: normal;
  line-height: var(--line-height-2);
}

.typography--lead h1, .typography--lead h2, .typography--lead h3, .typography--lead h4, .typography--lead p, .typography--lead ul {
  max-width: 100%;
}

.typography--lead p b, .typography--lead p strong {
  font-weight: normal;
  color: var(--brand-dark-blue);
}

.typography--copy {
  font-size: var(--font-size-standard);
  font-weight: normal;
  line-height: var(--line-height-1);
}

a {
  color: var(--brand-black);
  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 > span {
  position: absolute;
  height: 1px;
  width: 1px;
  clip: rect(1px,1px,1px,1px);
  border: 0;
  overflow: hidden;
}

a.full::before, a.full::after {
  display: none;
}

section p a:not(.full), section li a:not(.full), label a {
  position: relative;
  text-decoration: underline;
  -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-1);
}

p:last-child, ul:last-child {
  margin-bottom: 0;
}

b, strong {
  font-weight: bold;
}

main ul li {
  position: relative;
}

main ul li::before {
  content: "";
  position: absolute;
  left: 0;
  background-color: var(--brand-black);
}

strong, b {
  font-weight: bold;
}

span[class$="--hide-text"], span.hide-text {
  position: absolute;
  height: 1px;
  width: 1px;
  clip: rect(1px,1px,1px,1px);
  border: 0;
  overflow: hidden;
}

h1, h2, h3, h4, main p, main ul, main a, main span {
  max-width: var(--width-content);
}

.section--fullwidth h1, .section--fullwidth h2, .section--fullwidth h3, .section--fullwidth h4, main .section--fullwidth p, main .section--fullwidth ul, main .section--fullwidth a, main .section--fullwidth span {
  max-width: 100%;
}

.section--light {
  background-color: var(--brand-light-blue);
}

body.home .section--light {
  z-index: 2;
}

.section--light:not(.section--contact), .section--light:not(.section--contact) a {
  color: var(--brand-dark-blue);
}

main .section--light:not(.section--contact) ul li::before {
  background-color: var(--brand-dark-blue);
}

.section--light:not(.section--contact) .text_box .text_box__container {
  background-color: var(--brand-white);
}


/* Visually hidden */
a.visually-hidden:not(.skip-link):focus-visible, a.visually-hidden:not(.skip-link):focus {
  position: static !important;
  display: block;
  overflow: visible;
  clip: auto;
  height: auto;
  width: auto;
  margin: var(--spacing-1) 0;
  text-decoration: underline;
}

a.skip-link:focus-visible, a.skip-link:focus {
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
  z-index: 10000;
  outline: 2px solid !important;
}


/* Focus visible */
a:focus-visible, button:focus-visible {
  outline: 2px solid !important;
  -webkit-transition: unset !important;
  -o-transition: unset !important;
  transition: unset !important;
}


/* Focus visible form */
input:focus-visible, textarea:focus-visible, select:focus-visible, .select2-container--focus span.select2-selection__rendered {
  outline: unset !important;
  border-color: var(--brand-black) !important;
  -webkit-transition: border-color var(--transition-1) !important;
  -o-transition: border-color var(--transition-1) !important;
  transition: border-color var(--transition-1) !important;
}


/* Logo */
.logo {
  line-height: 0;
}
   
.logo a {
  display: inline-block;
}

.logo svg path.black {
  fill: #12120D;
}

.logo svg path.blue {
  fill: var(--brand-dark-blue);
}

.logo svg path.grey {
  fill: #AFC0C9;
}

.logo svg path.white {
  fill: var(--brand-white);
}


/* ------------------------------ */
/* ----------- Layout ----------- */
/* ------------------------------ */

.section {
  position: relative;
}

.section.section--contact {
  z-index: 2;
}

.section:not(.section--header):not(.section--intro):not(.section--light):not(.section--blog):not(:first-child) {
  padding-top: var(--spacing-12);
}

.section:last-child {
  padding-bottom: var(--spacing-12);
}

.section.section--light {
  padding-top: var(--spacing-11);
  margin-top: var(--spacing-12);
}

.section.section--light:not(.section--contact) > div:last-child:not(.section__media_single) {
  padding-bottom: var(--spacing-11);
}

.section--intro + .section.section--light {
  margin-top: 0;
}

.section:not(.section--header):not(.section--intro):not(.section--light):not(:first-child).section.section--small-gap {
  padding-top: var(--spacing-9);
}

.section.section--light.section--small-gap {
  padding-top: var(--spacing-9);
  margin-top: var(--spacing-9);
}

.section.section--white.section--no-gap, .section.section--light.section--no-gap {
  padding-top: 0 !important;
}

.section.section--light.section--no-gap {
  margin-top: 0 !important;
}

.section.section--contact:last-child {
  padding-top: var(--spacing-10);
  padding-bottom: var(--spacing-10);
}

.section > div:not(.width--full):not(.section__lines), .inside {
  margin-right: auto;
  margin-left: auto;
}

.section > div:not(.section__lines) {
  position: relative;
  z-index: 2;
}

.section > div:not(.section__animation):not(.section__companies):not(.section__text--publisher):not(.section__text--cookie), .section__row > .row > div > div {
  padding-top: var(--spacing-11);
}

.section > .section__teaser_text + .section__blog:not(.section__animation):not(.section__companies):not(.section__text--publisher):not(.section__text--cookie) {
  padding-top: var(--spacing-10);
}

.section.section--light > div + .section__accordion, .section.section--light > div + .section__list {
  padding-top: calc(var(--spacing-10) - var(--spacing-9)) !important;
}

.section--white > div + .section__list, .section--white > div + .section__accordion, .section--white > div + .section__downloads {
  padding-top: 0 !important;
  margin-top: var(--spacing-11);
}

.section > div:first-child:not(.section__animation):not(.section__companies):not(.section__text--publisher), .section__row > .row > div > div:first-child,
.section > .section__text.section__text--cookie:not(.section__text--lead) + .section__text:not(.section__text--lead):not(.section__text--publisher):not(.section__text--cookie) {
  padding-top: 0;
}

.section > div:last-child, .section__row > .row > div > div:last-child {
  padding-bottom: 0;
}


/* Center */
.section > div[class*="--center"] {
  text-align: center;
}

.section > div[class*="--center"] h1, .section > div[class*="--center"] h2, .section > div[class*="--center"] h3, .section > div[class*="--center"] h4, .section > div[class*="--center"] p, .section > div[class*="--center"] ul {
  margin-right: auto;
  margin-left: auto;
}

.section > div[class*="--center"] ul {
  white-space: pre-line;
  line-height: 0;
}

.section > div[class*="--center"] ul li {
  display: inline-block; 
  line-height: var(--line-height-1);
}



/* ------------------------------ */
/* ------------ Media ----------- */
/* ------------------------------ */

/* Images */
.picture_container {
  position: relative;
  display: block;
  overflow: hidden;
  line-height: 0;
}

.picture_container--cover img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.picture_container--cover, .picture_container--cover picture {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 413.98px) {

  .picture_container:not(.picture_container--cover) img {
    width: 100%;
  }

}


/* LazyLoad */
img[data-lazy-src] {
  opacity: 0;
}

img.lazyloaded {
  -webkit-transition: opacity .5s linear;
  -o-transition: opacity .5s linear;
  transition: opacity .5s linear;
  opacity: 1;
}


/* Position */
.picture_container--left img {
  -o-object-position: left center;
     object-position: left center;
}

.picture_container--right img {
  -o-object-position: right center;
     object-position: right center;
}


/* Overlay */
.picture_container--overlay::before {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  height: 25%;
  width: 100%;
  background: -o-linear-gradient(top, rgba(66, 66, 65, 0) 0%, rgba(66, 66, 65, 0.8) 100%);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(66, 66, 65, 0)), to(rgba(66, 66, 65, 0.8)));
  background: linear-gradient(180deg, rgba(66, 66, 65, 0) 0%, rgba(66, 66, 65, 0.8) 100%);
}


/* Videos */
.video_container {
  position: relative;
  display: block;
  overflow: hidden;
  line-height: 0;
}

.video_container--embed {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.video_container--embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video_container--cover iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.video_container--cover video {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}


/* Video thumbs */
.video_container--cover {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

/* Lazy Load */
.video_container.is-ready + .picture_container--thumb {
  opacity: 0;
}


/* iFrames */
.iframe_container {
  position: relative;
  overflow: hidden;
}

.iframe_container iframe {
  max-width: 100%;
}

.section__teaser.width--large + .section__button {
  padding-top: var(--spacing-9) !important;
}



/* ------------------------------ */
/* ------- Zertifikation -------- */
/* ------------------------------ */

.certifications {
  max-width: 550px;
}

.certifications > div span {
  display: block;
}

.certification a {
  -webkit-transition: opacity var(--transition-2);
  -o-transition: opacity var(--transition-2);
  transition: opacity var(--transition-2);
}

.no-touchevents .certification a:hover {
  opacity: var(--opacity-1);
}

.certification__name {
  font-size: var(--font-size-5);
  font-weight: bold;
}

.certifications + p {
  margin-top: var(--spacing-5);
  margin-bottom: 5px;
}



/* ------------------------------ */
/* ------------ Icon ------------ */
/* ------------------------------ */

.icon--arrow {
  width: 35px;
  height: 7px;
  fill: var(--brand-dark-blue);
}

.icon--arrow-black {
  width: 35px;
  height: 7px;
  fill: var(--brand-black);
}

.icon--arrow-big {
  width: 32px;
  height: 15px;
  fill: none;
  stroke: var(--brand-dark-blue);
}

.icon--arrow_down {
  fill: var(--brand-dark-blue);
}

.icon--download {
  width: 28px;
  height: 31px;
}



/* ------------------------------ */
/* ---------- 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;
  -webkit-transition: opacity 1s, -webkit-transform 1s cubic-bezier(0,.55,.45,1);
  transition: opacity 1s, -webkit-transform 1s cubic-bezier(0,.55,.45,1);
  transition: transform 1s cubic-bezier(0,.55,.45,1), opacity 1s;
  transition: transform 1s cubic-bezier(0,.55,.45,1), opacity 1s, -webkit-transform 1s cubic-bezier(0,.55,.45,1);
  -webkit-transform: translateZ(0) !important;
  transform: translateZ(0) !important;
  will-change: opacity,transform;
}



/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 992px) {

  .intro-animation--bottom {
      -webkit-transform: translate3d(0, var(--spacing-5), 0);
      transform: translate3d(0, var(--spacing-5), 0);
  }
  
  .intro-animation--top {
      -webkit-transform: translate3d(0, calc(-1 * var(--spacing-5)), 0);
      transform: translate3d(0, calc(-1 * var(--spacing-5)), 0);
  }
    
  .intro-animation--left {
      -webkit-transform: translate3d(calc(-1 * var(--spacing-5)), 0, 0);
      transform: translate3d(calc(-1 * var(--spacing-5)), 0, 0);
  }
    
  .intro-animation--right {
      -webkit-transform: translate3d(var(--spacing-5), 0, 0);
      transform: translate3d(var(--spacing-5), 0, 0);
  }

  /* Delays */
  .intro-animation.intro-animation--delay-2, .intro-animation-container .intro-animation:nth-of-type(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, .intro-animation-container .intro-animation:nth-of-type(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, .intro-animation-container .intro-animation:nth-of-type(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, .intro-animation-container .intro-animation:nth-of-type(5) {-webkit-transition-delay: calc(var(--transition-delay) * 4);-o-transition-delay: calc(var(--transition-delay) * 4);transition-delay: calc(var(--transition-delay) * 4);}
  .intro-animation.intro-animation--delay-6, .intro-animation-container .intro-animation:nth-of-type(6) {-webkit-transition-delay: calc(var(--transition-delay) * 5);-o-transition-delay: calc(var(--transition-delay) * 5);transition-delay: calc(var(--transition-delay) * 5);}
  .intro-animation.intro-animation--delay-7, .intro-animation-container .intro-animation:nth-of-type(7) {-webkit-transition-delay: calc(var(--transition-delay) * 6);-o-transition-delay: calc(var(--transition-delay) * 6);transition-delay: calc(var(--transition-delay) * 6);}
  .intro-animation.intro-animation--delay-8, .intro-animation-container .intro-animation:nth-of-type(8) {-webkit-transition-delay: calc(var(--transition-delay) * 7);-o-transition-delay: calc(var(--transition-delay) * 7);transition-delay: calc(var(--transition-delay) * 7);}
  .intro-animation.intro-animation--delay-9, .intro-animation-container .intro-animation:nth-of-type(9) {-webkit-transition-delay: calc(var(--transition-delay) * 8);-o-transition-delay: calc(var(--transition-delay) * 8);transition-delay: calc(var(--transition-delay) * 8);}
  .intro-animation.intro-animation--delay-10, .intro-animation-container .intro-animation:nth-of-type(10) {-webkit-transition-delay: calc(var(--transition-delay) * 9);-o-transition-delay: calc(var(--transition-delay) * 9);transition-delay: calc(var(--transition-delay) * 9);}
  .intro-animation.intro-animation--delay-11, .intro-animation-container .intro-animation:nth-of-type(11) {-webkit-transition-delay: calc(var(--transition-delay) * 10);-o-transition-delay: calc(var(--transition-delay) * 10);transition-delay: calc(var(--transition-delay) * 10);}
  .intro-animation.intro-animation--delay-12, .intro-animation-container .intro-animation:nth-of-type(12) {-webkit-transition-delay: calc(var(--transition-delay) * 11);-o-transition-delay: calc(var(--transition-delay) * 11);transition-delay: calc(var(--transition-delay) * 11);}
  .intro-animation.intro-animation--delay-13, .intro-animation-container .intro-animation:nth-of-type(13) {-webkit-transition-delay: calc(var(--transition-delay) * 12);-o-transition-delay: calc(var(--transition-delay) * 12);transition-delay: calc(var(--transition-delay) * 12);}
  .intro-animation.intro-animation--delay-14, .intro-animation-container .intro-animation:nth-of-type(14) {-webkit-transition-delay: calc(var(--transition-delay) * 13);-o-transition-delay: calc(var(--transition-delay) * 13);transition-delay: calc(var(--transition-delay) * 13);}
  .intro-animation.intro-animation--delay-15, .intro-animation-container .intro-animation:nth-of-type(15) {-webkit-transition-delay: calc(var(--transition-delay) * 14);-o-transition-delay: calc(var(--transition-delay) * 14);transition-delay: calc(var(--transition-delay) * 14);}
  .intro-animation.intro-animation--delay-16, .intro-animation-container .intro-animation:nth-of-type(16) {-webkit-transition-delay: calc(var(--transition-delay) * 15);-o-transition-delay: calc(var(--transition-delay) * 15);transition-delay: calc(var(--transition-delay) * 15);}
  .intro-animation.intro-animation--delay-17, .intro-animation-container .intro-animation:nth-of-type(17) {-webkit-transition-delay: calc(var(--transition-delay) * 16);-o-transition-delay: calc(var(--transition-delay) * 16);transition-delay: calc(var(--transition-delay) * 16);}
  .intro-animation.intro-animation--delay-18, .intro-animation-container .intro-animation:nth-of-type(18) {-webkit-transition-delay: calc(var(--transition-delay) * 17);-o-transition-delay: calc(var(--transition-delay) * 17);transition-delay: calc(var(--transition-delay) * 17);}
  .intro-animation.intro-animation--delay-19, .intro-animation-container .intro-animation:nth-of-type(19) {-webkit-transition-delay: calc(var(--transition-delay) * 18);-o-transition-delay: calc(var(--transition-delay) * 18);transition-delay: calc(var(--transition-delay) * 18);}
  .intro-animation.intro-animation--delay-20, .intro-animation-container .intro-animation:nth-of-type(20) {-webkit-transition-delay: calc(var(--transition-delay) * 19);-o-transition-delay: calc(var(--transition-delay) * 19);transition-delay: calc(var(--transition-delay) * 19);}
  
}


@media all and (max-width: 991.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-5), 0);
    transform: translate3d(0, var(--spacing-5), 0);
  }

}



/* ------------------------------ */
/* ----------- Header ----------- */
/* ------------------------------ */

.section--header {
  overflow: hidden;
}

/* Text + Bild */
.section__header h1.typography--copy {
  font-weight: bold;
  margin-bottom: 0;
}

.section__header h1.typography--copy + h2 {
  margin-top: var(--spacing-4);
  margin-bottom: 0;
}

/* Text */
.section__header--text {
  text-align: center;
}

.section__header--text .header {
  position: relative;
  z-index: 2;
}

.section__header--text h1, .section__header--text p {
  margin-right: auto;
  margin-left: auto;
}

.section__header--text h1, .section__header--text p.typography--lead {
  max-width: 1000px;
}

.section__header--text h1 {
  font-size: var(--font-size-10);
  max-width: 1000px;
}

.section__header--text p:not(.typography--lead) {
  max-width: 670px;
}

.section__header--text p.typography--lead b {
  font-weight: normal;
  color: var(--brand-dark-blue);
}

.section__header--text .header__bottom {
  margin-top: var(--spacing-9);
}

.section__header--text .header__bottom a {
  display: inline-block;
  line-height: 1;
  padding: 0 var(--spacing-5) 10px;
}

.section__header--text .header__bottom a svg {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform var(--transition-2);
  transition: -webkit-transform var(--transition-2);
  -o-transition: transform var(--transition-2);
  transition: transform var(--transition-2);
  transition: transform var(--transition-2), -webkit-transform var(--transition-2);
}

.no-touchevents .section__header--text .header__bottom a:hover svg {
  -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
          transform: translateY(10px);
}

.section__header--text .header__lines {
  position: absolute;
  z-index: 1;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: unset;
}



/* ------------------------------ */
/* ------------ Title ----------- */
/* ------------------------------ */

.section__title {
  padding-top: 0 !important;
}

.section__title + div {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.section__title + .section__title {
  padding-top: var(--spacing-5) !important;
}



/* ------------------------------ */
/* ------------ Lead ----------- */
/* ------------------------------ */

.section > .section__text:not(.section__text--lead) + .section__text:not(.section__text--lead):not(.section__text--publisher):not(.section__text--cookie) {
  padding-top: var(--spacing-9);
}

.section__text--lead h2 {
  margin-bottom: var(--spacing-4);
}

.section__text--lead p:not(.typography--toptitle) {
  max-width: 100%;
  font-weight: normal;
  line-height: var(--line-height-2);
}

.section__text--lead p b, .section__text--lead p strong {
  font-weight: normal;
  color: var(--brand-dark-blue);
}


/* ------------------------------ */
/* - Teaser- & 2-spaltiger Text - */
/* ------------------------------ */

.teaser_text .text__title {
  padding-top: 4px;
  padding-right: var(--spacing-5);
}

.two_column__title {
  padding-right: var(--spacing-8);
}

.two_column__content {
  padding-top: var(--spacing-1);
}



/* ------------------------------ */
/* ----------- Teaser ----------- */
/* ------------------------------ */

.teaser__media {
  position: relative;
  overflow: hidden;
}

.teaser__media img {
  width: 100%;
}

.section__teaser + .section__teaser {
  margin-top: calc(var(--spacing-11) / 2) !important;
  padding-top: calc(var(--spacing-11) / 2) !important;
}

.section__teaser.width--medium p.typography--h4 {
  color: var(--brand-dark-blue);
}

.section__teaser.width--medium p.typography--h4 + .button {
  margin-top: var(--spacing-7);
}

.section__teaser_special .teaser .teaser__content .content_container {
  height: 100%;
}

.section__teaser_special .teaser .teaser__content h2 {
  margin-bottom: 0;
}

.section__teaser_special .teaser .teaser__content .content {
  -ms-flex-item-align: end;
      -ms-grid-row-align: end;
      align-self: end;
  padding: var(--spacing-6);
  color: var(--brand-dark-blue);
  background-color: var(--brand-light-grey);
}



/* ------------------------------ */
/* -------- Bild / Video -------- */
/* ------------------------------ */

.section__media_single .banner {
  position: relative;
  overflow: hidden;
}

.section__media_small > .media_small {
  position: relative;
}

.section__media_small > .media_small--vimeo, .section__media_small > .media_small--video {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}



/* ------------------------------ */
/* ----------- Bilder ----------- */
/* ------------------------------ */

.two_images > div img {
  width: 100%;
}



/* ------------------------------ */
/* --- Akkordeon & Auflistung --- */
/* ------------------------------ */

.page-id-1237 .section:last-child, .page-id-1243.section:last-child {
  padding-bottom: 0 !important;
}

.section--white .section__accordion, .section--white .section__list, .section__downloads {
  background-color: var(--brand-light-blue); 
}

.section__accordion, .section__accordion a, .section__list, .section__list a, .section__downloads, .section__downloads a {
  color: var(--brand-dark-blue);
}

.accordions_title h2, .list_title h2 {
  margin-bottom: 0;
}

.accordions, .list, .downloads {
  padding: var(--spacing-9) 0;
}

.section--light > div:last-child .accordions, .section--light > div:last-child .list, .section--light > div:last-child .downloads {
  padding-bottom: 0;
}

.accordions_title + .accordions, .list_title + .list {
  padding-top: 0;
}

.accordion:first-child, .list__item:first-child, .downloads .download:first-child {
  border-top: 1px solid var(--brand-dark-blue);
}

.accordion, .list__item, .downloads .download {
  position: relative;
  border-bottom: 1px solid var(--brand-dark-blue);
}

/* Aufzählung */
.section__list .list_title h2, .list__item__content p, .downloads .download p {
  max-width: 1000px;
}

.list__item .list__item__content > span {
  display: block;
}

.list__item--fact span.typography--h1, .list__item--fact span.typography--h4 {
  margin-bottom: 0;
}

.list__item--fact span.typography--h1 {
  font-weight: normal;
}


/* Accordion */
.accordion__header {
  position: relative;
  cursor: pointer;
}

.accordion_trigger, .accordion_trigger__inside {
  position: relative;
}

.accordion_trigger h3, .accordion_trigger .typography--h3 {
  margin: 0;
}

.accordion_trigger__count {
  position: absolute;
  top: 0;
}

.accordion_trigger svg {
  position: absolute;
  -webkit-transition: -webkit-transform var(--transition-2);
  transition: -webkit-transform var(--transition-2);
  -o-transition: transform var(--transition-2);
  transition: transform var(--transition-2);
  transition: transform var(--transition-2), -webkit-transform var(--transition-2);
}

.accordion__content {
  display: none;
  overflow: hidden;
}

.accordion__inside ul {
  max-width: 600px;
}

main .accordion__content ul li + li {
  margin-top: var(--spacing-3);
}

main .accordion__content ul li::before {
  background-color: var(--brand-dark-blue);
}


/* Downlaod */
.download__content {
  position: relative;
  -webkit-transition: opacity var(--transition-2);
  -o-transition: opacity var(--transition-2);
  transition: opacity var(--transition-2);
}

.no-touchevents .download:hover .download__content {
  opacity: var(--opacity-1);
}

.download__content svg {
  position: absolute;
  left: 0;
}





/* ------------------------------ */
/* --------- Text-Boxen --------- */
/* ------------------------------ */

.text_box + .text_box {
  margin-top: var(--spacing-2);
}

.text_box .text_box__container {
  position: relative;
  background-color: var(--brand-light-blue);
  
  -webkit-transition: background-color var(--transition-2);
  
  -o-transition: background-color var(--transition-2);
  
  transition: background-color var(--transition-2);
}

.no-touchevents .text_box:hover .text_box__container,
.touchevents .text_box.is-active .text_box__container {
  background-color: var(--brand-dark-blue);
}

.touchevents .text_box .text_box__container {
  cursor: pointer;
}

.text_box .text_box__title {
  position: absolute;
  opacity: 1;

  -webkit-transition: opacity var(--transition-2);

  -o-transition: opacity var(--transition-2);

  transition: opacity var(--transition-2);
  -webkit-transition-delay: .1s;
       -o-transition-delay: .1s;
          transition-delay: .1s;
}

.no-touchevents .text_box:hover .text_box__title,
.touchevents .text_box.is-active .text_box__title {
  opacity: 0;
  -webkit-transition: opacity var(--transition-1);
  -o-transition: opacity var(--transition-1);
  transition: opacity var(--transition-1);
  -webkit-transition-delay: unset;
       -o-transition-delay: unset;
          transition-delay: unset;
}

.text_box .text_box__title h3 {
  color: var(--brand-dark-blue);
  margin-bottom: 0;
}

.text_box .text_box__content, .text_box .text_box__content a {
  color: var(--brand-white);
}

.text_box .text_box__content {
  width: 100%;
  margin-bottom: 0;
  opacity: 0;
  -webkit-transform: translateY(calc(var(--spacing-4) / 2));
      -ms-transform: translateY(calc(var(--spacing-4) / 2));
          transform: translateY(calc(var(--spacing-4) / 2));
  -webkit-transition: opacity var(--transition-2), -webkit-transform var(--transition-2);
  transition: opacity var(--transition-2), -webkit-transform var(--transition-2);
  -o-transition: opacity var(--transition-2), transform var(--transition-2);
  transition: opacity var(--transition-2), transform var(--transition-2);
  transition: opacity var(--transition-2), transform var(--transition-2), -webkit-transform var(--transition-2);
}

.no-touchevents .text_box:hover .text_box__content,
.touchevents .text_box.is-active .text_box__content {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: .15s;
       -o-transition-delay: .15s;
          transition-delay: .15s;
}

.text_box .text_box__content p, .text_box .text_box__content ul {
  max-width: 1000px;
}

.text_box__toggle, .person__toggle {
  position: absolute;
}

.person__toggle {
  z-index: 1;
}

.no-touchevents .person__toggle {
  display: none;
}

.text_box__toggle::before, .text_box__toggle::after, .person__toggle::before, .person__toggle::after {
  content: "";
  position: absolute;
}

.text_box__toggle::before, .text_box__toggle::after {
  background-color: var(--brand-dark-blue);
}

.person__toggle::before, .person__toggle::after {
  background-color: var(--brand-white);
}

.text_box__toggle::before, .person__toggle::before {
  left: 0;
  width: 100%;
  -webkit-transition: background-color var(--transition-2);
  -o-transition: background-color var(--transition-2);
  transition: background-color var(--transition-2);
}

.text_box__toggle::after, .person__toggle::after {
  top: 0;
  height: 100%;
  -webkit-transition: background-color var(--transition-2), -webkit-transform var(--transition-2);
  transition: background-color var(--transition-2), -webkit-transform var(--transition-2);
  -o-transition: background-color var(--transition-2), transform var(--transition-2);
  transition: background-color var(--transition-2), transform var(--transition-2);
  transition: background-color var(--transition-2), transform var(--transition-2), -webkit-transform var(--transition-2);
}

.no-touchevents .text_box:hover .text_box__toggle::before, .no-touchevents .text_box:hover .text_box__toggle::after,
.touchevents .text_box.is-active .text_box__toggle::before, .touchevents .text_box.is-active .text_box__toggle::after {
  background-color: var(--brand-white);
}

.no-touchevents .text_box:hover .text_box__toggle::after, .touchevents .text_box.is-active .text_box__toggle::after {
  -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
          transform: rotate(-90deg);
}



/* ------------------------------ */
/* ---------- Projects ---------- */
/* ------------------------------ */

.section > div.section__projects {
  padding-top: var(--spacing-9) !important;
}

.project {
  color: var(--brand-dark-blue);
}

.project__container {
  height: 100%;
  background-color: var(--brand-light-grey);
}

.project__content {
  position: relative;
}

.project__content h3 {
  font-size: var(--font-size-5);
  margin-top: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}

.project__content__text p {
  font-size: var(--font-size-2);
}

.project__content__label {
  display: inline-block;
  font-size: var(--font-size-1);
  font-weight: normal;
  padding: 3px 8px 4px;
  border: 1px solid;
  border-radius: 22px;
}



/* ------------------------------ */
/* ------------ Team ------------ */
/* ------------------------------ */

.section > div.section__team {
  padding-top: var(--spacing-10) !important;
}

.person__container {
  position: relative;
}

.person__portrait img {
  width: 100%;
}

.person__desc {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  opacity: 0;
  background-color: var(--brand-dark-blue);
  color: var(--brand-white);
  -webkit-transition: opacity var(--transition-2);
  -o-transition: opacity var(--transition-2);
  transition: opacity var(--transition-2);
}

.touchevents .person__desc {
  cursor: pointer;
}

.no-touchevents .person__desc:hover,
.touchevents .person__desc.is-active {
  opacity: 1;
}

.person__desc__details, .person__desc__email {
  opacity: 0;
  -webkit-transform: translateY(calc(var(--spacing-4) / 2));
      -ms-transform: translateY(calc(var(--spacing-4) / 2));
          transform: translateY(calc(var(--spacing-4) / 2));
  -webkit-transition: opacity var(--transition-2), -webkit-transform var(--transition-2);
  transition: opacity var(--transition-2), -webkit-transform var(--transition-2);
  -o-transition: opacity var(--transition-2), transform var(--transition-2);
  transition: opacity var(--transition-2), transform var(--transition-2);
  transition: opacity var(--transition-2), transform var(--transition-2), -webkit-transform var(--transition-2);
}

.no-touchevents .person__desc:hover .person__desc__details, .no-touchevents .person__desc:hover .person__desc__email,
.touchevents .person__desc.is-active .person__desc__details, .touchevents .person__desc.is-active .person__desc__email {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: .15s;
       -o-transition-delay: .15s;
          transition-delay: .15s;
}

.no-touchevents .person__desc:hover .person__desc__email,
.touchevents .person__desc.is-active .person__desc__email {
  -webkit-transition-delay: .4s;
       -o-transition-delay: .4s;
          transition-delay: .4s;
}

.person__function {
  opacity: var(--opacity-1);
}

.person__desc__email a {
  display: block;
  margin-bottom: 0;
  color: var(--brand-white) !important;
  -webkit-transition: opacity var(--transition-2);
  -o-transition: opacity var(--transition-2);
  transition: opacity var(--transition-2);
}

.no-touchevents .person__desc__email a:hover {
  opacity: var(--opacity-2);
}

.person__desc__email a span {
  display: inline-block;
  border-bottom: 2px solid;
}



/* ------------------------------ */
/* ------- Öffnungszeiten ------- */
/* ------------------------------ */

.days_container .day.col-l-6 b {
  display: block;
}


/* ------------------------------ */
/* -------- Google Maps --------- */
/* ------------------------------ */
  
.gm-style-cc {
  display: none;
}



/* ------------------------------ */
/* --------- Häni Gruppe -------- */
/* ------------------------------ */

.section > .section__companies {
  padding-top: var(--spacing-9) !important;
}

.company__info {
  margin-top: var(--spacing-3);
}



/* ------------------------------ */
/* ------------ Footer ---------- */
/* ------------------------------ */

/* General */
footer {
  background-color: var(--brand-dark-blue); 
}

footer, footer p, footer li, footer a {
  color: var(--brand-white);
}

footer a {
  text-decoration: none;
  -webkit-transition: var(--transition-2);
  -o-transition: var(--transition-2);
  transition: var(--transition-2);
}

.no-touchevents footer a:hover {
  opacity: var(--opacity-2);
}

footer span {
  display: block;
}

.footer__nav a, .footer__contact a {
  display: inline-block;
}

.footer__nav li + li, .footer__contact a + br + a {
  margin-top: 8px;
}

.footer__bottom {
  font-size: calc(var(--font-size-standard) - 1px);
  margin-top: calc(var(--spacing-8) + var(--spacing-1));
}

.footer__bottom, .footer__bottom a {
  color: #D9D9D9;
}



/* ------------------------------ */
/* ---------- Impressum --------- */
/* ------------------------------ */

.section__text--publisher + .section__text {
  padding-top: 0 !important;
}



/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 576px) {

  .text_box__toggle::before, .person__toggle::before {
    height: 3px;
  }

  .text_box__toggle::after, .person__toggle::after {
    width: 3px;
  }

  .text_box .text_box__content {
    padding-top: var(--spacing-8);
  }

  .accordions_title, .list_title {
    padding-top: var(--spacing-6);
    padding-bottom: var(--spacing-6);
  }

  .certifications {
    margin: -10px -20px;
  }

  .certifications > div {
    width: 50%;
    padding: 20px;
  }

  .days_container .day.col-l-6 b {
    margin: var(--spacing-2) 0;
  }

  .days_container--holidays .days > div {
    width: 200px;
  }

  .days_container--holidays .days > .day {
    padding-right: var(--spacing-3);
  }

  .googlemaps {
    aspect-ratio: 1160 / 700;
  }

}


@media all and (min-width: 768px) {

  h2, .section__title h2, .section__text:not(.section__text--lead) + .section__text:not(.section__text--lead) h2:first-child {
    margin-top: var(--spacing-9);
  }

  h3, .section__title h3, .section__text:not(.section__text--lead) + .section__text:not(.section__text--lead) h3:first-child {
    margin-top: var(--spacing-8);
  }

  h4, .section__title h4, .section__text + .section__text h4:first-child {
    margin-top: var(--spacing-7);
  }

  .section__text--lead p:not(.typography--toptitle) {
    font-size: var(--font-size-6);
  }

  .single-post .section__text--lead p:not(.typography--toptitle) {
    font-size: var(--font-size-5);
  } 

  .section__teaser.width--medium p.typography--h4 {
    margin-top: calc(-1 * var(--spacing-1));
    margin-bottom: var(--spacing-4);
  }

  .section__media_single .banner {
    aspect-ratio: 16 / 9;
  }

  .two_images > div {
    width: 50%;
  }

  .two_images__media--1 {
    padding-right: var(--spacing-1);
  }

  .two_images__media--2 {
    padding-top: var(--spacing-10);
    padding-left: var(--spacing-1);
  }

  .two_images .picture_container_description {
    padding-right: var(--spacing-6);
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-top: var(--spacing-4);
  }

  .project__content__button {
    position: absolute;
    left: 0;
    width: 100%;
  }

  footer {
    padding-top: var(--spacing-8);
    padding-bottom: var(--spacing-6);
  }

}


@media all and (min-width: 992px) {

  :root {
    --font-size-3: 20px;
    --font-size-2: 16px;
    --font-size-1: 13px;
    --font-size-standard: 18px;
  }

  .typography--toptitle {
    font-size: var(--font-size-3);
  }

  p, main ul, main address {
    margin: 0 0 25px;
  }

  main ul li {
    padding-left: 18px;
  }

  main ul li + li {
    margin-top: 8px;
  }

  main ul li::before {
    top: 12px;
    width: 8px;
    height: 1px;
  }

  .icon--arrow_nav {
    width: 10px;
    height: 6px;
    fill: none;
    stroke: var(--brand-black);
    stroke-width: 1.2;
  }

  .icon--arrow_down {
    width: 15px;
    height: 57px;
  }

  .section__header--text-image .header--big .header__media img {
    aspect-ratio: 770 / 514;
  }

  .section__header--text-image .header--small .header__media img {
    aspect-ratio: 560 / 380;
  }  

  .section__header--text-image .header__content {
    margin-top: calc(-1 * var(--spacing-6));
  }

  .section__header--text {
    padding-bottom: calc(var(--spacing-12) - var(--spacing-2)) !important;
  }

  .section--header.section--text + .section {
    margin-top: calc(-1 * (var(--spacing-12) - var(--spacing-2))) !important;
  }

  .section--header.section--text + .section#loesungen, .section--header.section--text + .section#solutions {
    margin-top: calc(-1 * (var(--spacing-11) - var(--spacing-2))) !important;
  }

  .section__teaser.width--medium .teaser__media {
    aspect-ratio: 485 / 620;
  }

  .section__teaser.width--small .teaser__media {
    aspect-ratio: 400 / 600;
  }

  .certification__name {
    margin-bottom: 5px;
  }

  .list__item .list__item__content > span {
    margin-bottom: var(--spacing-2);
  }

  .text_box .text_box__container {
    min-height: 312px;
    padding: var(--spacing-4);
  }

  .text_box .text_box__title {
    left: var(--spacing-4);
  }

  .text_box__toggle {
    top: var(--spacing-4);
    left: var(--spacing-4);
  }

  .two_images.intro-animation-container .two_images__media--2 {
    -webkit-transition-delay: calc(var(--transition-delay) * 1);
    -o-transition-delay: calc(var(--transition-delay) * 1);
    transition-delay: calc(var(--transition-delay) * 1);
  }
    
  .two_images.intro-animation-container .two_images__media--1 {
    -webkit-transition-delay: unset;
    -o-transition-delay: unset;
    transition-delay: unset;
  }

  .accordion_trigger svg {
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }

  .no-touchevents .accordion_trigger:hover svg {
    -webkit-transform: translateY(-50%) rotate(-90deg);
        -ms-transform: translateY(-50%) rotate(-90deg);
            transform: translateY(-50%) rotate(-90deg);
  }

  .accordion.accordion--active .accordion_trigger svg {
    -webkit-transform: translateY(-50%) rotate(-180deg) !important;
        -ms-transform: translateY(-50%) rotate(-180deg) !important;
            transform: translateY(-50%) rotate(-180deg) !important;
  }

  .icon--arrow-big {
    stroke-width: 1.2;
  }

  .accordion_trigger svg {
    top: calc(50% + 1px);
  }

  .accordion__inside {
    padding-bottom: var(--spacing-8);
  }

  .section__teaser_special .teaser .teaser__content h2 {
    padding: var(--spacing-7) var(--spacing-6);
  }

  .section__teaser_special .teaser .teaser__content .content .button {
    margin-top: var(--spacing-10);
  }

  /* Lines */
  .section--line-big + .section:not(.section--light), .section--line-small + .section:not(.section--light) {
    padding-top: calc((var(--spacing-12) * 1.2)) !important;
  }

  .section--line-big + .section.section--light, .section--line-small + .section.section--light {
    margin-top: calc((var(--spacing-12) * 1.2)) !important;
  }

  .section--line-big .section__teaser + .section__teaser, .section--line-small .section__teaser + .section__teaser {
    margin-top: calc((var(--spacing-12) * 1.2) / 2) !important;
    padding-top: calc((var(--spacing-12)* 1.2) / 2) !important;
  }

  .section--line-big .section__media_single, .section--line-small .section__media_single {
    padding-top: calc((var(--spacing-12) * 1.2)) !important;
  }

  .section__lines {
    position: absolute;
    z-index: 1;
    left: 0;
    width: 100%;
    text-align: center;
    overflow: hidden;
  }

  .section__lines--big img, .section__lines--small img {
    position: absolute;
    max-width: unset;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }

  .project__content__button {
    padding-right: var(--spacing-4);
    padding-left: var(--spacing-4);
  }

  .project__content__button .button--arrow {
    width: 100%;
    margin-top: 0;
    text-align: left;
  }

  .person__desc {
    padding: var(--spacing-4);
  }

  .person__toggle {
    bottom: var(--spacing-4);
    right: var(--spacing-4);
  }

  .person__name {
    margin-bottom: var(--spacing-2);
  }

}


@media all and (min-width: 1240px) {

  :root {
    --font-size-8: 70px;
    --font-size-7: 60px;
    --font-size-6: 45px;
    --font-size-5: 33px;
    --font-size-4: 28px;

    --spacing-10: 120px;
    --spacing-9: 100px;
    --spacing-8: 70px;
    --spacing-7: 60px;
    --spacing-6: 50px;
    --spacing-5: 40px;
    --spacing-4: 30px;
    --spacing-3: 20px;
    --spacing-2: 15px;
    --spacing-1: 10px;
  }

  .logo svg {
    width: 196px;
    height: 45px;
  }

  .section__header--text-image .header__content {
    padding-right: var(--spacing-8);
  }

  .section__header--text-image .header--small .header__content {
    width: 60%;
  }

  .section__header--text-image .header--small .header__media {
    width: 40%;
  }

  .section__header--text-image .header--big .header__content {
    width: 45%;
  }

  .section__header--text-image .header--big .header__media {
    width: 55%;
  }

  .section__teaser.width--small .teaser:not(.reverse) .teaser__content {
    padding-left: var(--spacing-8);
  }

  .section__teaser.width--small .teaser.reverse .teaser__content {
    padding-right: var(--spacing-8);
  }

  .section__teaser.width--medium .teaser:not(.reverse) .teaser__content {
    padding-left: var(--spacing-9);
  }

  .section__teaser.width--medium .teaser.reverse .teaser__content,
  .section__teaser.width--large .teaser .teaser__content {
    padding-right: var(--spacing-9);
  }

  .section__teaser.width--small .teaser__media {
    width: 400px;
  }

  .section__teaser.width--small .teaser__content {
    width: calc(100% - 400px);
  }

  .section__teaser.width--medium .teaser__media {
    width: 485px;
  }

  .section__teaser.width--medium .teaser__content {
    width: calc(100% - 485px);
  }

  .section__teaser_special .teaser .teaser__media {
    width: 565px;
    min-height: 720px;
  }

  .section__teaser_special .teaser .teaser__content {
    width: calc(100% - 565px);
  }

  .section__teaser.width--large .teaser > div {
    width: 50%;
  }

  .teaser_text .text__title {
    width: 250px;
  }

  .teaser_text .text__content {
    width: calc(100% - 250px);
  }

  .teaser_text .text__content .button, .two_column__content .button {
    margin-top: var(--spacing-7);
  }

  .text_box .text_box__title {
    bottom: calc(var(--spacing-4) - 4px);
  }

  .text_box .text_box__content {
    font-size: calc(var(--font-size-4) - 3px);
  }

  .text_box__toggle, .person__toggle {
    width: 35px;
    height: 35px;
  }

  .text_box__toggle::before, .person__toggle::before {
    top: 16px;
  }

  .text_box__toggle::after, .person__toggle::after {
    left: 16px;
  }

  .two_images .picture_container_description {
    padding-top: var(--spacing-8);
  }

  .list__item.list__item--toptitle {
    padding-top: 50px;
    padding-bottom: 47px;
  }

  .list__item.list__item--fact {
    padding-top: 38px;
    padding-bottom: 44px;
  }

  .accordion_trigger, .list__item:not(.list__item--toptitle):not(.list__item--fact), .downloads .download {
    padding-top: 38px;
    padding-bottom: 40px;
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-bottom: 8px;
  }

  .accordion_trigger h3, .accordion__inside {
    max-width: calc(100% + var(--spacing-10) * 2);
    padding-left: var(--spacing-10);
    padding-right: var(--spacing-10);
  }
  .projects, .team {
    margin: -11px;
  }

  .project, .person {
    padding: 11px;
  }

  .project__content {
    padding: 34px var(--spacing-4) 80px;
    min-height: 272px;
  }

  .project__content__button {
    bottom: 22px;
  }

  .list.list--indent .list__item__content, .download__content {
    padding-left: var(--spacing-10);
  }

  .download__content svg {
   top: 11px;
  }

  .footer__logo {
    padding-right: var(--spacing-12);
  }

  .footer__address, .footer__nav {
    padding-right: var(--spacing-11);
  }

}


@media all and (min-width: 1400px) {

  :root {
    --font-size-10: 115px;
    --font-size-9: 90px;

    --spacing-12: 200px;
    --spacing-11: 150px;
  }

  .section > div:not(.width--full):not(.section__lines), .inside {
    padding-right: var(--spacing-7);
    padding-left: var(--spacing-7);
  }

  .width--huge {
    max-width: calc(1600px + var(--spacing-7) * 2);
  }

  .width--large {
    max-width: calc(1400px + var(--spacing-7) * 2);
  }

  .width--medium {
    max-width: calc(1160px + var(--spacing-7) * 2);
  }

  .width--small {
    max-width: calc(1000px + var(--spacing-7) * 2);
  }

  .width--extra-small {
    max-width: calc(720px + var(--spacing-7) * 2);
  }

  .accordion_trigger__count {
    left: var(--spacing-7);
  }

  .accordion_trigger svg {
    right: var(--spacing-7);
  }

  .list__item--fact .fact__number {
    margin-right: var(--spacing-5);
  }

  .section__header--text .header__lines {
    width: 1700px;
    top: -140px;
    left: calc(50% + 42px);
  }

  .section__lines--big {
    top: -320px;
    height: calc(2538px + 150px);
  }

  .section__lines--big img {
    width: 2357px;
    top: 150px;
    left: calc(50% + 336px);
  }

  .section__lines--small {
    top: 340px;
    height: calc(1482px + 150px);
  }

  .section__lines--small img {
    width: 2048px;
    top: 150px;
    left: 50%;
  }

  .section--line-big + .section--line-small .section__lines--small {
    top: 380px;
  }

  .companies {
    margin: 0 -38px;
  }

  .companies > div {
    padding: 0 38px;
  }

}


@media all and (min-width: 1600px) {

  :root {
    --height-header: 145px;
  }

  main {
    min-height: calc(100svh - 318px);
  }

  .section--intro > div {
    min-height: 0;
  }

}


@media all and (min-width: 1600px) and (min-height: 1100px) {

  :root {
    --font-size-11: 230px;
  }

  .header--no-cover + main .section:first-child:not(.section--intro), .section__header--text .header--text, .section__header--text-image .header--small {
    padding-top: calc(var(--spacing-12) * 1.5);
  }

  .section__header--text-image .header--big {
    padding-top: calc(var(--spacing-12) * 1.5 - 67px);
  }

}


@media all and (min-width: 1600px) and (max-height: 1099.98px) {

  :root {
    --font-size-11: 200px;
  }

  .header--no-cover + main .section:first-child:not(.section--intro), .section__header--text .header--text, .section__header--text-image .header--small {
    padding-top: calc(var(--spacing-12) * 1.3);
  }

  .section__header--text-image .header--big {
    padding-top: calc(var(--spacing-12) * 1.3 - 67px);
  }

}


@media all and (max-width: 1599.98px) and (min-width: 1400px) {

  :root {
    --font-size-11: 200px;

    --height-header: 138px;
  }

  .header--no-cover + main .section:first-child:not(.section--intro), .section__header--text .header--text, .section__header--text-image .header--small {
    padding-top: calc(var(--spacing-12) * 1.3);
  }

  .section__header--text-image .header--big {
    padding-top: calc(var(--spacing-12) * 1.3 - 64px);
  }

}


@media all and (max-width: 1399.98px) {

  .section > div:not(.width--full):not(.section__lines), .inside {
    padding-right: var(--spacing-6);
    padding-left: var(--spacing-6);
  }

  .width--huge {
    max-width: calc(1600px + var(--spacing-6) * 2);
  }

  .width--large {
    max-width: calc(1400px + var(--spacing-6) * 2);
  }

  .accordion_trigger__count {
    left: var(--spacing-6);
  }

  .accordion_trigger svg {
    right: var(--spacing-6);
  }

}


@media all and (max-width: 1399.98px) and (min-width: 768px) {

  .list__item--fact .fact__number {
    margin-right: var(--spacing-4);
  }

}


@media all and (max-width: 1399.98px) and (min-width: 992px) {

  .width--medium {
    max-width: calc(1160px + var(--spacing-6) * 2);
  }

  .width--small {
    max-width: calc(1000px + var(--spacing-6) * 2);
  }

  .width--extra-small {
    max-width: calc(720px + var(--spacing-6) * 2);
  }

}


@media all and (max-width: 1399.98px) and (min-width: 1240px) {

  :root {
    --font-size-11: 190px;
    --font-size-10: 110px;
    --font-size-9: 81px;

    --spacing-12: 180px;
    --spacing-11: 140px;

    --height-header: 130px;
  }

  .header--no-cover + main .section:first-child:not(.section--intro), .section__header--text .header--text, .section__header--text-image .header--small {
    padding-top: calc(var(--spacing-12) * 1.35);
  }

  .section__header--text-image .header--big {
    padding-top: calc(var(--spacing-12) * 1.35 - 62px);
  }

  .section__header--text .header__lines {
    width: 1615px;
    top: -133px;
    left: calc(50% + 40px);
  }

  .section__lines--big {
    top: -300px;
    height: calc(2411px + 142px);
  }

  .section__lines--big img {
    width: 2239px;
    top: 142px;
    left: calc(50% + 319px);
  }

  .section__lines--small {
    top: 323px;
    height: calc(1408px + 150px);
  }

  .section__lines--small img {
    width: 1946px;
    top: 150px;
    left: 50%;
  }

  .section--line-big + .section--line-small .section__lines--small {
    top: 360px;
  }

  .companies {
    margin: 0 calc(-1 * var(--spacing-4));
  }

  .companies > div {
    padding: 0 var(--spacing-4);
  }

}


@media all and (max-width: 1239.98px) {

  .teaser_text .text__content .button, .two_column__content .button {
    margin-top: var(--spacing-6);
  }

}


@media all and (max-width: 1239.98px) and (min-width: 768px) {

  :root {
    --spacing-2: 12px;
    --spacing-1: 8px;
  }

}


@media all and (max-width: 1239.98px) and (min-width: 992px) {

  :root {
    --font-size-11: 170px;
    --font-size-10: 90px;
    --font-size-9: 68px;
    --font-size-8: 60px;
    --font-size-7: 52px;
    --font-size-6: 42px;
    --font-size-5: 31px;
    --font-size-4: 27px;

    --spacing-12: 160px;
    --spacing-11: 120px;
    --spacing-10: 100px;
    --spacing-9: 80px;
    --spacing-8: 60px;
    --spacing-7: 50px;
    --spacing-6: 40px;
    --spacing-5: 34px;
    --spacing-4: 24px;
    --spacing-3: 18px;

    --height-header: 120px;
  }

  .logo svg {
    width: 186px;
    height: 43px;
  }

  .header--no-cover + main .section:first-child:not(.section--intro), .section__header--text .header--text, .section__header--text-image .header--small {
    padding-top: calc(var(--spacing-12) * 1.4);
  }

  .section__header--text-image .header--small .header__content {
    width: 62%;
  }

  .section__header--text-image .header--small .header__media {
    width: 38%;
  }

  .section__header--text-image .header--big .header__content {
    width: 47%;
  }

  .section__header--text-image .header--big .header__media {
    width: 53%;
  }

  .section__header--text-image .header__content {
    padding-right: var(--spacing-7);
  }

  .section__header--text-image .header--big {
    padding-top: calc(var(--spacing-12) * 1.4 - 55px);
  }

  .section__header--text .header__lines {
    width: 1445px;
    top: -119px;
    left: calc(50% + 36px);
  }

  .section__lines--big {
    top: -272px;
    height: calc(2158px + 128px);
  }

  .section__lines--big img {
    width: 2004px;
    top: 102px;
    left: calc(50% + 246px);
  }

  .section__lines--small {
    top: 289px;
    height: calc(1260px + 128px);
  }

  .section__lines--small img {
    width: 1741px;
    top: 80px;
    left: 50%;
  }

  .section--line-big + .section--line-small .section__lines--small {
    top: 324px;
  }

  .section__teaser.width--small .teaser:not(.reverse) .teaser__content {
    padding-left: var(--spacing-7);
  }

  .section__teaser.width--small .teaser.reverse .teaser__content {
    padding-right: var(--spacing-7);
  }

  .section__teaser.width--medium .teaser:not(.reverse) .teaser__content {
    padding-left: var(--spacing-8);
  }

  .section__teaser.width--medium .teaser.reverse .teaser__content,
  .section__teaser.width--large .teaser .teaser__content {
    padding-right: var(--spacing-8);
  }

  .section__teaser.width--small .teaser__media {
    width: 320px;
  }

  .section__teaser.width--small .teaser__content {
    width: calc(100% - 320px);
  }

  .section__teaser.width--medium .teaser__media {
    width: 388px;
  }

  .section__teaser.width--medium .teaser__content {
    width: calc(100% - 388px);
  }

  .section__teaser.width--large .teaser > .teaser__media {
    width: 400px;
  }

  .section__teaser.width--large .teaser > .teaser__content {
    width: calc(100% - 400px);
  }

  .section__teaser_special .teaser .teaser__media {
    width: 452px;
    min-height: 576px;
  }

  .section__teaser_special .teaser .teaser__content {
    width: calc(100% - 452px);
  }

  .teaser_text .text__title {
    width: 240px;
  }

  .teaser_text .text__content {
    width: calc(100% - 240px);
  }

  .text_box .text_box__title {
    bottom: calc(var(--spacing-4) - 2px);
  }

  .text_box .text_box__content {
    font-size: calc(var(--font-size-4) - 2px);
  }

  .text_box__toggle, .person__toggle {
    width: 31px;
    height: 31px;
  }

  .text_box__toggle::before, .person__toggle::before {
    top: 14px;
  }

  .text_box__toggle::after, .person__toggle::after {
    left: 14px;
  }

  .two_images .picture_container_description {
    padding-top: var(--spacing-6);
  }

  .list__item.list__item--toptitle {
    padding-top: 50px;
    padding-bottom: 47px;
  }

  .list__item.list__item--fact {
    padding-top: 39px;
    padding-bottom: 44px;
  }

  .accordion_trigger, .list__item:not(.list__item--toptitle):not(.list__item--fact), .downloads .download {
    padding-top: 38px;
    padding-bottom: 39px;
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-bottom: 8px;
  }

  .accordion_trigger h3, .accordion__inside {
    max-width: calc(100% + var(--spacing-9) * 2);
    padding-left: calc(var(--spacing-9) - var(--spacing-2));
    padding-right: var(--spacing-9);
  }

  .download__content {
    padding-left: calc(var(--spacing-9) - var(--spacing-2));
  }

  .projects, .team {
    margin: -8px;
  }

  .project, .person {
    padding: 8px;
  }

  .project__content {
    padding: 28px var(--spacing-4) 80px;
    min-height: 272px;
  }

  .project__content__button {
    bottom: 16px;
  }

  .list.list--indent .list__item__content, .download__content {
    padding-left: calc(var(--spacing-9) - var(--spacing-2));
  }

  .companies {
    margin: 0 calc(-1 * var(--spacing-3));
  }

  .companies > div {
    padding: 0 var(--spacing-3);
  }

  .download__content svg {
   top: 9px;
  }

  .footer__logo, .footer__address, .footer__nav {
    padding-right: var(--spacing-9);
  }

}


@media all and (max-width: 991.98px) {

  :root {
    --font-size-3: 19px;
    --font-size-2: 15px;
    --font-size-1: 12px;
    --font-size-standard: 17px;
  }

  .typography--toptitle {
    font-size: var(--font-size-standard);
  }

  p, main ul, main address {
    margin: 0 0 20px;
  }

  main ul li {
    padding-left: 17px;
  }

  main ul li + li {
    margin-top: 7px;
  }

  main ul li::before {
    top: 11px;
    width: 7px;
    height: 1px;
  }

  .macos main ul li::before, .ios main ul li::before {
    margin-top: -0.5px;
  }

  .icon--arrow_down {
    width: 13px;
    height: 49px;
  }

  .icon--arrow_nav_mobile {
    fill: none;
    stroke: var(--brand-white);
  }

  .section__header--text-image .header.width--large {
    max-width: 100%;
    padding-top: var(--height-header);
    padding-left: 0;
    padding-right: 0;
  }

  .section__header--text-image .header__container > div {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .section__header--text-image .header__content {
    padding: var(--spacing-7) var(--spacing-6) var(--spacing-6);
  }

  .section__header--text-image .header__media .picture_container, .section__header--text-image .header__media .picture_container picture {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }

  .section__header--text-image .header__media {
    opacity: 1 !important;  
    -o-transition: unset !important;
    -webkit-transition: unset !important;
    transition: unset !important;
    -webkit-transform: translateZ(0) !important;
  }

  .section__header--text-image .header__media img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .section__header--text {
    padding-bottom: calc(var(--spacing-11) - var(--spacing-6)) !important;
  }

  .section--header.section--text + .section {
    padding-top: var(--spacing-6) !important;
  }

  .section__two_images.width--medium {
    max-width: 100%;
  }

  .width--medium, .section__header--text-image .header__content {
    max-width: calc(700px + var(--spacing-6) * 2);
  }

  .width--small, .width--extra-small {
    max-width: calc(540px + var(--spacing-6) * 2);
  }

  .section__media_single.width--huge {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .section__teaser .teaser > div {
    width: 100%;
  }

  .section__teaser .teaser > .teaser__media {
    margin-bottom: var(--spacing-6);
  }

  .teaser_text .text__title, .teaser_text .text__content {
    width: 100%
  }

  .teaser_text .text__title h2 {
    font-size: var(--font-size-3);
    margin-bottom: var(--spacing-3);
  }

  .teaser_text .text__title h2 br, .two_column__title h2 br {
    display: none;
  }

  .section__teaser_special .teaser .teaser__media {
    width: 100%;
  }

  .section__teaser.width--medium .teaser__media, .section__teaser.width--small .teaser__media, .section__teaser_special .teaser .teaser__media {
    aspect-ratio: 1 / 1;
  }

  .certification__name {
    margin-bottom: 3px;
  }

  .text_box .text_box__container {
    padding: var(--spacing-5);
  }

  .text_box .text_box__title {
    left: var(--spacing-5);
  }

  .text_box__toggle {
    top: var(--spacing-5);
    left: var(--spacing-5);
  }

  .section__teaser_special .teaser .teaser__content .content .button {
    margin-top: var(--spacing-7);
  }

  .accordion_trigger svg {
    top: 50%;
  }

  .accordion__inside {
    padding-bottom: var(--spacing-7);
  }

  .macos .project__content__label, .ios .project__content__label {
    padding-bottom: 3px;
  }

  .project__content p br {
    display: none;
  }

  .project__content__button {
    width: 100%;
  }

  .project__content__button .button--arrow {
    width: 100%;
    text-align: left;
  }

  .person__name {
    margin-bottom: var(--spacing-1);
  }

  .days > .day + .day {
    margin-top: var(--spacing-2);
  }

  .download__content svg {
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
  }

  .footer__logo {
    width: 100%;
  }

}


@media all and (max-width: 991.98px) and (min-width: 414px) {

  .text_box .text_box__content {
    font-size: var(--font-size-3);
  }

}


@media all and (max-width: 991.98px) and (min-width: 576px) {

  .section__header--text-image .header__media {
    aspect-ratio: 992 / 650;
  }

  .companies {
    margin: calc(-1 * var(--spacing-5)) calc(-1 * var(--spacing-4));
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .companies > div {
    padding: var(--spacing-5) var(--spacing-4);
  }

}


@media all and (max-width: 991.98px) and (min-width: 768px) {

  :root {
    --font-size-11: 160px;
    --font-size-10: 86px;
    --font-size-9: 70px;
    --font-size-8: 58px;
    --font-size-7: 48px;
    --font-size-6: 38px;
    --font-size-5: 29px;
    --font-size-4: 25px;

    --spacing-12: 150px;
    --spacing-11: 110px;
    --spacing-10: 90px;
    --spacing-9: 70px;
    --spacing-8: 56px;
    --spacing-7: 46px;
    --spacing-6: 36px;
    --spacing-5: 30px;
    --spacing-4: 20px;
    --spacing-3: 15px;

    --height-header: 120px;
  }

  .logo svg {
    width: 180px;
    height: 41px;
  }

  .icon--arrow_nav_mobile {
    width: 35px;
    height: 35px;
    stroke-width: 2px;
  }

  .header--no-cover + main .section:first-child:not(.section--intro), .section__header--text .header--text, .section__header--text-image .header--small {
    padding-top: calc(var(--spacing-12) * 1.3);
  }

  .section__header--text .header__lines {
    width: 1275px;
    top: -105px;
    left: calc(50% + 32px);
  }

  .text_box .text_box__title {
    bottom: calc(var(--spacing-5) - 2px);
  }

  .text_box__toggle, .person__toggle {
    width: 31px;
    height: 31px;
  }

  .text_box__toggle::before, .person__toggle::before {
    top: 14px;
  }

  .text_box__toggle::after, .person__toggle::after {
    left: 14px;
  }

  .two_images .picture_container_description {
    padding-top: var(--spacing-6);
  }

  .list__item.list__item--toptitle {
    padding-top: 45px;
    padding-bottom: 43px;
  }

  .list__item.list__item--fact {
    padding-top: 35px;
    padding-bottom: 41px;
  }

  .list__item--fact span.typography--h4 {
    position: relative;
    top: 1px;
  }

  .list__item .list__item__content > span {
    margin-bottom: var(--spacing-1);
  }

  .accordion_trigger, .list__item:not(.list__item--toptitle):not(.list__item--fact), .downloads .download {
    padding-top: 34px;
    padding-bottom: 37px;
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-bottom: 6px;
  }

  .accordion__header:not(.accordion__header--count) .accordion_trigger h3, .accordion__header:not(.accordion__header--count) + .accordion__content .accordion__inside {
    max-width: calc(100% + var(--spacing-9) + var(--spacing-6));
    padding-left: var(--spacing-6);
    padding-right: var(--spacing-9);
  }

  .accordion__header--count .accordion_trigger h3, .accordion__header--count + .accordion__content .accordion__inside {
    max-width: calc(100% + var(--spacing-9) + var(--spacing-7));
    padding-left: var(--spacing-7);
    padding-right: var(--spacing-9);
  }

  .accordion_trigger svg {
    -webkit-transform: translateY(-50%) scale(0.9);
        -ms-transform: translateY(-50%) scale(0.9);
            transform: translateY(-50%) scale(0.9);
  }

  .no-touchevents .accordion_trigger:hover svg {
    -webkit-transform: translateY(-50%) rotate(-90deg) scale(0.9);
        -ms-transform: translateY(-50%) rotate(-90deg) scale(0.9);
            transform: translateY(-50%) rotate(-90deg) scale(0.9);
  }

  .accordion.accordion--active .accordion_trigger svg {
    -webkit-transform: translateY(-50%) rotate(-180deg) scale(0.9)
    !important;
        -ms-transform: translateY(-50%) rotate(-180deg) scale(0.9)
    !important;
            transform: translateY(-50%) rotate(-180deg) scale(0.9)
    !important;
  }

  .download__content {
    padding-left: 50px;
  }

  .download__content svg {
    top: 7px;
    -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
            transform: scale(0.9);
  }

  .icon--arrow-big {
    stroke-width: 1.3;
  }

  .section__teaser_special .teaser .teaser__content h2 {
    padding: calc(var(--spacing-7) - 6px) var(--spacing-6) var(--spacing-7);
  }

  .projects, .team {
    margin: -8px;
  }

  .projects {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .project, .person {
    padding: 8px;
  }

  .person__desc {
    padding: var(--spacing-5);
  }

  .person__toggle {
    bottom: var(--spacing-5);
    right: var(--spacing-5);
  }

  .project__content {
    padding: 26px var(--spacing-4) 80px;
  }

  .project__content__button {
    bottom: 14px;
    padding-right: var(--spacing-4);
    padding-left: var(--spacing-4);
  }

  .list.list--indent .list__item__content {
    padding-left: var(--spacing-6);
  }

  .text_box .text_box__container {
    min-height: 280px;
  }

  .footer__logo {
    margin-bottom: var(--spacing-6);
  }

  .footer__address, .footer__nav {
    padding-right: var(--spacing-9);
  }

}


@media all and (max-width: 767.98px) {

  :root {
    --spacing-3: 12px;
    --spacing-2: 10px;
    --spacing-1: 6px;
  }

  h1 br, h2 br, h3 br {
    display: none;
  }

  h2, .section__title h2, .section__text:not(.section__text--lead) + .section__text:not(.section__text--lead) h2:first-child {
    margin-top: var(--spacing-8);
  }

  h3, .section__title h3, .section__text:not(.section__text--lead) + .section__text:not(.section__text--lead) h3:first-child {
    margin-top: var(--spacing-7);
  }

  h4, .section__title h4, .section__text + .section__text h4:first-child {
    margin-top: calc(var(--spacing-6) + 5px);
  }

  .section__text--lead p:not(.typography--toptitle) {
    font-size: var(--font-size-5);
  }

  .single-post .section__text--lead p:not(.typography--toptitle) {
    font-size: var(--font-size-4);
  } 

  .section__media_single {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .section__media_single .banner {
    aspect-ratio: 768 / 500;
  }

  .section__teaser.width--medium p.typography--h4 {
    margin-bottom: var(--spacing-5);
  }

  .two_images > div {
    width: 100%;
  }

  .two_images__media--1 {
    padding-right: var(--spacing-9);
  }

  .two_images__media--2 {
    margin-bottom: var(--spacing-4);
    padding-left: var(--spacing-9);
  }

  .list__item .list__item__content > span {
    margin-bottom: 4px;
  }

  .list__item--fact span.typography--h1, .list__item--fact span.typography--h4 {
    width: 100%;;
  }

  .list__item--fact span.typography--h4 {
    margin-top: var(--spacing-2);
  }

  .project__content__button .button--arrow {
    margin-top: var(--spacing-4);
  }

  footer {
    padding-top: var(--spacing-9);
    padding-bottom: var(--spacing-7);
  }

  .footer__logo {
    margin-bottom: var(--spacing-7);
  }

  .footer__address {
    width: 100%;
    margin-bottom: var(--spacing-5);
  }

}


@media all and (max-width: 767.98px) and (min-width: 576px) {

  :root {
    --font-size-11: 122px;
    --font-size-10: 72px;
    --font-size-9: 60px;
    --font-size-8: 52px;
    --font-size-7: 42px;
    --font-size-6: 34px;
    --font-size-5: 27px;
    --font-size-4: 24px;

    --spacing-12: 140px;
    --spacing-11: 100px;
    --spacing-10: 80px;
    --spacing-9: 62px;
    --spacing-8: 50px;
    --spacing-7: 40px;
    --spacing-6: 30px;
    --spacing-5: 24px;
    --spacing-4: 16px;

    --height-header: 104px;
  }

  .logo svg {
    width: 176px;
    height: 40px;
  }

  .icon--arrow_nav_mobile {
    width: 32px;
    height: 32px;
    stroke-width: 2px;
  }

  .header--no-cover + main .section:first-child:not(.section--intro), .section__header--text .header--text, .section__header--text-image .header--small {
    padding-top: calc(var(--spacing-12) * 1.2);
  }

  .section__header--text .header__lines {
    width: 1190px;
    top: -125px;
    left: calc(50% + 29px);
  }

  .text_box .text_box__title {
    bottom: calc(var(--spacing-5) - 2px);
  }

  .text_box .text_box__title h3 {
    font-size: calc(var(--font-size-6) + 2px);
  }

  .text_box__toggle, .person__toggle {
    width: 29px;
    height: 29px;
  }

  .text_box__toggle::before, .person__toggle::before {
    top: 13px;
  }

  .text_box__toggle::after, .person__toggle::after {
    left: 13px;
  }

  .two_images .picture_container_description {
    padding-top: var(--spacing-6);
  }

  .list__item.list__item--toptitle {
    padding-top: 42px;
    padding-bottom: 40px;
  }

  .list__item.list__item--fact {
    padding-top: 32px;
    padding-bottom: 33px;
  }

  .list__item--fact span.typography--h4 {
    position: relative;
    top: 1px;
  }

  .text_box .text_box__container {
    min-height: 328px;
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-top: 20px;
  }

  .accordion_trigger, .list__item:not(.list__item--toptitle):not(.list__item--fact), .downloads .download {
    padding-top: 31px;
    padding-bottom: 34px;
  }

  .accordion_trigger h3, .accordion__inside {
    padding-right: var(--spacing-9);
  }

  .accordion_trigger svg {
    -webkit-transform: translateY(-50%) scale(0.8);
        -ms-transform: translateY(-50%) scale(0.8);
            transform: translateY(-50%) scale(0.8);
  }

  .no-touchevents .accordion_trigger:hover svg {
    -webkit-transform: translateY(-50%) rotate(-90deg) scale(0.8);
        -ms-transform: translateY(-50%) rotate(-90deg) scale(0.8);
            transform: translateY(-50%) rotate(-90deg) scale(0.8);
  }

  .accordion.accordion--active .accordion_trigger svg {
    -webkit-transform: translateY(-50%) rotate(-180deg) scale(0.8) !important;
        -ms-transform: translateY(-50%) rotate(-180deg) scale(0.8) !important;
            transform: translateY(-50%) rotate(-180deg) scale(0.8) !important;
  }

  .download__content {
    padding-left: 42px;
  }

  .download__content svg {
    top: 5px;
    -webkit-transform: scale(0.8);
        -ms-transform: scale(0.8);
            transform: scale(0.8);
  }

  .icon--arrow-big {
    stroke-width: 1.5;
  }

  .accordion__header:not(.accordion__header--count) .accordion_trigger h3, .accordion__header:not(.accordion__header--count) + .accordion__content .accordion__inside {
    max-width: calc(100% + var(--spacing-9));
  }

  .accordion__header.accordion__header--count .accordion_trigger h3, .accordion__header.accordion__header--count + .accordion__content .accordion__inside {
    max-width: calc(100% + var(--spacing-9) + 30px);
    padding-left: 30px;
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-bottom: 6px;
  }

  .section__teaser_special .teaser .teaser__content h2 {
    padding: calc(var(--spacing-7) - 6px) var(--spacing-6) var(--spacing-7);
  }

  .project + .project {
    margin-top: var(--spacing-6);
  }

  .team {
    margin: -5px;
  }

  .person {
    padding: 5px;
  }

  .person__desc {
    padding: 20px;
  }

  .person__toggle {
    bottom: 20px;
    right: 20px;
  }

  .project__content {
    padding: 27px var(--spacing-5) 13px;
  }

  .project__content__button {
    bottom: 16px;
  }

  .footer__nav, .footer__contact {
    width: 50%;
  } 

}


@media all and (max-width: 575.98px) {

  :root {
    --spacing-4: 16px;
  }

  .section__header--text-image .header__media {
    aspect-ratio: 576 / 500;
  }

  .section__header--text-image .picture_container--center-center img {
    -o-object-position: center center;
      object-position: center center;
  }

  .section__header--text-image .picture_container--left-center img {
    -o-object-position: left center;
      object-position: left center;
  }

  .section__header--text-image .picture_container--right-center img {
    -o-object-position: right center;
      object-position: right center;
  }

  .section__header--text-image .picture_container--center-top img {
    -o-object-position: center top;
      object-position: center top;
  }

  .section__header--text-image .picture_container--left-top img {
    -o-object-position: left top;
      object-position: left top;
  }

  .section__header--text-image .picture_container--right-top img {
    -o-object-position: right top;
      object-position: right top;
  }

  .section__header--text-image .picture_container--center-bottom img {
    -o-object-position: center bottom;
      object-position: center bottom;
  }

  .section__header--text-image .picture_container--left-bottom img {
    -o-object-position: left bottom;
      object-position: left bottom;
  }

  .section__header--text-image .picture_container--right-bottom img {
    -o-object-position: right bottom;
      object-position: right bottom;
  }

  .section__text--lead h2 {
    font-size: calc(var(--font-size-3) - 1px);
  }

  .text_box .text_box__content {
    padding-top: var(--spacing-9);
  }

  .text_box__toggle::before {
    height: 2px;
  }

  .text_box__toggle::after {
    width: 2px;
  }

  .person__toggle::before {
    height: 3px;
  }

  .person__toggle::after {
    width: 3px;
  }

  .accordions_title h2.typography--h4, .list_title h2.typography--h4 {
    font-size: var(--font-size-3);
  }

  .accordion_trigger h3, .accordion_trigger .typography--h3 {
    font-size: var(--font-size-5)
  }

  .certifications {
    margin: -10px -12px;
  }

  .certifications > div {
    width: 100%;
    padding: 12px;
  }

  .days_container .day.col-l-6 b {
    margin: var(--spacing-1) 0;
  }

  .days_container--holidays .days > .day {
    padding-right: var(--spacing-1);
  }

  .times > .time + .time {
    margin-top: var(--spacing-1);
  }

  .companies > .company + .company {
    margin-top: var(--spacing-8);
  }

  .googlemaps {
    aspect-ratio: 1 / 1;
  }

  .section__teaser.width--large .teaser__media {
    overflow: auto;
  }

  .section__teaser.width--large .teaser__media .iframe_container--counter {
    width: 400px;
  }

}


@media all and (max-width: 575.98px) and (min-width: 374px) {

  :root {
    --height-header: 91px;
  }

  .logo svg {
    width: 162px;
    height: 37px;
  }

}


@media all and (max-width: 575.98px) and (min-width: 414px) {

  :root {
    --font-size-11: 88px;
    --font-size-10: 60px;
    --font-size-9: 50px;
    --font-size-8: 44px;
    --font-size-7: 38px;
    --font-size-6: 32px;
    --font-size-5: 26px;
    --font-size-4: 23px;
    
    --spacing-12: 120px;
    --spacing-11: 90px;
    --spacing-10: 70px;
    --spacing-9: 56px;
    --spacing-8: 46px;
    --spacing-7: 36px;
    --spacing-6: 26px;
    --spacing-5: 22px;
  }

  .icon--arrow_nav_mobile {
    width: 29px;
    height: 29px;
    stroke-width: 1.8;
  }

  .header--no-cover + main .section:first-child:not(.section--intro), .section__header--text .header--text, .section__header--text-image .header--small {
    padding-top: calc(var(--spacing-12) * 1.3);
  }

  .section__header--text .header__lines {
    width: 1105px;
    top: -84px;
    left: calc(50% + 27px);
  }

  .text_box .text_box__title {
    bottom: calc(var(--spacing-5) - 2px);
  }

  .text_box .text_box__title h3 {
    font-size: calc(var(--font-size-6) + 2px);
  }

  .text_box__toggle, .person__toggle {
    width: 29px;
    height: 29px;
  }

  .text_box__toggle::before, .person__toggle::before {
    top: 13px;
  }

  .text_box__toggle::after, .person__toggle::after {
    left: 13px;
  }

  .two_images .picture_container_description {
    padding-top: var(--spacing-6);
  }

  .accordions_title, .list_title {
    padding-top: 27px;
    padding-bottom: 27px;
  }

  .list__item.list__item--toptitle {
    padding-top: 36px;
    padding-bottom: 35px;
  }

  .list__item.list__item--fact {
    padding-top: 27px;
    padding-bottom: 28px;
  }

  .list__item--fact span.typography--h4 {
    position: relative;
    top: 1px;
  }

  .accordion_trigger, .list__item:not(.list__item--toptitle):not(.list__item--fact), .downloads .download {
    padding-top: 26px;
    padding-bottom: 27px;
  }

  .text_box .text_box__container {
    min-height: 328px;
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-top: 20px;
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-bottom: 6px;
  }

  .accordion_trigger h3 {
    padding-right: var(--spacing-9);
  }

  .accordion__header:not(.accordion__header--count) .accordion_trigger h3, .accordion__header:not(.accordion__header--count) + .accordion__content .accordion__inside {
    max-width: calc(100% + var(--spacing-9));
  }

  .accordion__header.accordion__header--count .accordion_trigger h3, .accordion__header.accordion__header--count + .accordion__content .accordion__inside {
    max-width: calc(100% + var(--spacing-9) + 30px);
    padding-left: 30px;
  }

  .accordion_trigger svg {
    -webkit-transform: translateY(-50%) scale(0.65);
        -ms-transform: translateY(-50%) scale(0.65);
            transform: translateY(-50%) scale(0.65);
  }

  .no-touchevents .accordion_trigger:hover svg {
    -webkit-transform: translateY(-50%) rotate(-90deg) scale(0.65);
        -ms-transform: translateY(-50%) rotate(-90deg) scale(0.65);
            transform: translateY(-50%) rotate(-90deg) scale(0.65);
  }

  .accordion.accordion--active .accordion_trigger svg {
    -webkit-transform: translateY(-50%) rotate(-180deg) scale(0.65) !important;
        -ms-transform: translateY(-50%) rotate(-180deg) scale(0.65) !important;
            transform: translateY(-50%) rotate(-180deg) scale(0.65) !important;
  }

  .download__content {
    padding-left: 38px;
  }

  .download__content svg {
    top: 3px;
    -webkit-transform: scale(0.75);
        -ms-transform: scale(0.75);
            transform: scale(0.75);
  }

  .accordion__inside {
    padding-right: 30px;
  }

  .icon--arrow-big {
    stroke-width: 1.8;
  }

  .section__teaser_special .teaser .teaser__content h2 {
    padding: calc(var(--spacing-7) - 6px) var(--spacing-6) var(--spacing-7);
  }

  .project + .project {
    margin-top: var(--spacing-6);
  }

  .team {
    margin: calc(-1 * (var(--spacing-4) / 2));
  }

  .person {
    padding: calc(var(--spacing-4) / 2);
  }

  .person__desc {
    padding: var(--spacing-6);
  }

  .person__toggle {
    bottom: var(--spacing-6);
    right: var(--spacing-6);
  }

  .person__desc .typography--h4 {
    font-size: var(--font-size-5);
  }

  .project__content {
    padding: 23px var(--spacing-5) 12px;
  }

  .footer__nav, .footer__contact {
    width: 50%;
  } 

}


@media all and (max-width: 413.98px) {

  :root {
    --font-size-4: 22px;

    --spacing-7: 30px;
    --spacing-6: 24px;
    --spacing-5: 20px;
  }

  .section__header--text .header__lines {
    width: 1020px;
    top: -84px;
    left: calc(50% + 25px);
  }

  .text_box .text_box__content {
    font-size: var(--font-size-standard);
  }

}


@media all and (max-width: 413.98px) and (min-width: 374px) {

  :root {
    --font-size-11: 78px;
    --font-size-10: 56px;
    --font-size-9: 46px;
    --font-size-8: 40px;
    --font-size-7: 34px;
    --font-size-6: 30px;
    --font-size-5: 25px;
    
    --spacing-12: 110px;
    --spacing-11: 80px;
    --spacing-10: 60px;
    --spacing-9: 50px;
    --spacing-8: 40px;
  }

  .icon--arrow_nav_mobile {
    width: 26px;
    height: 26px;
    stroke-width: 1.8;
  }

  .header--no-cover + main .section:first-child:not(.section--intro), .section__header--text .header--text, .section__header--text-image .header--small {
    padding-top: calc(var(--spacing-12) * 1.3);
  }

  .text_box .text_box__title {
    bottom: calc(var(--spacing-5) - 2px);
  }

  .text_box .text_box__title h3 {
    font-size: calc(var(--font-size-6) + 2px);
  }

  .text_box__toggle {
    width: 27px;
    height: 27px;
  }

  .text_box__toggle::before {
    top: 12px;
  }

  .text_box__toggle::after {
    left: 12px;
  }

  .person__toggle {
    width: 35px;
    height: 35px;
  }

  .person__toggle::before {
    top: 16px;
  }

  .person__toggle::after {
    left: 16px;
  }

  .two_images .picture_container_description {
    padding-top: var(--spacing-6);
  }

  .list__item.list__item--toptitle {
    padding-top: 36px;
    padding-bottom: 35px;
  }

  .list__item.list__item--fact {
    padding-top: 27px;
    padding-bottom: 28px;
  }

  .list__item--fact span.typography--h4 {
    position: relative;
    top: 1px;
  }

  .text_box .text_box__container {
    min-height: 328px;
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-top: 20px;
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-bottom: 6px;
  }

  .accordion_trigger h3 {
    padding-right: var(--spacing-9);
  }

  .accordion__inside {
    padding-right: 30px;
  }

  .accordions_title, .list_title {
    padding-top: 27px;
    padding-bottom: 27px;
  }

  .accordion_trigger, .list__item:not(.list__item--toptitle):not(.list__item--fact), .downloads .download {
    padding-top: 26px;
    padding-bottom: 27px;
  }

  .accordion__header:not(.accordion__header--count) .accordion_trigger h3, .accordion__header:not(.accordion__header--count) + .accordion__content .accordion__inside {
    max-width: calc(100% + var(--spacing-9));
  }

  .accordion__header.accordion__header--count .accordion_trigger h3, .accordion__header.accordion__header--count + .accordion__content .accordion__inside {
    max-width: calc(100% + var(--spacing-9) + 28px);
    padding-left: 28px;
  }

  .accordion_trigger svg {
    top: 50%;
    -webkit-transform: translateY(-50%) scale(0.6);
        -ms-transform: translateY(-50%) scale(0.6);
            transform: translateY(-50%) scale(0.6);
  }

  .no-touchevents .accordion_trigger:hover svg {
    -webkit-transform: translateY(-50%) rotate(-90deg) scale(0.6);
        -ms-transform: translateY(-50%) rotate(-90deg) scale(0.6);
            transform: translateY(-50%) rotate(-90deg) scale(0.6);
  }

  .accordion.accordion--active .accordion_trigger svg {
    -webkit-transform: translateY(-50%) rotate(-180deg) scale(0.6) !important;
        -ms-transform: translateY(-50%) rotate(-180deg) scale(0.6) !important;
            transform: translateY(-50%) rotate(-180deg) scale(0.6) !important;
  }

  .download__content {
    padding-left: 38px;
  }

  .download__content svg {
    top: 1px;
    -webkit-transform: scale(0.7);
        -ms-transform: scale(0.7);
            transform: scale(0.7);
  }

  .icon--arrow-big {
    stroke-width: 1.9;
  }

  .section__teaser_special .teaser .teaser__content h2 {
    padding: calc(var(--spacing-7) - 6px) var(--spacing-6) var(--spacing-7);
  }

  .project + .project {
    margin-top: var(--spacing-6);
  }

  .team {
    margin: calc(-1 * (var(--spacing-4) / 2));
  }

  .person {
    padding: calc(var(--spacing-4) / 2);
  }

  .person__desc {
    padding: var(--spacing-6);
  }

  .person__toggle {
    bottom: var(--spacing-6);
    right: var(--spacing-6);
  }

  .person__desc .typography--h4 {
    font-size: var(--font-size-5);
  }

  .project__content {
    padding: 23px var(--spacing-5) 12px;
  }

  .footer__nav, .footer__contact {
    width: 50%;
  } 

}


@media all and (max-width: 373.98px) {

  :root {
    --font-size-11: 70px;
    --font-size-10: 50px;
    --font-size-9: 42px;
    --font-size-8: 38px;
    --font-size-7: 32px;
    --font-size-6: 28px;
    --font-size-5: 24px;
    
    --spacing-12: 100px;
    --spacing-11: 76px;
    --spacing-10: 56px;
    --spacing-9: 46px;
    --spacing-8: 36px;

    --height-header: 91px;
  }

  .logo svg {
    width: 154px;
    height: 35px;
  }

  .icon--arrow_nav_mobile {
    width: 24px;
    height: 24px;
    stroke-width: 1.8;
  }

  .header--no-cover + main .section:first-child:not(.section--intro), .section__header--text .header--text, .section__header--text-image .header--small {
    padding-top: calc(var(--spacing-12) * 1.3);
  }

  .text_box .text_box__title {
    bottom: calc(var(--spacing-5) - 2px);
  }

  .text_box .text_box__title h3 {
    font-size: calc(var(--font-size-6) + 2px);
  }

  .text_box__toggle {
    width: 27px;
    height: 27px;
  }

  .text_box__toggle::before {
    top: 12px;
  }

  .text_box__toggle::after {
    left: 12px;
  }

  .person__toggle {
    width: 31px;
    height: 31px;
  }

  .person__toggle::before {
    top: 14px;
  }

  .person__toggle::after {
    left: 14px;
  }

  .two_images .picture_container_description {
    padding-top: var(--spacing-6);
  }

  .accordions_title, .list_title {
    padding-top: 27px;
    padding-bottom: 27px;
  }

  .list__item.list__item--toptitle {
    padding-top: 36px;
    padding-bottom: 35px;
  }

  .list__item.list__item--fact {
    padding-top: 27px;
    padding-bottom: 28px;
  }

  .list__item--fact span.typography--h4 {
    position: relative;
    top: 1px;
  }

  .accordion_trigger, .list__item:not(.list__item--toptitle):not(.list__item--fact), .downloads .download {
    padding-top: 26px;
    padding-bottom: 27px;
  }

  .text_box .text_box__container {
    min-height: 328px;
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-top: 20px;
  }

  .section__list--jobs .list.list--indent .list__item__content .button {
    margin-bottom: 6px;
  }

  .accordion_trigger h3 {
    padding-right: var(--spacing-9);
  }

  .accordion__header:not(.accordion__header--count) .accordion_trigger h3, .accordion__header:not(.accordion__header--count) + .accordion__content .accordion__inside {
    max-width: calc(100% + var(--spacing-9));
  }

  .accordion__header.accordion__header--count .accordion_trigger h3, .accordion__header.accordion__header--count + .accordion__content .accordion__inside {
    max-width: calc(100% + var(--spacing-9) + 28px);
    padding-left: 28px;
  }

  .accordion_trigger svg {
    -webkit-transform: translateY(-50%) scale(.55);
        -ms-transform: translateY(-50%) scale(.55);
            transform: translateY(-50%) scale(.55);
    stroke-width: 1.8px;
  }

  .no-touchevents .accordion_trigger:hover svg {
    -webkit-transform: translateY(-50%) rotate(-90deg) scale(.55);
        -ms-transform: translateY(-50%) rotate(-90deg) scale(.55);
            transform: translateY(-50%) rotate(-90deg) scale(.55);
  }

  .accordion.accordion--active .accordion_trigger svg {
    -webkit-transform: translateY(-50%) rotate(-180deg) scale(.55) !important;
        -ms-transform: translateY(-50%) rotate(-180deg) scale(.55) !important;
            transform: translateY(-50%) rotate(-180deg) scale(.55) !important;
  }

  .download__content {
    padding-left: 34px;
  }

  .download__content svg {
    top: 0;
    -webkit-transform: scale(0.67);
        -ms-transform: scale(0.67);
            transform: scale(0.67);
  }

  .section__teaser_special .teaser .teaser__content h2 {
    padding: calc(var(--spacing-7) - 6px) var(--spacing-6) var(--spacing-7);
  }

  .project + .project {
    margin-top: var(--spacing-6);
  }

  .team {
    margin: calc(-1 * (var(--spacing-4) / 2));
  }

  .person {
    padding: calc(var(--spacing-4) / 2);
  }

  .person__desc {
    padding: var(--spacing-6);
  }

  .person__toggle {
    bottom: var(--spacing-6);
    right: var(--spacing-6);
  }

  .person__desc .typography--h4 {
    font-size: var(--font-size-5);
  }

  .project__content {
    padding: 23px var(--spacing-5) 12px;
  }

  .footer__nav {
    margin-bottom: var(--spacing-5);
  }

  .footer__nav, .footer__contact {
    width: 100%;
  }

}



/* ------------------------------ */
/* ----------- Header ----------- */
/* ------------------------------ */

/* --------- Allgemein ---------- */
 
.site_header {
    position: fixed;
    z-index: 20;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--height-header);
    -webkit-transition: top var(--transition-2), background-color var(--transition-2);
    -o-transition: top var(--transition-2), background-color var(--transition-2);
    transition: top var(--transition-2), background-color var(--transition-2);
}
 
.page-scrolled .site_header {
    top: calc(-1* var(--height-header));
    background-color: var(--brand-white);
}

.logged-in.page-scrolled .site_header {
    top: calc(-1* var(--height-header));
}

.page-scrolled.header-fixed .site_header, .page-scrolled.menu-open .site_header  {
    top: 0;
}

.logged-in .site_header, .logged-in.page-scrolled.header-fixed .site_header {
    top: 50px;
}

.site_header__inside, .site_header__row {
    height: 100%;
}
 
.site_header__inside {
    width: 100%;
}
 
.site_header__row {
    margin-left: 0;
    margin-right: 0;
}

.site_nav__button {
    margin-top: 0 !important;
}



/* ---- Headerimage / -video ---- */

.site_cover {
    position: relative;
    z-index: 1;
    margin-top: var(--height-header);
}

.site_cover__container {
   position: relative;
   height: 100%;
   width: 100%;
}

.header--cover-big .site_cover {
    height: 90vh;
    height: 90svh;
    min-height: 650px;
}

.header--cover-small .site_cover {
    height: 55vh;
    height: 55svh;
    min-height: 400px;
}

.site_cover__headline {
    position: relative;
    z-index: 1;
    height: 100%;
    margin: 0;
}

.headline__container {
    width: 100%;
    padding: 0 0 var(--spacing-7);
}

.headline__container span, .headline__container h1, .headline__container .button {
    max-width: 800px;
}

.headline__container h1 {
    font-size: 3.2rem;
    line-height: 1;
    margin-top: var(--spacing-1);
}


/* Bottom */
.site_cover__bottom {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}



/* --------- Navigation --------- */

/* General */
.site_nav li.nav__item--active > a, .site_nav .site_nav__main > li.nav__item--current_ancestor > a {
    font-weight: bold;
}


/* Main */
.site_nav__main > li > a {
    position: relative;
    display: inline-block;
}

.site_nav__main > li.nav__item--active > a, .page-id-21 li.legal-notice a, .page-id-23 li.privacy-statement a {
    font-weight: bold;
}

.no-touchevents .site_nav__main > li.nav__item--active > a:hover {
    opacity: 1;
}

.site_nav__main > li.nav__item--has-children > a svg {
    position: absolute;
}



/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 992px) {

    /* General */
    .page-scrolled.menu-open .site_header {
        background-color: var(--brand-white);
    }

    .site_nav li {
        display: inline-block;
    }

    /* Main */
    .site_nav__container {
        -webkit-box-sizing: border-box;
                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;

        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    
    .site_nav__main > li > a {
        padding: var(--spacing-5) 0;

        -webkit-transition: opacity var(--transition-2);
        -o-transition: opacity var(--transition-2);
        transition: opacity var(--transition-2);
    }

    .no-touchevents .site_nav__main > li > a:hover {
        opacity: var(--opacity-1);  
    }

    .site_nav__main > li.nav__item--has-children > a span {
        padding-right: 20px;
    }

    .site_nav__main > li.nav__item--has-children > a svg {
        top: 50%;
        right: 0;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
    }


    /* Sub */
    .nav__sub {
        position: absolute;
        width: 200px;
        margin-left: -25px;
        background-color: var(--brand-white);

        -webkit-transform: translateY(10px);

            -ms-transform: translateY(10px);

                transform: translateY(10px);
        -webkit-transition: opacity var(--transition-2), transform var(--transition-2), visibility var(--transition-2);
        -o-transition: opacity var(--transition-2), transform var(--transition-2), visibility var(--transition-2);
        -webkit-transition: opacity var(--transition-2), visibility var(--transition-2), -webkit-transform var(--transition-2);
        transition: opacity var(--transition-2), visibility var(--transition-2), -webkit-transform var(--transition-2);
        transition: opacity var(--transition-2), transform var(--transition-2), visibility var(--transition-2);
        transition: opacity var(--transition-2), transform var(--transition-2), visibility var(--transition-2), -webkit-transform var(--transition-2);

        visibility: hidden;
        opacity: 0;
    }

    .no-touchevents .site_nav__main > li:hover > a + .nav__sub,
    .touchevents .site_nav__main > li.is-active > a + .nav__sub {
        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0);

        visibility: visible;
        opacity: 1;
    }

    .page-scrolled .site_header .nav__sub {
        top: 0;
    }

    .nav__sub, .page-scrolled.header-fixed .nav__sub {
        top: 116px;
    }

    .nav__sub li {
        display: block;
        padding: 5px 15px;
    }

    .nav__sub li:last-child {
        padding-bottom: 16px;
    }

    .nav__sub li a {
        position: relative;
        display: inline-block;
        line-height: var(--line-height-2);
        padding: 8px 12px;
        border-radius: 10px;
        -webkit-transition: background-color var(--transition-2);
        -o-transition: background-color var(--transition-2);
        transition: background-color var(--transition-2);
    }

    .no-touchevents .nav__sub li a:hover, .nav__sub li.nav__item--active a {
        background-color: #D7E0E8;
    }


    /* Button + Language switcher */
    .site_nav__language li + li {
        margin-left: 12px;
    }

    .site_nav__language li a {
        display: inline-block;
        padding: var(--spacing-1) 0;
        font-weight: bold;
        color: var(--brand-dark-blue);
    }

    .site_nav__language li:not(.wpml-ls-current-language) a {
        opacity: var(--opacity-1);
    }

}


@media all and (min-width: 1400px) {

    .site_nav__main > li {
        margin-right: var(--spacing-7);
    }

    .site_nav__button {
        margin-right: var(--spacing-6);
    }

}


@media all and (min-width: 1600px) {

    .nav__sub, .page-scrolled.header-fixed .nav__sub {
        top: 116px;
    }

}


@media all and (max-width: 1599.98px) and (min-width: 1400px) {

    .nav__sub, .page-scrolled.header-fixed .nav__sub {
        top: 113px;
    }

}


@media all and (max-width: 1399.98px) and (min-width: 1240px) {

    .site_nav__main > li {
        margin-right: var(--spacing-6);
    }

    .site_nav__button {
        margin-right: var(--spacing-5);
    }

    .nav__sub, .page-scrolled.header-fixed .nav__sub {
        top: 109px;
    }

}


@media all and (max-width: 1239.98px) and (min-width: 992px) {

    .site_nav__main > li {
        margin-right: var(--spacing-6);
    }

    .site_nav__button {
        margin-right: var(--spacing-5);
    }

    .nav__sub, .page-scrolled.header-fixed .nav__sub {
        top: 104px;
    }

}


@media all and (max-width: 991.98px) {

    /* General */
    body.menu-open {
        overflow: hidden
    }

    /* Logo */
    .site_logo.logo {
        position: relative;
        z-index: 105;
    }

    body .site_logo.logo svg path {
        -webkit-transition: fill var(--transition-2);
        -o-transition: fill var(--transition-2);
        transition: fill var(--transition-2);
    }
    

    /* Icon */
    .site_nav__icon {
        cursor: pointer;
        position: absolute;
        z-index: 105;
        top: 0;
        right: 0;
        width: var(--height-header);
        height: var(--height-header);
    }

    .site_nav__icon__hamburger {
        position: absolute;
    }

    .site_nav__icon__hamburger .line {
        background-color: var(--brand-black);
        display: block;

        -webkit-transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color var(--transition-2);
        -o-transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color var(--transition-2);
        -webkit-transition: opacity 0.3s ease-in-out, background-color var(--transition-2), -webkit-transform 0.3s ease-in-out;
        transition: opacity 0.3s ease-in-out, background-color var(--transition-2), -webkit-transform 0.3s ease-in-out;
        transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color var(--transition-2);
        transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color var(--transition-2), -webkit-transform 0.3s ease-in-out;
    }

    .menu-open .site_nav__icon .line {
        background-color: var(--brand-white);
    }

    .menu-open .site_nav__icon .line:nth-child(2) {
        opacity: 0;
    }

    .menu-open.close-animation .site_nav__icon .line:nth-child(1), .menu-open.close-animation .site_nav__icon .line:nth-child(3) {
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        -webkit-transition-delay: .25s;
             -o-transition-delay: .25s;
                transition-delay: .25s;
    }

    .menu-open.close-animation .site_nav__icon .line:nth-child(2) {
        opacity: 1;
        -webkit-transition-delay: .25s;
             -o-transition-delay: .25s;
                transition-delay: .25s;
    }

    
    /* Main */
    .site_nav__container {
        position: fixed;
        top: var(--height-header);
        left: 0;
        width: 100%;
        height: calc(100svh - var(--height-header));
        height: calc(var(--app-height) - var(--height-header));
        padding: var(--spacing-8) 0;
        background-color: var(--brand-dark-blue);
        -webkit-transition: opacity .5s, visibility .5s;
        -o-transition: opacity .5s, visibility .5s;
        transition: opacity .5s, visibility .5s;

        z-index: -1;
        opacity: 0;
        visibility: hidden;
    }
    
    body.menu-open .site_nav__container {
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }

    body.open-animation .site_header {
        background-color: var(--brand-dark-blue);
    }

    body.open-animation .site_logo.logo svg path:not(.grey) {
        fill: var(--brand-white);
    }

    body.open-animation .site_logo.logo svg path.grey {
        fill: var(--brand-dark-blue);
    }

    body.open-animation .site_nav__container {
        z-index: 101;
        opacity: 1;
        visibility: visible;
    }

    body.open-animation.close-animation .site_header, body.open-animation.close-animation .site_logo.logo svg path, body.open-animation.close-animation .site_nav__container {
        -webkit-transition-delay: .5s !important;
             -o-transition-delay: .5s !important;
                transition-delay: .5s !important;
    }

    body.open-animation.close-animation:not(.page-scrolled) {
        background-color: transparent;
    }

    body.open-animation.close-animation.page-scrolled {
        background-color: var(--brand-white);
    }

    body.open-animation.close-animation .site_logo.logo svg path.black {
        fill: #12120D;
    }

    body.open-animation.close-animation .site_logo.logo svg path.blue {
        fill: var(--brand-dark-blue);
    }

    body.open-animation.close-animation .site_logo.logo svg path.grey {
        fill: #AFC0C9;
    }

    body.open-animation.close-animation .site_nav__container {
        opacity: 0;
    }

    .site_nav__container, .site_nav__container a {
        color: var(--brand-white);
    }

    .site_nav__container > div, .site_nav__container > ul, .nav__sub {
        width: 100%;
        padding-right: var(--spacing-6);
        padding-left: var(--spacing-6);
    }

    .site_nav__main > li > a {
        display: block;
        font-size: var(--font-size-7);
        padding: var(--spacing-4) 0;
    }

    .site_nav__main > li > a {
        font-weight: normal;
        line-height: var(--line-height-3);
    }

    .site_nav__main > li > a span {
        position: relative;
        display: inline-block;
    }

    .site_nav__main > li.nav__item--has-children > a svg {
        right: 0;
    }

    .macos .site_nav__main > li.nav__item--has-children > a svg, .ios .site_nav__main > li.nav__item--has-children > a svg {
        margin-top: -1px;
    }

    /* Sub */
    .site_nav .nav__sub {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: calc(100vh - var(--height-header));
        height: calc(var(--app-height) - var(--height-header));
        background-color: var(--brand-dark-blue);
        -webkit-transition: opacity var(--transition-2);
        -o-transition: opacity var(--transition-2);
        transition: opacity var(--transition-2);

        z-index: -10;
        opacity: 0;
        visibility: hidden;
    }

    body.menu-open .site_nav .nav__item--has-children.is-active .nav__sub {
        z-index: 10;
        opacity: 1;
        visibility: visible;
    }

    .site_nav .nav__sub a {
        display: block;
        line-height: var(--line-height-2);
    }

    .site_nav .nav__sub li:last-child a {
        padding-bottom: var(--spacing-7);
    }


    /* Back */
    button.nav__sub__back {
        width: calc(100% - var(--spacing-6) * 2);
        margin: 0;
        color: var(--brand-white);
        background-color: transparent;
        text-align: left;

        opacity: 0;
        -webkit-transition: opacity var(--transition-2);
        -o-transition: opacity var(--transition-2);
        transition: opacity var(--transition-2);
    }

    .site_nav__main.sub-is-active:not(.sub-animate) button.nav__sub__back, body.open-animation .site_nav__main > li.nav__item--has-children.is-active .nav__sub button.nav__sub__back {
        opacity: 1;

        -webkit-transition-delay: .5s;
        -o-transition-delay: .5s;
        transition-delay: .5s;
    }

    .site_nav__main.sub-is-active.sub-close-animation button.nav__sub__back, body.open-animation.close-animation .site_nav__main.sub-is-active:not(.sub-animate) button.nav__sub__back,
    body.open-animation .site_nav__main.sub-is-active.sub-close-animation > li.nav__item--has-children.is-active .nav__sub button.nav__sub__back {
        opacity: 0;
        
        -webkit-transition-delay: unset;
        -o-transition-delay: unset;
        transition-delay: unset;
    }

    .no-touchevents .button--arrow.nav__sub__back:hover {
        padding-left: 47px;
    }

    button.nav__sub__back .icon--arrow {
        top: 50%;
        fill: var(--brand-white);
        -webkit-transform: rotate(180deg) translateY(-50%);
            -ms-transform: rotate(180deg) translateY(-50%);
                transform: rotate(180deg) translateY(-50%);
        -webkit-transform-origin: top;
            -ms-transform-origin: top;
                transform-origin: top;
    }

    .no-touchevents .button--arrow.nav__sub__back:hover .icon {
        left: 0;
    }

    /* Animation */
    .site_nav__main li > a, body.open-animation .site_nav__main.sub-is-active > li > a, .site_nav__main.sub-is-active.sub-close-animation .nav__item--has-children.is-active .nav__sub li > a, 
    .menu-open.close-animation .site_nav__main.sub-is-active:not(.sub-animate) .nav__item--has-children.is-active .nav__sub li > a {
        opacity: 0;
        -webkit-transform: translate3d(calc(-1 * var(--spacing-4)), 0, 0);
        transform: translate3d(calc(-1 * var(--spacing-4)), 0, 0);
    }

    body.open-animation .site_nav__main > li > a, .site_nav__main.sub-is-active:not(.sub-animate) .nav__item--has-children.is-active .nav__sub li > a,
    body.open-animation .site_nav__main > li.nav__item--has-children.is-active .nav__sub li > a {
        opacity: 1;
        -webkit-transition: transform .75s cubic-bezier(0, .55, .45, 1), opacity .75s;
        -o-transition: transform .75s cubic-bezier(0,.55,.45,1),opacity .75s;
        -webkit-transition: opacity .75s, -webkit-transform .75s cubic-bezier(0, .55, .45, 1);
        transition: opacity .75s, -webkit-transform .75s cubic-bezier(0, .55, .45, 1);
        -o-transition: transform .75s cubic-bezier(0,.55,.45,1),opacity .75s;
        -o-transition: transform .75s cubic-bezier(0, .55, .45, 1), opacity .75s;
        transition: transform .75s cubic-bezier(0, .55, .45, 1), opacity .75s;
        transition: transform .75s cubic-bezier(0, .55, .45, 1), opacity .75s, -webkit-transform .75s cubic-bezier(0, .55, .45, 1);
        -webkit-transition-delay: .5s;
        -o-transition-delay: .5s;
        transition-delay: .5s;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        will-change: opacity, transform;
    }

    body.open-animation .site_nav__main > li > a {
        -webkit-transition-delay: .25s;
        -o-transition-delay: .25s;
        transition-delay: .25s;
    }

    body.open-animation.close-animation .site_nav__main > li > a {
        opacity: 0;
        -webkit-transform: translate3d(calc(-1 * var(--spacing-3)), 0, 0);
        transform: translate3d(calc(-1 * var(--spacing-3)), 0, 0);

         -webkit-transition-delay: unset;
        -o-transition-delay: unset;
        transition-delay: unset;
    }

    .site_nav__main.sub-is-active:not(.sub-animate) .nav__item--has-children.is-active .nav__sub li > a {
        -webkit-transition-delay: .5s;
        -o-transition-delay: .5s;
        transition-delay: .5s;
    }

    .site_nav__main.sub-is-active.sub-close-animation .nav__item--has-children.is-active .nav__sub li > a, body.open-animation.close-animation .site_nav__main.sub-is-active:not(.sub-animate) .nav__item--has-children.is-active .nav__sub li > a {
        opacity: 0;
        -webkit-transform: translate3d(calc(-1 * var(--spacing-3)), 0, 0);
        transform: translate3d(calc(-1 * var(--spacing-3)), 0, 0);

        -webkit-transition-delay: unset;
        -o-transition-delay: unset;
        transition-delay: unset;
    }


    /* Language */
    .site_nav__language {
        position: absolute;
        z-index: 10;
        bottom: var(--spacing-6);
        left: 0;

        opacity: 0;
        -webkit-transition: opacity .75s;
        -o-transition: opacity .75s;
        transition: opacity .75s;
    }

    body.open-animation .site_nav__language {
        opacity: 1;

        -webkit-transition-delay: .25s;
        -o-transition-delay: .25s;
        transition-delay: .25s;
    }

    body.open-animation.close-animation .site_nav__language {
        opacity: 0;
        -webkit-transition-delay: unset;
        -o-transition-delay: unset;
        transition-delay: unset;
    }

    .site_nav__language ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .site_nav__language ul li + li {
        margin-left: 12px;
    }
    
    .site_nav__language a {
        font-weight: bold;
    }

    .site_nav__language ul li:not(.wpml-ls-current-language) a {
        opacity: 0.5;
        -webkit-transition: opacity var(--transition-2);
        -o-transition: opacity var(--transition-2);
        transition: opacity var(--transition-2);
    }

    .no-touchevents .site_nav__language ul li:not(.wpml-ls-current-language) a:hover {
        opacity: 1;
    }
    
}


@media all and (max-width: 991.98px) and (min-width: 768px) and (max-height: 790px) {

    .site_nav__main {
        min-height: 570px;
    }

    .site_nav__language {
        position: relative;
        bottom: 0;
    }

}


@media all and (max-width: 991.98px) and (min-width: 576px) { 

    .site_nav .nav__sub a {
        font-size: var(--font-size-6);
        padding: 12px 0;
    }

    .site_nav__language a {
        font-size: var(--font-size-3);
    }

}


@media all and (max-width: 991.98px) and (min-width: 768px) {

    .site_nav__icon__hamburger {
        top: calc(50% - 18px);
        left: calc(50% - 15px);
    }

    .site_nav__icon__hamburger .line {
        width: 38px;
        height: 1px;
        margin: 8px auto;
    }

    .menu-open .site_nav__icon .line:nth-child(1) {
        -webkit-transform: translateY(9px) rotate(45deg);
            -ms-transform: translateY(9px) rotate(45deg);
                transform: translateY(9px) rotate(45deg);
    }

    .menu-open .site_nav__icon .line:nth-child(3) {
        -webkit-transform: translateY(-9px) rotate(-45deg);
            -ms-transform: translateY(-9px) rotate(-45deg);
                transform: translateY(-9px) rotate(-45deg);
    }

    .site_nav__main {
     margin-top: calc(-1 * var(--spacing-4));   
    }

    .site_nav__main > li.nav__item--has-children > a span {
        padding-right: 60px;
    }

    .site_nav__main > li.nav__item--has-children > a svg {
        top: 10px;
    }

    .site_nav .nav__sub ul {
        margin-top: 17px;
    }

}


@media all and (max-width: 767.98px) and (min-width: 576px) and (max-height: 720px) {

    .site_nav__main {
        min-height: 530px;
    }

    .site_nav__language {
        position: relative;
        bottom: 0;
    }

}


@media all and (max-width: 767.98px) and (min-width: 576px) {

    .site_nav__icon__hamburger {
        top: calc(50% - 18px);
        left: calc(50% - 15px);
    }

    .site_nav__icon__hamburger .line {
        width: 36px;
        height: 1px;
        margin: 8px auto;
    }

    .menu-open .site_nav__icon .line:nth-child(1) {
        -webkit-transform: translateY(9px) rotate(45deg);
            -ms-transform: translateY(9px) rotate(45deg);
                transform: translateY(9px) rotate(45deg);
    }

    .menu-open .site_nav__icon .line:nth-child(3) {
        -webkit-transform: translateY(-9px) rotate(-45deg);
            -ms-transform: translateY(-9px) rotate(-45deg);
                transform: translateY(-9px) rotate(-45deg);
    }

    .site_nav__main {
     margin-top: -20px;   
    }

    .site_nav__main > li.nav__item--has-children > a span {
        padding-right: 52px;
    }

    .site_nav__main > li.nav__item--has-children > a svg {
        top: 7px;
    }

    .site_nav .nav__sub ul {
        margin-top: 11px;
    }

}


@media all and (max-width: 575.98px) {

    .site_nav__icon__hamburger {
        top: calc(50% - 16px);
        left: calc(50% - 14px);
    }

    .site_nav__icon__hamburger .line {
        width: 32px;
        height: 1px;
        margin: 7px auto;
    }

    .menu-open .site_nav__icon .line:nth-child(1) {
        -webkit-transform: translateY(8px) rotate(45deg);
            -ms-transform: translateY(8px) rotate(45deg);
                transform: translateY(8px) rotate(45deg);
    }

    .menu-open .site_nav__icon .line:nth-child(3) {
        -webkit-transform: translateY(-8px) rotate(-45deg);
            -ms-transform: translateY(-8px) rotate(-45deg);
                transform: translateY(-8px) rotate(-45deg);
    }

    .site_nav__main {
        margin-top: -20px;   
    }

    .site_nav .nav__sub a {
        font-size: calc(var(--font-size-6) - 3px);
        padding: 10px 0;
    }

    .site_nav__language a {
        font-size: calc(var(--font-size-3) - 1px);
    }

}


@media all and (max-width: 575.98px) and (min-width: 414px) and (max-height: 630px) {

    .site_nav__main {
        min-height: 464px;
    }

    .site_nav__language {
        position: relative;
        bottom: 0;
    }

}


@media all and (max-width: 575.98px) and (min-width: 414px) {

    .site_nav__main > li.nav__item--has-children > a span {
        padding-right: 50px;
    }

    .site_nav__main > li.nav__item--has-children > a svg {
        top: 7px;
    }

    .site_nav .nav__sub ul {
        margin-top: 11px;
    }

}


@media all and (max-width: 413.98px) and (min-width: 374px) and (max-height: 670px) {

    .site_nav__main {
        min-height: 505px;
    }

    .site_nav__language {
        position: relative;
        bottom: 0;
    }

}


@media all and (max-width: 413.98px) and (min-width: 374px) {

    .site_nav__main > li.nav__item--has-children > a span {
        padding-right: 44px;
    }

    .site_nav__main > li.nav__item--has-children > a svg {
        top: 6px;
    }

    .site_nav .nav__sub ul {
        margin-top: 10px;
    }

}


@media all and (max-width: 373.98px) and (max-height: 660px) {

    .site_nav__main {
        min-height: 505px;
    }

    .site_nav__language {
        position: relative;
        bottom: 0;
    }

}


@media all and (max-width: 373.98px) {

    .site_nav__icon {
        top: -1px;
    }

    .site_nav__main > li.nav__item--has-children > a span {
        padding-right: 42px;
    }

    .site_nav__main > li.nav__item--has-children > a svg {
        top: 6px;
    }

    .site_nav .nav__sub ul {
        margin-top: 12px;
    }

}


/* ------------------------------ */
/* ------------ Form ------------ */
/* ------------------------------ */

/* Bewerbungsformular */
.form__application .quform-element-group > .quform-spacer > .quform-child-elements > div {
    width: 100%;
}

.form__application .quform-element-submit {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.form__application .quform-element-submit .quform-button-submit {
    margin-right: var(--spacing-4);
}

.form__application .quform-loading-spinner {
    border: 2px solid var(--brand-black);
    border-bottom-color: transparent;
}


/* Kontakt */
.section__contact .quform-element-submit button {
    width: 100%;
}

.section__contact .quform-element-submit + .quform-element-html {
    text-align: center;
}

.section__contact .quform-loading {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}

.section__contact .quform-loading-spinner {
    border: 2px solid var(--brand-white);
    border-bottom-color: transparent;
}

.contact__info p.contact-links a {
    text-decoration: unset;
}



/* Formular */
.quform-element-tree, .quform-form > .quform-default-submit, .quform-field-select-enhanced, .select2-search--hide, .select2-results__options li:first-child {
    display: none !important;
}

.quform-element-group > .quform-spacer > .quform-child-elements {
    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;
    margin: 0 calc(-1 * var(--spacing-3)) var(--spacing-2);
}

.quform-element-group > .quform-spacer > .quform-child-elements > div {
    padding: 0 var(--spacing-3);
    margin: var(--spacing-2) 0;
}

.quform-element-group:not(.quform-element-group-cta) > .quform-spacer > .quform-child-elements > div.quform-element-full, .quform-element-group > .quform-spacer > .quform-child-elements > div.quform-element-checkbox {
    width: 100%;
}

.quform-element-group > .quform-spacer > .quform-child-elements > div:nth-child(1), .quform-element-group > .quform-spacer > .quform-child-elements > div:nth-child(2) {
    margin-top: 0;
}

.quform-element, .quform-input {
    position: relative;
}

input[type="text"], input[type="email"], textarea, select {
    width: 100%;
    font-size: var(--font-size-standard);
    font-weight: 300;
    color: var(--brand-black);
    border-radius: 11px;
}

textarea {
    resize: none;
}

.section:not(.section--light) input[type="text"], .section:not(.section--light) input[type="email"], .section:not(.section--light) textarea, .section:not(.section--light) select {
    border: 2px solid var(--brand-light-grey);
}

.section.section--light input[type="text"], .section.section--light input[type="email"], .section.section--light textarea, .section.section--light select {
    border: 0;
}

.quform-element-text .quform-label, .quform-element-email .quform-label, .quform-element-textarea .quform-label, .quform-element-file .quform-label, .quform-error {
    padding-left: calc(var(--spacing-1) / 2);
}

.quform-element-text .quform-label, .quform-element-email .quform-label, .quform-element-textarea .quform-label {
    margin-bottom: var(--spacing-1);
}

.quform-element-file .quform-label {
    margin-bottom: calc(var(--spacing-1) + 2px);
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #AFC0C9;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #AFC0C9;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #AFC0C9;
}
:-moz-placeholder { /* Firefox 18- */
  color: #AFC0C9;
}

/* Upload */
.quform-input-file {
    position: relative;
}

.quform-input-file .quform-upload-dropzone-text {
    position: relative;
    z-index: 1;
    display: block;
    background-color: var(--brand-white);
    border: 2px dotted var(--brand-light-grey);
    border-radius: 11px;
    color: #AFC0C9;

    background-image: url('data:image/svg+xml;utf8,<svg width="24" height="22" viewBox="0 0 24 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.2426 0.297103C11.6308 -0.0956774 12.264 -0.0993441 12.6568 0.288913L19.0575 6.61591C19.4503 7.00416 19.4539 7.63732 19.0657 8.0301C18.6774 8.42288 18.0443 8.42654 17.6515 8.03829L11.962 2.41429L6.33797 8.10382C5.94971 8.4966 5.31656 8.50026 4.92378 8.11201C4.531 7.72375 4.52733 7.0906 4.91559 6.69782L11.2426 0.297103ZM12.043 16.3999L11.043 16.4057L10.9538 1.00589L11.9538 1.0001L12.9538 0.99431L13.043 16.3941L12.043 16.3999Z" fill="%23AFC0C9"/><path d="M1 14.1997V20.7997H23V14.1997" stroke="%23AFC0C9" stroke-width="2"/></svg>');
    background-repeat: no-repeat;
}

.quform-input-file input[type="file"] {
    cursor: pointer;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.quform-upload-files {
    margin: var(--spacing-1) -5px -5px;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.quform-upload-file {
    font-size: var(--font-size-1);
    font-weight: normal;
    padding: 3px 8px 4px;
    margin: 5px;
    border: 1px solid;
    border-radius: 22px;
    color: var(--brand-dark-blue);
}

.quform-upload-info {
    display: none !important;
}


/* Submit */
button.quform-submit {
    margin-top: 0;
}


/* Required */
.quform-required {
    display: inline-block !important;
}


/* Error */
.quform-error {
    display: inline-block;
    font-size: var(--font-size-2);
    font-weight: 300;
    color: #E71D36;
    margin-top: calc(var(--spacing-1) / 2);
}


/* Success */
.quform-success-message-content, .quform-success-message-content h3, .quform-success-message-content h4 {
    color: var(--brand-dark-blue);
}

.quform-success-message-content h4 {
    font-size: var(--font-size-5);
}



/* Spinner */
.quform-element-submit {
    width: 100%;
    margin-top: calc(2 * var(--spacing-3));
}

.quform-element-submit button {
    color: var(--brand-white);
    background-color: var(--brand-dark-blue);

    -webkit-transition: background-color var(--transition-2);

    -o-transition: background-color var(--transition-2);

    transition: background-color var(--transition-2);
}

.no-touchevents .quform-element-submit button:hover {
    background-color: var(--brand-black);
}

.quform-loading {
    display: none;
}

.quform-loading-inner, .quform-loading-spinner {
    height: 100%;
    width: 100%;
}

.quform-loading-inner {
    display: block;
}

.quform-loading-spinner {
    border-radius: 50%;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    -webkit-animation: rotation .75s linear infinite;
    animation: rotation .7s linear infinite;
}
  
.quform-loading-spinner:after {
    display: none;
}

@-webkit-keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}
  
@keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}


/* Legal */
.quform-element-html {
    margin-top: var(--spacing-3);
    font-size: var(--font-size-1);
    opacity: var(--opacity-1);
}

.quform-element-html a {
    color: var(--brand-black);
    text-decoration: underline;
    -webkit-transition: opacity var(--transition-2);
    -o-transition: opacity var(--transition-2);
    transition: opacity var(--transition-2);
}

.no-touchevents .quform-element-html a:hover {
    opacity: var(--opacity-1);
}
    


/* ReCaptcha */
.quform-element-recaptcha {
    position: absolute;
    margin: 0 !important;
    height: 1px;
    width: 1px;
    clip: rect(1px, 1px, 1px, 1px);
    border: 0;
    overflow: hidden;
}



/* Autofill */
input:-webkit-autofill,
.no-touchevents :-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
    -webkit-background-clip: text;  
    -webkit-text-fill-color: var(--brand-black);
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s;
    -webkit-box-shadow: inset 0 0 62px 62px var(--brand-white);
            box-shadow: inset 0 0 62px 62px var(--brand-white);
}




/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 576px) {

    .section__contact .quform-element-group > .quform-spacer > .quform-child-elements > div {
        width: 50%;
    }

}


@media all and (min-width: 992px) {

    /* Bewerbungsformular */
    .form__application {
        margin-top: var(--spacing-8);
    }

    .form__application .quform-element-page > .quform-child-elements {
        max-width: 450px;
    }

    /* Kontakt */
    .contact__row > .contact__info {
        width: 32%;
        padding-right: var(--spacing-7);
    }

    .contact__info p.googlemaps-link {
        margin-top: var(--spacing-5);
    }

    .contact__row > .contact__form {
        width: 68%;
        padding-top: 8px;
    }

    .section__contact .quform-element-submit button {
        padding: 21px 35px 22px;
    }

    .section__contact .quform-loading {
        right: var(--spacing-3);
    }

    /* General */
    input[type="text"], input[type="email"], textarea, select {
        padding: 22px 18px 23px;
    }

    textarea, .quform-input-textarea {
        height: 210px;
    }

    .quform-input-file .quform-upload-dropzone-text {
        padding: 31px 18px 32px 76px;
        background-size: 22px;
        background-position: 30px 32px;
    }

    .quform-upload-file {
        padding: 3px 8px 4px;
    }

    .quform-loading {
        height: 24px;
        width: 24px;
    }

}


@media all and (max-width: 991.98px) {

    /* Bewerbungsformular */
    .form__application {
        margin-top: var(--spacing-7);
    }

    .form__application .quform-element-page > .quform-child-elements {
        max-width: 425px;
    }

    /* Kontakt */
    .contact__row > .contact__info, .contact__row > .contact__form {
        width: 100%;
    }

    .contact__row > .contact__form {
        padding-top: var(--spacing-7);
    }

    .section__contact .quform-loading {
        right: var(--spacing-4);
    }

    /* General */
    input[type="text"], input[type="email"], textarea, select {
        padding: 17px 15px 18px;
    }

    textarea, .quform-input-textarea {
        height: 210px;
    }

    .quform-upload-file {
        padding: 3px 8px 4px;
    }

    .quform-loading {
        height: 22px;
        width: 22px;
    }

}


@media all and (max-width: 991.98px) and (min-width: 414px) {

   .quform-input-file .quform-upload-dropzone-text {
        padding: 27px 15px 26px 70px;
        background-size: 20px;
        background-position: 26px 28px;
    }

    .section__contact .quform-element-submit button {
        padding: 17px 32px 16px;
    }

}


@media all and (max-width: 575.98px) {

    .section__contact .quform-element-group > .quform-spacer > .quform-child-elements > div {
        width: 100%;
    }

}


@media all and (max-width: 413.98px) {

    .quform-input-file .quform-upload-dropzone-text {
        padding: 27px 15px 26px 50px;
        background-size: 19px;
        background-position: 16px 28px;
    }

    .section__contact .quform-element-submit button {
        padding: 16px 32px 15px;
    }

}



/* ------------------------------ */
/* ----------- Buttons ---------- */
/* ------------------------------ */

.section > .section__button {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.button a, button, a.skip-link:focus-visible, a.skip-link:focus {
    position: relative;
    display: inline-block;
    font-weight: 300;
    line-height: var(--line-height-1);
    
    -webkit-transition: color var(--transition-2), background-color var(--transition-2);
    -o-transition: color var(--transition-2), background-color var(--transition-2);
    transition: color var(--transition-2), background-color var(--transition-2);
}

.button:not(.button--arrow) a, button, a.skip-link:focus-visible, a.skip-link:focus {
  font-size: var(--font-size-standard);
  border: 1px solid;
  border-radius: 54px;
}

button {
    cursor: pointer;
    color: var(--brand-dark-blue);
    background-color: transparent;
    border-color: var(--brand-dark-blue);
}

.button.button--ghost a, .button--ghost button {
    color: var(--brand-dark-blue);
    background-color: transparent;
    border-color: var(--brand-dark-blue);
}

.no-touchevents .button.button--ghost a:hover, .no-touchevents .button--ghost button:hover, .button.button--ghost a.is-active {
    color: var(--brand-white);
    background-color: var(--brand-dark-blue);
}

.button.button--filled a, .button--filled button, a.skip-link:focus-visible, a.skip-link:focus {
    color: var(--brand-white);
    background-color: var(--brand-dark-blue);
    border-color: var(--brand-dark-blue);
}

.no-touchevents .button.button--filled a:hover, .no-touchevents .button--filled button:hover {
    color: var(--brand-white);
    background-color: var(--brand-black);
    border-color: var(--brand-black);
}

.button.button--white a, .button--white button {
    color: var(--brand-white);
    border-color: var(--brand-white);
}



/* Arrow */
button.button--arrow, div.button--arrow > a {
    padding: 10px 10px 10px 47px;
    border: none;
    border-radius: 0 !important;
    -webkit-transition: padding-left var(--transition-1);
    -o-transition: padding-left var(--transition-1);
    transition: padding-left var(--transition-1);
}

.no-touchevents button.button--arrow:hover, .no-touchevents div.button--arrow > a:hover {
    padding-left: 55px;
}

button.button--arrow .icon, div.button--arrow > a .icon {
    position: absolute;
    left: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: left var(--transition-1);
    -o-transition: left var(--transition-1);
    transition: left var(--transition-1);
}

.no-touchevents button.button--arrow:hover .icon, .no-touchevents div.button--arrow > a:hover .icon {
    left: 8px;
}

button.button--arrow span, div.button--arrow > a span {
    font-size: var(--font-size-2);
}



/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 992px) {

    .button, button, .section > .section__button + .section__button .button {
        margin-top: var(--spacing-5);
    }

    .section > .section__button .button {
        margin-top: var(--spacing-8);
    }

    button.button--arrow {
      margin-top: var(--spacing-3);
    }

    div.button--arrow {
      margin-top: var(--spacing-4);
    }

    .button--arrow .icon {
        top: calc(50% + 1px);
    }

}

@media all and (min-width: 1240px) {

    .button:not(.button--arrow) a, button, a.skip-link:focus-visible, a.skip-link:focus {
        padding: 13px 35px 14px;
    }

}


@media all and (max-width: 1239.98px) and (min-width: 992px) {

    .button:not(.button--arrow) a, button, a.skip-link:focus-visible, a.skip-link:focus {
        padding: 12px 30px 13px;
    }

}


@media all and (max-width: 991.98px) {

    .button:not(.button--arrow) a, button, a.skip-link:focus-visible, a.skip-link:focus {
        padding: 12px 24px 11px;
    }

    .macos .button:not(.button--arrow) a, .macos button, .ios .button a, .ios button {
        padding-top: 11px;
        padding-bottom: 12px;
    }

    .section > .section__button .button {
        margin-top: var(--spacing-7);
    }

    .button, button {
        margin-top: var(--spacing-6);
    }

    .section > .section__button + .section__button .button {
        margin-top: var(--spacing-5);
    }

    .button--arrow {
        margin-top: var(--spacing-2);
    }

    div.button--arrow {
      margin-top: var(--spacing-3);
    }

    .button--arrow .icon {
        top: 50%;
    }

}



/* ------------------------------ */
/* ------------ Popup ----------- */
/* ------------------------------ */

body.hide-scrollbar {
    overflow: hidden;
}

.popup, .popup__overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.popup {
    z-index: -1;
    visibility: hidden;
    opacity: 0;
}

.popup__overlay {
    z-index: 5;
    opacity: 0;
    cursor: pointer;
    -webkit-transition: var(--transition-2);
    -o-transition: var(--transition-2);
    transition: var(--transition-2);
}

.popup .popup__row {
    position: relative;
    z-index: 10;
    height: 100%;
    margin: 0;
}

.popup.is-active:not(.hide) {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.popup__col {
    padding: 0;
}

.popup__container {
    position: relative;
    z-index: 10;
    margin-right: auto;
    margin-left: auto;
    text-align: left;

    visibility: hidden;
    opacity: 0;

    -webkit-transform: translate3d(0,var(--spacing-6),0);
    transform: translate3d(0,var(--spacing-6),0);

    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transition: opacity 1s, visibility 1s, transform 1s cubic-bezier(0,.55,.45,1);
    -o-transition: opacity 1s, visibility 1s, transform 1s cubic-bezier(0,.55,.45,1);
    -webkit-transition: opacity 1s, visibility 1s, -webkit-transform 1s cubic-bezier(0,.55,.45,1);
    transition: opacity 1s, visibility 1s, -webkit-transform 1s cubic-bezier(0,.55,.45,1);
    transition: opacity 1s, visibility 1s, transform 1s cubic-bezier(0,.55,.45,1);
    transition: opacity 1s, visibility 1s, transform 1s cubic-bezier(0,.55,.45,1), -webkit-transform 1s cubic-bezier(0,.55,.45,1);
}

.popup.is-active .popup__container {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: opacity,visibility,transform;
}

.popup__content {
    margin: 0;
}

.popup__container p:last-of-type {
    margin-bottom: 0;
}


/* Close */
.popup .popup__close {
    position: absolute;
    cursor: pointer;

    -webkit-transition: opacity var(--transition-2);
    -o-transition: opacity var(--transition-2);
    transition: opacity var(--transition-2);
}

.popup.is-active.hide .popup__close {
    opacity: 0;
    -webkit-transition-delay: unset;
         -o-transition-delay: unset;
            transition-delay: unset;
}

.no-touchevents .popup .popup__close:hover {
    opacity: var(--opacity-1);
}

.popup__close__button {
    position: relative;
    width: 100%;
    height: 100%;
}

.popup__close__button::before, .popup__close__button::after {
    content: "";
    position: absolute;
    width: 1px;
    background-color: var(--brand-dark-blue);
}

.popup .popup__close__button::before {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}

.popup .popup__close__button::after {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
}



/* Popup active */
.popup.is-active {
    visibility: visible;
    opacity: 1;
}

.popup.is-active {
    z-index: 105;
}

.popup.is-active .popup__container {
    -webkit-transition-delay: var(--transition-delay);
         -o-transition-delay: var(--transition-delay);
            transition-delay: var(--transition-delay);
}


/* Popup hide */
.popup.is-active.hide .popup__overlay {
    -webkit-transition-delay: var(--transition-delay);
         -o-transition-delay: var(--transition-delay);
            transition-delay: var(--transition-delay);
}

.popup.is-active.hide .popup__overlay, .popup.is-active.hide .popup__container {
    visibility: hidden;
    opacity: 0;
}

.popup.is-active.hide .popup__container {
    -webkit-transform: translate3d(0,var(--spacing-6),0);
    transform: translate3d(0,var(--spacing-6),0);
    -webkit-transition: var(--transition-2);
    -o-transition: var(--transition-2);
    transition: var(--transition-2);
    -webkit-transition-delay: unset;
         -o-transition-delay: unset;
            transition-delay: unset;
}


/* Project content */
.project__popup {
    background: var(--brand-white);
    -webkit-box-shadow: var(--box-shadow-1);
    box-shadow: var(--box-shadow-1);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.project__popup__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: var(--brand-dark-blue);
}

.project__popup__title {
    margin-bottom: calc(var(--spacing-3) + 4px);
}

.project__popup__content ul li {
  position: relative;
}

.project__popup__content ul li + li {
  margin-top: 7px;
}

.project__popup__content ul li::before {
    content: "";
    position: absolute;
    left: 0;
    background-color: var(--brand-dark-blue);
}





/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 992px) {

    .popup__container {
        margin-top: var(--spacing-6);
        margin-bottom: var(--spacing-6);
    }

    .project__popup__content ul li {
        padding-left: 24px;
    }

    .project__popup__content ul li::before {
        width: 12px;
        height: 2px;
    }

    .popup__overlay {
        background-color: var(--brand-dark-blue);
    }

    .popup.is-active .popup__overlay {
        opacity: .98;
    }

    .popup__close__button::before, .popup__close__button::after {
        top: -6px;
        left: 50%;
    }

}


@media all and (min-width: 1240px) {

    .project__popup__content {
        padding-top: var(--spacing-9);
        padding-bottom: var(--spacing-8);
    }

}


@media all and (min-width: 1400px) {

    .popup__container {
        padding: var(--spacing-7);
        max-width: calc(1400px + 2* var(--spacing-7));
    }

    .project__popup {
        padding: var(--spacing-5);
    }

    .project__popup__content {
        width: calc(100% - 595px);
        padding-right: var(--spacing-8);
    }

    .project__popup__content ul {
        margin-top: var(--spacing-5);
    }

    .project__popup__content ul li::before {
        top: 16px;
    }

    .project__popup__image {
        width: 595px;
    }

    .popup .popup__close {
        top: var(--spacing-7);
        left: var(--spacing-7);
        width: calc(var(--spacing-5) + 52px);
        height: calc(var(--spacing-5) + 52px);
    }

    .popup .popup__close__button {
        top: var(--spacing-5);
        left: var(--spacing-5);
        width: 32px;
        height: 32px;
    }

    .popup__close__button::before, .popup__close__button::after {
        height: 44px;
    }

}


@media all and (max-width: 1399.98px) and (min-width: 992px) {

    .project__popup {
        padding: var(--spacing-4) var(--spacing-4) var(--spacing-4) var(--spacing-5);
    }

}


@media all and (max-width: 1399.98px) and (min-width: 1240px) {

    .popup__container {
        padding: var(--spacing-6);
        max-width: calc(1400px + 2* var(--spacing-6));
    }

    .project__popup__content {
        width: 52%;
        padding-right: var(--spacing-7);
    }

    .project__popup__title {
        font-size: var(--font-size-6);
    }

    .project__popup__desc {
        font-size: calc(var(--font-size-4) - 2px);
    }

    .project__popup__content ul {
        margin-top: var(--spacing-4);
    }

    .project__popup__content ul li::before {
        top: 14px;
    }

    .project__popup__image {
        width: 48%;
    }

    .popup .popup__close {
        top: var(--spacing-6);
        left: var(--spacing-6);
        width: calc(var(--spacing-5) + 50px);
        height: calc(var(--spacing-5) + 50px);
    }

    .popup .popup__close__button {
        top: var(--spacing-5);
        left: var(--spacing-5);
        width: 30px;
        height: 30px;
    }

    .popup__close__button::before, .popup__close__button::after {
        height: 40px;
    }

}


@media all and (max-width: 1239.98px) and (min-width: 992px) {

    .popup__container {
        padding: var(--spacing-6);
        max-width: calc(1400px + 2* var(--spacing-6));
    }

    .project__popup__content {
        width: 55%;
        padding-top: var(--spacing-9);
        padding-bottom: var(--spacing-8);
        padding-right: var(--spacing-7);
    }

    .project__popup__title {
        font-size: var(--font-size-6);
    }

    .project__popup__desc {
        font-size: calc(var(--font-size-4) - 2px);
    }

    .project__popup__content ul {
        margin-top: var(--spacing-4);
    }

    .project__popup__content ul li::before {
        top: 14px;
    }

    .project__popup__image {
        position: relative;
        width: 45%;
    }

    .project__popup__image .picture_container {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
    }

    .project__popup__image .picture_container img {
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

    .popup .popup__close {
        top: var(--spacing-6);
        left: var(--spacing-6);
        width: calc(var(--spacing-5) + 40px);
        height: calc(var(--spacing-5) + 40px);
    }

    .popup .popup__close__button {
        top: var(--spacing-5);
        left: var(--spacing-5);
        width: 26px;
        height: 26px;
    }

    .popup__close__button::before, .popup__close__button::after {
        height: 36px;
    }

}


@media all and (max-width: 991.98px) {

    .popup__container {
        padding: 80px var(--spacing-6) var(--spacing-6);
        max-width: calc(700px + 2* var(--spacing-6));
    }

    .project__popup {
        background-color: var(--brand-light-grey);
    }

    .project__popup__content, .project__popup__image {
        width: 100%;
    }

    .project__popup__content {
        padding: var(--spacing-6) var(--spacing-6) var(--spacing-7);
    }

    .popup__overlay {
        background-color: var(--brand-white);
    }

    .popup.is-active .popup__overlay {
        opacity: 1;
    }

    .popup .popup__close {
        width: 80px;
        height: 80px;
        top: 0;
        right: calc(var(--spacing-6) / 2);
    }

    .popup__close__button::before, .popup__close__button::after {
        top: 20px;
        height: 30px;
    }

}


@media all and (max-width: 991.98px) and (min-width: 576px) {

    .project__popup__desc {
        font-size: calc(var(--font-size-4) - 2px);
    }

    .project__popup__content ul li {
        padding-left: 22px;
    }

    .project__popup__content ul li::before {
        width: 10px;
        height: 2px;
    }

}


@media all and (max-width: 991.98px) and (min-width: 768px) {

    .project__popup__content ul {
        margin-top: var(--spacing-4);
    }

    .project__popup__content ul li::before {
        top: 14px;
    }

    .popup__close__button::before, .popup__close__button::after {
        right: 28px;
    }

}


@media all and (max-width: 767.98px) and (min-width: 576px) {

    .project__popup__content ul {
        margin-top: var(--spacing-4);
    }

    .project__popup__content ul li::before {
        top: 12px;
    }

    .popup__close__button::before, .popup__close__button::after {
        right: 28px;
    }

}


@media all and (max-width: 575.98px) and (min-width: 414px) {

    .project__popup__content ul {
        margin-top: 20px;
    }

    .project__popup__content ul li::before {
        top: 10px;
    }

    .popup__close__button::before, .popup__close__button::after {
        right: 24px;
    }

}


@media all and (max-width: 575.98px) {

    .project__popup__desc {
        font-size: var(--font-size-3);
    }

    .project__popup__content ul li {
        padding-left: 21px;
    }

    .project__popup__content ul li::before {
        width: 9px;
        height: 1px;
    }

}


@media all and (max-width: 413.98px) {

    .project__popup__content ul {
        margin-top: var(--spacing-4);
    }

    .project__popup__content ul li::before {
        top: 10px;
    }

    .popup__close__button::before, .popup__close__button::after {
        right: 23px;
    }

}