:root {
  --boesner_green: #0b6b5b;
  --white: #fff;
  --boesner_sand: #f5f1ec;
}

body {
  color: #333;
  font-family: Roboto Local, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

h1 {
  color: var(--boesner_green);
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
}

h2 {
  max-width: 25ch;
  color: var(--boesner_green);
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 50px;
  font-weight: 700;
  line-height: 1.2;
}

h3 {
  max-width: 40ch;
  color: var(--boesner_green);
  margin-top: 0;
  margin-bottom: 10px;
  padding-top: 13px;
  font-size: 18px;
  font-weight: 700;
  line-height: 30px;
}

p {
  max-width: 70ch;
  margin-bottom: 10px;
}

a {
  transition: all .4s ease-in-out;
}

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

.wrapper {
  width: 95%;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}

.hero_content {
  width: 50%;
  min-height: 200px;
  background-color: rgba(255, 255, 255, .85);
  margin-bottom: -40px;
  padding: 19px;
  box-shadow: 0 0 50px 10px rgba(0, 0, 0, .2);
}

.hero_flex {
  min-height: 80vh;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  display: flex;
}

.hero_teaser {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}

.cta {
  background-color: var(--boesner_green);
  color: var(--white);
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 500;
}

.cta:hover {
  background-color: var(--boesner_sand);
  color: var(--boesner_green);
}

.hero_section {
  min-height: 80vh;
  background-image: url('../images/hero_bg-image.jpg');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 80vw;
  margin-bottom: 80px;
}

.target_section {
  min-height: 60vh;
  background-color: var(--boesner_sand);
  padding-top: 60px;
  padding-bottom: 60px;
}

.target_header {
  grid-column-gap: 50px;
  padding-bottom: 79px;
  display: flex;
}

.heading {
  margin-top: 0;
}

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

.wrapper_hero {
  width: 95%;
  max-width: 1280px;
  min-height: 80vh;
  margin-left: auto;
  margin-right: auto;
}

.specials_section {
  min-height: 60ch;
  padding-top: 40px;
  padding-bottom: 40px;
}

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

.secials_text-box {
  width: 45%;
  min-height: 500px;
}

.secials_image-box {
  width: 45%;
}

.h2_secial {
  max-width: 20ch;
  font-size: 30px;
}

.secials_article {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  align-items: flex-start;
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
}

.secial_icon {
  width: 50px;
}

.special_spam {
  color: var(--boesner_green);
  margin-bottom: 9px;
  display: inline-block;
}

.referenz_section {
  background-color: var(--boesner_sand);
  display: flex;
}

.referenz_image {
  width: 60%;
}

.referenz_content {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
}

.h2_referenz {
  max-width: 100ch;
  margin-bottom: 57px;
  font-size: 35px;
}

.logo_grid {
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-content: center;
  align-items: center;
  justify-items: center;
  display: grid;
}

.berlin_logo {
  width: 90%;
}

.klepper_logo {
  width: 85%;
  margin-left: auto;
  margin-right: auto;
}

.faun_logo {
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}

.luftbild {
  height: 600px;
  object-fit: cover;
}

.kontakt_section {
  padding-top: 60px;
  padding-bottom: 60px;
}

.kontakt_text-box {
  width: 35%;
  flex-direction: column;
  justify-content: center;
  font-style: normal;
  display: flex;
}

.kontakt_image {
  width: 60%;
}

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

.h2_kontakt {
  font-size: 37px;
}

.kontakt_name {
  color: var(--boesner_green);
  margin-bottom: 0;
  font-family: Roboto Local, sans-serif;
  font-size: 27px;
  font-weight: 700;
}

.kontakt_link {
  color: var(--boesner_green);
  text-decoration: none;
}

.kontakt_link:hover {
  color: #333;
  text-decoration: underline;
}

.kontakt_p {
  max-width: 25ch;
}

.svg_link {
  width: 220px;
}

.zitat {
  font-size: 14px;
  font-style: italic;
}

@media screen and (max-width: 991px) {
  .hero_content {
    width: 80%;
  }

  .secials_text-box {
    width: 53%;
  }

  .logo_grid {
    grid-template-columns: 1fr 1fr;
  }

  .target_p {
    max-width: 40ch;
  }
}

@media screen and (max-width: 767px) {
  .hero_content {
    width: 90%;
  }

  .target_grid {
    grid-template-columns: 1fr 1fr;
  }

  .referenz_section {
    flex-direction: column;
  }

  .referenz_image {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .luftbild {
    height: 400px;
  }
}

@media screen and (max-width: 479px) {
  .hero_content {
    margin: 133px auto 25px;
  }

  .cta {
    margin-bottom: 30px;
  }

  .hero_section {
    min-height: auto;
    background-size: contain;
    margin-bottom: 26px;
  }

  .target_section {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .target_header {
    flex-direction: column;
    padding-bottom: 20px;
  }

  .target_grid {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    grid-template-columns: 1fr;
  }

  .wrapper_hero {
    min-height: auto;
  }

  .specials_flex {
    flex-direction: column;
  }

  .secials_text-box, .secials_image-box {
    width: 100%;
  }

  .h2_secial {
    font-size: 26px;
  }

  .secials_article {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .referenz_content {
    padding-bottom: 40px;
  }

  .logo_grid {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    grid-template-columns: 1fr;
  }

  .kontakt_section {
    padding-top: 23px;
    padding-bottom: 43px;
  }

  .kontakt_text-box, .kontakt_image {
    width: 100%;
  }

  .kontakt_flex {
    flex-direction: column;
  }

  .h2_kontakt {
    font-size: 30px;
  }

  .heading-2 {
    font-size: 24px;
    line-height: 1.4;
  }
}

#w-node-_83bceb77-00e6-06f8-8bf6-da3e4906fab8-c6e3fbd7, #w-node-fd3c7453-f31f-cb34-769b-d2be1b2a3c2e-c6e3fbd7 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_5cf33d7b-b8c5-d436-1db3-d21342d2032b-c6e3fbd7 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  justify-self: center;
}

#w-node-d730a9ef-3d04-053e-19d2-6ebc68417d5e-c6e3fbd7, #w-node-_76f96aff-b78e-7901-d03c-56cac97417cb-c6e3fbd7, #w-node-b74f4fc9-5c91-2780-8eec-8550a2cc1f58-c6e3fbd7, #w-node-eb457ef3-d6d7-ac35-11a0-8bb6bf6a35ae-c6e3fbd7, #w-node-_4402ac23-6bb7-894e-5f15-e96d909a32eb-c6e3fbd7, #w-node-_18839be2-0d43-9de2-5374-3d6222996398-c6e3fbd7, #w-node-_472042e8-62a4-34c4-be81-9f3654158cd1-c6e3fbd7, #w-node-_0ea5af93-f226-a6be-7d73-e63adb37e685-c6e3fbd7, #w-node-addcb077-75e8-43df-4fe4-267834d0efb3-c6e3fbd7 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}


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