@charset "UTF-8";
*, *::before, *::after {
  box-sizing: border-box; }

* {
  margin: 0; }

html, body {
  height: 100%; }

body {
  line-height: 1.5; }

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%; }

input, button, textarea, select {
  font: inherit; }

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word; }

/* red-hat-display-300 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/red-hat-display-v14-latin-300.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-300italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: italic;
  font-weight: 300;
  src: url("../fonts/red-hat-display-v14-latin-300italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/red-hat-display-v14-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/red-hat-display-v14-latin-italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-500 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/red-hat-display-v14-latin-500.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-500italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/red-hat-display-v14-latin-500italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-600 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/red-hat-display-v14-latin-600.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-600italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/red-hat-display-v14-latin-600italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/red-hat-display-v14-latin-700.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-700italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/red-hat-display-v14-latin-700italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-800 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/red-hat-display-v14-latin-800.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-800italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: italic;
  font-weight: 800;
  src: url("../fonts/red-hat-display-v14-latin-800italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-900 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/red-hat-display-v14-latin-900.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* red-hat-display-900italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Display';
  font-style: italic;
  font-weight: 900;
  src: url("../fonts/red-hat-display-v14-latin-900italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/*Margin Classes

 */
.margin-full {
  margin-top: 50px;
  margin-bottom: 50px; }
  @media (min-width: 767px) {
    .margin-full {
      margin-top: 75px;
      margin-bottom: 75px; } }
  @media (min-width: 1024px) {
    .margin-full {
      margin-bottom: 100px;
      margin-top: 100px; } }

.margin-top {
  margin-top: 50px; }
  @media (min-width: 767px) {
    .margin-top {
      margin-top: 75px; } }
  @media (min-width: 1024px) {
    .margin-top {
      margin-top: 100px; } }

.margin-bottom {
  margin-bottom: 50px; }
  @media (min-width: 767px) {
    .margin-bottom {
      margin-bottom: 75px; } }
  @media (min-width: 1024px) {
    .margin-bottom {
      margin-bottom: 100px; } }

:root {
  --maxwidth: 1400px;
  --white: #ffffff;
  --black: #000000;
  --light-gray: #f9f9f9;
  --dark-green: #065a1f;
  --green: #94c11e;
  --light-green: #F4F9E8;
  --red: #a11a28;
  --content-color: #122423;
  --fontfamily: 'Red Hat Display',sans-serf;
  --footerbgcolor: var(--light-green);
  --headerbgcolor: var(--white);
  --headerheight: 100px;
  --sitepadding: 0 13px;
  --headingonemarginbottom: var(--distance);
  --headingtwomarginbottom: var(--distance);
  --headingthreemarginbottom: 15px;
  --headingsmallmarginbottom: 10px;
  --distance: 1.5625rem;
  --maxwidthcontent: 800px;
  --articlemargin: calc(2* var(--distance));
  --faktorsecond: calc(2 * var(--distance)); }
  @media (min-width: 767px) {
    :root {
      --articlemargin: calc(3 * var(--distance)); } }
  @media (min-width: 1024px) {
    :root {
      --headerheight: 150px;
      --sitepadding: 0 21px;
      --articlemargin: calc(4 * var(--distance)); } }
  @media (min-width: 1024px) {
    :root {
      --headingonemarginbottom: calc(2* var(--distance)); } }
  @media (min-width: var(--maxwidth)) {
    :root {
      --sitepadding: 0; } }

body {
  font-size: 16px;
  font-family: var(--fontfamily);
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto; }

.inlay {
  max-width: var(--maxwidth);
  margin-inline: auto; }

/*CSS for the Grid*/
.gridrow {
  display: grid;
  --gap: 30px; }
  @media (min-width: 1200px) {
    .gridrow {
      --gap: 50px; } }
  .gridrow img {
    width: 100%;
    height: auto; }

@media (min-width: 1024px) {
  .gridrownogap {
    display: grid;
    gap: 0;
    grid-template-rows: auto; } }

.gridtwoelements {
  display: grid;
  gap: 0 var(--gap); }
  .gridtwoelements .content-text {
    order: 2; }
  .gridtwoelements .content-image {
    order: 1;
    margin-bottom: 1.25rem; }
  @media (min-width: 1024px) {
    .gridtwoelements .content-text, .gridtwoelements .content-image {
      order: unset; }
    .gridtwoelements .content-image:first-of-type {
      margin-bottom: 0px !important; }
    .gridtwoelements .content-text .rte {
      align-self: center;
      justify-self: center; }
    .gridtwoelements > .content-text {
      padding-right: 50px; } }
  .gridtwoelements .content-headline {
    width: 100%;
    display: block;
    grid-row: 1; }
  @media (min-width: 1024px) {
    .gridtwoelements {
      grid-template-columns: 1fr 1fr; } }

@media (min-width: 1024px) {
  .gridtwoelements .content-text, .gridtwoelements .content-image {
    order: unset; } }
.gridtwoelements .content-headline {
  width: 100%;
  display: block;
  grid-row: 1; }
@media (min-width: 1024px) {
  .gridtwoelements {
    grid-template-columns: 1fr 1fr; } }

@media (min-width: 767px) {
  .gridthreeelements {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 30px; }
    .gridthreeelements .linkbox {
      width: 100%; } }
@media (min-width: 1200px) {
  .gridthreeelements {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 80px; } }

.gridfourelements .content-headline {
  width: 100%;
  display: block; }
  @media (min-width: 767px) {
    .gridfourelements .content-headline {
      grid-column: 1 / 3; } }
  @media (min-width: 1024px) {
    .gridfourelements .content-headline {
      grid-column: 1 / 5; } }
  @media (min-width: 1200px) {
    .gridfourelements .content-headline {
      grid-column: 1 / 5;
      max-width: 690px; } }
@media (min-width: 767px) {
  .gridfourelements {
    grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) {
  .gridfourelements {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0 30px; } }
@media (min-width: 1200px) {
  .gridfourelements {
    grid-template-columns: 1fr 1fr 1fr 1fr; } }

@media (min-width: 1024px) {
  .grid75 {
    grid-template-columns: 58.33% 41.66%; } }

@media (max-width: 766px) {
  .gridtwoelementshdl100 {
    display: grid;
    gap: 0 var(--gap); } }
.gridtwoelementshdl100 .content-text:last-of-type {
  margin-block-start: 25px; }
  @media (min-width: 1024px) {
    .gridtwoelementshdl100 .content-text:last-of-type {
      margin-block-start: 0px; } }
@media (min-width: 1024px) {
  .gridtwoelementshdl100 .content-text {
    padding-right: 16.667%; } }
@media (min-width: 1024px) {
  .gridtwoelementshdl100 {
    grid-template-columns: 1fr 1fr;
    gap: 0 var(--gap);
    grid-template-areas: 'headline headline' 'box1 box2'; }
    .gridtwoelementshdl100 .content-headline {
      grid-area: headline;
      margin-block-end: 35px; }
    .gridtwoelementshdl100 .rte:first-of-type {
      grid-area: box1; } }

@media (min-width: 1024px) {
  .content-text {
    padding-right: 16.667%; } }

@media (min-width: 767px) {
  grid-template-columns: 1fr 1fr;
  gap: 0 30px;
  grid-template-areas: 'headline headline' 'box1 box2' 'box3 box3';
  .content-headline {
    grid-area: headline;
    margin-block-end: 35px; }

  .ce_rsce_imageslider {
    grid-area: box1; }

  .ce_rsce_imageslidersecond {
    grid-area: box2; }

  .linkbox {
    grid-area: box3;
    width: 100%; }

  .rte:first-of-type {
    grid-area: box1; } }
@media (min-width: 1200px) {
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-areas: 'headline headline headline' 'box1 box2 box3';
  .linkbox {
    height: calc( 100% - 70px );
    position: relative; }
    .linkbox .cta-button {
      position: absolute;
      left: 50px;
      bottom: 50px; } }
.nogap .gridrow {
  gap: 0 !important; }

.videogrid {
  display: grid; }
  @media (min-width: 1024px) {
    .videogrid {
      grid-template-columns: 510px 1fr; } }
  @media (min-width: 1200px) {
    .videogrid {
      grid-template-columns: 665px 1fr; } }

@media (min-width: 767px) {
  .gridthreelementshdl100 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 47px;
    grid-template-areas: 'headline headline' 'box1 box2'; }
    .gridthreelementshdl100 .content-headline {
      grid-area: headline;
      margin-bottom: 50px; } }
@media (min-width: 1200px) {
  .gridthreelementshdl100 {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 30px;
    grid-template-areas: 'headline headline headline' 'box1 box2 box3'; } }

.gridfourelementshdl100 h3 {
  color: var(--darkblue); }
@media (min-width: 767px) {
  .gridfourelementshdl100 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 47px;
    grid-template-areas: 'headline headline' 'box1 box2'; }
    .gridfourelementshdl100 .content-headline {
      grid-area: headline;
      margin-bottom: 50px; }
    .gridfourelementshdl100 .content-text:first-of-type {
      grid-area: box1; } }
@media (min-width: 1200px) {
  .gridfourelementshdl100 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0 47px;
    grid-template-areas: 'headline headline headline headline' 'box1 box2 box3 box4'; } }

.gridnotcentered {
  overflow: unset; }
  .gridnotcentered .gridtwoelements {
    display: grid; }
    @media (min-width: 1024px) {
      .gridnotcentered .gridtwoelements {
        grid-template-columns: 1fr 1fr; }
        .gridnotcentered .gridtwoelements h2 {
          max-width: 500px; }
        .gridnotcentered .gridtwoelements .content-text:first-of-type .rte {
          position: relative;
          top: -40px; } }

.threegridelements {
  display: grid; }
  @media (min-width: 767px) {
    .threegridelements {
      grid-template-columns: 1fr 1fr;
      grid-template-areas: 'headline box1' 'headline box2'; }
      .threegridelements .content-headline {
        grid-area: headline;
        margin-block-end: 35px;
        max-width: 257px; } }
  .threegridelements .content-text:last-of-type {
    margin-block-start: 25px; }
    @media (min-width: 1024px) {
      .threegridelements .content-text:last-of-type {
        margin-block-start: 0px; } }
  @media (min-width: 767px) {
    .threegridelements .content-text {
      padding-right: 50px; } }
  @media (min-width: 1024px) {
    .threegridelements {
      grid-template-columns: 1fr 1fr;
      gap: 0 30px;
      grid-template-areas: 'headline headline' 'box1 box2'; }
      .threegridelements .content-headline {
        grid-area: headline;
        margin-block-end: 50px !important;
        max-width: 1100px; } }

header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  padding: var(--sitepadding);
  height: var(--headerheight);
  transition: background-color .25s linear; }
  header .logo {
    align-self: center;
    height: 100%;
    max-width: 210px;
    padding-top: 5px; }
    @media (min-width: 1024px) {
      header .logo {
        padding-top: 15px;
        max-width: unset; } }
    header .logo img {
      width: 100%;
      height: auto;
      max-width: 300px; }
  @media (min-width: 1024px) {
    header .inlay {
      display: grid;
      grid-template-columns: 300px 1fr; } }

.header-white-bg:not(.home .header-white-bg) {
  background-color: rgba(255, 255, 255, 0.6) !important;
  border-radius: 16px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3); }

.home header {
  top: 0px;
  left: 0;
  width: 100%;
  z-index: 999999;
  background-color: rgba(222, 222, 222, 0.6) !important;
  border-radius: 0px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3); }
.home .header-white-bg {
  top: 0px; }

.coloredButton {
  --spanColor: var(--dark-green); }

.menubutton:not(.coloredButton) {
  --spanColor: var(--white); }

.menuarea {
  height: 50px; }

.menubutton {
  --buttonWidth: 35px;
  --buttonHeight: 10px;
  --spanWidth: 25px;
  --spanHeight: 3px;
  --topPosition: 50px;
  --rightPosition: 0px;
  --spanActiveColor: var(--dark-green);
  position: absolute;
  right: var(--rightPosition);
  cursor: pointer;
  top: var(--topPosition);
  z-index: 9999999;
  width: var(--buttonWidth);
  height: var(--buttonHeight); }
  @media (min-width: 1024px) {
    .menubutton {
      display: none; } }
  .menubutton span {
    display: block;
    width: var(--spanWidth);
    height: var(--spanHeight);
    background-color: var(--spanColor);
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .menubutton span.top {
    margin-block-end: 4px; }

.activemenubutton {
  position: fixed;
  z-index: 9999; }
  .activemenubutton span {
    background-color: var(--spanActiveColor); }
  .activemenubutton .top {
    transform: rotate(-45deg); }
  .activemenubutton .bottom {
    transform: rotate(45deg);
    position: relative;
    top: -6px; }

.ce_rsce_herocontent, .ce_rsce_herovideo {
  height: 450px;
  overflow: hidden; }
  @media (min-width: 767px) {
    .ce_rsce_herocontent, .ce_rsce_herovideo {
      height: 450px; } }
  @media (min-width: 1200px) {
    .ce_rsce_herocontent, .ce_rsce_herovideo {
      height: 685px; } }
  @media screen and (min-width: 2000px) {
    .ce_rsce_herocontent, .ce_rsce_herovideo {
      height: 850px; } }

.herobackgroundimage, .herovideo {
  width: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: static;
  left: 0;
  top: 50px; }
  @media (min-width: 767px) {
    .herobackgroundimage, .herovideo {
      height: 450px; } }
  @media (min-width: 1200px) {
    .herobackgroundimage, .herovideo {
      height: 725px; } }
  @media screen and (min-width: 2000px) {
    .herobackgroundimage, .herovideo {
      height: 850px; } }

.herovideo, .herobackgroundimage {
  position: relative;
  top: -0px; }
  .herovideo video, .herobackgroundimage video {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1/1.25; }
    @media screen and (min-width: 766px) {
      .herovideo video, .herobackgroundimage video {
        object-fit: unset;
        aspect-ratio: unset; } }

.videobg {
  width: 100%;
  height: inherit;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
  background-color: rgba(0, 0, 0, 0.35); }

.herocontent {
  position: absolute;
  bottom: 75px;
  z-index: 10;
  left: 100px;
  display: none;
  color: var(--white); }
  @media (min-width: 1024px) {
    .herocontent {
      display: block;
      left: 30%; } }
  .herocontent strong {
    display: block;
    font-size: 2.5rem;
    margin-bottom: 0.625rem; }
  .herocontent p {
    font-weight: bold; }

.herobackgroundimage {
  height: inherit; }

.wrap {
  overflow-x: hidden;
  width: 100%; }

@media (min-width: 767px) {
  .home header {
    background-color: unset; } }

.masterinnercontent {
  margin-block-start: var(--articlemargin); }
  .masterinnercontent .mod_article {
    margin-bottom: var(--articlemargin); }
  .masterinnercontent .mod_article {
    padding: var(--sitepadding); }
  .masterinnercontent .mod_article:nth-child(even) {
    background-color: var(--light-green);
    padding-block: var(--articlemargin); }
  .masterinnercontent h1 {
    text-transform: uppercase;
    font-size: 1.5rem;
    margin-bottom: var(--headingonemarginbottom); }
    @media (min-width: 1024px) {
      .masterinnercontent h1 {
        font-size: 3rem;
        line-height: 1.25; } }
  .masterinnercontent h2 {
    font-size: 1.5rem;
    margin-bottom: var(--headingtwomarginbottom); }
    @media (min-width: 1024px) {
      .masterinnercontent h2 {
        font-size: 2rem;
        line-height: 1.25; } }
  .masterinnercontent h3 {
    font-size: 1.5rem;
    margin-bottom: var(--headingthreemarginbottom); }
    @media (min-width: 1024px) {
      .masterinnercontent h3 {
        font-size: 1.75rem;
        line-height: 1.25; } }
  .masterinnercontent h4, .masterinnercontent h5, .masterinnercontent h6 {
    font-size: 1.25rem;
    line-height: 1;
    margin-bottom: var(--headingsmallmarginbottom); }
    @media (min-width: 1024px) {
      .masterinnercontent h4, .masterinnercontent h5, .masterinnercontent h6 {
        font-size: 1.5rem; } }
  .masterinnercontent h5, .masterinnercontent h6 {
    font-size: 1rem;
    line-height: 1;
    margin-bottom: var(--headingsmallmarginbottom); }
    @media (min-width: 1024px) {
      .masterinnercontent h5, .masterinnercontent h6 {
        font-size: 1.25rem; } }
  .masterinnercontent ul {
    padding-inline-start: 20px;
    margin-bottom: var(--distance); }
  .masterinnercontent p, .masterinnercontent li {
    font-size: 1rem;
    line-height: 1.5; }
    @media (min-width: 767px) {
      .masterinnercontent p, .masterinnercontent li {
        font-size: 1.125rem;
        line-height: 1.5; } }
  .masterinnercontent figure {
    overflow: hidden; }
    .masterinnercontent figure img {
      -webkit-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; }
      .masterinnercontent figure img:hover {
        transform: scale(1.2); }
  .masterinnercontent .maxwidthcontent {
    max-width: var(--maxwidthcontent);
    margin-inline: auto;
    padding: 0; }

p {
  margin-bottom: var(--distance); }

body:not(body.darkmode) .mastercontent h1, body:not(body.darkmode) .mastercontent h2, body:not(body.darkmode) .mastercontent h3, body:not(body.darkmode) .mastercontent h4, body:not(body.darkmode) .mastercontent h5, body:not(body.darkmode) .mastercontent h6 {
  color: var(--dark-green); }

p.info, p.back {
  display: none; }

@media (min-width: 1024px) {
  .vertical-content {
    position: relative; }
    .vertical-content .rte {
      position: absolute;
      top: 50%;
      transform: translateY(-50%); } }

.masterinnercontent .mod_article:first-of-type:not(.home .masterinnercontent .mod_article:first-of-type) {
  max-width: 1000px;
  margin-inline: auto; }

@media (min-width: 1024px) {
  .stickyimage {
    position: sticky;
    height: 600px;
    top: 150px;
    left: 0;
    margin-bottom: 100px;
    overflow: hidden; } }

.lawcontent a {
  color: var(--dark-green);
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .lawcontent a:hover {
    color: var(--green); }

#referenzen ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  grid-auto-rows: auto;
  grid-gap: 15px;
  padding: 0;
  margin: 0;
  list-style: none; }

#referenzen ul li {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  background: #fff; }

#referenzen ul li img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px; }

@media (max-width: 768px) {
  #referenzen ul {
    grid-template-columns: 1fr; } }
.jobdetailpage .masterinnercontent {
  max-width: 1200px;
  margin-inline: auto; }
.jobdetailpage .content-text {
  margin-block-end: calc(2* var(--distance)); }
  .jobdetailpage .content-text ul {
    margin-inline: 0;
    padding-inline-start: 20px; }
    .jobdetailpage .content-text ul li {
      padding-bottom: calc(var(--distance) / 2); }

.jobliste .mod_newslist {
  max-width: var(--maxwidth);
  margin-inline: auto; }
  .jobliste .mod_newslist h2 a {
    color: inherit; }
  @media (min-width: 1024px) {
    .jobliste .mod_newslist {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 50px; } }
  .jobliste .mod_newslist .layout_latest:first-of-type {
    margin-bottom: 3.5rem; }

.ctabutton {
  text-decoration: none;
  width: fit-content;
  text-align: center;
  padding: 13px 18px 15px 18px;
  background-color: var(--dark-green);
  color: var(--white);
  border-radius: 5px;
  border: 1px solid var(--dark-green);
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-top: 10px;
  display: block; }
  .ctabutton:hover {
    background-color: var(--light-green);
    color: var(--dark-green); }

.flyingbuttons {
  position: fixed;
  bottom: 0px;
  width: 100%;
  height: 40px;
  background-color: var(--light-green);
  border-top: 1px solid var(--dark-green); }
  @media (min-width: 767px) {
    .flyingbuttons {
      bottom: unset;
      background-color: transparent;
      top: 200px;
      right: 0;
      border: 0;
      width: 200px;
      z-index: 99; } }

@media (min-width: 767px) {
  .flyingbuttons__item {
    display: grid;
    width: 400px;
    grid-template-columns: 40px 1fr;
    position: relative;
    right: -243px;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; } }

.activeflyingitem {
  right: 60px !important; }

.item_mail {
  padding-top: .75rem; }
  .item_mail .flyingbuttons__image {
    grid-area: image1; }
    @media (min-width: 767px) {
      .item_mail .flyingbuttons__image {
        padding-top: 10px;
        grid-area: unset; } }

.flyingbuttons__grid {
  display: grid;
  grid-template-columns: 50px 50px;
  grid-template-areas: "image1 image2";
  width: 100%;
  height: 100%;
  justify-content: center;
  align-content: center;
  padding-top: 1rem;
  padding-left: 2rem; }
  @media (min-width: 767px) {
    .flyingbuttons__grid {
      grid-template-columns: 1fr;
      grid-template-rows: 50px 50px;
      grid-template-areas: "image1" "image2"; } }

.item_phone {
  padding-top: .6rem; }
  .item_phone .flyingbuttons__image {
    z-index: 99;
    grid-area: image2; }
    @media (min-width: 767px) {
      .item_phone .flyingbuttons__image {
        grid-area: unset; } }

.flyingbuttons__image {
  text-align: center;
  height: 40px; }
  @media (min-width: 767px) {
    .flyingbuttons__image {
      background-color: var(--light-green);
      border: 1px solid var(--dark-green);
      border-radius: 5px;
      width: 40px;
      display: grid; }
      .flyingbuttons__image svg {
        width: 20px;
        height: 30px;
        justify-self: center;
        align-self: center; } }

.flyingbuttons__content {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 40px;
  z-index: -1;
  opacity: 0;
  background-color: var(--dark-green);
  color: var(--white);
  top: -75px;
  padding: 25px;
  left: 0;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .flyingbuttons__content a {
    color: inherit; }
  @media (min-width: 767px) {
    .flyingbuttons__content {
      position: static;
      opacity: 1;
      height: 30px;
      z-index: 99;
      text-align: left;
      width: 100%;
      padding: 20px 25px; }
      .flyingbuttons__content a {
        position: relative;
        top: -13px;
        z-index: 99; } }

.activeflyingcontent {
  animation: AnimationToggler 0.5s linear;
  height: auto;
  z-index: 2;
  opacity: 1; }
  @media (min-width: 767px) {
    .activeflyingcontent {
      animation: unset;
      z-index: 2; } }

@keyframes AnimationToggler {
  0% {
    z-index: -1;
    opacity: 0; }
  100% {
    z-index: 2;
    opacity: 1; } }
.ce_rsce_kundenmeinungen {
  display: none; }
  @media (min-width: 1200px) {
    .ce_rsce_kundenmeinungen {
      padding-top: 50px;
      display: block; } }
  @media (min-width: var(--maxwidth)) {
    .ce_rsce_kundenmeinungen {
      padding-top: 125px; } }

.customermeanings:not(.activeelement) {
  display: none; }

.customermeanings h3 {
  font-size: 1.25rem;
  line-height: 1.25rem;
  font-weight: bold;
  color: var(--darkblue); }
  @media (min-width: 767px) {
    .customermeanings h3 {
      font-size: 1.5625rem;
      line-height: 1.4rem; } }
.customermeanings ul {
  list-style-type: none;
  margin-block: 1rem  1.5rem;
  display: flex;
  padding: 0;
  gap: 0 10px; }
  .customermeanings ul li {
    background-image: url("../img/star.svg");
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .customermeanings ul li.activestar {
    background-image: url("../img/star-active.svg"); }

.ce_rsce_kundenmeinungen .navigation {
  position: relative;
  width: 150px;
  top: -75px;
  left: 80%; }
  @media (min-width: 1200px) {
    .ce_rsce_kundenmeinungen .navigation {
      left: 90%;
      top: -80px; } }
.ce_rsce_kundenmeinungen button {
  cursor: pointer;
  background-color: var(--primaryColor);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 0;
  margin-top: 25px;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .ce_rsce_kundenmeinungen button:hover {
    background-color: var(--ctabuttonHoverColor); }
.ce_rsce_kundenmeinungen button:first-of-type {
  margin-right: 5px; }
.ce_rsce_kundenmeinungen #back {
  background-image: url("../img/kmiconback.svg");
  background-repeat: no-repeat;
  background-position: center center; }
.ce_rsce_kundenmeinungen #forward {
  background-image: url("../img/kmiconforward.svg");
  background-repeat: no-repeat;
  background-position: center center; }
.ce_rsce_kundenmeinungen .activeelement h3 {
  animation: FadeInOut .25s linear; }
.ce_rsce_kundenmeinungen .activeelement ul {
  animation: FadeInOut .5s linear; }
.ce_rsce_kundenmeinungen .activeelement p {
  animation: FadeInOut .75s linear; }

@keyframes FadeInOut {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.meaning {
  background-color: var(--green);
  color: var(--white);
  height: 300px;
  border-radius: 15px;
  padding: 15px;
  position: relative;
  margin-bottom: 2rem; }
  .meaning p {
    color: inherit;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%; }

@media (min-width: 1200px) {
  .customerimage {
    padding-top: 75px; } }

.traumgartenitem {
  border: 1px solid var(--dark-green);
  padding: 3.25rem 2rem 1.5rem 2rem;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 20px;
  position: relative; }
  @media (min-width: 767px) {
    .traumgartenitem {
      padding: 5rem 2rem 2rem 2rem;
      max-height: 300px; } }
  .traumgartenitem h3 em {
    color: var(--white);
    font-style: normal;
    font-size: 1.45rem;
    position: absolute;
    top: -27px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    background: #065a1f;
    background: linear-gradient(0deg, #065a1f 0%, #77b418 100%);
    width: 50px;
    height: 50px;
    margin-bottom: 1.5rem;
    text-align: center;
    margin-inline: auto;
    border-radius: 50%;
    padding-top: 8px;
    padding-left: 2px; }
    @media (min-width: 767px) {
      .traumgartenitem h3 em {
        padding-top: 10px; } }

.traumgartenitem:not(.traumgartenitem:last-of-type) {
  margin-bottom: 4rem; }

.traumgartenitem:hover {
  background-color: var(--white); }

@media (min-width: 1024px) {
  .mod-traumgarten {
    max-height: 500px; } }

.traumgartencta {
  width: 100%;
  display: block;
  max-width: 400px;
  margin-inline: auto;
  justify-self: center;
  padding-right: 0; }

.mod-icons .content-text {
  background-color: var(--white);
  margin-bottom: 1.5rem;
  display: grid;
  justify-content: center;
  padding: .5rem;
  border: 1px solid var(--dark-green);
  border-radius: 15px; }
  @media (min-width: 767px) {
    .mod-icons .content-text {
      justify-content: flex-start;
      display: block; } }
  .mod-icons .content-text figure {
    justify-self: center;
    background-color: var(--dark-green);
    width: 80px;
    height: 80px;
    display: grid;
    border-radius: 100%; }
    .mod-icons .content-text figure img:not(.content-text:last-of-type img) {
      height: 70px;
      justify-self: center;
      align-self: center; }
  .mod-icons .content-text .rte {
    justify-self: center;
    margin-top: 1.5rem;
    text-align: center; }
    @media (min-width: 767px) {
      .mod-icons .content-text .rte {
        text-align: left;
        justify-self: flex-start;
        width: 100%; } }
    @media (min-width: 1200px) {
      .mod-icons .content-text .rte {
        margin-top: 2.5rem;
        padding-inline: 2rem; } }
.mod-icons .content-text:last-of-type img {
  height: 40px;
  justify-self: center;
  align-self: center; }

#jobform, .conform {
  --labelcolor: var(--dark-green); }
  #jobform .widget:not(.widget:first-of-type), .conform .widget:not(.widget:first-of-type) {
    margin-top: 1rem; }
  #jobform label, .conform label {
    display: block;
    color: var(--labelcolor);
    font-weight: bold;
    margin-bottom: .5rem; }
  #jobform input[type=text], #jobform input[type=email], #jobform textarea, .conform input[type=text], .conform input[type=email], .conform textarea {
    width: 100%;
    padding: .5rem; }
  #jobform button, .conform button {
    height: 30px;
    padding-top: 0.15rem !important;
    background-color: var(--dark-green);
    color: var(--white);
    padding-inline: 10px;
    border: 1px solid var(--dark-green); }

.context a {
  color: var(--dark-green); }

@media (min-width: 767px) {
  .teammembersgrid {
    display: grid;
    grid-template-columns: 1fr  1fr;
    gap: 0 100px;
    max-width: 1000px;
    margin-inline: auto; } }
.teammembersgrid .teammembersitem {
  position: relative;
  margin-bottom: 1.525rem; }
  .teammembersgrid .teammembersitem img {
    width: 100%;
    height: auto; }
  .teammembersgrid .teammembersitem .teammembercontent {
    position: absolute;
    padding: .5rem;
    background-color: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(10px);
    /* Hintergrund verschwommen machen */
    -webkit-backdrop-filter: blur(5px);
    /* Für Safari */
    width: 100%;
    text-align: center;
    z-index: 99;
    left: 0;
    bottom: 0px; }
    .teammembersgrid .teammembersitem .teammembercontent h3 {
      font-size: 1.25rem;
      line-height: 1; }
    .teammembersgrid .teammembersitem .teammembercontent h4 {
      font-size: 1rem; }

body.darkmode {
  zoom: 1;
  background-color: var(--black);
  color: var(--white); }
  body.darkmode h1, body.darkmode h2, body.darkmode h3, body.darkmode h4, body.darkmode h5, body.darkmode h6, body.darkmode a, body.darkmode p, body.darkmode li {
    color: inherit; }
  body.darkmode header, body.darkmode footer {
    background-color: var(--black);
    border: unset; }
  body.darkmode .logo {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 10px;
    padding: 10px 25px;
    height: var(--headerheight);
    position: relative;
    top: -50px; }
    @media (min-width: 1024px) {
      body.darkmode .logo {
        top: -10px;
        height: 120px;
        top: -200px; } }
  body.darkmode .mainnavigation {
    background-color: var(--black); }
    @media (min-width: 1024px) {
      body.darkmode .mainnavigation {
        background-color: transparent; }
        body.darkmode .mainnavigation ul li ul {
          background-color: #111;
          border: 0; } }

.mainnavigation {
  position: fixed;
  left: -100%;
  top: 0;
  width: 100%;
  height: 100vh;
  padding-top: 4rem; }
  @media (min-width: 1024px) {
    .mainnavigation {
      position: static;
      height: 250px; } }
  .mainnavigation ul {
    list-style-type: none;
    padding: 0 1rem; }
    @media (min-width: 1024px) {
      .mainnavigation ul {
        display: flex;
        position: relative;
        justify-content: flex-end;
        gap: 0 10px; } }
    @media (min-width: 1200px) {
      .mainnavigation ul {
        gap: 0 25px; } }
    .mainnavigation ul a {
      font-weight: 700;
      text-decoration: none;
      color: var(--dark-green);
      -webkit-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; }
      @media (min-width: 1024px) {
        .mainnavigation ul a {
          color: var(--white); } }
      .mainnavigation ul a:hover {
        color: var(--green); }
    .mainnavigation ul strong {
      border-bottom: 1px solid var(--dark-green);
      color: var(--dark-green); }
      @media (min-width: 1200px) {
        .mainnavigation ul strong {
          border-bottom: 1px solid var(--white);
          color: var(--white); } }
    .mainnavigation ul li {
      padding-block: .25rem; }
      @media (min-width: 1024px) {
        .mainnavigation ul li {
          height: 50px; } }
      .mainnavigation ul li ul {
        padding-left: 1rem;
        padding-block: 1rem;
        display: block; }
        @media (min-width: 1024px) {
          .mainnavigation ul li ul {
            position: absolute;
            display: none;
            flex-direction: column;
            padding-left: 0;
            padding-inline: 1rem;
            border-radius: 10px;
            top: 35px;
            opacity: 0;
            transition: opacity .25s linear;
            background-color: var(--white);
            border: 1px solid var(--dark-green);
            z-index: 9999; }
            .mainnavigation ul li ul li {
              height: auto !important; }
            .mainnavigation ul li ul a, .mainnavigation ul li ul strong {
              color: var(--dark-green) !important; }
            .mainnavigation ul li ul strong {
              text-decoration: underline; } }

.mainnavigation ul li:hover > ul {
  opacity: 1;
  display: block; }

.mainnavigation:not(body.darkmode .mainnavigation) {
  background-color: var(--white);
  color: var(--dark-green); }
  @media (min-width: 1024px) {
    .mainnavigation:not(body.darkmode .mainnavigation) {
      background-color: unset; } }

.navigation-scroll a {
  color: var(--dark-green) !important;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .navigation-scroll a:hover {
    color: var(--green) !important; }
.navigation-scroll strong {
  border-bottom: 1px solid var(--dark-green) !important;
  color: var(--dark-green) !important; }

.activemainnavigation {
  left: 0 !important; }

footer:not(body.darkmode footer) {
  background-color: var(--footerbgcolor);
  padding: 25px 13px 75px 13px; }

footer .footercontent .logo {
  margin-bottom: 1rem; }
footer .footercontent .adresse p:not(p:last-of-type) {
  margin-bottom: 10px; }
footer .footercontent .adresse a {
  color: var(--dark-green); }
footer .footernavigation ul {
  padding-inline: 0;
  list-style-type: none;
  display: flex;
  gap: 0 15px; }
  footer .footernavigation ul a, footer .footernavigation ul strong {
    text-transform: uppercase;
    color: var(--dark-green);
    font-weight: 700; }
@media (min-width: 767px) {
  footer .inlay {
    display: grid;
    grid-template-columns: 2fr 1fr; }
  footer .footernavigation {
    align-self: center;
    justify-self: flex-end; }
  footer .logo img {
    max-width: 300px; } }

.footersociallinks ul {
  list-style-type: none;
  padding: 0;
  width: 80px;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 25px; }
  .footersociallinks ul li {
    width: 40px;
    height: 40px;
    background-color: var(--green);
    border-radius: 50%;
    position: relative; }
    .footersociallinks ul li a {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
  .footersociallinks ul li:first-of-type a {
    width: 25px; }

.block:not(.home .block) {
  overflow: unset; }

.home .block {
  overflow: unset !important; }

/*# sourceMappingURL=main.css.map */
