@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/open_sans-400-italic.woff2) format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/open_sans-400.woff2) format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/open_sans-600-italic.woff2) format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/open_sans-600.woff2) format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/open_sans-700-italic.woff2) format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/open_sans-700.woff2) format("woff2"); }
:root {
  --color-primary: #80a51b;
  --color-secondary: #0076b1;
  --color-black: #535d61;
  --color-white: #ffffff; }

body {
  text-align: center;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  padding: 0;
  margin: 0; }

header {
  height: 80vw;
  max-height: 240px;
  background: url("../../content/paneele-header-bg.webp") center center no-repeat;
  background-size: cover;
  padding: 50px 25px;
  position: relative; }
  @media screen and (orientation: landscape) {
    header {
      height: 50vh;
      min-height: 300px;
      max-height: none; } }
  header img {
    width: 35vw;
    max-width: 200px; }
  header::after {
    content: '';
    width: 100%;
    height: 0;
    padding-top: 19.06282051%;
    background: url("../img/bruecken_energie-border_triangle_bottom.svg") no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    bottom: 0; }

main {
  position: relative; }
  main.arrow-before::before {
    content: '';
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-100%);
    border-style: solid;
    border-width: 15vw 50vw 0 50vw;
    border-color: transparent;
    border-right-color: var(--color-white);
    border-left-color: var(--color-white); }
  main > .body {
    padding: 50px 25px 0;
    max-width: 650px;
    margin: 0 auto;
    position: relative; }
    main > .body h2 {
      margin-top: 2em; }

.green {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0 25px;
  height: 84.19615385vw;
  background-image: url("../img/bruecken_energie-bg_triangle-portrait.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-top: -15.625vw; }
  @media screen and (orientation: landscape) {
    .green {
      background-image: url("../img/bruecken_energie-bg_triangle-landscape.svg");
      margin-top: -25.5vw; } }
  .green .body {
    max-width: 650px;
    margin: 0 auto; }
  .green h1 {
    font-size: 22px;
    text-transform: uppercase;
    margin: 0 0 2.5em 0; }
    @media screen and (min-width: 780px) {
      .green h1 {
        font-size: 30px; } }
    @media screen and (min-width: 992px) {
      .green h1 {
        font-size: 40px;
        margin: 0 0 2em 0; } }

.img-bubbles {
  transform: translateY(-50%);
  margin-top: -14.625vw;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (orientation: landscape) {
    .img-bubbles {
      margin-top: -23.5vw; } }
  .img-bubbles img {
    width: 28.205vw;
    height: 28.205vw;
    border-radius: 50%;
    border: 5px solid var(--color-white);
    z-index: 0;
    object-fit: cover;
    object-position: center center; }
    @media screen and (min-width: 780px) {
      .img-bubbles img {
        width: 200px;
        height: 200px; } }
    .img-bubbles img:nth-child(2) {
      width: 35.897vw;
      height: 35.897vw;
      margin: 0 -5.12822vw;
      z-index: 10; }
      @media screen and (min-width: 780px) {
        .img-bubbles img:nth-child(2) {
          width: 250px;
          height: 250px;
          margin: 0 -50px; } }

.contact * {
  font-size: 18px; }
  @media screen and (min-width: 992px) {
    .contact * {
      font-size: 22px; } }
.contact .body {
  padding: 0 25px;
  max-width: 450px;
  margin: -25px auto 0; }
.contact h2 {
  font-weight: 300;
  color: var(--color-secondary); }
.contact a {
  font-weight: 700;
  color: var(--color-primary);
  display: inline-flex;
  gap: .5em;
  align-items: center;
  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  text-decoration: none; }
  .contact a:hover, .contact a:focus, .contact a:active {
    text-decoration: underline; }

footer {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  row-gap: 2em;
  align-items: center;
  margin: 75px 25px 50px;
  color: var(--color-black); }
  @media screen and (min-width: 780px) {
    footer {
      margin-top: 100px; } }
