@font-face {
  font-family: Manrope;
  src: url('../fonts/Manrope-Light.ttf') format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Manrope;
  src: url('../fonts/Manrope-Bold.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Manrope;
  src: url('../fonts/Manrope-SemiBold.ttf') format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Manrope;
  src: url('../fonts/Manrope-Regular.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Manrope;
  src: url('../fonts/Manrope-Medium.ttf') format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-family--manrope: Manrope, sans-serif;
  --_color---copy-dark: #444549;
  --heading--h1: 4.8rem;
  --heading--h2: 3.8rem;
  --heading--h3: 3rem;
  --heading--h4: 2.4rem;
  --heading--h5: 1.4rem;
  --heading--h6: 1.2rem;
  --spacing--sm: 2.2rem;
  --_color---divider-grey: #92979d;
  --text-size--small: 1.1rem;
  --spacing--tiny: 1.2rem;
  --spacing--md: 4.5rem;
  --spacing--xxs: .5rem;
  --text-size--tiny: .9rem;
  --_color---white: white;
  --text-size--medium: 1.25rem;
  --spacing--xs: .8rem;
  --container--medium: 80rem;
  --spacing--xxxs: .4rem;
  --_color---accent-color-1: #08f;
  --_color---copy-bright: #fcf7f1;
  --_color---copy-grey: #d2d5d9;
  --_color---transparent: transparent;
  --_color---background-light-1: #f0eeeb;
  --_color---background-dark-1: #151515;
  --spacing--xl: 7.5rem;
  --container--tiny: 32rem;
  --text-size--large: 1.5rem;
  --container--large: 100rem;
  --container--small: 50rem;
  --page-padding--desktop: 4rem;
  --page-padding--tablet: 6vw;
  --_color---background-dark-2: #444549;
  --spacing--xxl: 9.5rem;
  --text-size--xtiny: .6rem;
  --_color---background-light-2: #cccbca;
  --_color---accent-color-3: #012946;
  --_color---copy-grey-green: #e8f5fa;
  --border-radius--large: 4rem;
  --border-radius--medium: 2.5rem;
  --border-radius--small: .75rem;
  --_color---accent-color-2: #0b2751;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-checkbox {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w-checkbox:before {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox:after {
  content: " ";
  clear: both;
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox-input {
  float: left;
  margin: 4px 0 0 -20px;
  line-height: normal;
}

.w-checkbox-input--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 2px;
  width: 12px;
  height: 12px;
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: #3898ec;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/static/custom-checkbox-checkmark.589d534424.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-color: #3898ec;
}

.w-checkbox-input--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

.w-form-formradioinput--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 50%;
  width: 12px;
  height: 12px;
}

.w-form-formradioinput--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

.w-form-formradioinput--inputType-custom.w--redirected-checked {
  border-width: 4px;
  border-color: #3898ec;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

/* Unterbindet den Rubber-Band-/Bounce-Overscroll am Seitenende (v.a. macOS-
   Trackpad, Chrome/Firefox/Edge/Android sicher, Safari 16+ teilweise). Grund:
   die Hero-Hintergründe (Bild/Video) sind bewusst position:fixed für den
   Parallax-Effekt (Inhalt scrollt über den stehenbleibenden Hintergrund) –
   ohne diese Regel wird dieser Hintergrund im kurzen Overscroll-Bereich
   hinter dem eigentlichen Seitenende sichtbar. */
html {
  overscroll-behavior-y: none;
}

body {
  font-family: var(--font-family--manrope);
  color: var(--_color---copy-dark);
  font-size: 1rem;
  line-height: 1;
  overscroll-behavior-y: none;
}

h1 {
  font-size: var(--heading--h1);
  letter-spacing: -.01em;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 1;
}

h2 {
  font-size: var(--heading--h2);
  letter-spacing: -.01em;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 1;
}

h3 {
  font-size: var(--heading--h3);
  letter-spacing: -.005em;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 1.1;
}

h4 {
  font-size: var(--heading--h4);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 1.2;
}

h5 {
  font-size: var(--heading--h5);
  letter-spacing: .02em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 1.05;
}

h6 {
  font-size: var(--heading--h6);
  letter-spacing: .02em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 1.1;
}

p {
  margin-bottom: 0;
  line-height: 1.4;
}

a {
  color: inherit;
  text-decoration: underline;
}

ul {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2.5rem;
  line-height: 1.4;
}

ol {
  margin-top: var(--spacing--sm);
  margin-bottom: var(--spacing--sm);
  padding-left: 2.5rem;
  line-height: 1.4;
}

img {
  max-width: 100%;
  display: inline-block;
}

label {
  margin-bottom: .3rem;
  display: block;
}

blockquote {
  border-left: 5px solid var(--_color---divider-grey);
  margin-bottom: 0;
  padding: .6rem 1.2rem;
  line-height: 1.4;
}

figure {
  margin-bottom: 10px;
}

.form_radio-icon {
  width: .875rem;
  height: .875rem;
  margin-top: 0;
  margin-left: 0;
  margin-right: .5rem;
}

.form_radio-icon.w--redirected-checked {
  border-width: .25rem;
  width: .875rem;
  height: .875rem;
}

.form_radio-icon.w--redirected-focus {
  width: .875rem;
  height: .875rem;
  box-shadow: 0 0 .25rem 0 #3898ec;
}

.z-index-2 {
  z-index: 2;
  position: relative;
}

.icon-height-large {
  height: 3rem;
}

.form-input {
  border-style: solid solid dashed;
  border-width: 0 0 1px;
  border-color: black black var(--_color---copy-dark);
  background-color: #0000;
  min-height: 3rem;
  margin-bottom: .75rem;
  padding: .5rem 1rem;
}

.form-input.is-text-area {
  border: 1px dashed var(--_color---copy-dark);
  min-height: 8rem;
}

.styleguide_label {
  color: #757575;
  background-color: #ececec;
  border-radius: .25rem;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: .3rem .5rem;
}

.heading-style-h6 {
  font-size: var(--text-size--small);
  letter-spacing: .02em;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.1;
}

.heading-style-h6.margin-left-tiny {
  margin-left: var(--spacing--tiny);
}

.form_message-error {
  margin-top: .75rem;
  padding: .75rem;
}

.hide {
  display: none;
}

.spacer-md-end {
  padding-bottom: var(--spacing--md);
}

.spacer-xxs-end {
  padding-bottom: var(--spacing--xxs);
}

.spacer-xxs-start {
  padding-top: var(--spacing--xxs);
}

.text-align-left {
  text-align: left;
}

.copy-medium {
  font-size: var(--text-size--small);
  line-height: 1.4;
}

.text-weight-medium {
  font-weight: 500;
}

.main-wrapper {
  position: relative;
}

.icon-1x1-medium {
  width: 2rem;
  height: 2rem;
}

.styleguide_2-col {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  flex-flow: wrap;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.text-weight-light {
  font-size: var(--text-size--tiny);
  font-weight: 300;
}

.styleguide_spacers {
  height: 100%;
}

.form_radio, .form_checkbox {
  flex-direction: row;
  align-items: center;
  margin-bottom: .5rem;
  padding-left: 0;
  display: flex;
}

.text-style-italic {
  font-style: italic;
}

.text-weight-regular {
  font-weight: 400;
}

.heading-style-h5 {
  color: var(--_color---copy-dark);
  font-size: var(--heading--h5);
  text-align: left;
  letter-spacing: .02em;
  text-transform: none;
  font-weight: 700;
}

.heading-style-h5.text-weight-light {
  flex: 1;
  width: 90%;
}

.heading-style-h2 {
  opacity: 1;
  font-size: var(--heading--h2);
  letter-spacing: -.01em;
  text-transform: uppercase;
  font-weight: 300;
  line-height: 1;
}

.heading-style-h2.shadow {
  color: var(--_color---white);
  text-shadow: 2px 2px 1px #102c47bf;
}

.icon-1x1-large {
  width: 2.5rem;
  height: 2.5rem;
}

.z-index-1 {
  z-index: 1;
  position: relative;
}

.text-color-black {
  color: var(--_color---copy-dark);
}

.form_message-success {
  padding: 1.25rem;
}

.styleguide-sections {
  grid-column-gap: 1px;
  grid-row-gap: 1px;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.styleguide_item-header {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border-bottom: 1px solid #0000001a;
  align-items: center;
  width: 100%;
  padding-bottom: 2rem;
}

.rich-text-custom h1, .rich-text-custom h2 {
  margin-top: var(--spacing--sm);
  margin-bottom: 1.5rem;
}

.rich-text-custom p {
  font-size: var(--text-size--medium);
  margin-bottom: 1.2em;
}

.rich-text-custom h5 {
  margin-top: var(--spacing--sm);
  margin-bottom: 1.5rem;
}

.rich-text-custom h6 {
  margin-top: var(--spacing--sm);
  margin-bottom: var(--spacing--xs);
}

.rich-text-custom ul {
  margin-top: var(--spacing--sm);
  margin-bottom: var(--spacing--sm);
  font-size: var(--text-size--medium);
}

.rich-text-custom figure {
  margin-top: var(--spacing--sm);
  margin-bottom: var(--spacing--sm);
}

.rich-text-custom h4, .rich-text-custom h3 {
  margin-top: var(--spacing--sm);
  margin-bottom: 1.5rem;
}

.rich-text-custom blockquote {
  font-size: var(--text-size--medium);
  border-left-width: .3rem;
}

.rich-text-custom ol {
  font-size: var(--text-size--medium);
}

.rich-text-custom a {
  word-break: break-all;
}

.container-medium {
  width: 100%;
  max-width: var(--container--medium);
}

.styleguide_item-wrapper {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.overflow-hidden {
  overflow: hidden;
}

.button {
  padding: var(--spacing--xs) var(--spacing--tiny);
  border-radius: var(--spacing--xxxs);
  background-color: var(--_color---accent-color-1);
  color: var(--_color---copy-bright);
  text-align: center;
  letter-spacing: .02rem;
  font-weight: 600;
  display: block;
}

.button.is-icon {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.button.is-disabled {
  background-image: linear-gradient(to bottom, var(--_color---copy-grey), var(--_color---copy-grey));
  opacity: .25;
}

.button.is-large {
  padding: 1.5rem 2.5rem;
  font-size: 1.2rem;
}

.button.is-secondary {
  background-color: var(--_color---transparent);
  color: var(--_color---copy-dark);
  border: 2px solid #000;
  font-weight: 700;
}

.styleguide_empty-box {
  z-index: -1;
  background-color: #2d40ea0d;
  border: 1px dashed #2d40ea;
  min-width: 3rem;
  height: 3rem;
  position: relative;
}

.form_component {
  margin-bottom: 0;
}

.background-color-light-1 {
  background-color: var(--_color---background-light-1);
}

.fs-styleguide_row {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: row;
  grid-template-rows: auto;
  grid-template-columns: auto;
  grid-auto-columns: auto;
  grid-auto-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.styleguide_spacer-box {
  background-color: #2d40ea1a;
  border: 1px dashed #2d40ea;
  width: 100%;
  position: relative;
}

.heading-style-h4 {
  font-size: var(--heading--h4);
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.2;
}

.heading-style-h4.cap {
  z-index: 10;
  text-transform: uppercase;
  width: auto;
  max-width: 90%;
  font-size: 2rem;
  font-weight: 700;
  position: relative;
}

.background-color-dark-1 {
  background-color: var(--_color---background-dark-1);
  color: #f5f5f5;
}

.spacer-xl-start {
  padding-top: var(--spacing--xl);
}

.text-style-muted {
  opacity: .6;
}

.overflow-auto {
  overflow: auto;
}

.styleguide_section-header {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border-bottom: 1px solid #000;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  margin-bottom: 3rem;
  padding-bottom: 2.25rem;
  line-height: 1.4;
  display: flex;
}

.spacer-xs-start {
  padding-top: var(--spacing--xs);
}

.text-align-right {
  text-align: right;
}

.styleguide_spacing {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  background-image: linear-gradient(to top, #2d40ea1a, #fff0);
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-content: start;
  place-items: start stretch;
  display: grid;
  position: relative;
}

.styleguide_3-col {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: stretch;
  width: 100%;
  display: grid;
}

.text-style-allcaps {
  text-transform: uppercase;
}

.copy-tiny {
  color: var(--_color---divider-grey);
  font-size: var(--text-size--tiny);
  line-height: 1.4;
}

.text-weight-bold {
  font-weight: 700;
}

.container-tiny {
  width: 100%;
  max-width: var(--container--tiny);
  margin-left: auto;
  margin-right: auto;
}

.container-tiny.align-left {
  margin-left: 0;
}

.fs-styleguide_background {
  border: 1px solid #0000001a;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  display: flex;
}

.icon-height-medium {
  height: 2rem;
}

.fs-styleguide_background-space {
  width: 1px;
  height: 1px;
  margin: 5rem;
}

.copy-small {
  color: var(--_color---copy-dark);
  font-size: var(--text-size--small);
  text-align: left;
  line-height: 1.4;
}

.copy-small.text-align-center {
  z-index: 10;
  text-align: left;
  text-decoration: none;
}

.styleguide_item {
  grid-column-gap: 1.125rem;
  grid-row-gap: 1.125rem;
  border-bottom: 1px solid #0000001a;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: start;
  place-items: start;
  padding-bottom: 3rem;
  display: flex;
  position: relative;
}

.styleguide_item.is-stretch {
  flex-flow: column;
  justify-items: stretch;
}

.spacer-sm-start {
  padding-top: var(--spacing--sm);
}

.spacer-sm-start.spacer-sm-end {
  justify-content: center;
  align-items: center;
  display: block;
  overflow: visible;
}

.copy-large {
  font-size: var(--text-size--large);
  line-height: 1.4;
}

.spacer-xs-end {
  padding-bottom: var(--spacing--xs);
}

.background-color-white {
  background-color: var(--_color---white);
}

.icon-1x1-small {
  flex: none;
  width: 1rem;
  height: 1rem;
}

.spacer-md-start {
  padding-top: var(--spacing--md);
}

.text-style-nowrap {
  white-space: nowrap;
}

.text-weight-semibold {
  font-weight: 600;
}

.heading-style-h1 {
  font-size: var(--heading--h1);
  letter-spacing: -.01em;
  text-transform: none;
  line-height: 1;
}

.heading-style-h1.text-weight-light {
  font-size: var(--heading--h3);
  text-transform: uppercase;
  position: static;
}

.text-align-center {
  text-align: center;
}

.text-color-bright {
  color: var(--_color---copy-bright);
}

.container-large {
  width: 100%;
  max-width: var(--container--large);
  padding-right: var(--spacing--md);
  padding-left: var(--spacing--md);
  margin-left: auto;
  margin-right: auto;
}

.container-large.spacer-xl-start.spacer-xl-end {
  background-color: #0000;
}

.container-small {
  width: 100%;
  max-height: 100%;
  max-width: var(--container--small);
  margin-left: auto;
  margin-right: auto;
  overflow: clip;
}

.container-small.align-left {
  max-width: var(--container--small);
  margin-left: 0;
}

.styleguide_header {
  background-color: #0000000d;
}

.text-style-strikethrough {
  text-decoration: line-through;
}

.spacer-sm-end {
  padding-bottom: var(--spacing--sm);
}

.styleguide-heading {
  font-size: 2rem;
}

.page-padding {
  padding-right: var(--page-padding--desktop);
  padding-left: var(--page-padding--desktop);
}

.styleguide_section {
  grid-column-gap: 6rem;
  grid-row-gap: 6rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-items: start;
  display: grid;
}

.icon-height-small {
  height: 1rem;
}

.text-style-link {
  text-decoration: underline;
}

.text-color-grey {
  color: var(--_color---copy-grey);
}

.form_checkbox-icon {
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
}

.form_checkbox-icon.w--redirected-checked {
  background-size: 90%;
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
}

.form_checkbox-icon.w--redirected-focus {
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
  box-shadow: 0 0 .25rem 0 #3898ec;
}

.max-width-medium {
  width: 100%;
  max-width: 40rem;
}

.styleguide_1-col {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: flex;
}

.heading-style-h3 {
  font-size: var(--heading--h3);
  letter-spacing: -.005em;
  text-transform: none;
  line-height: 1.1;
}

.heading-style-h3.text-weight-light {
  max-width: 11em;
  font-size: var(--heading--h1);
  text-transform: uppercase;
}

.spacer-xl-end {
  padding-bottom: var(--spacing--xl);
}

.background-color-dark-2 {
  background-color: var(--_color---background-dark-2);
  color: #f5f5f5;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  width: 100%;
  max-width: 44rem;
  padding-right: var(--page-padding--desktop);
  padding-left: var(--page-padding--desktop);
  text-align: center;
  flex-direction: column;
  align-items: center;
  display: flex;
}

.utility-page-form {
  flex-direction: column;
  align-items: center;
  display: flex;
}

.hide-desktop-only {
  display: none;
}

.section.page-padding {
  border-radius: 0;
}

.max-width-small {
  width: 100%;
  max-width: 20rem;
}

.section-hero {
  height: 100svh;
  position: relative;
}

.navbar-inner-wrapper {
  z-index: 15;
  color: var(--_color---white);
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.5em;
  padding-bottom: 9px;
  display: flex;
  position: relative;
}

.hero-component {
  width: 100%;
  height: 100svh;
  padding-left: var(--spacing--md);
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  display: flex;
}

.hero-component.kontakt {
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
}

.hero-content-wrapper {
  z-index: 1;
  padding-bottom: var(--spacing--xl);
  color: var(--_color---copy-bright);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  position: fixed;
  inset: auto auto 0%;
}

.hero-content-wrapper.is-small {
  flex-flow: column;
  order: 0;
  justify-content: flex-start;
  align-items: flex-start;
  width: 25em;
  display: flex;
}

.hero-gradient {
  background-image: linear-gradient(180deg, #0009, var(--_color---transparent) 26%, var(--_color---transparent) 75%, #10141752 100%, #1a202580);
  width: 100%;
  height: 100%;
  display: block;
  position: fixed;
  inset: 0%;
  overflow: visible;
}

.home-leistung-wrapper {
  border-bottom: 1px solid var(--_color---copy-grey);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.section-home-leistung {
  z-index: 10;
  background-color: var(--_color---background-light-1);
  position: relative;
}

.home-leistung-headline-wrapper {
  z-index: 5;
  color: var(--_color---copy-dark);
  position: relative;
}

.home-leistung-component {
  grid-column-gap: var(--spacing--xs);
  grid-row-gap: var(--spacing--xs);
  background-color: var(--_color---copy-grey);
  opacity: 1;
  border-radius: .4em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 30%;
  height: 100%;
  padding: 1em 1em 2em;
  display: flex;
}

.home-leistung-title {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 60%;
  display: flex;
}

.home-leistung-component-wrapper {
  grid-column-gap: var(--spacing--sm);
  grid-row-gap: var(--spacing--sm);
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 15em;
  display: flex;
}

.text-block-2 {
  flex: 0 auto;
}

.home-leistung-component-icon {
  width: 3em;
  height: 3em;
  color: var(--_color---background-light-1);
}

.section-home-about {
  z-index: 10;
  background-color: var(--_color---copy-bright);
  position: relative;
}

.home-vorteile-wrapper {
  grid-column-gap: var(--spacing--sm);
  grid-row-gap: var(--spacing--sm);
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.home-vorteile-text-wrapper {
  max-width: 45%;
  color: var(--_color---copy-dark);
  flex-flow: column;
  display: block;
}

.home-vorteile-image-wrapper {
  object-position: 50% 50%;
  border-radius: .4em;
  width: 100%;
  max-width: 20em;
  min-height: 25em;
  position: relative;
  bottom: -5em;
  overflow: clip;
}

.leistung-image-1 {
  aspect-ratio: auto;
  object-fit: cover;
  object-position: 0% 50%;
  min-height: 27em;
  display: block;
  position: relative;
  inset: 0%;
}

.section-home-partner {
  z-index: 10;
  background-color: var(--_color---background-light-1);
  display: block;
  position: relative;
}

.image-slider {
  background-color: var(--_color---transparent);
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  width: 80%;
  height: 100%;
  display: flex;
}

.image-slider-mask {
  margin-right: var(--spacing--tiny);
  margin-left: var(--spacing--tiny);
  position: relative;
}

.image-slider-dots {
  justify-content: center;
  align-items: center;
  margin-top: 0;
  margin-bottom: -6em;
  padding-top: 0;
  font-size: .6rem;
  display: block;
  inset: auto 0% 0%;
}

.left-arrow {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: block;
  position: absolute;
  inset: 0% auto 0% -6%;
}

.right-arrow {
  inset: 0% -6% 0% auto;
}

.spacer-xxl-start {
  padding-top: var(--spacing--xxl);
}

.spacer-xxl-end {
  padding-bottom: var(--spacing--xxl);
}

.section-home-team {
  z-index: 10;
  background-color: var(--_color---background-light-1);
  height: 130vh;
  position: relative;
  transform: translate(0);
}

.home-leistung-image-wrapper {
  object-fit: fill;
  object-position: 50% 50%;
  border-radius: .4em;
  width: 50%;
  min-height: 18em;
  position: relative;
  overflow: clip;
}

.home-leistung-top-wrapper {
  grid-column-gap: var(--spacing--sm);
  grid-row-gap: var(--spacing--sm);
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  padding-left: 2em;
  padding-right: 2em;
  display: flex;
}

.home-team-wrapper {
  max-width: 34em;
  color: var(--_color---white);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.footer {
  z-index: 10;
  background-color: var(--_color---background-dark-2);
  height: auto;
  display: block;
  position: relative;
}

.footer-wrapper {
  width: 100%;
  display: block;
}

.footer-kontakt-wrapper {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  min-width: 25%;
  display: flex;
}

.footer-about-wrapper {
  grid-column-gap: var(--spacing--tiny);
  grid-row-gap: var(--spacing--tiny);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  min-width: 16em;
  display: block;
}

.footer-social-wrapper {
  grid-column-gap: var(--spacing--tiny);
  grid-row-gap: var(--spacing--tiny);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 30%;
  display: block;
}

.footer-top-wrapper {
  grid-column-gap: var(--spacing--md);
  grid-row-gap: var(--spacing--md);
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.footer-links-wrapper {
  font-size: var(--text-size--tiny);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.footer-bottom-wraper {
  background-color: var(--_color---background-light-2);
  width: 100%;
  max-height: 4em;
  color: var(--_color---copy-dark);
  padding-top: .5em;
  padding-bottom: .5em;
  position: static;
}

.footer-adress-wrapper {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  width: 100%;
  height: 100%;
  color: var(--_color---divider-grey);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.footer-adress-street-wrapper {
  grid-column-gap: .8em;
  grid-row-gap: .8em;
  color: var(--_color---divider-grey);
  justify-content: flex-start;
  align-items: center;
  line-height: 1.2em;
}

.footer-adress-phone-wrapper, .footer-adress-mail-wrapper {
  grid-column-gap: .8em;
  grid-row-gap: .8em;
  justify-content: flex-start;
  align-items: center;
}

.footer-headline-wrapper {
  color: var(--_color---copy-bright);
}

.link {
  cursor: pointer;
  text-decoration: none;
}

.link:hover {
  color: var(--_color---accent-color-1);
}

.footer-textlink-wrapper {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  display: flex;
}

.heading {
  font-weight: 400;
}

.footer-kontakt-info {
  color: var(--_color---divider-grey);
}

.info-card-open-bg {
  background-color: var(--_color---copy-dark);
  opacity: 1;
  border-radius: 10px;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0% auto auto 0%;
  transform: translate(0, 101%);
}

.arrow-wrapper {
  z-index: 1;
  color: var(--_color---accent-color-1);
  overflow-wrap: normal;
  flex: none;
  justify-content: center;
  align-items: center;
  padding-top: 2px;
  display: flex;
  position: relative;
}

.info-card-bottom {
  z-index: 2;
  grid-row-gap: 1.25rem;
  color: var(--_color---accent-color-1);
  flex-direction: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  position: relative;
  overflow: visible;
}

.info-title {
  grid-row-gap: 1rem;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.heading-small {
  color: var(--_color---white);
  font-size: var(--heading--h6);
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1;
}

.heading-small.top {
  color: var(--_color---accent-color-3);
  font-size: var(--heading--h3);
  font-weight: 700;
}

.heading-small.big {
  font-size: var(--heading--h6);
}

.service-card-open-close {
  border: 1px solid var(--_color---background-light-2);
  background-color: #7b7b7b1a;
  border-radius: .4em;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  display: flex;
}

.info-card-top {
  z-index: 2;
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  color: var(--_color---accent-color-3);
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10em;
  display: flex;
  position: relative;
}

.info-hidden {
  grid-row-gap: 2.5rem;
  width: 100%;
  color: var(--_color---white);
  flex-direction: column;
  align-items: flex-start;
  display: flex;
  overflow: clip;
}

.circle-overlay {
  z-index: 1;
  background-color: var(--_color---white);
  border-radius: .4em;
  width: 1.7em;
  height: 1.7em;
  display: block;
  position: absolute;
}

.info-card {
  cursor: pointer;
  background-color: #fff;
  border-radius: .4em;
  flex-flow: row;
  flex: 1;
  justify-content: center;
  align-items: center;
  width: 16.5em;
  height: 29em;
  transition: border-color .6s;
  display: block;
  position: relative;
  overflow: clip;
}

.info-card:hover {
  border-color: #7b7b7b99;
}

.info-cards-wrapper {
  grid-column-gap: .5em;
  grid-row-gap: 1em;
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-content: space-between start;
  place-items: stretch stretch;
  width: 100%;
  display: grid;
}

.body-small {
  font-size: var(--text-size--tiny);
  font-weight: 400;
  line-height: 1.4;
}

.body-medium {
  font-size: 1.25rem;
  line-height: 1.4;
  text-decoration: none;
}

.body-medium.relative-2 {
  z-index: 2;
  font-size: .8rem;
}

.info-card-inner-wrapper {
  padding: var(--spacing--tiny);
  grid-column-gap: 0em;
  grid-row-gap: var(--spacing--xl);
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
  overflow: visible;
}

.home-team-component-wrapper {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  min-height: 130vh;
  display: flex;
}

.info-card-image-wrapper {
  z-index: 0;
  box-sizing: border-box;
  aspect-ratio: auto;
  object-fit: fill;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  inset: 0% 0% auto;
  overflow: clip;
}

.info-card-image-wrapper.align-top {
  justify-content: center;
  align-items: flex-start;
}

.button-wrapper {
  width: 4em;
}

.image-leistungen {
  z-index: 6;
  vertical-align: baseline;
  object-fit: cover;
  height: 100%;
  max-height: 50%;
  display: block;
  position: relative;
  overflow: visible;
}

.image-leistungen.biger {
  height: 55%;
  max-height: 55%;
  margin-bottom: 3em;
}

.image-leistungen.biger2 {
  height: 62%;
  max-height: none;
}

.svg-3 {
  z-index: 2;
  width: var(--text-size--small);
  height: var(--text-size--small);
  color: var(--_color---accent-color-1);
  position: relative;
}

.plus-svg {
  color: var(--_color---accent-color-1);
}

.top-wrapper {
  grid-column-gap: var(--spacing--tiny);
  grid-row-gap: var(--spacing--tiny);
  flex-flow: row;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.leistungen-wrapper {
  grid-column-gap: var(--spacing--xl);
  grid-row-gap: var(--spacing--xl);
  flex-flow: column;
  display: flex;
}

.navbar2-bg {
  z-index: 20;
  background-color: var(--_color---white);
  opacity: 0;
  height: 105px;
  display: block;
  position: fixed;
  inset: 0% 0% auto;
}

.rect-leistungen {
  z-index: 5;
  background-color: var(--_color---accent-color-3);
  opacity: 1;
  border-radius: 12em;
  width: 20em;
  min-width: 20em;
  height: 34em;
  min-height: 34em;
  margin-top: 6.1em;
  margin-left: 0;
  position: absolute;
  inset: 0% auto auto 0%;
  transform: rotate(59deg);
}

.section-projekte {
  z-index: 10;
  background-color: var(--_color---background-light-2);
  position: relative;
}

.section-leistungen {
  z-index: 10;
  background-color: var(--_color---copy-grey-green);
  position: relative;
}

.background-video {
  width: 100%;
  max-width: 100%;
  height: 100%;
  position: fixed;
}

.kontakt-wrapper {
  grid-column-gap: 7em;
  grid-row-gap: 7em;
  flex-flow: column;
}

.middle-wrapper {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: row;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.leistung-title-middle {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: static;
}

.leistung-headline-middle-wrapper {
  z-index: 5;
  color: var(--_color---copy-dark);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: block;
  position: relative;
}

.leistung-headline-wrapper {
  z-index: 5;
  min-width: 25em;
  color: var(--_color---copy-dark);
  position: relative;
}

.section-kontakt {
  z-index: 10;
  background-color: var(--_color---background-light-1);
  display: block;
  position: relative;
}

.kontakt-image-wrapper {
  object-fit: fill;
  object-position: 0% 50%;
  width: 50%;
  margin-top: -6em;
  margin-left: -5em;
  overflow: visible;
}

.kontakt-title-wrapper {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  position: static;
}

.kontakt-headline-wrapper {
  z-index: 5;
  color: var(--_color---copy-dark);
  position: relative;
}

.kontakt-image-2 {
  z-index: 10;
  object-fit: cover;
  object-position: 0% 100%;
  border-radius: .5em;
  width: 9em;
  height: 13em;
  display: block;
  position: relative;
}

.kontakt-top-wrapper {
  grid-column-gap: 0em;
  grid-row-gap: 0em;
  flex-flow: row;
  justify-content: space-around;
  align-items: center;
  display: flex;
}

.section-kontakt-bottom {
  z-index: 10;
  background-color: var(--_color---background-light-2);
  position: relative;
}

.section-home-testimonial-slider {
  z-index: 10;
  background-color: var(--_color---background-light-2);
  display: block;
  position: relative;
}

.testimonial-slide {
  max-width: 21em;
  margin-right: var(--spacing--tiny);
}

.home-testimonial-component {
  grid-column-gap: .6em;
  grid-row-gap: .6em;
  background-color: var(--_color---copy-grey);
  opacity: 1;
  border-radius: .4em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 21em;
  height: 24em;
  padding: 1em 1em 2em;
  display: flex;
}

.testimonial-component-icons-wrapper {
  grid-column-gap: var(--spacing--xxxs);
  grid-row-gap: var(--spacing--xxxs);
  color: var(--_color---accent-color-1);
  margin-bottom: 1em;
  display: flex;
}

.testimonial-component-icon-wrapper {
  width: 1.3em;
  height: 1.3em;
}

.testimonials-text.copy-tiny {
  color: var(--_color---copy-dark);
  font-weight: 500;
  line-height: 1.3;
}

.testimonial-bottom {
  grid-column-gap: 0em;
  grid-row-gap: 0em;
  flex-flow: row;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  height: 2em;
  display: flex;
}

.testimonial-link {
  text-decoration: none;
}

.testimonial-link:hover {
  color: var(--_color---accent-color-1);
}

.testimonial-link.copy-tiny {
  line-height: 1;
}

.testimonials-top.copy-tiny {
  color: var(--_color---copy-dark);
  font-weight: 600;
}

.home-testimonials-wrapper {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.home-testimonials-text-wrapper.spacer-sm-start.spacer-sm-end {
  text-align: center;
  flex-flow: column;
  align-self: auto;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.kontakt-bottom-wrapper {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.kontakt-bottom-text-wrapper {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.heading-2 {
  font-size: var(--heading--h3);
  text-align: center;
}

.heading-2.text-weight-light {
  text-align: left;
}

.heading-3 {
  font-size: var(--heading--h4);
  font-weight: 700;
}

.section-projekte-top {
  z-index: 10;
  background-color: var(--_color---background-light-2);
  position: relative;
}

.projekte-top-wrapper {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.leistung-image-wrapper {
  object-fit: fill;
  object-position: 50% 50%;
  border-radius: .4em;
  max-width: 28em;
  position: relative;
  overflow: clip;
}

.leistung-title-wrapper {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 29em;
  display: flex;
  position: static;
}

.projekte-info-top-wrapper {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.projekte-info-title-wrapper {
  grid-column-gap: 0em;
  grid-row-gap: 0em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  position: static;
}

.spacer-xxxs-start {
  padding-top: var(--spacing--xxs);
}

.spacer-xxxs-end {
  padding-bottom: var(--spacing--xxs);
}

.divider-h {
  background-color: var(--_color---divider-grey);
  text-align: left;
  flex-flow: column;
  justify-content: center;
  align-self: center;
  align-items: center;
  width: 80%;
  height: 1px;
  display: flex;
}

.leistungen-heading-bottom.heading-style-h3.text-weight-light.text-align-center {
  font-size: var(--heading--h3);
  text-align: left;
}

.top-text-wrapper {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  min-width: 40em;
  display: flex;
}

.projekte-headline-wrapper-copy {
  z-index: 5;
  color: var(--_color---copy-dark);
  position: relative;
}

.section-projekte-info-top {
  z-index: 10;
  background-color: var(--_color---background-light-2);
  position: relative;
}

.projekte-info-detail-wrapper {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  line-height: 1.4;
  display: flex;
  position: static;
}

.projekte-info-details-wrapper {
  grid-column-gap: var(--spacing--md);
  grid-row-gap: var(--spacing--md);
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
  position: static;
}

.kontakt-image-1 {
  z-index: 5;
  object-fit: cover;
  object-position: 0% 50%;
  border-radius: .5em;
  width: 32em;
  margin-top: -7em;
  margin-left: 5em;
  display: block;
  position: relative;
}

.projekt-image {
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  height: 100%;
}

.projekt-info-text {
  color: var(--_color---copy-dark);
  font-size: var(--text-size--small);
  text-align: left;
  line-height: 1.4;
}

.ddl-button {
  z-index: 5;
  padding: var(--spacing--xs);
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  background-color: var(--_color---accent-color-1);
  color: var(--_color---white);
  text-transform: uppercase;
  border-radius: .4em;
  flex-direction: row;
  flex: none;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: clip;
}

.ddl-button.is-small {
  min-width: 10em;
  padding: var(--spacing--xxs);
}

.ddl-button.link {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
}

.carousel-wrapper {
  margin: var(--spacing--tiny) auto;
  display: flex;
  overflow: clip;
}

.carousel-logo-wrapper {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  justify-content: space-around;
  align-items: center;
  min-width: 100%;
  padding-left: 2.2em;
  display: flex;
  position: static;
}

.list {
  justify-content: flex-end;
  align-items: stretch;
  display: flex;
  position: relative;
}

.border {
  background-color: var(--_color---accent-color-1);
  height: 3px;
  position: absolute;
  inset: auto 0% 0%;
}

.link-block-2 {
  letter-spacing: 2px;
  text-transform: uppercase;
  justify-content: center;
  padding-bottom: 3px;
  padding-left: 16px;
  padding-right: 16px;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
}

.link-block-2:hover {
  color: var(--_color---accent-color-1);
}

.trigger {
  z-index: 2;
  width: 50%;
  position: absolute;
  inset: 0% 0% 0% auto;
}

.trigger.left {
  inset: 0% auto 0% 0%;
}

.trigger.right {
  display: block;
}

.nav-logo-wrapper {
  justify-content: flex-start;
  align-items: center;
}

.projekte-overview-grid {
  border-top: .5px solid var(--_color---accent-color-1);
  border-left: .5px solid var(--_color---accent-color-1);
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-rows: auto;
  grid-auto-columns: auto;
  justify-content: space-between;
  display: grid;
  overflow: visible;
}

.project-items-wrapper {
  border-right: .5px solid var(--_color---accent-color-1);
  border-bottom: .5px solid var(--_color---accent-color-1);
  height: 100%;
  color: var(--_color---accent-color-3);
  flex-flow: column;
  justify-content: space-between;
  padding: .8em;
  display: flex;
  overflow: clip;
}

.project-item-meta-wrapper {
  justify-content: space-between;
  margin-bottom: .8em;
  font-size: .9em;
  font-weight: 300;
  display: flex;
}

.project-item-category {
  letter-spacing: .05em;
  font-weight: 500;
}

.project-item-image-wrapper {
  flex: 1;
  height: 100%;
}

.project-item-bg-wrapper {
  z-index: 15;
  background-color: var(--_color---accent-color-1);
  opacity: .8;
  width: 100%;
  height: 70%;
  margin-right: -.5em;
  font-size: 1em;
  position: absolute;
  inset: auto 0% 0% auto;
  overflow: visible;
}

.project-item-title {
  font-weight: 700;
  display: inline;
}

.project-item-summery {
  font-size: .9em;
  display: inline;
}

.projekt-item-image {
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  height: 100%;
  display: inline-block;
}

.project-item-wrapper {
  z-index: 10;
  flex: 1;
  position: relative;
  overflow: clip;
}

.navbar-2 {
  z-index: 50;
  background-color: #fff0;
  display: block;
  position: fixed;
  inset: 0% 0% auto;
}

.nav-menu {
  background-color: #0000;
  justify-content: flex-end;
  align-items: flex-end;
  font-size: .8rem;
  font-weight: 500;
}

.navbar2-bg-schadow {
  z-index: 15;
  opacity: 0;
  filter: blur(2px);
  background-color: #000;
  height: 105px;
  display: block;
  position: fixed;
  inset: 0% 0% auto;
}

.leistungen-hero-image-wrapper {
  background-image: url('../images/DSC00561_2.webp');
  background-position: 50%;
  background-size: cover;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  position: fixed;
}

.einfamilienhaus-hero-image-wrapper {
  background-image: url('../images/Einfamilienhaus01_3.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.projects-hero-image-wrapper {
  background-image: url('../images/Einfamilienhaus01_3.webp');
  background-position: 50%;
  background-size: cover;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  position: fixed;
}

.project-item-info-wrapper {
  z-index: 20;
  height: 60%;
  color: var(--_color---white);
  padding-left: 1em;
  font-size: 1.2rem;
  position: absolute;
  inset: auto auto 0% 0%;
  overflow: visible;
}

.project-item-summery-wrapper {
  padding-right: .5em;
  font-size: 1rem;
  display: block;
}

.project-item-link {
  text-decoration: none;
}

.kontakt-hero-image-wrapper {
  background-image: url('../images/SchieferwandMitSchriftzug.webp');
  background-position: 50%;
  background-size: cover;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  position: fixed;
}

.team-image-wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-image: linear-gradient(#0000 67%, #01294666 94%), url('../images/DSC00535_1.webp');
  background-position: 0 0, 50%;
  background-size: auto, cover;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  height: 100%;
  display: block;
}

.frauenstein-hero-image-wrapper {
  background-image: url('../images/schlossFrauenstein04_4k.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.project-info-list {
  padding-left: 0;
  line-height: 2;
  list-style-type: none;
}

.project-info-list-dot {
  padding-left: 1em;
  line-height: 2;
  list-style-type: disc;
}

.bahnhof-hero-image-wrapper {
  background-image: url('../images/bahnhof03.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.pfarrhaus-hero-image-wrapper {
  background-image: url('../images/pfarrhausFreiburg02.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.museum-hero-image-wrapper {
  background-image: url('../images/HiMuFFM_02.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.bayreuth-hero-image-wrapper {
  background-image: url('../images/klinikBay01.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.ohrdruf-hero-image-wrapper {
  background-image: url('../images/SchlossOhrdruf02.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.laminet-hero-image-wrapper {
  background-image: url('../images/villa01.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.kuenzel-hero-image-wrapper {
  background-image: url('../images/EFH_Alu02.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.gerberei-hero-image-wrapper {
  background-image: url('../images/gerberei04.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.link-4 {
  text-decoration: none;
}

.link-4:hover {
  text-decoration: underline;
}

.link-5 {
  text-decoration: none;
}

.link-5:hover {
  text-decoration: underline;
}

.lightbox-link {
  justify-content: space-between;
  display: flex;
}

.projekt-info-image-3grid-wrapper {
  grid-column-gap: .8em;
  grid-row-gap: .8em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
  overflow: clip;
}

.projekt-info-grid-image-wrapper {
  border-radius: .4em;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 19em;
}

.icon {
  justify-content: flex-start;
  align-items: center;
  width: 2em;
}

.kontakt-bottom-suche {
  grid-column-gap: 0em;
  grid-row-gap: 0em;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
}

.kontakt-bottom-hl {
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.link-wrapper {
  grid-column-gap: .8em;
  grid-row-gap: .8em;
  height: 2.2em;
  color: var(--_color---accent-color-1);
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.ds-list-02 {
  grid-column-gap: .4em;
  grid-row-gap: .4em;
  justify-content: flex-start;
  align-items: center;
  display: block;
}

.ds-txt-daten-wrapper {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  display: flex;
}

.projekt-info-image-4grid-wrapper {
  grid-column-gap: .8em;
  grid-row-gap: .8em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
  overflow: clip;
}

.projekt-info-image-2grid-wrapper {
  grid-column-gap: .8em;
  grid-row-gap: .8em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
  overflow: clip;
}

.projekt-image--left {
  object-fit: cover;
  object-position: 0% 50%;
  width: 100%;
  height: 100%;
}

.footer-image-wrapper {
  width: 8em;
}

.carousel-image-h50 {
  width: 20em;
}

.carousel-image-h100 {
  width: 15em;
}

.carousel-image-h80 {
  width: 18em;
}

.button-text-wrapper {
  z-index: 2;
  font-size: .8rem;
  position: relative;
}

.ddl-button-2 {
  padding: var(--spacing--xxs) var(--spacing--xs);
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  color: var(--_color---white);
  text-transform: uppercase;
  background-color: #4b4b4b;
  border-radius: .4em;
  flex-direction: row;
  flex: none;
  justify-content: space-between;
  align-items: center;
  font-size: .8em;
  text-decoration: none;
  display: flex;
  overflow: clip;
}

.footer-icon-wrapper {
  justify-content: flex-start;
  align-items: center;
}

.footer-adress-text-wrapper {
  width: 100%;
}

.back-button-wrapper {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  color: var(--_color---copy-dark);
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.back-wrapper {
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  padding-right: 1em;
  display: flex;
}

.back-icon-wrapper {
  width: 2em;
}

.text-block-7 {
  font-size: .8rem;
}

.link-block-3, .footer-link {
  text-decoration: none;
}

.footer-link:hover {
  color: var(--_color---accent-color-1);
}

.footer-social-media-icons-wrapper {
  grid-column-gap: var(--spacing--tiny);
  grid-row-gap: var(--spacing--tiny);
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.icon-embed-small {
  width: 2rem;
  height: 2rem;
  color: var(--_color---accent-color-1);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.accordion-image {
  z-index: 10;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0%;
  bottom: 0%;
}

.accordion-image.mt-70 {
  margin-top: -90px;
}

.accordion-image.mt-10 {
  margin-top: -10px;
}

.accordion-rect-leistungen {
  z-index: 5;
  background-color: var(--_color---accent-color-3);
  opacity: 1;
  border-radius: 7em;
  width: 20em;
  min-width: 20em;
  height: 34em;
  min-height: 34em;
  margin-left: -70px;
  position: absolute;
  bottom: auto;
  right: auto;
  transform: rotate(59deg);
}

.accordion-arrow-wrapper {
  z-index: 10;
  text-align: center;
  width: 3em;
  height: 3em;
  font-size: 1rem;
  transition: all .5s ease-in-out;
  position: relative;
}

.accordion-item-wrapper {
  border-top: 1px solid var(--_color---copy-dark);
  cursor: pointer;
}

.accordion-item-title-wrapper {
  justify-content: space-between;
  align-items: center;
  margin-top: .2em;
  padding: 1em 1.25em .5em;
  display: flex;
  position: relative;
}

.accordion-item-body-wrapper {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  background-color: var(--_color---white);
  transform-origin: 50% 0;
  border-radius: .4em;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: .2em;
  display: block;
  overflow: clip;
}

.accordion-item-body-text-wrapper {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 75%;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-left: 1.25em;
  padding-right: 1.25em;
  display: flex;
}

.accordion-item-image-wrapper {
  border-radius: .4em;
  justify-content: center;
  align-items: center;
  width: 14em;
  height: 14em;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  margin-right: 1.25em;
  position: relative;
  overflow: clip;
}

.accordion-item-title-bg-wrapper {
  z-index: 5;
  background-color: var(--_color---white);
  height: 100%;
  position: absolute;
  inset: auto auto 0% 0%;
}

.accordion-wrapper {
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  flex-flow: column;
}

.arrow-icon {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.accordion-items-body-group-wrapper {
  flex-flow: row;
  display: flex;
}

.c-faq-a {
  background-color: var(--_color---white);
  perspective-origin: 50% 0;
  transform-origin: 50% 0;
  margin-bottom: .2em;
  overflow: hidden;
}

.c-faq {
  flex-flow: column;
  display: flex;
}

.c-faq-q {
  justify-content: space-between;
  align-items: center;
  margin-top: .2em;
  padding: .5em 1.25em;
  display: flex;
  position: relative;
}

.c-faq-q-text {
  flex: 1;
  position: relative;
}

.c-faq-item {
  border-top: 1px solid var(--_color---copy-dark);
  cursor: pointer;
  font-size: 1.2em;
  line-height: 1.6em;
}

.section-karriere {
  z-index: 10;
  background-color: var(--_color---background-light-1);
  position: relative;
}

.karriere-wrapper {
  grid-column-gap: 7em;
  grid-row-gap: 7em;
  flex-flow: column;
}

.karriere-content-wrapper {
  grid-column-gap: 5em;
  grid-row-gap: 5em;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.karriere-title-wrapper {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 50%;
  display: flex;
  position: static;
}

.karriere-video-wrapper {
  object-fit: fill;
  object-position: 0% 50%;
  flex-flow: column;
  justify-content: center;
  align-items: stretch;
  width: 50%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.list-2 {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  flex-flow: column;
  display: flex;
}

.paragraph {
  color: var(--_color---copy-dark);
  font-weight: 700;
}

.section-profi {
  z-index: 10;
  background-color: var(--_color---background-light-2);
  position: relative;
}

.section-quereinsteiger {
  z-index: 10;
  background-color: var(--_color---background-light-1);
  position: relative;
}

.section-azubi {
  z-index: 10;
  background-color: var(--_color---background-light-2);
  position: relative;
}

.karriere-lists-wrapper {
  display: flex;
}

.karriere-list-wrapper {
  width: 50%;
  margin-bottom: var(--spacing--tiny);
}

.section-karriere-image {
  z-index: 12;
  background-image: url('../images/Einfamilienhaus05_1.webp');
  background-position: 50% 20%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: scroll;
  height: 50vh;
  position: relative;
}

.karriere-hero-image-wrapper {
  background-image: url('../images/DSC00607.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
}

.karriere-image-component {
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  height: 50vh;
  display: flex;
}

.karriere-image-content-wrapper {
  z-index: 1;
  padding-bottom: var(--spacing--xl);
  color: var(--_color---copy-bright);
}

.schweinfurt-hero-image-wrapper {
  background-image: url('../images/EFH_Schweinfurt_01.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.marienberg-hero-image-wrapper {
  background-image: url('../images/Festung_Marienberg05_1.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.wilde-deckung-hero-image-wrapper {
  background-image: url('../images/EFH_WildeDeckung_04.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.dynamische-deckung-hero-image-wrapper {
  background-image: url('../images/FassadeDynamischeDeckung_05.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.efh-prefa-hero-image-wrapper {
  background-image: url('../images/EFH_LBS_01.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

.efh-sylt-hero-image-wrapper {
  background-image: url('../images/EFH_Sylt_02.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
}

@media screen and (min-width: 1280px) {
  .info-card {
    width: 17.5em;
  }

  .leistungen-hero-image-wrapper, .projects-hero-image-wrapper, .kontakt-hero-image-wrapper, .karriere-hero-image-wrapper {
    background-size: cover;
  }
}

@media screen and (min-width: 1920px) {
  .info-card {
    width: 19.5em;
  }

  .info-cards-wrapper {
    justify-content: space-between;
  }

  .image-leistungen.biger2 {
    height: 70%;
    max-height: none;
    margin-top: -2.5em;
  }

  .kontakt-image-wrapper {
    margin-top: -6em;
  }

  .divider-h {
    width: 80%;
  }

  .projekte-overview-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .leistungen-hero-image-wrapper {
    background-image: url('../images/DSC00561_1.webp');
    background-size: cover;
  }

  .einfamilienhaus-hero-image-wrapper {
    background-image: url('../images/Einfamilienhaus01_2.webp');
  }

  .projects-hero-image-wrapper {
    background-image: url('../images/Einfamilienhaus01_2.webp');
    background-size: cover;
  }

  .kontakt-hero-image-wrapper {
    background-image: url('../images/DSC00570.webp');
    background-size: cover;
  }

  .team-image-wrapper {
    background-image: linear-gradient(#0000 67%, #01294666 94%), url('../images/DSC00535.webp');
    background-position: 0 0, 50%;
  }

  .frauenstein-hero-image-wrapper {
    background-image: url('../images/schlossFrauenstein04_4k.webp');
  }

  .bahnhof-hero-image-wrapper {
    background-image: url('../images/bahnhof03_2.webp');
  }

  .pfarrhaus-hero-image-wrapper {
    background-image: url('../images/pfarrhausFreiburg02_4k.webp');
  }

  .museum-hero-image-wrapper {
    background-image: url('../images/HiMuFFM_02_4k.webp');
  }

  .bayreuth-hero-image-wrapper {
    background-image: url('../images/klinikBay03_4k.webp');
  }

  .ohrdruf-hero-image-wrapper {
    background-image: url('../images/SchlossOhrdruf02_4k.webp');
  }

  .kuenzel-hero-image-wrapper {
    background-image: url('../images/EFH_Alu02_1.webp');
  }

  .lightbox-link {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    justify-content: space-between;
    align-items: stretch;
    display: flex;
  }

  .projekt-info-grid-image-wrapper {
    height: 31em;
  }

  .footer-image-wrapper {
    width: 40%;
  }

  .karriere-video-wrapper {
    margin-top: -6em;
  }

  .marienberg-hero-image-wrapper {
    background-image: url('../images/Festung_Marienberg05_1.webp');
  }
}

@media screen and (max-width: 991px) {
  body {
    --font-family--manrope: Manrope, sans-serif;
    --heading--h1: 4.8rem;
    --heading--h2: 3.8rem;
    --heading--h3: 3rem;
    --heading--h4: 2.4rem;
    --heading--h5: 1.4rem;
    --heading--h6: 1.2rem;
    --spacing--sm: 2.2rem;
    --text-size--small: 1.1rem;
    --spacing--tiny: 1.2rem;
    --spacing--md: 4.5rem;
    --spacing--xxs: .5rem;
    --text-size--tiny: .9rem;
    --text-size--medium: 1.25rem;
    --spacing--xs: .8rem;
    --container--medium: 80rem;
    --spacing--xxxs: .4rem;
    --spacing--xl: 7.5rem;
    --container--tiny: 32rem;
    --text-size--large: 1.5rem;
    --container--large: 100rem;
    --container--small: 50rem;
    --spacing--xxl: 9.5rem;
    --text-size--xtiny: .6rem;
    --border-radius--large: 4rem;
    --border-radius--medium: 2rem;
  }

  .copy-medium {
    font-size: var(--text-size--small);
  }

  .styleguide_2-col {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: 1fr;
  }

  .heading-style-h5.text-weight-light {
    font-size: var(--heading--h6);
  }

  .heading-style-h2.shadow {
    font-size: 2rem;
  }

  .full-width-tablet {
    width: 100%;
    max-width: none;
  }

  .heading-style-h4.cap {
    font-size: 1.8rem;
  }

  .styleguide_3-col {
    grid-template-columns: 1fr;
  }

  .copy-small {
    min-width: 50%;
    font-size: var(--text-size--small);
  }

  .heading-style-h1.text-weight-light {
    font-size: var(--heading--h4);
  }

  .container-large {
    padding-left: 0;
    padding-right: 0;
  }

  .styleguide-heading {
    font-size: 3rem;
  }

  .hide-tablet {
    display: none;
  }

  .page-padding {
    padding-right: var(--page-padding--tablet);
    padding-left: var(--page-padding--tablet);
  }

  .styleguide_section {
    grid-column-gap: 2.5rem;
    grid-template-columns: 1fr;
  }

  .hide-desktop-only {
    display: block;
  }

  .navbar-inner-wrapper {
    color: var(--_color---white);
    justify-content: space-between;
    align-items: center;
    font-size: 1rem;
  }

  .home-leistung-component {
    aspect-ratio: auto;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .home-leistung-component-wrapper {
    height: 16em;
  }

  .home-vorteile-text-wrapper {
    max-width: 24em;
  }

  .home-leistung-image-wrapper {
    background-position: 50%;
    width: 80%;
    min-height: 18em;
  }

  .footer-kontakt-wrapper {
    font-size: 1rem;
  }

  .footer-top-wrapper {
    grid-column-gap: var(--spacing--sm);
    grid-row-gap: var(--spacing--sm);
  }

  .heading-small {
    font-size: 3rem;
  }

  .info-cards-wrapper {
    flex-direction: column;
    grid-template-columns: minmax(17.5em, .25fr) minmax(17.5em, .25fr);
    justify-content: center;
  }

  .body-medium {
    font-size: 1.15rem;
  }

  .home-team-component-wrapper {
    padding-left: 5em;
  }

  .kontakt-image-wrapper {
    width: 60%;
    margin-top: 0;
    margin-left: 0;
  }

  .kontakt-title-wrapper {
    width: 80%;
  }

  .home-testimonial-component {
    aspect-ratio: auto;
  }

  .top-text-wrapper {
    min-width: auto;
  }

  .kontakt-image-1 {
    object-fit: cover;
    object-position: 70% 50%;
    max-width: 80%;
    margin-top: -4em;
  }

  .carousel-logo-wrapper {
    min-width: 120%;
  }

  .list {
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .border.home, .border.about-us, .border.news, .border.contact, .border.karriere {
    opacity: 0;
  }

  .link-block-2 {
    background-color: #012946b3;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .link-block-2:hover {
    background-color: var(--_color---accent-color-3);
    color: var(--_color---accent-color-1);
  }

  .link-block-2.w--current {
    background-color: #08fc;
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
  }

  .link-block-2.w--current:hover {
    color: var(--_color---accent-color-3);
    background-color: #08f;
  }

  .trigger.right {
    display: block;
  }

  .menu-button-2 {
    flex-flow: column;
    align-items: flex-start;
    padding: 0;
    font-size: 2rem;
  }

  .menu-button-2.w--open {
    background-color: var(--_color---accent-color-1);
  }

  .projekte-overview-grid {
    flex-direction: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1.75fr 1.75fr;
    overflow: visible;
  }

  .project-item-bg-wrapper {
    height: 2.2em;
  }

  .list-item {
    width: 100%;
    color: var(--_color---white);
  }

  .list-item:hover {
    color: var(--_color---accent-color-1);
  }

  .nav-menu {
    color: var(--_color---accent-color-1);
    background-color: #0000;
    font-weight: 700;
    position: absolute;
  }

  .nav {
    display: block;
  }

  .projects-hero-image-wrapper {
    background-size: cover;
  }

  .project-item-info-wrapper {
    height: 1.4em;
  }

  .project-item-summery-wrapper {
    opacity: 0;
  }

  .kontakt-hero-image-wrapper {
    background-position: 80%;
  }

  .team-image-wrapper {
    background-position: 0 0, 60%;
  }

  .frauenstein-hero-image-wrapper {
    background-image: url('../images/schlossFrauenstein04.webp');
  }

  .project-info-list, .project-info-list-dot {
    min-width: 6em;
  }

  .bahnhof-hero-image-wrapper {
    background-position: 10%;
  }

  .museum-hero-image-wrapper, .laminet-hero-image-wrapper {
    background-position: 50%;
  }

  .kuenzel-hero-image-wrapper {
    background-position: 90%;
  }

  .gerberei-hero-image-wrapper {
    background-position: 50%;
  }

  .projekt-info-grid-image-wrapper {
    height: 13em;
  }

  .accordion-item-body-wrapper {
    flex-flow: column;
  }

  .karriere-content-wrapper {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    flex-flow: column;
  }

  .karriere-title-wrapper {
    width: 100%;
  }

  .karriere-video-wrapper {
    width: 100%;
    margin-top: 0;
    margin-left: 0;
  }

  .karriere-hero-image-wrapper {
    background-position: 80%;
  }

  .schweinfurt-hero-image-wrapper {
    background-position: 50%;
  }

  .marienberg-hero-image-wrapper {
    background-image: url('../images/Festung_Marienberg05.webp');
    background-position: 70%;
  }

  .dynamische-deckung-hero-image-wrapper {
    background-position: 60%;
  }
}

@media screen and (max-width: 767px) {
  body {
    --font-family--manrope: Manrope, sans-serif;
    --heading--h1: 2.8rem;
    --heading--h2: 2.5rem;
    --heading--h3: 2.1rem;
    --heading--h4: 1.7rem;
    --heading--h5: 1.2rem;
    --heading--h6: 1rem;
    --spacing--sm: 2.2rem;
    --text-size--small: 1.1rem;
    --spacing--tiny: 1.2rem;
    --spacing--md: 4rem;
    --spacing--xxs: .5rem;
    --text-size--tiny: 1rem;
    --text-size--medium: 1.2rem;
    --spacing--xs: .8rem;
    --container--medium: 80rem;
    --spacing--xxxs: .4rem;
    --spacing--xl: 6rem;
    --container--tiny: 32rem;
    --text-size--large: 1.4rem;
    --container--large: 100rem;
    --container--small: 50rem;
    --spacing--xxl: 8rem;
    --text-size--xtiny: .7rem;
    --border-radius--large: 4rem;
    --border-radius--medium: 1.5rem;
  }

  .heading-style-h5.text-weight-light {
    font-size: var(--heading--h6);
  }

  .heading-style-h4.cap {
    font-size: 1.5rem;
  }

  .styleguide_section-header {
    font-size: .875rem;
  }

  .full-width-mobile-landscape {
    width: 100%;
    max-width: none;
  }

  .text-style-nowrap {
    white-space: normal;
  }

  .styleguide-heading {
    font-size: 2rem;
  }

  .hide-mobile-landscape {
    display: none;
  }

  .hero-component {
    justify-content: flex-end;
    align-items: center;
  }

  .hero-content-wrapper {
    width: 25em;
  }

  .home-leistung-component {
    width: 30%;
  }

  .home-leistung-title {
    width: 80%;
  }

  .home-vorteile-wrapper {
    flex-flow: column;
  }

  .home-vorteile-image-wrapper {
    max-width: 24em;
    min-height: 27em;
    bottom: 0;
  }

  .home-leistung-top-wrapper {
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .footer-kontakt-wrapper, .footer-about-wrapper {
    min-width: auto;
  }

  .footer-social-wrapper {
    width: 100%;
    min-width: auto;
    max-width: none;
  }

  .footer-top-wrapper {
    grid-column-gap: var(--spacing--md);
    grid-row-gap: var(--spacing--md);
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: flex;
  }

  .footer-links-wrapper {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    font-size: var(--text-size--xtiny);
  }

  .info-card-bottom {
    margin-top: 3em;
  }

  .heading-small {
    font-size: 2.8rem;
  }

  .service-card-open-close {
    width: 3rem;
    height: 3rem;
  }

  .info-card {
    grid-row-gap: 2.5rem;
    min-height: 32rem;
  }

  .body-small.is-smaler-txt {
    font-size: .9rem;
  }

  .body-medium {
    font-size: 1.15rem;
  }

  .home-team-component-wrapper {
    padding-left: 0;
  }

  .top-wrapper {
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .rect-leistungen {
    height: 36em;
  }

  .kontakt-image-2 {
    width: 7.7em;
    height: 11em;
  }

  .kontakt-top-wrapper {
    flex-flow: row;
  }

  .testimonial-slide {
    max-width: 18em;
  }

  .home-testimonial-component {
    height: 25em;
  }

  .testimonials-text.copy-tiny {
    font-size: .8rem;
  }

  .home-testimonials-wrapper {
    align-items: center;
  }

  .home-testimonials-text-wrapper.spacer-sm-start.spacer-sm-end {
    width: 70%;
  }

  .kontakt-image-1 {
    margin-top: -3em;
  }

  .projekt-image {
    object-fit: cover;
  }

  .carousel-logo-wrapper {
    min-width: 150%;
  }

  .projekte-overview-grid {
    grid-template-columns: 1.75fr;
  }

  .leistungen-hero-image-wrapper {
    background-image: url('../images/DSC00561.webp');
  }

  .projects-hero-image-wrapper {
    background-image: url('../images/Einfamilienhaus01.webp');
  }

  .icon-2 {
    inset: 0% auto 0% 0%;
  }

  .icon-3 {
    inset: 0% 0% 0% auto;
  }

  .project-info-list-dot {
    list-style-type: square;
  }

  .bahnhof-hero-image-wrapper {
    background-position: 20%;
  }

  .museum-hero-image-wrapper, .laminet-hero-image-wrapper {
    background-position: 50%;
  }

  .kuenzel-hero-image-wrapper {
    background-position: 80%;
  }

  .gerberei-hero-image-wrapper {
    background-position: 50%;
  }

  .projekt-info-image-3grid-wrapper {
    flex-flow: column;
    width: 100%;
    display: flex;
  }

  .projekt-info-grid-image-wrapper {
    height: 20em;
  }

  .kontakt-bottom-hl {
    width: 70%;
  }

  .projekt-info-image-4grid-wrapper, .projekt-info-image-2grid-wrapper {
    flex-flow: column;
    width: 100%;
    display: flex;
  }

  .projekt-image--left {
    object-fit: cover;
  }

  .footer-social-media-icons-wrapper {
    width: 100%;
    min-width: auto;
    max-width: none;
  }

  .accordion-image.mt-70 {
    margin-top: -72px;
  }

  .accordion-rect-leistungen {
    width: 100%;
    min-width: 43em;
    height: 100%;
    min-height: 54.5em;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    inset: 0% auto auto 0%;
  }

  .accordion-arrow-wrapper {
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .accordion-item-body-wrapper {
    grid-column-gap: 0em;
    grid-row-gap: 0em;
    flex-flow: column;
    display: flex;
  }

  .accordion-item-body-text-wrapper {
    width: 100%;
  }

  .accordion-item-image-wrapper {
    width: 100%;
    position: relative;
    inset: auto 0% 0% auto;
  }

  .accordion-items-body-group-wrapper, .karriere-lists-wrapper {
    flex-flow: column;
  }

  .karriere-list-wrapper {
    width: 100%;
  }

  .karriere-image-component {
    justify-content: flex-end;
    align-items: center;
  }

  .karriere-image-content-wrapper {
    width: 25em;
  }

  .dynamische-deckung-hero-image-wrapper {
    background-position: 60%;
  }
}

@media screen and (max-width: 479px) {
  .full-width-mobile-portrait {
    width: 100%;
    max-width: none;
  }

  .heading-style-h5.text-weight-light {
    font-size: var(--heading--h5);
  }

  .heading-style-h2.shadow {
    overflow-wrap: break-word;
    width: 8em;
  }

  .heading-style-h4.cap {
    flex: 0 auto;
    width: 80%;
    font-size: 1rem;
  }

  .copy-small.text-align-center {
    min-width: 100%;
    max-width: none;
  }

  .spacer-sm-start.spacer-sm-end {
    display: block;
  }

  .hide-mobile-portrait {
    display: none;
  }

  .section-hero {
    height: 100vh;
  }

  .hero-component {
    height: 100vh;
    padding-left: 0;
  }

  .hero-content-wrapper {
    width: 15em;
  }

  .hero-content-wrapper.is-small {
    width: auto;
  }

  .home-leistung-component {
    width: 100%;
    display: flex;
  }

  .home-leistung-title {
    width: 100%;
  }

  .home-leistung-component-wrapper {
    flex-flow: column;
    height: auto;
  }

  .text-block-2 {
    font-size: .9rem;
  }

  .leistung-image-1 {
    object-position: 50% 50%;
    min-height: auto;
  }

  .image-slider {
    width: 80svw;
  }

  .home-leistung-image-wrapper {
    width: 100%;
  }

  .home-leistung-top-wrapper {
    padding-left: 0;
    padding-right: 0;
  }

  .footer-about-wrapper, .footer-social-wrapper {
    display: block;
  }

  .footer-top-wrapper {
    grid-column-gap: var(--spacing--md);
    grid-row-gap: var(--spacing--md);
    flex-flow: column;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    display: flex;
  }

  .footer-links-wrapper {
    font-size: var(--text-size--xtiny);
  }

  .info-card-bottom {
    grid-row-gap: 1rem;
    margin-top: 1em;
  }

  .heading-small {
    font-size: 2.25rem;
  }

  .service-card-open-close {
    width: 2.5rem;
    height: 2.5rem;
  }

  .info-hidden {
    grid-row-gap: 2rem;
  }

  .info-card {
    grid-row-gap: 2.5rem;
    min-height: 28rem;
  }

  .info-cards-wrapper {
    grid-template-rows: auto;
    grid-template-columns: minmax(17.5em, .75fr);
    justify-content: center;
    align-self: auto;
  }

  .body-medium {
    font-size: 1rem;
  }

  .top-wrapper {
    flex-flow: column;
  }

  .leistung-headline-middle-wrapper, .leistung-headline-wrapper {
    min-width: auto;
  }

  .kontakt-image-wrapper {
    width: 100%;
  }

  .kontakt-title-wrapper {
    width: 95%;
  }

  .kontakt-top-wrapper {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    flex-flow: column;
  }

  .home-testimonials-text-wrapper.spacer-sm-start.spacer-sm-end {
    width: 100%;
  }

  .projekte-info-details-wrapper {
    flex-flow: column;
  }

  .projekt-image {
    object-position: 50% 50%;
  }

  .projekt-info-text {
    min-width: auto;
    max-width: none;
  }

  .carousel-logo-wrapper {
    min-width: 230%;
  }

  .list {
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .border.home {
    display: none;
  }

  .nav-logo-wrapper {
    width: 70%;
    margin-top: .5em;
  }

  .projekte-overview-grid {
    grid-template-columns: 1.75fr;
  }

  .einfamilienhaus-hero-image-wrapper {
    background-image: url('../images/Einfamilienhaus01.webp');
  }

  .kontakt-hero-image-wrapper {
    background-position: 18%;
  }

  .project-info-list-dot {
    list-style-type: square;
  }

  .bahnhof-hero-image-wrapper {
    background-image: url('../images/bahnhof03_1.webp');
    background-position: 20%;
  }

  .pfarrhaus-hero-image-wrapper {
    background-image: url('../images/pfarrhausFreiburg02_1.webp');
    background-position: 50%;
  }

  .museum-hero-image-wrapper {
    background-image: url('../images/HiMuFFM_05.webp');
    background-position: 30%;
  }

  .bayreuth-hero-image-wrapper {
    background-image: url('../images/klinikBay01_1.webp');
  }

  .ohrdruf-hero-image-wrapper {
    background-image: url('../images/SchlossOhrdruf02_1.webp');
    background-position: 55%;
  }

  .laminet-hero-image-wrapper {
    background-position: 60%;
  }

  .kuenzel-hero-image-wrapper {
    background-image: url('../images/EFH_Alu02.webp');
    background-position: 80%;
  }

  .gerberei-hero-image-wrapper {
    background-position: 46%;
  }

  .projekt-info-grid-image-wrapper {
    height: 13em;
  }

  .kontakt-bottom-suche {
    flex-flow: column;
  }

  .kontakt-bottom-hl {
    width: 100%;
  }

  .projekt-image--left {
    object-position: 50% 50%;
  }

  .carousel-image-h100 {
    width: 12em;
  }

  .footer-social-media-icons-wrapper {
    flex-flow: column;
    display: flex;
  }

  .accordion-image.mt-70 {
    margin-top: -75px;
  }

  .accordion-rect-leistungen {
    min-width: 30em;
    min-height: 35.5em;
  }

  .accordion-item-image-wrapper {
    height: 11em;
  }

  .karriere-video-wrapper {
    width: 100%;
  }

  .karriere-hero-image-wrapper {
    background-position: 18%;
  }

  .karriere-image-component {
    padding-left: 0;
  }

  .karriere-image-content-wrapper {
    width: 15em;
  }

  .schweinfurt-hero-image-wrapper {
    background-position: 90%;
  }

  .dynamische-deckung-hero-image-wrapper {
    background-position: 60%;
  }

  .efh-sylt-hero-image-wrapper {
    background-position: 20%;
  }
}

#w-node-b898fac5-549e-6b61-8561-86e070af5efd-366c20d8, #w-node-b898fac5-549e-6b61-8561-86e070af5f02-366c20d8, #w-node-b898fac5-549e-6b61-8561-86e070af5f07-366c20d8, #w-node-b898fac5-549e-6b61-8561-86e070af5f0c-366c20d8, #w-node-b898fac5-549e-6b61-8561-86e070af5f11-366c20d8, #w-node-b898fac5-549e-6b61-8561-86e070af60b1-366c20d8, #w-node-_36de21b6-e84a-9fe8-03e6-3fb3eb2fdc73-366c20d8, #w-node-b898fac5-549e-6b61-8561-86e070af60b8-366c20d8 {
  justify-self: start;
}

#w-node-b898fac5-549e-6b61-8561-86e070af60bd-366c20d8 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-b898fac5-549e-6b61-8561-86e070af60bf-366c20d8 {
  justify-self: start;
}

#w-node-b898fac5-549e-6b61-8561-86e070af60c4-366c20d8 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-b898fac5-549e-6b61-8561-86e070af60c6-366c20d8 {
  justify-self: start;
}

#w-node-_99ee799f-31d9-a411-a661-a5705a568cbe-366c20d8 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-b898fac5-549e-6b61-8561-86e070af60cb-366c20d8 {
  justify-self: start;
}

#w-node-_17b28ba2-1883-492c-4315-8bcc010b4ca1-366c20d8 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_17b28ba2-1883-492c-4315-8bcc010b4ca3-366c20d8 {
  justify-self: start;
}

#w-node-b898fac5-549e-6b61-8561-86e070af5faf-366c20d8, #w-node-b898fac5-549e-6b61-8561-86e070af5fc8-366c20d8 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-b898fac5-549e-6b61-8561-86e070af5fcb-366c20d8 {
  justify-self: start;
}

#w-node-b898fac5-549e-6b61-8561-86e070af5fcd-366c20d8 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-b898fac5-549e-6b61-8561-86e070af5fd0-366c20d8 {
  justify-self: start;
}

#w-node-b898fac5-549e-6b61-8561-86e070af6039-366c20d8, #w-node-b898fac5-549e-6b61-8561-86e070af6043-366c20d8, #w-node-b898fac5-549e-6b61-8561-86e070af6044-366c20d8, #w-node-b898fac5-549e-6b61-8561-86e070af6166-366c20d8, #w-node-_52c41f58-d14d-3a64-bd44-34cc9cac58bd-9d0280ef, #w-node-c18eb011-0703-9bb6-f1e1-ad9f2f6a71dd-9d0280ef, #w-node-_5f51af7a-e3c1-e178-c067-1a40be850c17-9d0280ef, #w-node-_90221b44-20a6-c7cd-81fd-409f3ce6f18f-9d0280ef, #w-node-_0a5c4825-aa9e-dfc7-7640-8108e387af01-9d0280ef, #w-node-c95bd3e0-df9b-59f1-9ef8-a03637a36379-9d0280ef, #w-node-a072b448-c183-b440-c3ac-749a5adf39b3-9d0280ef, #w-node-_6a955eda-bdf1-0890-965a-58c53d4be1cd-9d0280ef, #w-node-_5a31c9e5-88ef-4ef0-03a9-21c3c516f88c-9d0280ef, #w-node-_5a41515d-548a-b57b-d5d5-e6041f5849a0-9d0280ef, #w-node-fc3407c7-1e6e-e0da-8425-4e29875daac9-9d0280ef {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_6a6174c0-1b78-28af-528c-b26a4af1bb9e-547a4bc3 {
  grid-area: span 2 / span 1 / span 2 / span 1;
}

#w-node-_76290095-b431-cb63-804d-779a43192d00-547a4bc3, #w-node-_806aeb5d-81c5-bec1-68c1-b0523a077093-547a4bc3 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-f12b58b3-b803-aeea-877e-1c93f2c05dcf-547a4bc3, #w-node-_1bcb788f-ad91-58bc-bee0-19d04701f351-547a4bc3 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_9076c7a1-4df2-3c74-2602-89655d9f79fc-547a4bc3 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-f49249c0-9c0e-eac3-cc34-191dd5052a34-547a4bc3 {
  grid-area: span 2 / span 1 / span 2 / span 1;
}

#w-node-_06ea4578-fd18-473b-16db-ca4d3bc95f45-547a4bc3 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-d8ba5b2b-b618-876c-94bb-38302edf9bf6-547a4bc3, #w-node-_299cbb69-c989-b081-7979-cdf83702267d-547a4bc3 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_5a3f52d7-ebbb-3f80-6095-17ecb5a7f324-547a4bc3 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-fb80efa1-53cc-20ef-2c38-14b2f4a5e331-547a4bc3 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-b4d1a3b5-2042-72ef-5cbe-546563233df7-547a4bc3 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-c48d665e-6bfd-a8c3-2392-d9993fe3ec6e-547a4bc3 {
  grid-area: span 2 / span 1 / span 2 / span 1;
}

@media screen and (min-width: 1920px) {
  #w-node-_6a6174c0-1b78-28af-528c-b26a4af1bb9e-547a4bc3 {
    grid-column: span 3 / span 3;
  }

  #w-node-_76290095-b431-cb63-804d-779a43192d00-547a4bc3, #w-node-_806aeb5d-81c5-bec1-68c1-b0523a077093-547a4bc3 {
    grid-area: span 1 / span 3 / span 1 / span 3;
  }

  #w-node-f12b58b3-b803-aeea-877e-1c93f2c05dcf-547a4bc3, #w-node-_1bcb788f-ad91-58bc-bee0-19d04701f351-547a4bc3 {
    grid-area: span 1 / span 6 / span 1 / span 6;
  }

  #w-node-_9076c7a1-4df2-3c74-2602-89655d9f79fc-547a4bc3 {
    grid-area: span 1 / span 3 / span 1 / span 3;
  }

  #w-node-f49249c0-9c0e-eac3-cc34-191dd5052a34-547a4bc3 {
    grid-area: span 2 / span 3 / span 2 / span 3;
  }

  #w-node-_06ea4578-fd18-473b-16db-ca4d3bc95f45-547a4bc3 {
    grid-area: span 1 / span 6 / span 1 / span 6;
  }

  #w-node-d8ba5b2b-b618-876c-94bb-38302edf9bf6-547a4bc3, #w-node-_299cbb69-c989-b081-7979-cdf83702267d-547a4bc3 {
    grid-area: span 1 / span 3 / span 1 / span 3;
  }

  #w-node-_5a3f52d7-ebbb-3f80-6095-17ecb5a7f324-547a4bc3 {
    grid-area: span 1 / span 6 / span 1 / span 6;
  }

  #w-node-fb80efa1-53cc-20ef-2c38-14b2f4a5e331-547a4bc3 {
    grid-area: span 1 / span 3 / span 1 / span 3;
  }

  #w-node-b4d1a3b5-2042-72ef-5cbe-546563233df7-547a4bc3 {
    grid-area: span 1 / span 6 / span 1 / span 6;
  }

  #w-node-c48d665e-6bfd-a8c3-2392-d9993fe3ec6e-547a4bc3 {
    grid-area: span 2 / span 3 / span 2 / span 3;
  }

  #w-node-d8ace298-ec8d-5e01-7334-fd7abdedc316-547a4bc3, #w-node-_23512877-d91e-4ca6-fa73-4843b000f2ce-547a4bc3 {
    grid-area: span 1 / span 3 / span 1 / span 3;
  }
}

@media screen and (max-width: 991px) {
  #w-node-_6a6174c0-1b78-28af-528c-b26a4af1bb9e-547a4bc3, #w-node-_76290095-b431-cb63-804d-779a43192d00-547a4bc3, #w-node-_806aeb5d-81c5-bec1-68c1-b0523a077093-547a4bc3, #w-node-f12b58b3-b803-aeea-877e-1c93f2c05dcf-547a4bc3, #w-node-_1bcb788f-ad91-58bc-bee0-19d04701f351-547a4bc3, #w-node-_9076c7a1-4df2-3c74-2602-89655d9f79fc-547a4bc3, #w-node-f49249c0-9c0e-eac3-cc34-191dd5052a34-547a4bc3, #w-node-_06ea4578-fd18-473b-16db-ca4d3bc95f45-547a4bc3, #w-node-d8ba5b2b-b618-876c-94bb-38302edf9bf6-547a4bc3, #w-node-_299cbb69-c989-b081-7979-cdf83702267d-547a4bc3, #w-node-_5a3f52d7-ebbb-3f80-6095-17ecb5a7f324-547a4bc3, #w-node-fb80efa1-53cc-20ef-2c38-14b2f4a5e331-547a4bc3, #w-node-b4d1a3b5-2042-72ef-5cbe-546563233df7-547a4bc3, #w-node-c48d665e-6bfd-a8c3-2392-d9993fe3ec6e-547a4bc3 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_76290095-b431-cb63-804d-779a43192d00-547a4bc3, #w-node-_806aeb5d-81c5-bec1-68c1-b0523a077093-547a4bc3, #w-node-f12b58b3-b803-aeea-877e-1c93f2c05dcf-547a4bc3, #w-node-_1bcb788f-ad91-58bc-bee0-19d04701f351-547a4bc3, #w-node-_9076c7a1-4df2-3c74-2602-89655d9f79fc-547a4bc3, #w-node-f49249c0-9c0e-eac3-cc34-191dd5052a34-547a4bc3, #w-node-_06ea4578-fd18-473b-16db-ca4d3bc95f45-547a4bc3, #w-node-d8ba5b2b-b618-876c-94bb-38302edf9bf6-547a4bc3, #w-node-_299cbb69-c989-b081-7979-cdf83702267d-547a4bc3, #w-node-_5a3f52d7-ebbb-3f80-6095-17ecb5a7f324-547a4bc3, #w-node-fb80efa1-53cc-20ef-2c38-14b2f4a5e331-547a4bc3, #w-node-b4d1a3b5-2042-72ef-5cbe-546563233df7-547a4bc3, #w-node-c48d665e-6bfd-a8c3-2392-d9993fe3ec6e-547a4bc3 {
    grid-row: span 1 / span 1;
  }
}


@font-face {
  font-family: 'Manrope';
  src: url('../fonts/Manrope-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/Manrope-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/Manrope-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/Manrope-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/Manrope-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}