/* ------------------------------ */
/* ----- Typography / Colors ---- */
/* ------------------------------ */

@font-face {
  font-family: 'Neue Haas Grotesk';
  font-weight: normal;
  font-style: normal;
  src: url('/wp-content/themes/augenweide_child/fonts/neue-haas-grotesk-regular.woff2') format('woff2'),
       url('/wp-content/themes/augenweide_child/fonts/neue-haas-grotesk-regular.woff') format('woff');
  font-display: swap;
}


@font-face {
  font-family: 'Neue Haas Grotesk';
  font-weight: bold;
  font-style: normal;
  src: url('/wp-content/themes/augenweide_child/fonts/neue-haas-grotesk-bold.woff2') format('woff2'),
       url('/wp-content/themes/augenweide_child/fonts/neue-haas-grotesk-bold.woff') format('woff');
  font-display: swap;
}



/* ------------------------------ */
/* ---------- Variables --------- */
/* ------------------------------ */

:root {
  /* Brand Fonts */
  --brand-font: 'Neue Haas Grotesk';

  /* Brand Colors*/
  --brand-black: #000000;
  --brand-beton-blue: #93B3BE;
  --brand-beton-blue-transparent: rgba(147,179,190,.1);
  --brand-salbei-green: #A4B3A5;
  --brand-altrose: #CA9A8F;
  --brand-light-grey: #ECEFEA;
  --brand-steel-grey: #61686F;
  --brand-white: #ffffff;
  
  /* Font Styling */
  --line-height-4: 1;
  --line-height-3: 1.2;
  --line-height-2: 1.3;
  --line-height-1: 1.5;

  /* Hover & Transition */
  --opacity-2: .7;
  --opacity-1: .55;
  --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: 1080px;
}


/* ------------------------------ */
/* ----------- General ---------- */
/* ------------------------------ */

::-moz-selection {
  color: var(--brand-white);
  background: var(--brand-black);
}

::selection {
  color: var(--brand-white);
  background: var(--brand-black);
}

::-moz-selection {
  color: var(--brand-white);
  background: var(--brand-black);
}

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 {
  color: var(--brand-beton-blue);
  background: var(--brand-white);
}

footer ::selection {
  color: var(--brand-beton-blue);
  background: var(--brand-white);
}

footer ::-moz-selection {
  color: var(--brand-beton-blue);
  background: var(--brand-white);
}

html {
  font-size: 20px;
}

body {
  font-family: var(--brand-font);
  font-size: var(--font-size-standard);
  line-height: var(--line-height-1);
  color: var(--brand-black);
  -webkit-tap-highlight-color: transparent;
}

.site_wrapper {
  background-color: var(--brand-white);
}

h1, .typography--h1, h2, .typography--h2, h3, .typography--h3 {
  font-weight: normal;
  line-height: var(--line-height-3);
  margin-bottom: var(--spacing-3);
}

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 {
  margin-top: 0;
}

h1, .typography--h1 {
  font-size: var(--font-size-7);
}

h2, .section__title h2, .section__text + .section__text h2:first-child {
  margin-top: var(--spacing-8);
}

h2, .typography--h2 {
  font-size: var(--font-size-6);
}

h3, .section__title h3, .section__text + .section__text h3:first-child {
  margin-top: var(--spacing-7);
}

h3, .typography--h3 {
  font-size: var(--font-size-5);
}

h4, .typography--h4, .typography--lead, .section__text--lead p {
  font-size: var(--font-size-4);
  font-weight: normal;
  line-height: var(--line-height-2);
}

h4 {
  margin-top: var(--spacing-6);
  margin-bottom: var(--spacing-2);
}

.typography--huge {
  font-size: var(--font-size-9);
}

.typography--big {
  font-size: var(--font-size-8);
}

.typography--copy {
  font-size: var(--font-size-standard);
}

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, main ul {
  margin: 0 0 var(--spacing-3-5);
}

p:last-child, ul:last-child {
  margin-bottom: 0;
}

b, strong {
  font-weight: bold;
}

main p + ul {
  margin-top: -5px;
}

main ul li {
  position: relative;
}

main ul li + li {
  margin-top: 10px;
}

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--color {
  background-color: var(--brand-black);
}

.section--light {
  background-color: var(--brand-grey);
}


/* 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 {
  position: absolute;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
  z-index: 10000;
  outline: unset !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;
  -webkit-transition: unset !important;
  -o-transition: unset !important;
  transition: unset !important;
}



/* ------------------------------ */
/* ----------- Layout ----------- */
/* ------------------------------ */

.section {
  position: relative;
}

.section:not(.section--small-gap):not(.section--no-gap):not(.section--cta) {
  padding-top: var(--spacing-12);
}

.section.section--small-gap {
  padding-top: var(--spacing-8);
}

.section.section--no-gap {
  padding-top: 0;
}

.header.header--no-cover + main .section.section--intro:first-child, .section.section--cta {
  padding-top: var(--spacing-6);
}

.header:not(.header--no-cover):not(.header--cover-extended) + main .section:first-child {
  padding-top: var(--spacing-7);
}

.section > div:not([class*="--full"]), .inside {
  margin-right: auto;
  margin-left: auto;
}

.section > div:not([class*="--full"]), .inside:not(.inside--medium) {
  max-width: 1716px;
}

.section > .section__cta + div {
  padding-top: var(--spacing-12) !important;
}

.section > .section__contact {
  padding-top: var(--spacing-11);
}

.section > div:first-child {
  padding-top: 0 !important;
}

.section:last-child > div:not(.section__googlemaps):last-child {
  padding-bottom: calc(var(--spacing-12) + 5vw);
}

.section__row > .row > div > div {
  padding-top: var(--spacing-7);
}

.section__row > .row > div > div:first-child {
  padding-top: 0;
}

.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%;
}

.picture_container--hover img {
  -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 .picture_container--hover:hover img {
  -webkit-transform: scale(1.025);
      -ms-transform: scale(1.025);
          transform: scale(1.025);
}

.picture_description {
  font-size: var(--font-size-0-5);
  margin-top: var(--spacing-2);
}


/* LazyLoad */
img[data-lazy-src] {
  opacity: 0;
}

img.lazyloaded {
  -webkit-transition: opacity .25s linear;
  -o-transition: opacity .25s linear;
  transition: opacity .25s linear;
  opacity: 1;
}


/* 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;
}


/* Media Position */
.picture_container--center-center img, .video_container--center-center video {
  -o-object-position: center center;
     object-position: center center;
}

.picture_container--left-center img, .video_container--left-center video {
  -o-object-position: left center;
    object-position: left center;
}

.picture_container--right-center img, .video_container--right-center video {
  -o-object-position: right center;
    object-position: right center;
}

.picture_container--center-top img, .video_container--center-top video {
  -o-object-position: center top;
     object-position: center top;
}

.picture_container--left-top img, .video_container--left-top video {
  -o-object-position: left top;
    object-position: left top;
}

.picture_container--right-top img, .video_container--right-top video {
  -o-object-position: right top;
    object-position: right top;
}

.picture_container--center-bottom img, .video_container--center-bottom video {
  -o-object-position: center bottom;
     object-position: center bottom;
}

.picture_container--left-bottom img, .video_container--left-bottom video {
  -o-object-position: left bottom;
    object-position: left bottom;
}

.picture_container--right-bottom img, .video_container--right-bottom video {
  -o-object-position: right bottom;
    object-position: right bottom;
}


/* iFrames */
.iframe_container {
  position: relative;
  overflow: hidden;
}

.iframe_container iframe {
  max-width: 100%;
}


/* ------------------------------ */
/* ------------ SVG ------------ */
/* ------------------------------ */

.icon--arrow {
  height: 28px;
  width: 38px;
  stroke: var(--brand-black);
  stroke-miterlimit: 10;
}

.icon--arrow-back {
  height: 19px;
  width: 25px;
  stroke: var(--brand-black);
  stroke-miterlimit: 10;
}

.icon--go_top {
  height: 22px;
  width: 17px;
  fill: none;
  stroke-miterlimit: 10;
}

svg.icon--banner {
  height: 453px;
  width: 297px;
}

.seperator_container {
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

svg.seperator {
  width: 100%;
  aspect-ratio: 1728 / 493;
}

svg.seperator--white {
  fill: var(--brand-white);
}

svg.seperator--blue {
  fill: var(--brand-beton-blue);
}

svg.logo_banner {
  width: 100%;
  aspect-ratio: 1728 / 425;
}



/* ------------------------------ */
/* ---------- 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 all and (min-width: 768px) {

  .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);}

}


@media all and (max-width: 767.98px) {

  .intro-animation-mobile {
      opacity: 0;
  }

  .intro-animation-mobile, .intro-animation--bottom, .intro-animation--top, .intro-animation--left, .intro-animation--right {
      -webkit-transform: translate3d(0, var(--spacing-5), 0);
      transform: translate3d(0, var(--spacing-5), 0);
  }

}



/* ------------------------------ */
/* ------------ 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;
}



/* ------------------------------ */
/* ------------ Text ------------ */
/* ------------------------------ */

.section > .section__text--lead + .section__text:not(.section__text--lead) {
  padding-top: var(--spacing-5) !important;
}

.section__text--lead h1, .section__text--lead h2, .section__text--lead h3 {
  margin-bottom: var(--spacing-3-5);
}

.section__text .text--form {
  position: relative;
}

.section__text .text--form img + h1, .section__text .text--form img + h2, .section__text .text--form img + h3 {
  margin-top: 0;
}



/* ------------------------------ */
/* ---- Aufzählung & Fakten ----- */
/* ------------------------------ */

.section > .section__text + .section__list {
  padding-top: var(--spacing-8) !important;
}

.list__item, .fact {
  border-bottom: 1px solid var(--brand-black);
}

.list__item:first-child, .fact:first-child {
  border-top: 1px solid var(--brand-black);
}

.list__item p {
  font-size: var(--font-size-3);
}

.fact {
  max-width: 1012px;
}

.fact__number {
  font-size: var(--font-size-9);
  line-height: 1;
}

.fact__desc {
  font-size: var(--font-size-2);
}



/* ------------------------------ */
/* ----------- Banner ----------- */
/* ------------------------------ */

.section > .section__banner {
  margin-top: var(--spacing-9);
}

.header--cover-extended + main .section:first-child > .section__banner {
  margin-top: calc(-1 * var(--spacing-12));
  padding-top: 0;
}

.banner {
  position: relative;
}

.banner .banner__media {
  position: relative;
  height: 100%;
  width: 100%;
}
    
.banner__illu {
  position: absolute;
  width: 100%;
  left: 0;
  line-height: 0;
}



/* ------------------------------ */
/* ------------- CTA ------------ */
/* ------------------------------ */

.section > .section__cta {
  padding-top: 0;
}

.section__cta .cta_banner {
  margin-top: var(--spacing-12);
}

.section__projects + .section__cta .cta, .section__news + .section__cta .cta {
  margin-top: var(--spacing-11);
}



/* ------------------------------ */
/* ---- Aktuelles & Projekte ---- */
/* ------------------------------ */

/* General */
.news__item__info h2 {
  margin-top: var(--spacing-3);
}


/* Projekte */
.project img {
  width: 100%;
}



/* Aktuelles */
.news__item__info .meta {
  display: block;
  font-size: var(--font-size-2);
}


/* Detail */
.section__intro > .intro {
  margin-top: var(--spacing-6);
}

.intro__title h1 {
  margin-bottom: 0;
  word-break: break-word;
}

.intro__title .meta {
  display: block;
  letter-spacing: 2px;
}



/* ------------------------------ */
/* ------- Projekte-Slider ------ */
/* ------------------------------ */

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.swiper-container {
  overflow: hidden;
  background-color: var(--brand-beton-blue-transparent);
}

.swiper-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--brand-white);
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  -o-transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-vertical {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

.swiper-slide {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: 100%;
  width: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-button {
  cursor: pointer;
  position: absolute;
  z-index: 2;
  text-transform: uppercase;

  opacity: 1;
  -webkit-transition: opacity var(--transition-1);
  -o-transition: opacity var(--transition-1);
  transition: opacity var(--transition-1);
}

.swiper-button-disabled {
  opacity: 0;
}

.button.button--swiper > span {
  display: block;
  margin-bottom: var(--spacing-1);
}

.swiper-button-prev svg, .swiper-button-next svg {
  position: relative;
}


/* Content */
.swiper-slide-row .image {
  position: relative;
}

.swiper-slide-left .content {
  font-size: var(--font-size-2);
}

.swiper-slide-left .content p {
  margin-bottom: var(--spacing-2);
}

.swiper-slide-right .image--2 {
  display: inline-block;
}

.swiper-slide-right .image--3 {
  text-align: right;
}



/* ------------------------------ */
/* ------------ Team ------------ */
/* ------------------------------ */

.person__info p {
  margin-bottom: var(--spacing-2);
  line-height: var(--line-height-3);
}

.person__info a {
  font-size: var(--font-size-2);
  display: block;

  -webkit-transition: opacity var(--transition-2);

  -o-transition: opacity var(--transition-2);

  transition: opacity var(--transition-2);
}

.no-touchevents .person__info a:hover {
  opacity: var(--opacity-1);
}



/* ------------------------------ */
/* -------- Social Feed --------- */
/* ------------------------------ */

.section > .section__social_feed {
  padding-top: var(--spacing-6);
}


/* ------------------------------ */
/* -------- Google Maps --------- */
/* ------------------------------ */

.googlemaps {
  height: 60vh;
  height: 60svh;
  width: 100%;
}

.gm-style-cc {
  display: none;
}



/* ------------------------------ */
/* ------------ Footer ---------- */
/* ------------------------------ */

/* General */
footer {
  font-size: var(--font-size-1);
  background-color: var(--brand-beton-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-1);
}

footer > .seperator_container svg {
  margin-top: -5vw;
}

.footer__inside {
  padding-top: var(--spacing-8);
  padding-bottom: var(--spacing-7);
}

footer svg.logo {
  fill: var(--brand-white);
}

.no-touchevents .footer__logo a:hover {
  opacity: 1;
}

.footer__social a {
  position: relative;
  display: block;
  line-height: 0;
}

.footer__social svg {
  fill: var(--brand-white);
}

.footer__right {
  position: relative;
}

.footer__right span, .footer__right a {
  color: rgba(255,255,255,.5);
}

.footer__right span {
  display: block;
}

.no-touchevents .footer__right a:hover {
  color: var(--brand-white);
  opacity: 1;
}

.footer__go_top a {
  position: relative;
  top: 6px;
  display: inline-block;
  width: 44px;
  height: 44px;
  background-color: var(--brand-white);
  border-radius: 50%;

  -webkit-transition: top var(--transition-2);

  -o-transition: top var(--transition-2);

  transition: top var(--transition-2);
}

.no-touchevents .footer__go_top a:hover {
  top: 0;
}

.footer__go_top a svg {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  stroke: var(--brand-beton-blue);
}



/* ------------------------------ */
/* ----- Cookie Notification ---- */
/* ------------------------------ */

.cookie_box {
  position: fixed;
  z-index: 15;
  left: calc(50% - var(--spacing-2));
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  background: var(--brand-white);
  
  -webkit-transition: bottom 1s cubic-bezier(0,.55,.45,1);
  -o-transition: bottom 1s cubic-bezier(0,.55,.45,1);
  transition: bottom 1s cubic-bezier(0,.55,.45,1);
}
    
.cookie_box, .cookie_box.hide {
  bottom: -160px;
}
    
.cookie_box.is-active {
  bottom: 0;
}
    
.cookie_box a {
  border-bottom: 1px solid;
  
  -webkit-transition: opacity var(--transition-2);
  -o-transition: opacity var(--transition-2);
  transition: opacity var(--transition-2);
}

.no-touchevents .cookie_box a:hover {
  opacity: var(--opacity-1);
}




/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 414px) {

  .news__item__info .meta {
    margin-top: var(--spacing-3);
  }

}


@media all and (min-width: 576px) {

  .person__info {
    margin-top: var(--spacing-3);
  }

  .footer__copyright {
    margin-right: var(--spacing-6);
  }

}


@media all and (min-width: 768px) {

  main ul li::before {
    height: 2px;
  }

  .banner {
    height: 100vh;
    height: 100svh;
  }

  .project h2 {
    margin-top: var(--spacing-3-5);
  }

  .swiper-button-prev {
    bottom: var(--spacing-9);
    padding-left: 8px;
    text-align: left;
  }

  .swiper-button-next {
    bottom: var(--spacing-9);
    padding-right: 8px;
    text-align: right;
  }

  .swiper-button-prev svg {
    left: 0;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);

    -webkit-transition: left var(--transition-2);
    -o-transition: left var(--transition-2);
    transition: left var(--transition-2);
  }

  .no-touchevents .swiper-button-prev:hover svg {
    left: -8px;
  }

  .swiper-button-next svg {
    right: 0;

    -webkit-transition: right var(--transition-2);
    -o-transition: right var(--transition-2);
    transition: right var(--transition-2);
  }

  .no-touchevents .swiper-button-next:hover svg {
    right: -8px;
  }

  .footer__social svg {
    height: 25px;
    width: 25px;
  }

  .cookie_box {
    border: 1px solid var(--brand-black);
  }

  .cookie_box__content, .cookie_box__button button {
    font-size: var(--font-size-1);
  }

}


@media all and (min-width: 992px) {

  .section__text .text--form img {
    position: absolute;
    top: 4px;
  }

  .section__cta .cta {
    margin-top: var(--spacing-8-5);
  }

  .section.section--intro + .section {
    padding-top: var(--spacing-10) !important;
  }

}


@media all and (min-width: 1240px) {

  :root {
    --spacing-3: 20px;
    --spacing-2: 15px;
    --spacing-1: 10px;
  }

  .section > div:not([class*="--full"]), .inside {
    padding-right: var(--spacing-8);
    padding-left: var(--spacing-8);
  }

  .section__text .text--form img {
    left: calc(-1 * var(--spacing-8));
  }

  .fact > div {
    width: 50%;
  }

  .news {
    margin: -10px;
  }

  .news .news__item {
    padding: 10px;
  }

}


@media all and (min-width: 1400px) {

  :root {
    --font-size-6: 54px;
    --font-size-5: 44px;
    --font-size-4: 35px;
    --font-size-3: 30px;
    --font-size-2: 20px;
    --font-size-1: 18px;
    --font-size-0-5: 16px;
    --font-size-standard: 24px;

    --height-header: 120px;
  }

  svg.logo {
    width: 173px;
    height: 38px;
  }

  main ul li {
    padding-left: 30px;
  }

  main ul li::before {
    top: 16px;
    width: 12px;
  }

  .firefox  main ul li::before {
    margin-top: 1px;
  }

  .section > div:not(.section__banner):not(.section__cta):not(.section__button):not(.section__contact):not(.section__social_feed) {
    padding-top: var(--spacing-9);
  }

  .section > .section__banner--full + .section__text--lead.section__text--indent {
    padding-top: var(--spacing-8) !important;
  }

  .banner__illu {
    bottom: -260px;
  }

  .list__item {
    padding: 28px 0 26px;
  }

  .firefox .list__item {
    padding-top: 27px;
    padding-bottom: 27px;
  }

  .projects .project:nth-child(n+3), .news .news__item:nth-child(n+4) {
    margin-top: var(--spacing-8);
  }

  .swiper-container::before {
    height: var(--spacing-6);
  }

  .swiper-slide-row {
    padding-bottom: var(--spacing-8);
  }

  .swiper-slide-left .content {
    float: right;
    max-width: 380px;
    margin-top: var(--spacing-3-5);
  }

  .swiper-slide-left h2 {
    position: absolute;
    max-width: 410px;
    margin-bottom: 0;
  }

  .intro__title .meta {
    margin-bottom: calc(1.25 * var(--spacing-3));
  }

  .section__intro .button--back {
    padding-left: var(--spacing-8);
  }

  .news__item__info .meta {
    letter-spacing: 2px;
  }

  .team .person:nth-child(n+5) {
    margin-top: var(--spacing-5);
  }

  .googlemaps {
    min-height: 500px;
    max-height: 700px;
  }

  .footer__address {
    margin-left: var(--spacing-6);
    margin-right: var(--spacing-4);
  }

  .footer__social a {
    top: 14px;
  }

  .cookie_box {
    width: calc(100% - 26px);
    max-width: 748px;
    padding: 23px 26px 26px;
    margin: 26px 10px;
  }

  .cookie_box__content {
    max-width: 570px;
  }

}


@media all and (min-width: 1600px) {

  :root {
    /* Font Styling */
    --font-size-9: 150px;
    --font-size-8: 78px;
    --font-size-7: 68px;

    /* Spacing */
    --spacing-12: 220px;
    --spacing-11: 180px;
    --spacing-10: 160px;
    --spacing-9: 140px;
    --spacing-8-5: 120px;
    --spacing-8: 100px;
    --spacing-7: 80px;
    --spacing-6: 60px;
    --spacing-5: 50px;
    --spacing-4: 40px;
    --spacing-3-5: 32px;
  }

  .header.header--no-cover + main .section:not(.section--intro):first-child {
    padding-top: var(--spacing-8);
  }

  .banner--form {
    margin-bottom: 260px;
  }

  .fact {
    padding: 15px 0 18px;
  }

  .fact__desc {
    padding-top: 18px;
  }

  .images--v1 > .image:first-child {
    margin-right: 86px;
  }

  .images--v2 > .image:first-child {
    margin-right: 44px;
    margin-bottom: 70px;
  }

  .images--v3 > .image:first-child {
    margin-right: 90px;
    margin-bottom: 138px;
  }

  .images--v3 > .image:last-child {
    margin-top: -80px;
    margin-right: 286px;
  }

  .swiper-slide-right .image--3 {
    margin-bottom: var(--spacing-8-5);
  }

  .swiper-button-prev {
    left: calc(var(--spacing-7) - 8px);
  }

  .swiper-button-next {
    right: calc(var(--spacing-7) - 8px);
  }

  .project:nth-child(2n) {
    padding-left: var(--spacing-5);
  }

  .project:first-child, .project:nth-child(2n+1) {
    padding-right: var(--spacing-5);
  }

  .team, .news {
    margin: -10px;
  }

  .team > .person, .news .news__item {
    padding: 10px;
  }

}


@media all and (min-width: 1720px) {

  .inside--medium {
    padding-left: calc(1.4 * var(--spacing-8));
    padding-right: calc(1.4 * var(--spacing-8));
  }

  .banner__illu__container svg {
    margin-left: calc(1.4 * var(--spacing-8));
  }

  .section > div[class*="--indent"] > div, .section__cta > .cta {
    padding-left: calc(2.4 * var(--spacing-8));
  }

  .section__cta > .cta {
    padding-right: calc(2.4 * var(--spacing-8));
  }

  .section > div[class*="--indent-big"] > div, .section__text .text--form {
    padding-left: calc(3.9 * var(--spacing-8));
  }

  .section__text .text--form img {
    max-width: 413px;
  }

  .section__text .text--form {
    padding-top: var(--spacing-7);
  }

  .section__banner > .banner {
    max-height: 1440px;
    min-height: 900px;
  }

  .swiper-slide-left {
    width: 742px;
  }

  .swiper-slide-left h2 {
    bottom: 571px;
    left: 895px;
  }

  .swiper-slide-right {
    width: calc(100% - 742px);
    padding-left: var(--spacing-8);
  }

  .swiper-slide-right .image--3 {
    right: calc(-1 * var(--spacing-4));
  }

  .swiper-slide-right .image--3 img {
    max-width: 280px;
  }

  .intro__image {
    width: 742px;
  }

  .intro__title {
    width: calc(100% - 742px);
    padding-left: var(--spacing-8);
  }

  .footer__social {
    margin-left: var(--spacing-9);
  }

}


@media all and (max-width: 1719.98px) and (min-width: 1600px) {

  .inside--medium {
    padding-left: calc(1.2 * var(--spacing-8));
    padding-right: calc(1.2 * var(--spacing-8));
  }

  .banner__illu__container svg {
    margin-left: calc(1.2 * var(--spacing-8));
  }

  .section > div[class*="--indent"] > div, .section__cta > .cta {
    padding-left: calc(2.2 * var(--spacing-8));
  }

  .section__cta > .cta {
    padding-right: calc(2.2 * var(--spacing-8));
  }  

  .section > div[class*="--indent-big"] > div, .section__text .text--form {
    padding-left: calc(3.7 * var(--spacing-8));
  }

  .section__text .text--form img {
    max-width: 392px;
  }

  .section__text .text--form {
    padding-top: 74px;
  }

  .swiper-slide-left {
    width: 705px;
  }

  .swiper-slide-left h2 {
    bottom: 542px;
    left: 850px;
  }

  .swiper-slide-right {
    width: calc(100% - 705px);
    padding-left: var(--spacing-7);
  }

  .swiper-slide-right .image--2 img {
    max-width: 490px;
  }

  .swiper-slide-right .image--3 {
    right: calc(-1 * var(--spacing-5));
  }

  .swiper-slide-right .image--3 img {
    max-width: 252px;
  }

  .intro__image {
    width: 705px;
  }

  .intro__title {
    width: calc(100% - 705px);
    padding-left: var(--spacing-7);
  }

  .footer__social {
    margin-left: var(--spacing-8);
  }

}


@media all and (max-width: 1719.98px) and (min-width: 1400px) {

  .section__banner > .banner {
    max-height: 1080px;
    min-height: 800px;
  }

}


@media all and (max-width: 1599.98px) {

  .banner__illu__container svg {
    -webkit-transform-origin: left;
        -ms-transform-origin: left;
            transform-origin: left;
  }

}


@media all and (max-width: 1599.98px) and (min-width: 1400px) {

  :root {
    /* Font Styling */
    --font-size-9: 140px;
    --font-size-8: 72px;
    --font-size-7: 62px;

    /* Spacing */
    --spacing-12: 190px;
    --spacing-11: 160px;
    --spacing-10: 140px;
    --spacing-9: 120px;
    --spacing-8-5: 100px;
    --spacing-8: 80px;
    --spacing-7: 70px;
    --spacing-6: 52px;
    --spacing-5: 44px;
    --spacing-4: 36px;
    --spacing-3-5: 28px;
  }

  .header.header--no-cover + main .section:not(.section--intro):first-child {
    padding-top: var(--spacing-8-5);
  }

  .inside--medium {
    padding-left: calc(1.4 * var(--spacing-8));
    padding-right: calc(1.4 * var(--spacing-8));
  }

  .banner--form {
    margin-bottom: 248px;
  }

  .banner__illu__container svg {
    margin-left: calc(1.4 * var(--spacing-8));
    -webkit-transform: scale(.95);
        -ms-transform: scale(.95);
            transform: scale(.95);
  }

  .section > div[class*="--indent"] > div, .section__cta > .cta {
    padding-left: calc(2.4 * var(--spacing-8));
  }

  .section__cta > .cta {
    padding-right: calc(2.4 * var(--spacing-8));
  }

  .section > div[class*="--indent-big"] > div, .section__text .text--form {
    padding-left: calc(3.9 * var(--spacing-8));
  }

  .fact {
    padding: 18px 0 22px;
  }

  .fact__desc {
    padding-top: 16px;
  }

  .section__text .text--form img {
    max-width: 351px;
  }

  .section__text .text--form {
    padding-top: 62px;
  }

  .swiper-slide-left {
    width: 594px;
  }

  .swiper-slide-left h2 {
    bottom: 458px;
    left: 710px;
  }

  .swiper-slide-right {
    width: calc(100% - 594px);
    padding-left: var(--spacing-8);
  }

  .swiper-slide-right .image--2 img {
    max-width: 413px;
  }

  .swiper-slide-right .image--3 {
    right: calc(-1 * var(--spacing-4));
    margin-bottom: var(--spacing-11);
  }

  .swiper-slide-right .image--3 img {
    max-width: 196px;
  }

  .swiper-button-prev {
    left: calc(var(--spacing-6) - 8px);
  }

  .swiper-button-next {
    right: calc(var(--spacing-6) - 8px);
  }

  .intro__image {
    width: 668px;
  }

  .intro__title {
    width: calc(100% - 668px);
    padding-left: var(--spacing-7);
  }

  .images--v1 > .image:first-child {
    margin-right: 77px;
  }

  .images--v1 > .image:first-child img {
    max-width: 355px;
  }

  .images--v1 > .image:last-child img {
    max-width: 698px;
  }

  .images--v2 > .image:first-child {
    margin-right: 40px;
    margin-bottom: 66px;
  }

  .images--v2 > .image:first-child img {
    max-width: 710px;
  }

  .images--v2 > .image:last-child img {
    max-width: 475px;
  }

  .images--v3 > .image:first-child {
    margin-right: 81px;
    margin-bottom: 131px;
  }

  .images--v3 > .image:first-child img {
    max-width: 627px;
  }

  .images--v3 > .image:nth-child(2) img {
    max-width: 490px;
  }

  .images--v3 > .image:last-child {
    margin-top: -76px;
    margin-right: 272px;
  }

  .images--v3 > .image:last-child img {
    max-width: 380px;
  }

  .project:nth-child(2n) {
    padding-left: var(--spacing-4);
  }

  .project:first-child, .project:nth-child(2n+1) {
    padding-right: var(--spacing-4);
  }

  .team {
    margin: -8px;
  }

  .team > .person {
    padding: 8px;
  }

  .footer__social {
    margin-left: var(--spacing-7);
  }

}


@media all and (max-width: 1449.98px) and (min-width: 1400px) {

  .footer__social {
    margin-left: var(--spacing-6);
  }

}


@media all and (max-width: 1399.98px) {

  .list__item p br {
    display: none;
  }

}


@media all and (max-width: 1399.98px) and (min-width: 768px) {

  svg.logo {
    width: 164px;
    height: 36px;
  }

  .swiper-slide-left, .swiper-slide-right {
    width: 50%;
  }

}


@media all and (max-width: 1399.98px) and (min-width: 992px) {  

  :root {
    --font-size-2: 19px;
    --font-size-1: 17px;
    --font-size-0-5: 15px;
    --font-size-standard: 22px;

    --height-header: 117px;
  }

  main ul li {
    padding-left: 26px;
  }

  main ul li::before {
    top: 16px;
    width: 11px;
  }

  .header.header--no-cover + main .section:not(.section--intro):first-child {
    padding-top: var(--spacing-8-5);
  }

  .section > div:not(.section__banner):not(.section__cta):not(.section__button):not(.section__contact):not(.section__social_feed) {
    padding-top: var(--spacing-10);
  }

  .section > .section__banner--full + .section__text--lead.section__text--indent {
    padding-top: var(--spacing-8-5) !important;
  }

  .inside.inside--medium {
    padding-left: calc(1.4 * var(--spacing-8));
    padding-right: calc(1.4 * var(--spacing-8));
  }

  .banner__illu__container svg {
    margin-left: calc(1.4 * var(--spacing-8));
  }

  .section > div[class*="--indent"] > div, .section__cta > .cta {
    padding-left: calc(2.4 * var(--spacing-8));
  }

  .section__cta > .cta {
    padding-right: calc(2.4 * var(--spacing-8));
  }

  .section > div[class*="--indent-big"] > div, .section__text .text--form {
    padding-left: calc(3.9 * var(--spacing-8));
  }

  .section__banner > .banner {
    max-height: 900px;
    min-height: 700px;
  }

  .intro__title h1 br {
    display: none;
  }

  .project:nth-child(2n) {
    padding-left: var(--spacing-3-5);
  }

  .project:first-child, .project:nth-child(2n+1) {
    padding-right: var(--spacing-3-5);
  }

  .swiper-container::before {
    height: var(--spacing-7);
  }

  .swiper-container::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--brand-white);
    height: 44px;
  }

  .swiper-slide-left .image--1 {
    text-align: right;
  }

  .swiper-slide-right .image--2 {
    position: absolute;
    bottom: 0;
  }

  .projects .project:nth-child(n+3) {
    margin-top: var(--spacing-8);
  }

  .news .news__item:nth-child(n+4) {
    margin-top: var(--spacing-7);
  }

  .news__item__info .meta {
    letter-spacing: 1.9px;
  }

  .intro__title h1 {
    font-size: var(--font-size-6);
  }

  .googlemaps {
    min-height: 400px;
    max-height: 600px;
  }

  .footer__left {
    width: 100%;
    margin-bottom: var(--spacing-4);
  }

  .footer__social {
    margin-left: var(--spacing-7);
  }

  .footer__social a {
    top: 13px;
  }

  .footer__address {
    margin-left: var(--spacing-7);
    margin-right: var(--spacing-5);
  }

  .footer__middle ul {
    margin-left: calc(164px + var(--spacing-7));
  }

  .footer__right {
    padding-left: var(--spacing-5);

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .cookie_box {
    max-width: 700px;
    padding: 20px 22px 22px;
  }

   .cookie_box {
    width: calc(100% - 22px);
    max-width: 700px;
    padding: 20px 22px 22px;
    margin: 22px 10px;
  }

  .cookie_box__content {
    max-width: 540px;
  }

}


@media all and (max-width: 1399.98px) and (min-width: 1240px) {

  :root {
    /* Font Styling */
    --font-size-9: 130px;
    --font-size-8: 68px;
    --font-size-7: 58px;
    --font-size-6: 50px;
    --font-size-5: 40px;
    --font-size-4: 32px;
    --font-size-3: 28px;

    /* Spacing */
    --spacing-12: 170px;
    --spacing-11: 140px;
    --spacing-10: 124px;
    --spacing-9: 110px;
    --spacing-8-5: 90px;
    --spacing-8: 74px;
    --spacing-7: 64px;
    --spacing-6: 48px;
    --spacing-5: 40px;
    --spacing-4: 32px;
    --spacing-3-5: 24px;
  }

  .list__item {
    padding: 23px 0 22px;
  }

  .fact {
    padding: 14px 0 15px;
  }

  .firefox .fact {
    padding-top: 13px;
    padding-bottom: 16px;
  }

  .fact__desc {
    padding-top: 14px;
  }

  .section__text .text--form {
    padding-top: 53px;
  }

  .section__text .text--form img {
    max-width: 310px;
  }

  .images--v1 > .image:first-child {
    margin-right: var(--spacing-7);
  }

  .images--v1 > .image:first-child img {
    max-width: 299px;
  }

  .images--v1 > .image:last-child img {
    max-width: 588px;
  }

  .images--v2 > .image:first-child {
    margin-right: var(--spacing-4);
    margin-bottom: var(--spacing-7);
  }

  .images--v2 > .image:first-child img {
    max-width: 598px;
  }

  .images--v2 > .image:last-child img {
    max-width: 400px;
  }

  .images--v3 > .image:first-child {
    margin-right: 89px;
    margin-bottom: var(--spacing-9);
  }

  .images--v3 > .image:first-child img {
    max-width: 528px;
  }

  .images--v3 > .image:nth-child(2) img {
    max-width: 413px;
  }

  .images--v3 > .image:last-child {
    margin-top: -76px;
    margin-right: 225px;
  }

  .images--v3 > .image:last-child img {
    max-width: 320px;
  }

  .banner--form {
    margin-bottom: 197px;
  }

  .banner__illu {
    bottom: -255px;
  }

  .banner__illu__container svg {
    -webkit-transform: scale(.75);
        -ms-transform: scale(.75);
            transform: scale(.75);
  }

  .swiper-slide-left .content {
    max-width: 410px;
    margin-bottom: 250px;
  }

  .swiper-slide-left .content h2 {
    margin-top: var(--spacing-6);
  }

  .swiper-slide-left .image--1 {
    margin-right: -168px;
  }
  
  .swiper-slide-left .image--1 img {
    max-width: 445px;
  }

  .swiper-slide-right .image--2 {
    margin-left: -55px;
  }

  .swiper-slide-right .image--2 img {
    max-width: 413px;
  }

  .swiper-slide-right .image--3 {
    margin-top: 200px;
    margin-left: -20px;
  }

  .swiper-slide-right .image--3 img {
    max-width: 280px;
  }

  .swiper-button-prev {
    left: 65px;
  }
  
  .swiper-button-next {
    right: 65px;
  }

  .swiper-button-prev, .swiper-button-next {
    bottom: 100px;
  }

  .section__intro .button--back {
    padding-left: var(--spacing-7);
  }

  .intro__image {
    width: 556px;
  }

  .intro__title {
    width: calc(100% - 556px);
    padding-left: var(--spacing-6);
  }

  .intro__title .meta {
    margin-bottom: var(--spacing-3);
  }

  .team .person:nth-child(n+4) {
    margin-top: var(--spacing-6);
  }

  .team {
    margin: -10px;
  }

  .team > .person {
    padding: 10px;
  }

  .footer__middle {
    width: 436px;
  }

  .footer__right {
    width: calc(100% - 436px);
  }

}


@media all and (max-width: 1239.98px) {

  .contact.inside.inside--medium {
    padding-right: 0;
    padding-left: 0;
  }

  .section__intro > .intro {
    -webkit-transition-delay: unset !important;
    -o-transition-delay: unset !important;
    transition-delay: unset !important;
  }

}


@media all and (max-width: 1239.98px) and (min-width: 992px) {

  :root {
    /* Font Styling */
    --font-size-9: 110px;
    --font-size-8: 60px;
    --font-size-7: 50px;
    --font-size-6: 46px;
    --font-size-5: 38px;
    --font-size-4: 30px;
    --font-size-3: 26px;

    /* Spacing */
    --spacing-12: 150px;
    --spacing-11: 120px;
    --spacing-10: 114px;
    --spacing-9: 100px;
    --spacing-8-5: 80px;
    --spacing-8: 66px;
    --spacing-7: 56px;
    --spacing-6: 44px;
    --spacing-5: 36px;
    --spacing-4: 28px;
    --spacing-3-5: 22px;
    --spacing-3: 18px;
    --spacing-2: 14px;
    --spacing-1: 10px;
  }

  .section > div:not([class*="--full"]), .inside:not(.inside--medium) {
    padding-right: var(--spacing-7);
    padding-left: var(--spacing-7);
  }

  body.single .section > div[class*="--indent-big"] > div {
    padding-left: calc(2.4 * var(--spacing-8));
  }

  .list__item {
    padding: 22px 0;
  }

  .fact {
    padding: 17px 0 19px;
  }

  .firefox .fact {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .fact__number {
    width: 52%;
  }

  .fact__desc {
    width: 48%;
    padding-top: 12px;
  }

  .section__banner > .banner {
    max-height: 800px;
    min-height: 700px;
  }

  .section__text .text--form {
    padding-top: 44px;
  }

  .section__text .text--form img {
    max-width: 268px;
    left: calc(-1 * var(--spacing-7));
  }

  .images--v1 > .image:first-child {
    margin-right: var(--spacing-7);
  }

  .images--v1 > .image:first-child img {
    max-width: 243px;
  }

  .images--v1 > .image:last-child img {
    max-width: 478px;
  }

  .images--v2 > .image:first-child {
    margin-right: var(--spacing-4);
    margin-bottom: var(--spacing-7);
  }

  .images--v2 > .image:first-child img {
    max-width: 486px;
  }

  .images--v2 > .image:last-child img {
    max-width: 325px;
  }

  .images--v3 > .image:first-child {
    margin-right: 50px;
    margin-bottom: var(--spacing-10);
  }

  .images--v3 > .image:first-child img {
    max-width: 429px;
  }

  .images--v3 > .image:nth-child(2) img {
    max-width: 335px;
  }

  .images--v3 > .image:last-child {
    margin-top: -76px;
    margin-right: 185px;
  }

  .images--v3 > .image:last-child img {
    max-width: 260px;
  }

  .banner--form {
    margin-bottom: 174px;
  }

  .banner__illu {
    bottom: -253px;
  }

  .banner__illu__container svg {
    -webkit-transform: scale(.65);
        -ms-transform: scale(.65);
            transform: scale(.65);
  }

  .swiper-slide-left .content {
    max-width: 390px;
    margin-bottom: 240px;
  }

  .swiper-slide-left .content h2 {
    margin-top: var(--spacing-5);
  }

  .swiper-slide-left .image--1 {
    margin-right: -145px;
  }
  
  .swiper-slide-left .image--1 img {
    max-width: 371px;
  }

  .swiper-slide-right .image--2 {
    margin-left: -40px;
  }

  .swiper-slide-right .image--2 img {
    max-width: 361px;
  }

  .swiper-slide-right .image--3 {
    margin-top: 200px;
    margin-left: -20px;
  }

  .swiper-slide-right .image--3 img {
    max-width: 240px;
  }

  .swiper-button-prev {
    left: 48px;
  }
  
  .swiper-button-next {
    right: 48px;
  }

  .swiper-button-prev, .swiper-button-next {
    bottom: 90px;
  }

  .intro__image {
    width: 445px;
  }

  .intro__title {
    width: calc(100% - 445px);
    padding-left: var(--spacing-6);
  }

  .intro__title .meta {
    margin-bottom: var(--spacing-2);
  }

  .news__item:first-child, .news__item:nth-child(2n+1) {
    padding-right: var(--spacing-3-5);
  }

  .news__item:nth-child(2n) {
    padding-left: var(--spacing-3-5);
  }

  .news .news__item:nth-child(n+3) {
    margin-top: var(--spacing-8);
  }

  .team .person:nth-child(n+4) {
    margin-top: var(--spacing-5);
  }

  .team {
    margin: -8px;
  }

  .team > .person {
    padding: 8px;
  }

  .footer__middle {
    width: 428px;
  }

  .footer__right {
    width: calc(100% - 428px);
  }

}


@media all and (max-width: 991.98px) {

  .header.header--no-cover + main .section:not(.section--intro):first-child {
    padding-top: var(--spacing-8);
  }

  .images--v1 .image:last-child, .images--v2 .image:first-child {
    width: 100%;
  }

  .images--v1 .image:first-child {
    width: 51%;
  }

  .images--v2 .image:last-child {
    width: 67%;
  }

  .images--v3 .image:first-child {
    width: 90%;
  }

  .images--v3 .image:nth-child(2) {
    width: 70%;
    margin-left: 30%;
  }

  .images--v3 .image:last-child {
    width: 55%;
    margin-left: 10%;
  }

  .section__cta .cta {
    margin-top: var(--spacing-7);
  }

  .intro__title {
    margin-top: var(--spacing-5);
  }

  .single-post .intro__title {
    margin-top: var(--spacing-4);
  }

}


@media all and (max-width: 991.98px) and (min-width: 414px) {

  .images--v1 .image:last-child, .images--v2 .image:last-child, .images--v3 .image:nth-child(2), .images--v3 .image:last-child {
    margin-top: var(--spacing-6);
  }

}


@media all and (max-width: 991.98px) and (min-width: 576px) {

  :root {
    --spacing-3-5: 20px;
    --spacing-3: 16px;
    --spacing-2: 12px;
    --spacing-1: 8px;
  }

  .section > div:not([class*="--full"]), .inside:not(.inside--medium) {
    padding-right: var(--spacing-6);
    padding-left: var(--spacing-6);
  }

  .section > div:not(.section__banner):not(.section__cta):not(.section__button):not(.section__contact):not(.section__social_feed) {
    padding-top: var(--spacing-9);
  }

  .section > .section__banner--full + .section__text--lead.section__text--indent {
    padding-top: var(--spacing-8) !important;
  }

  .section__text .text--form img {
    max-width: 248px;
  }

  .section__text .text--form img + h2 {
    margin-top: var(--spacing-6);
  }

  /* Footer */
  .footer__left {
    width: 100%;
    margin-bottom: var(--spacing-4);
  }

  .footer__logo {
    width: 100%;
    margin-bottom: var(--spacing-3);
  }

  .footer__address {
    margin-right: var(--spacing-5);
  }

  .footer__social {
    margin-left: var(--spacing-7);
  }

  .footer__right {
    padding-left: var(--spacing-5);

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

}


@media all and (max-width: 991.98px) and (min-width: 768px) {

  :root {
    --font-size-9: 110px;
    --font-size-8: 54px;
    --font-size-7: 46px;
    --font-size-6: 42px;
    --font-size-5: 36px;
    --font-size-4: 28px;
    --font-size-3: 24px;
    --font-size-2: 19px;
    --font-size-1: 17px;
    --font-size-0-5: 15px;
    --font-size-standard: 21px;

    --spacing-12: 120px;
    --spacing-11: 110px;
    --spacing-10: 104px;
    --spacing-9: 90px;
    --spacing-8-5: 70px;
    --spacing-8: 60px;
    --spacing-7: 50px;
    --spacing-6: 40px;
    --spacing-5: 32px;
    --spacing-4: 26px;

    --height-header: 100px;
  }

  main ul li {
    padding-left: 24px;
  }

  main ul li::before {
    top: 14px;
    width: 11px;
  }

  .section.section--intro + .section {
    padding-top: var(--spacing-9) !important;
  }

  .section > div[class*="--indent"] > div, .section > div[class*="--indent-big"] > div, .section__text .text--form {
    padding-left: var(--spacing-8);
  }

  .seperator_container svg.seperator {
    min-width: 992px;
  }

  .section__text .text--form img {
    margin-left: calc(-1 * (var(--spacing-6) + var(--spacing-8)));
  }

  .list__item {
    padding: 22px 0 20px;
  }

  .fact {
    padding: 13px 0 15px;
  }

  .fact > div {
    width: 50%;
  }

  .fact__desc {
    padding-top: 11px;
  }

  .section__cta > .cta {
    margin-top: var(--spacing-7);
    padding-right: calc(2 * var(--spacing-6));
    padding-left: calc(2 * var(--spacing-6));
  }

  .section__banner > .banner {
    max-height: 650px;
    min-height: 600px;
  }

  .banner--form {
    margin-bottom: 160px;
  }

  .banner__illu {
    bottom: -250px;
  }

  .banner__illu__container svg {
    -webkit-transform: scale(.6);
        -ms-transform: scale(.6);
            transform: scale(.6);
  }

  .project:first-child, .project:nth-child(2n+1),
  .news__item:first-child, .news__item:nth-child(2n+1),
  .person:first-child, .person:nth-child(2n+1) {
    padding-right: 10px;
  }

  .project:nth-child(2n), .news__item:nth-child(2n), .person:nth-child(2n) {
    padding-left: 10px;
  }

  .projects .project:nth-child(n+3), .news .news__item:nth-child(n+3) {
    margin-top: var(--spacing-8);
  }

  .person:nth-child(n+3) {
    margin-top: var(--spacing-7);
  }

  .person__info p {
    font-size: var(--font-size-3);
  }

  .news__item__info .meta {
    letter-spacing: 1.9px;
  }

  .googlemaps {
    min-height: 350px;
    max-height: 550px;
  }


  /* Swiper */
  .swiper-container::before {
    height: var(--spacing-9);
  }

  .swiper-slide-left .content {
    max-width: 390px;
    margin-bottom: 190px;
  }

  .swiper-slide-left .content h2 {
    margin-top: var(--spacing-6);
  }

  .swiper-slide-left .image--1 {
    margin-right: -145px;
  }
  
  .swiper-slide-left .image--1 img {
    max-width: 350px;
  }

  .swiper-slide-right .image--2 {
    right: -41px;
    margin-top: 50px;
  }

  .swiper-slide-right .image--2 img {
    max-width: 335px;
  }

  .swiper-slide-right .image--3 {
    margin-top: 20px;
    margin-left: 0;
  }

  .swiper-slide-right .image--3 img {
    max-width: 220px;
  }

  .swiper-button-prev {
    left: 32px;
  }
  
  .swiper-button-next {
    right: 32px;
  }

  .swiper-button-prev, .swiper-button-next {
    bottom: 46px;
  }


  /* Single */
  body.single .section > div:not([class*="--full"]) {
    max-width: calc(742px + var(--spacing-6) * 2);
  }

  .intro__title .meta {
    margin-bottom: var(--spacing-3);
  }


  /* Footer */
  .footer__social a {
    top: 13px;
  }

  .footer__middle {
    width: 208px;
  }

  .footer__right {
    width: calc(100% - 208px);
  }

  /* Cookie */
  .cookie_box {
    width: 670px;
    padding: 18px;
    margin: 22px 10px;
  }

  .cookie_box__content {
    max-width: 540px;
  }

}


@media all and (max-width: 767.98px) {

  :root {
    --font-size-2: 17px;
    --font-size-standard: 19px;
    --font-size-1: 15px;
    --font-size-0-5: 14px;
  }

  h1 br, h2 br, h3 br {
    display: none;
  }

  main ul li {
    padding-left: 20px;
  }

  main ul li::before {
    top: 13px;
    width: 10px;
    height: 1px;
  }

  .section.section--intro + .section {
    padding-top: var(--spacing-8-5) !important;
  }

  .section__text .text--form img {
    margin-left: calc(-1 * var(--spacing-6));
  }

  .section__banner > .banner {
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: unset;
  }

  .section__cta > .cta {
    margin-top: var(--spacing-7);
    padding-right: var(--spacing-6);
    padding-left: var(--spacing-6);
  }

  .cta__text .typography--h1 {
    font-size: var(--font-size-6);
  }

  .swiper-container::before {
    height: 70px;
  }

  .swiper-slide-left {
    margin-bottom: 140px;
  }

  .swiper-slide-left .content {
    max-width: 380px;
  }

  .swiper-button-prev, .swiper-button-next {
    top: 34vw;
    background-color: var(--brand-white);
    border-radius: 50%;
    -webkit-box-shadow: var(--box-shadow-1);
            box-shadow: var(--box-shadow-1);
  }

  .swiper-button-prev > .button--swiper, .swiper-button-next > .button--swiper {
    width: 100%;
    height: 100%;
  }

  .swiper-button-prev svg, .swiper-button-next svg {
    stroke: var(--brand-black);
    stroke-width: 2px;
  }

  .button.button--swiper > span {
    display: none;
  }

  .project h2.typography--h4, .news h2.typography--h4 {
    font-size: var(--font-size-5);
  }

  .projects .project + .project, .news__item + .news__item {
    margin-top: var(--spacing-8);
  }

  .news__item__info .meta {
    letter-spacing: 1.7px;
  }

  .intro__title .meta {
    margin-bottom: var(--spacing-3);
  }

  .cookie_box {
    width: 100%;
    max-width: 100%;
    left: 0;
    right: 0;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    margin: 0;
    padding: 20px var(--spacing-6) 24px;
    border-top: 1px solid var(--brand-black);
  }

  .cookie_box__content, .cookie_box__button button {
    font-size: var(--font-size-2);
  }

  .cookie_box__content {
    max-width: 100%;
  }

}


@media all and (max-width: 767.98px) and (min-width: 576px) {

  :root {
    --font-size-9: 86px;
    --font-size-8: 50px;
    --font-size-7: 42px;
    --font-size-6: 38px;
    --font-size-5: 32px;
    --font-size-4: 26px;
    --font-size-3: 23px;

    --spacing-12: 110px;
    --spacing-11: 100px;
    --spacing-10: 90px;
    --spacing-9: 80px;
    --spacing-8-5: 62px;
    --spacing-8: 52px;
    --spacing-7: 42px;
    --spacing-6: 32px;
    --spacing-5: 28px;
    --spacing-4: 24px;

    --height-header: 94px;
  }

  svg.logo {
    width: 155px;
    height: 34px;
  }

  .seperator_container svg.seperator {
    min-width: 768px;
  }

  .list__item {
    padding: 20px 0 19px;
  }

  .fact {
    padding: 13px 0 14px;
  }

  .fact > div {
    width: 50%;
  }

  .fact__desc {
    padding-top: 9px;
  }

  .banner--form {
    margin-bottom: 132px;
  }

  .banner__illu {
    bottom: -245px;
  }

  .banner__illu__container svg {
    -webkit-transform: scale(.5);
        -ms-transform: scale(.5);
            transform: scale(.5);
  }

  .project h2 {
    margin-top: var(--spacing-3);
  }

  .person:first-child, .person:nth-child(2n+1) {
    padding-right: 8px;
  }

  .person:nth-child(2n) {
    padding-left: 8px;
  }

  .person:nth-child(n+3) {
    margin-top: var(--spacing-7);
  }

  .person__info p {
    font-size: var(--font-size-3);
  }

  .swiper-slide-left .content {
    margin-top: var(--spacing-5);
  }

  .swiper-button-prev, .swiper-button-next {
    width: 46px;
    height: 46px;
    margin-top: -23px;
  }

  .swiper-button-prev {
    left: 12px;
  }

  .swiper-button-next {
    right: 12px;
  }

  .swiper-button-prev svg, .swiper-button-next svg {
    top: 9px;
    left: 4px;
  }

  .swiper-button-next svg {
    -webkit-transform: scale(.55);
    -ms-transform: scale(.55);
    transform: scale(.55);
  }

  .swiper-button-prev svg {
    -webkit-transform: rotate(180deg) scale(.55);
    -ms-transform: rotate(180deg) scale(.55);
    transform: rotate(180deg) scale(.55);
  }

  .googlemaps {
    min-height: 300px;
    max-height: 450px;
  }

  .footer__social a {
    top: 10px;
  }

  .footer__social svg {
    height: 23px;
    width: 23px;
  }

  .footer__middle {
    width: 183px;
  }

  .footer__right {
    width: calc(100% - 183px);
  }

  .cookie_box, .cookie_box.hide {
    bottom: -190px;
  }
  
}


@media all and (max-width: 575.98px) {

  :root {
    --spacing-12: 100px;
    --spacing-11: 90px;
    --spacing-10: 80px;
    --spacing-9: 70px;
    --spacing-8-5: 56px;
    --spacing-8: 46px;
    --spacing-7: 36px;
    --spacing-6: 28px;
    --spacing-5: 24px;
    --spacing-4: 20px;
    --spacing-3: 12px;
    --spacing-2: 8px;
    --spacing-1: 6px;
  }

  .section > div:not([class*="--full"]), .inside:not(.inside--medium) {
    padding-right: var(--spacing-6);
    padding-left: var(--spacing-6);
  }

  .section > div:not(.section__banner):not(.section__cta):not(.section__button):not(.section__contact):not(.section__social_feed), .section.section--intro + .section {
    padding-top: var(--spacing-9);
  }

  .fact > div {
    width: 100%;
  }

  .section__text .text--form img {
    max-width: 206px;
  }

  .section__text .text--form img + h2 {
    margin-top: var(--spacing-6);
  }

  .swiper-slide-left .content {
    margin-top: var(--spacing-4);
  }

  .project h2 {
    margin-top: var(--spacing-3-5);
  }

  .person + .person {
    margin-top: var(--spacing-7);
  }

  .person__info {
    margin-top: var(--spacing-3-5);
  }

  .person__info p {
    font-size: var(--font-size-4);
  }

  .swiper-button-prev, .swiper-button-next {
    width: 40px;
    height: 40px;
    margin-top: -20px;
  }

  .swiper-button-prev {
    left: 12px;
  }

  .swiper-button-next {
    right: 12px;
  }

  .swiper-button-prev svg, .swiper-button-next svg {
    top: 6px;
    left: 1px;
  }

  .swiper-button-next svg {
    -webkit-transform: scale(.5);
    -ms-transform: scale(.5);
    transform: scale(.5);
  }

  .swiper-button-prev svg {
    -webkit-transform: rotate(180deg) scale(.5);
    -ms-transform: rotate(180deg) scale(.5);
    transform: rotate(180deg) scale(.5);
  }

  .googlemaps {
    min-height: 300px;
    max-height: 400px;
  }

  .footer__left > div, .footer__middle, .footer__right {
    width: 100%;
  }

  .footer__logo, .footer__contact {
    margin-bottom: var(--spacing-3-5);
  }

  .footer__social {
    margin-bottom: var(--spacing-6);
  }
  
  .footer__contact {
    margin-top: var(--spacing-2);
  }

  .footer__social svg {
    height: 25px;
    width: 25px;
  }

  .site_nav__footer li {
    display: inline-block;
    margin-right: var(--spacing-3);
  }

  .site_nav__footer li:last-child {
    margin-right: 0;
  }

  .footer__copyright {
    margin-top: var(--spacing-3);
  }

  .footer__go_top {
    position: absolute;
    bottom: 0;
    right: 0;
  }

   .cookie_box, .cookie_box.hide {
    bottom: -210px;
  }

}


@media all and (max-width: 575.98px) and (min-width: 414px) {

  :root {
    --spacing-3-5: 16px;

    --font-size-9: 80px;
    --font-size-8: 46px;
    --font-size-7: 38px;
    --font-size-6: 35px;
    --font-size-5: 30px;
    --font-size-4: 25px;
    --font-size-3: 22px;

    --height-header: 91px;
  }

  svg.logo {
    width: 141px;
    height: 31px;
  }

  .seperator_container svg.seperator {
    min-width: 650px;
  }

  .list__item {
    padding: 17px 0 18px;
  }

  .fact {
    padding: 14px 0 19px;
  }

  .banner--form {
    margin-bottom: 120px;
  }

  .banner__illu {
    bottom: -243px;
  }

  .banner__illu__container svg {
    -webkit-transform: scale(.45);
        -ms-transform: scale(.45);
            transform: scale(.45);
  }

  .section > .section__banner--full + .section__text--lead.section__text--indent {
    padding-top: var(--spacing-8) !important;
  }

}


@media all and (max-width: 413.98px) {

  :root {
    --spacing-3-5: 14px;

    --font-size-9: 76px;
    --font-size-8: 42px;
    --font-size-7: 35px;
    --font-size-6: 32px;
    --font-size-5: 28px;
    --font-size-4: 24px;
    --font-size-3: 21px;

    --height-header: 89px;
  }

  .picture_container:not(.picture_container--cover) img {
    width: 100%;
  }

  svg.logo {
    width: 132px;
    height: 29px;
  }

  .list__item {
    padding: 17px 0 15px;
  }

  .fact {
    padding: 13px 0 17px;
  }

  .section > .section__banner--full + .section__text--lead.section__text--indent {
    padding-top: var(--spacing-7) !important;
  }

  .images--v1 .image:last-child, .images--v2 .image:last-child, .images--v3 .image:nth-child(2), .images--v3 .image:last-child {
    margin-top: var(--spacing-5);
  }

  .news__item__info .meta {
    margin-top: var(--spacing-3-5);
  }

}


@media all and (max-width: 413.98px) and (min-width: 390px) {

  .seperator_container svg.seperator {
    min-width: 576px;
  }

  .banner--form {
    margin-bottom: 104px;
  }

  .banner__illu {
    bottom: -240px
  }

  .banner__illu__container svg {
    -webkit-transform: scale(.4);
        -ms-transform: scale(.4);
            transform: scale(.4);
  }

}


@media all and (max-width: 389.98px) {

  .seperator_container svg.seperator {
    min-width: 520px;
  }

  .banner--form {
    margin-bottom: 92px;
  }

  .banner__illu {
    bottom: -240px
  }

  .banner__illu__container svg {
    -webkit-transform: scale(.35);
        -ms-transform: scale(.35);
            transform: scale(.35);
  }

}


@media all and (max-width: 359.98px) {

  .cookie_box, .cookie_box.hide {
    bottom: -240px;
  }

}

