/* compiled by scssphp v0.8.0 on Sun, 21 Dec 2025 16:03:35 +0000 (0.0246s) */

html {
  font-size: 62.5%; }

html, body {
  scroll-behavior: smooth; }

* {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  font: inherit;
  position: relative; }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block; }

ol, ul {
  list-style: none;
  list-style-image: none; }

blockquote::before, blockquote::after, q::before, q::after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

span {
  color: inherit;
  font-size: inherit; }

a, span {
  line-height: inherit; }

.align-center, .align_center, p:has(img.align_center) {
  text-align: center; }

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

.hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

img {
  height: auto;
  max-width: 100%; }

img.align_left {
  float: left;
  margin-right: 2rem; }

img.align_right {
  float: right;
  margin-left: 2rem; }

img.valign_bottom {
  display: inline-block;
  vertical-align: bottom; }

.splide__list > li {
  display: flex; }

#skip-navigation {
  position: fixed;
  left: 0;
  top: 1rem;
  transform: translateX(-110%);
  padding: 2rem;
  z-index: 3000;
  border-radius: 4.2rem; }
  #skip-navigation:focus {
    transform: translateX(10%); }

:root {
  --ce-bg: white;
  --ce-text: #313131;
  --ce-bg-button: white;
  --ce-text-button: #285a3e;
  --ce-link-color: #285a3e;
  --font-size-default: clamp(1.8rem, 1.146vw, 2.5rem);
  --font-size-big: clamp(2rem, 1vw, 4rem);
  --font-size-bigger: clamp(3rem, 1vw, 6rem);
  --font-size-small: clamp(1.3rem, 1vw, 2rem);
  --font-size-smaller: clamp(1rem, 1vw, 1.5rem);
  --width-master: 192rem;
  --width-default: 108rem;
  --width-wide: 142rem;
  --width-xwide: 164rem;
  --width-narrow: 65rem;
  --space-default: clamp(4rem, 9vw, 9rem);
  --space-big: clamp(7rem, 14vw, 15rem);
  --space-small: 4.5rem;
  --space-xsmall: 1rem; }
  @media screen and (min-width: 75em) {
  :root {
    --space-default: 8rem;
    --space-big: 24rem;
    --space-small: 4rem;
    --space-xsmall: 2rem; } }

h1#page-headline {
  padding: 0;
  background-position: 50% 50%;
  background-size: cover;
  text-align: center;
  padding: 5rem 2rem 20rem 2rem;
  z-index: 900;
  /*
   @media screen and (max-width: 28.999em) {
   background: none;
   span {
   display: block;
   color: #69533C;
   text-align: left;
   padding: 2rem;
   line-height: 150%;
   }
   figure {
   &::after {
   content: "";
   position: absolute;
   left: 0;
   bottom: -1px;
   width: 100%;
   height: 2vw;
   background-image: url(/site/templates/images/backgrounds/bg-header-2.svg);
   background-size: 102% auto;
   background-repeat: no-repeat;
   background-position: -1px bottom;
   }
   }
   }
   */
  /*
   span::after {
   content: "";
   position: absolute;
   right: 0;
   top: 0;
   bottom: 5%;
   left: 30%;
   }
   */ }
  h1#page-headline img {
    display: none; }
  @media screen and (min-width: 29em) {
  h1#page-headline {
    padding: 25rem 10rem 36rem 5rem;
    text-align: right; }
    h1#page-headline span {
      line-height: 6rem; }

    h1#page-headline img {
      display: none; } }
  h1#page-headline::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 2vw;
    background-image: url(/site/templates/images/backgrounds/bg-header-2.svg);
    background-size: 102% auto;
    background-repeat: no-repeat;
    background-position: -1px bottom; }

#page-header {
  z-index: 100000;
  display: flex;
  flex-wrap: wrap;
  position: fixed;
  top: 0;
  left: 50%;
  width: 100%;
  max-width: var(--width-master);
  transform: translateX(-50%);
  background-image: url(/site/templates/images/backgrounds/bg-header-5.svg);
  background-size: 102% auto;
  background-repeat: no-repeat;
  background-position: -2px bottom; }
  #page-header + h1 {
    margin-top: 10rem; }
    @media screen and (min-width: 40em) {
  #page-header + h1 {
    margin-top: 0; } }
  #page-header + main {
    margin-top: 10rem; }
    @media screen and (min-width: 40em) {
  #page-header + main {
    margin-top: 20rem; } }
  #page-header > * {
    width: 100%; }
  #page-header > .wrapper {
    order: 1;
    z-index: 2; }
  #page-header > h1 {
    order: 2;
    z-index: 1; }
  #page-header div.wrapper {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 2rem 2rem 3rem 2rem;
    transition: all 0.3s; }
  #page-header nav {
    display: none; }
    #page-header nav #navi-main {
      display: flex;
      gap: 1rem;
      justify-content: space-between;
      align-items: center; }
      #page-header nav #navi-main a:not([aria-expanded="true"]) + ul {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px; }
      #page-header nav #navi-main > li {
        display: flex; }
        #page-header nav #navi-main > li > ul {
          border-radius: 2rem;
          overflow: hidden;
          position: absolute;
          left: 0;
          top: 95%;
          transform: translateY(2px);
          /*
           a:hover::after {
           background-image: url(/site/templates/images/icons/arrow-hover.svg);
           }
           */
          /*
           >li:not(:first-child) a {
           margin-top: -2rem;
           background-image: url(/site/templates/images/backgrounds/bg-navi-main.svg);
           &:hover {
           background-image: url(/site/templates/images/backgrounds/bg-navi-main-hover.svg);
           }
           }
           */ }
          #page-header nav #navi-main > li > ul > li > a {
            display: block;
            background-position: -1px top;
            background-size: 101% auto;
            background-repeat: no-repeat;
            padding: 1rem 2rem 1rem 5rem; }
            #page-header nav #navi-main > li > ul > li > a::before {
              content: "chevron_right";
              font-family: "MDIF";
              position: absolute;
              left: 0.75rem;
              top: 50%;
              transform-origin: center;
              color: white;
              line-height: 100%;
              border-radius: 50%;
              display: inline;
              font-size: 3rem;
              transform: translateY(-50%); }
        #page-header nav #navi-main > li > a {
          display: flex;
          /*
           span::after {
           position: absolute;
           right: .5rem;
           top: 50%;
           transform-origin: center;
           transform: translateY(-50%);
           content: "";
           display: block;
           width: 4rem;
           height: 4rem;
           background-image: url(/site/templates/images/icons/arrow.svg);
           background-size: contain;
           }
           &[aria-expanded="true"] span::after {
           background-image: url(/site/templates/images/icons/arrow-invert.svg);
           transform: translateY(-50%) rotate(180deg);
           }
           */ }
        #page-header nav #navi-main > li > a span {
          padding: 1rem;
          text-align: center;
          display: inline-block;
          white-space: nowrap; }
  #page-header #navi-service {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: center; }
    #page-header #navi-service button.menu {
      padding: 0;
      background: none; }
      #page-header #navi-service button.menu span {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px; }
    #page-header #navi-service button.menu::before {
      content: "\E050";
      display: block; }
    #page-header #navi-service a.buchen {
      border-radius: 2rem;
      padding: 0.7rem 1.7rem;
      display: inline-block;
      border: 2px solid black; }
      @media screen and (max-width: 28.999em) {
  #page-header #navi-service a.buchen {
    max-width: 14rem;
    text-align: center; } }
  #page-header #home-link img {
    width: 7rem;
    border-radius: 1rem;
    transition: all 0.3s; }
  @media screen and (min-width: 40em) {
  #page-header #home-link {
    padding-right: 3rem; }
    #page-header #home-link img {
      width: 7rem; }
  #page-header.scrolled #home-link img {
    width: 7rem; }
    #page-header.scrolled div.wrapper {
      padding-top: 1rem;
      padding-bottom: 4rem; } }
  @media screen and (min-width: 70em) {
  #page-header div.wrapper {
    padding: 2rem 3rem 5rem 3rem;
    grid-template-columns: auto 1fr auto;
    background-size: 102% auto;
    justify-content: space-between; }
  #page-header nav {
    display: block; }
    #page-header #navi-service {
      padding-left: 5rem; }

    #page-header #navi-service button.menu {
      display: none; }

    #page-header #navi-service a.buchen {
      padding: 0.5rem 1.7rem; } }

  @media screen and (min-width: 111.25em) {
  #page-header div.wrapper {
    padding: 2rem 3rem 5rem clamp(3rem, 4vw, 10rem); }
  #page-header #home-link {
    padding-right: 9rem; } }

#page-footer img[src*="logo-caritas"] {
  border-radius: 1rem; }
  #page-footer::after {
    display: none !important; }
  #page-footer ul.menu {
    justify-content: space-between;
    gap: 10rem; }
  #page-footer ul.menu ul {
    max-width: 37rem; }

#bread-crumbs {
  max-width: var(--width-wide);
  margin: 4rem auto 0;
  padding: 0 2rem;
  display: flex;
  flex-wrap: wrap; }
  #bread-crumbs li {
    display: flex;
    align-items: center;
    margin-bottom: 1rem; }
  #bread-crumbs li:not(:last-child)::after {
    content: "chevron_right";
    margin: 0 0.3rem; }
    @media screen and (min-width: 37.5em) {
  #bread-crumbs li:not(:last-child)::after {
    margin: 0 1rem; } }

.ce a.email, .ce a.phone, .ce a.fax, .ce a.location, .ce a.vcf {
  padding-left: 3rem; }
  .ce a.email::before, .ce a.phone::before, .ce a.fax::before, .ce a.location::before, .ce a.vcf::before {
    font-family: "MDIF";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); }
  .ce a.email.email::before, .ce a.phone.email::before, .ce a.fax.email::before, .ce a.location.email::before, .ce a.vcf.email::before {
    content: "email"; }
  .ce a.email.phone::before, .ce a.phone.phone::before, .ce a.fax.phone::before, .ce a.location.phone::before, .ce a.vcf.phone::before {
    content: "phone"; }
  .ce a.email.fax::before, .ce a.phone.fax::before, .ce a.fax.fax::before, .ce a.location.fax::before, .ce a.vcf.fax::before {
    content: "printer"; }
  .ce a.email.vcf::before, .ce a.phone.vcf::before, .ce a.fax.vcf::before, .ce a.location.vcf::before, .ce a.vcf.vcf::before {
    content: "contact_mail"; }
  .ce a.email.location::before, .ce a.phone.location::before, .ce a.fax.location::before, .ce a.location.location::before, .ce a.vcf.location::before {
    content: "location_on"; }
  .ce.style2 + .ce {
    padding-top: var(--space-big); }
  .ce a.book-now {
    border-radius: 2rem;
    padding: 0.7rem 1.7rem;
    display: inline-block;
    border: 2px solid black;
    text-decoration: none;
    background-color: #fec800;
    color: #313131;
    font-size: var(--font-size-default);
    font-family: "FiraSans Regular", sans-serif; }
  .ce a.book-now:hover {
    color: white; }
  @media screen and (max-width: 28.999em) {
    .ce a.book-now {
      text-align: center; } }

ul.highlight a.read-more::before {
  transform: none;
  top: 0; }

.type-portfolio .element[data-slideshow="1"]::after, .type-persons .element[data-slideshow="1"]::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  background-color: white; }
  @media screen and (min-width: 50em) {
      .type-portfolio .element[data-slideshow="1"]::after, .type-persons .element[data-slideshow="1"]::after {
        width: 3rem; } }
  @media screen and (min-width: 75em) {
      .type-portfolio .element[data-slideshow="1"]::after, .type-persons .element[data-slideshow="1"]::after {
        width: 10rem; } }
  .type-portfolio.style2 .element[data-slideshow="1"]::after, .type-persons.style2 .element[data-slideshow="1"]::after {
    background-color: #ebebeb; }
  .type-portfolio.style3 .element[data-slideshow="1"]::after, .type-persons.style3 .element[data-slideshow="1"]::after {
    background-color: #d1c7be; }
  .type-portfolio article, .type-persons article {
    background-image: url(/site/templates/images/backgrounds/bg-sommer.jpg);
    background-size: 100% 100%;
    padding: 1rem;
    display: flex;
    border-radius: 2rem; }
  .type-portfolio article > div, .type-persons article > div {
    width: 100%;
    height: 100%;
    border-radius: 2rem;
    display: grid;
    grid-template-rows: auto 1fr; }
  @media screen and (min-width: 40em) {
    .type-portfolio article, .type-persons article {
      padding: 1.5rem; } }
  .type-portfolio.winter article, .type-persons.winter article {
    background-image: url(/site/templates/images/backgrounds/bg-winter.jpg); }
  .type-portfolio article > div > a, .type-persons article > div > a, .type-portfolio article > div > img, .type-persons article > div > img {
    display: block;
    margin-bottom: 2rem; }
  .type-portfolio img, .type-persons img {
    display: block;
    border-radius: 2rem;
    border-radius: 2rem;
    overflow: hidden; }
  .type-portfolio article div > div, .type-persons article div > div {
    text-align: center;
    padding: 2rem 1rem 10rem;
    align-items: start; }
  .type-portfolio article div > div p.bottom, .type-persons article div > div p.bottom {
    position: absolute;
    left: 2rem;
    bottom: 4rem;
    right: 2rem;
    text-align: center; }
  @media screen and (min-width: 40em) {
    .type-portfolio article div > div, .type-persons article div > div {
      padding: 2rem 2rem 10rem; } }
  .type-portfolio.type-portfolio article div > div a, .type-persons.type-portfolio article div > div a {
    display: inline-block;
    padding: 1rem 1rem 1rem 6rem;
    display: inline-block;
    color: #285a3e !important;
    font-family: "FiraSans Medium", sans-serif;
    border: 3px solid transparent;
    border-radius: 2rem;
    /*
     padding: 1rem 1rem 1rem 6rem;
     &::before {
     font-family: "CI";
     position: absolute;
     left: .5rem;
     top: 0;
     transform-origin: center;
     transform: rotate(-90deg);
     content: "";
     display: block;
     width: 4.4rem;
     height: 4.4rem;
     background-image: url(/site/templates/images/icons/arrow.svg);
     background-size: contain;
     }
     &:hover {
     color: white!important;
     span {
     background-color: #285A3E!important;
     }
     &::before {
     background-image: url(/site/templates/images/icons/arrow-invert-border.svg);
     }
     }
     */ }
  .type-portfolio.type-portfolio article div > div a:hover, .type-persons.type-portfolio article div > div a:hover {
    background: none !important; }
    .type-portfolio.type-portfolio article div > div a:hover::before, .type-persons.type-portfolio article div > div a:hover::before {
      background-color: #fec800;
      color: #006048;
      border: 1px solid #006048; }
  .type-portfolio.type-portfolio article div > div a::before, .type-persons.type-portfolio article div > div a::before {
    content: "chevron_right";
    font-family: "MDIF";
    position: absolute;
    left: 0rem;
    top: 50%;
    transform-origin: center;
    background-color: #006048;
    color: white;
    line-height: 100%;
    border-radius: 50%;
    display: inline;
    font-size: 4rem;
    transform: translateY(-50%); }
  .type-portfolio.type-persons article > div, .type-persons.type-persons article > div {
    padding: 14rem 0 10rem; }
  .type-portfolio.type-persons article > div [itemprop="name"]::after, .type-persons.type-persons article > div [itemprop="name"]::after {
    content: "";
    display: block;
    height: 3rem;
    background-image: url(/site/templates/images/special/lines.png);
    background-size: 70% auto;
    background-position: center;
    background-repeat: no-repeat; }
  .type-portfolio.type-persons article > div span, .type-persons.type-persons article > div span, .type-portfolio.type-persons article > div a, .type-persons.type-persons article > div a {
    display: block; }
  .type-portfolio.type-persons article > div [itemprop="jobTitle"], .type-persons.type-persons article > div [itemprop="jobTitle"], .type-portfolio.type-persons article > div a:not(:last-child), .type-persons.type-persons article > div a:not(:last-child) {
    margin-bottom: 4rem; }
  .type-portfolio.type-persons article > div a, .type-persons.type-persons article > div a {
    padding: 0;
    text-align: center; }
    .type-portfolio.type-persons article > div a::before, .type-persons.type-persons article > div a::before {
      margin: auto;
      position: static;
      display: block;
      margin: 0 auto 1rem; }
    .type-portfolio.type-persons article > div a:not(:hover), .type-persons.type-persons article > div a:not(:hover) {
      text-decoration: none; }
    .type-portfolio.type-persons article > div a[itemprop="email"]::before, .type-persons.type-persons article > div a[itemprop="email"]::before {
      content: "\E03A"; }
    .type-portfolio.type-persons article > div a[itemprop="telephone"]::before, .type-persons.type-persons article > div a[itemprop="telephone"]::before {
      content: "\E004"; }

button, a.button {
  display: inline-block;
  padding: 2rem 2rem 1.5rem;
  cursor: pointer;
  text-decoration: none;
  text-align: center; }

p.details button, p.details a.button {
  width: 100%;
  max-width: none; }

.ce table {
  border-collapse: separate;
  border-bottom: 3px solid black; }
  .ce table thead th {
    border-top: 3px solid black;
    border-bottom: 3px solid black; }
  .ce table th, .ce table td {
    vertical-align: top;
    padding: 2rem 2rem 2rem 1rem; }
  .ce table th:not(.align_right):not(.align_center), .ce table td:not(.align_right):not(.align_center) {
    text-align: left; }
  figcaption {
    text-align: center;
    padding: 0.5rem; }

.type-menu {
  border-bottom: 1px solid black; }

#socket .type-menu ul {
  justify-content: center;
  text-align: center; }
  @media screen and (min-width: 40em) {
  #socket .type-menu ul {
    columns: 1; } }
  @media screen and (min-width: 75em) {
  #socket .type-menu ul {
    columns: 4; } }

a.read-more {
  padding: 1rem 1rem 1rem 6rem;
  display: inline-block;
  color: #285a3e !important;
  font-family: "FiraSans Medium", sans-serif;
  border: 3px solid transparent;
  border-radius: 2rem;
  /*
   padding: 1rem 1rem 1rem 6rem;
   &::before {
   font-family: "CI";
   position: absolute;
   left: .5rem;
   top: 0;
   transform-origin: center;
   transform: rotate(-90deg);
   content: "";
   display: block;
   width: 4.4rem;
   height: 4.4rem;
   background-image: url(/site/templates/images/icons/arrow.svg);
   background-size: contain;
   }
   &:hover {
   color: white!important;
   span {
   background-color: #285A3E!important;
   }
   &::before {
   background-image: url(/site/templates/images/icons/arrow-invert-border.svg);
   }
   }
   */ }
  a.read-more:hover {
    background: none !important; }
  a.read-more:hover::before {
    background-color: #fec800;
    color: #006048;
    border: 1px solid #006048; }
  a.read-more::before {
    content: "chevron_right";
    font-family: "MDIF";
    position: absolute;
    left: 0rem;
    top: 50%;
    transform-origin: center;
    background-color: #006048;
    color: white;
    line-height: 100%;
    border-radius: 50%;
    display: inline;
    font-size: 4rem;
    transform: translateY(-50%); }

.ce ul.colslist-3 {
  list-style-type: none;
  display: grid;
  gap: 3rem; }
  .ce ul.colslist-3 li {
    list-style-image: none; }
  .ce ul.colslist-3 li a {
    margin: 0; }
  @media screen and (min-width: 78.125em) {
  .ce ul.colslist-3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem 9rem; } }

.type-text-image.full div.media {
  overflow: hidden; }
  .type-text-image.full div.media img {
    max-width: 100%;
    border-radius: 2rem; }
  .type-text-image.full div.text {
    padding: 2rem; }
  .type-text-image.full div.element.left div.media img {
    border-radius: 2rem; }
  .type-text-image.full div.element.right div.media img {
    border-radius: 2rem; }
  .type-text-image div.element div.media img {
    border-radius: 2rem; }
  @media screen and (min-width: 60em) {
    .type-text-image div.element.left div.text, .type-text-image div.element.right div.text {
      max-width: 100rem; }

    .type-text-image div.element.left div.media img {
      border-radius: 2rem;
      transform: none; }
      .type-text-image div.element.left div.text {
        padding-right: 10rem; }

    .type-text-image div.element.right div.media img {
      border-radius: 2rem;
      transform: none; }
      .type-text-image div.element.right div.text {
        padding-left: 10rem; } }
  @media screen and (min-width: 90em) {
    .type-text-image div.element.left div.text {
      padding-right: 18rem; }

    .type-text-image div.element.right div.text {
      padding-left: 29.8rem; } }

.type-timeline dt {
  text-align: center;
  margin: 4rem 0; }
  .type-timeline dt span::before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 90%;
    height: 90%;
    background-image: url(/site/templates/images/backgrounds/timeline-3.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
    transform: translate(20%, 5%);
    z-index: 0; }
  @media screen and (min-width: 40em) {
    .type-timeline dt:not(:first-child) {
      padding-top: clamp(5rem, 6.25vw, 15rem);
      background-repeat: no-repeat;
      background-size: auto 70%;
      background-position: 50% 50%;
      background-image: url(/site/templates/images/backgrounds/timeline-2.svg); }
      .type-timeline dt:not(:first-child):nth-of-type(even) {
        background-image: url(/site/templates/images/backgrounds/timeline-1.svg); } }
  .type-timeline .text + figure {
    margin-top: 5rem; }
  @media screen and (min-width: 60em) {
  .type-timeline {
    background-size: 95% auto;
    background-repeat: repeat-y;
    background-position: top 15rem center;
    /*
     dd:nth-of-type(odd) {
     &.image {
     figure {
     }
     }
     }
     dd:nth-of-type(even) {
     .text {
     padding: 0 20% 0 10%;
     }
     figure {
     padding: 0 0 0 10%;
     }
     }
     */ }
    .type-timeline .text + figure {
      margin-top: 0; }

    .type-timeline dt:nth-of-type(even) {
      text-align: right;
      padding-right: 6rem; }

    .type-timeline dt:nth-of-type(odd) {
      text-align: left; }

    .type-timeline dd:not(.image) .text {
      margin: auto;
      max-width: var(--width-default); }

    .type-timeline dd.image {
      display: grid;
      grid-template-columns: repeat(10, 1fr);
      gap: 10rem; }
      .type-timeline dd.image figure {
        grid-column: span 4; }
      .type-timeline dd.image .text {
        grid-column: span 6; }

    .type-timeline dd:nth-of-type(even) figure {
      order: 1; }
      .type-timeline dd:nth-of-type(even) .text {
        order: 2; } }

.type-gallery img, .type-timeline img {
  border-radius: 2rem; }

.type-gallery.logo img {
  max-height: 20rem; }

a.download {
  padding-left: 6rem; }
  a.download::before {
    position: absolute;
    left: 0.5rem;
    top: 50%;
    transform-origin: center;
    transform: translateY(-50%);
    content: "";
    display: block;
    font-size: 1.6rem; }

blockquote p::before, blockquote p::after {
  display: inline-block;
  content: "";
  width: 3rem;
  height: 3rem;
  background-image: url(/site/templates/images/backgrounds/blockquote.svg);
  background-size: contain; }
  blockquote p::after {
    transform: translate(-50%, -100%);
    rotate: 160deg; }
  @media screen and (min-width: 62.5em) {
  blockquote {
    background-image: url(/site/templates/images/backgrounds/baum.svg);
    background-repeat: no-repeat;
    background-position: top right;
    padding: 10rem 15vw 10rem 0;
    background-size: auto 100%; }
    blockquote p::before {
      transform: translate(-100%, -100%); }
      blockquote p::before, blockquote p::after {
        width: 5.6rem;
        height: 5.6rem; } }

.ce hr {
  height: 0.2rem; }

p:has(img[class*="align_left"]), p:has(img[class*="align_right"]) {
  overflow: auto; }

[data-slideshow="1"] {
  padding-bottom: 5rem; }

.splide__arrows {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0; }
  @media screen and (min-width: 62.5em) {
  .splide__arrows {
    left: 7.5rem;
    right: 7.5rem; } }
  .splide__arrows .splide__arrow {
    width: auto;
    border: 1.5px solid black;
    border-radius: 4.2rem;
    padding: 2.5rem 1rem;
    display: flex;
    gap: 1rem;
    opacity: 1 !important;
    background-color: white; }
  .splide__arrows .splide__arrow::before, .splide__arrows .splide__arrow::after {
    content: "";
    display: inline;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-family: "MDIF";
    line-height: 100%;
    background-color: #006048;
    color: white;
    font-size: 4rem;
    border-radius: 50%;
    border: 1px solid #006048; }
  .splide__arrows .splide__arrow.splide__arrow--next {
    padding-right: 6rem;
    padding-left: 2rem; }
  .splide__arrows .splide__arrow.splide__arrow--next::before {
    display: none; }
  .splide__arrows .splide__arrow.splide__arrow--next::after {
    content: "chevron_right";
    right: 0.7rem; }
  .splide__arrows .splide__arrow.splide__arrow--prev {
    padding-left: 6rem;
    padding-right: 2rem; }
  .splide__arrows .splide__arrow.splide__arrow--prev::after {
    display: none; }
  .splide__arrows .splide__arrow.splide__arrow--prev::before {
    left: 0.7rem;
    content: "chevron_left"; }
  ul.features {
    display: flex;
    gap: 2rem; }

a#scroll-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  display: flex;
  width: 4rem;
  height: 4rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid #006048; }
  a#scroll-top::before {
    content: "keyboard_arrow_up";
    display: block; }
  a#scroll-top span {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }

.ce .FormBuilder.InputfieldForm button {
  border-radius: 2rem;
  padding: 0.7rem 1.7rem;
  display: inline-block;
  border: 2px solid black;
  text-decoration: none;
  background-color: #fec800;
  color: #313131;
  font-size: var(--font-size-default);
  font-family: "FiraSans Regular", sans-serif; }
  .ce .FormBuilder.InputfieldForm button:hover {
    color: white; }
  @media screen and (max-width: 28.999em) {
  .ce .FormBuilder.InputfieldForm button {
    text-align: center; } }

.FormBuilder .alert-success, .FormBuilder .alert-error {
  border-radius: 2rem; }

body {
  background-color: #efefef; }

.ce table tr:nth-child(even) {
  background-color: #ebebeb; }

#master, main, .type-gallery.logos a, .type-gallery img, .type-portfolio article > div, .type-persons article > div, #page-footer a:hover span, button.close::after, #navi-main ul a::before {
  background-color: white; }

#navi-main > li > ul, #navi-service a.buchen:hover, #skip-navigation, dialog > div, button.close, #scroll-top, .FormBuilder .alert-success {
  background-color: #006048; }

.ce hr {
  background-color: #aecb75; }

#page-headline span::after {
  background-color: rgba(255, 255, 255, 0.48); }

#navi-service a.buchen, button:hover::before, button:hover::after, #navi-main a:hover::before, #scroll-top:hover {
  background-color: #fec800 !important; }

.ce {
  background-color: var(--ce-bg);
  color: var(--ce-text); }
  .ce a {
    color: var(--ce-link-color); }
  .ce button, .ce .tabbed summary, .ce a.button {
    background-color: var(--ce-bg-button);
    color: var(--ce-text-button); }

main .ce a:not(:has(img)):hover {
  background-color: #006048; }

.ce.style5 {
  --ce-bg: #fff; }

.ce.style2, .ce.style3, #page-footer {
  --ce-bg-button: #647d92;
  --ce-text-button: white; }
  .ce.style2::before, .ce.style3::before, #page-footer::before, .ce.style2::after, .ce.style3::after, #page-footer::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 5vw;
    max-height: 10rem;
    display: block;
    background-size: 100% auto;
    z-index: 10; }
  .ce.style2::before, .ce.style3::before, #page-footer::before {
    top: 0;
    transform: translateY(-99%); }
  .ce.style2::after, .ce.style3::after, #page-footer::after {
    bottom: 0;
    transform: translateY(99%);
    background-position: left bottom; }

.ce.style2:last-child::after, .ce.style3:last-child::after {
  z-index: auto; }

.ce.style2 {
  --ce-bg: #ebebeb; }
  .ce.style2::before {
    background-image: url(/site/templates/images/backgrounds/bg-style2.svg); }
  .ce.style2::after {
    background-image: url(/site/templates/images/backgrounds/bg-style2-bottom.svg); }
  .ce.style2 + .ce.style3::before {
    display: none; }

.ce.style3 {
  --ce-bg: #d1c7be; }
  .ce.style3 h2, .ce.style3 h3 {
    color: #313131; }
  .ce.style3::before {
    background-image: url(/site/templates/images/backgrounds/bg-style3.svg); }
  .ce.style3::after {
    background-image: url(/site/templates/images/backgrounds/bg-style3-bottom.svg); }

.ce.style4, #page-footer {
  --ce-bg: #69533c;
  --ce-text: white;
  --ce-bg-button: white;
  --ce-text-button: #1785a4;
  --ce-link-color: white; }
  .ce.style4::before, #page-footer::before {
    background-image: url(/site/templates/images/backgrounds/bg-style4.svg); }

#navi-main > li > a, button:hover::before, button:hover::after, #navi-main ul a::before, #scroll-top:hover {
  color: #006048 !important; }

body, #navi-service a, #navi-service button, dialog a {
  color: #313131; }

button.menu::before, #bread-crumbs a, #bread-crumbs li, .colslist-3 a, .type-portfolio a, .splide__arrows .splide__arrow {
  color: #006048; }

h1, #navi-main > li > ul a, #navi-service a.buchen:hover, #skip-navigation, .ce a:hover, dialog > div *, #scroll-top {
  color: white; }

h2, h3, button.close::after, #page-footer a:hover, .timeline dt, [itemprop="name"] {
  color: #69533c; }

#page-header.sticky {
  box-shadow: 0px 3px 17px -8px rgba(0, 0, 0, 0.75); }

.ce table, .ce table * {
  border-color: #69533c; }

summary, .accordion details:last-of-type {
  border-color: #aecb75; }

@font-face {
  font-family: "FiraSans Regular";

  src: url(/site/templates/fonts/firasans/FiraSans-Regular.woff2); }

@font-face {
  font-family: "FiraSans Medium";

  src: url(/site/templates/fonts/firasans/FiraSans-Medium.woff2); }

@font-face {
  font-family: "FiraSans SemiBold";

  src: url(/site/templates/fonts/firasans/FiraSans-SemiBold.woff2); }

@font-face {
  font-family: "FiraSans Bold";

  src: url(/site/templates/fonts/firasans/FiraSans-Bold.woff2); }

@font-face {
  font-family: "FiraSans ExtraBold";

  src: url(/site/templates/fonts/firasans/FiraSans-ExtraBold.woff2); }

@font-face {
  font-family: "Caveat Brush";

  src: url(/site/templates/fonts/caveat-brush/CaveatBrush-Regular.woff2); }

@font-face {
  font-family: "MDIF";

  src: url(/site/templates/fonts/mdi_filled/MaterialIcons-Regular.woff2); }

@font-face {
  font-family: "CI";

  src: url(/site/templates/fonts/customicons/iconsv1-Regular.woff2); }

@font-face {
  font-family: "Sue Ellen";

  src: url(/site/templates/fonts/sue-ellen/SueEllenFrancisco.woff2); }

body, ul#navi-main-mobile ul a {
  font-family: "FiraSans Regular", sans-serif; }

#bread-crumbs li, .colslist-3 a, .ce h2, .ce h3, .ce h4, .menu a, #navi-main a, #skip-navigation, ul.downloads a, ul#main-navi-mobile {
  font-family: "FiraSans Medium", sans-serif;
  font-weight: 400; }

#page-headline {
  font-family: "FiraSans ExtraBold", sans-serif; }

strong, button, .tabbed summary, a.button, label, dialog a, .ce table th, summary p, [itemprop="name"], #page-headline {
  font-family: "FiraSans Bold", sans-serif; }

button.menu {
  font-family: "FiraSans ExtraBold", sans-serif; }

button.menu::before, [itemprop="email"]::before, [itemprop="telephone"]::before {
  font-family: "CI"; }

#bread-crumbs li::after, a.download::before, a#scroll-top::before, #navi-main-mobile li button::before {
  font-family: "MDIF"; }

blockquote, .timeline dt {
  font-family: "Sue Ellen", cursive; }

body {
  font-size: var(--font-size-default); }

#navi-main ul a {
  font-size: var(--font-size-small); }

#page-headline {
  font-size: clamp(3.5rem, 6.25vw, 12rem); }

.timeline dt {
  font-size: clamp(8rem, 6.25vw, 15rem); }

h2 {
  font-size: clamp(3rem, 5.5vw, 5rem); }

h3 {
  font-size: clamp(2.5rem, 4vw, 4rem); }

#skip-navigation {
  font-size: clamp(2rem, 2.5vw, 2.5rem); }

.menu > li > a {
  font-size: clamp(2rem, 3vw, 3rem); }

.type-portfolio h3, [itemprop="name"] {
  font-size: clamp(2.5rem, 1.6vw, 4rem); }

blockquote {
  font-size: clamp(3.5rem, 7vw, 8rem); }

footer, #socket .type-menu a, .InputfieldCheckbox label span, figcaption, button.menu, .menu a, #bread-crumbs li::after, #bread-crumbs li, time {
  font-size: clamp(1.6rem, 1.25vw, 1.8rem); }

button.menu::before {
  font-size: 4rem; }

.tabbed summary, dialog a {
  text-transform: uppercase; }

#navi-main a::before, #navi-service button.menu::before {
  text-transform: none; }

button, .menu a {
  letter-spacing: 0.2rem; }

#page-headline a, #navi-main a, #navi-service a, #navi-main-mobile a, #scroll-top {
  text-decoration: none; }

main a {
  text-underline-offset: 5px; }

h1, .ce blockquote p {
  line-height: 100%; }

.ce p, .ce ul, .ce ol {
  line-height: 150%; }

.ce h4:not(:last-child), .ce p:not(:last-child), .ce ul:not(:last-child), .ce ol:not(:last-child) {
  margin-bottom: 3rem; }

.ce header:not(.no-text) h2 {
  margin-bottom: clamp(3rem, 4vw, 6rem); }

.ce hr, .ce h3, .ce header:not(.no-text) h3 {
  margin-bottom: clamp(2rem, 4vw, 4rem); }

.ce hr, p + h3, ul + h3 {
  margin-top: clamp(2rem, 4vw, 11rem); }

.ce ul:not(.gallery):not(.menu):not(.colslist-3):not(.features):not(.splide__list) {
  list-style-type: disc;
  margin-left: 3rem; }

.align_center {
  text-align: center; }

.align_right {
  text-align: right; }

@media screen and (max-width: 60em) {
    .mobile-center * {
      text-align: center; } }

*:focus:not(:hover) {
  outline-offset: 0px;
  outline-style: dashed;
  outline-width: 3px;
  outline-color: currentColor; }

[data-cols]:not([data-slideshow="1"]) {
  gap: 1rem; }
  [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"]) {
    display: grid;
    grid-template-columns: 1fr; }
  @media screen and (min-width: 60em) {
    [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"]):not([data-cols="1"]) {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (min-width: 80em) {
    [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="2"] {
      grid-template-columns: repeat(2, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="3"] {
        grid-template-columns: repeat(3, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="4"] {
        grid-template-columns: repeat(4, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="5"] {
        grid-template-columns: repeat(5, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="6"] {
        grid-template-columns: repeat(6, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="7"] {
        grid-template-columns: repeat(7, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="8"] {
        grid-template-columns: repeat(8, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="9"] {
        grid-template-columns: repeat(9, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="10"] {
        grid-template-columns: repeat(10, 1fr); } }
  [data-cols]:not([data-slideshow="1"]) img {
    max-width: 100%;
    height: auto; }
  [data-cols]:not([data-slideshow="1"])[data-cols="inline"] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
  [data-cols]:not([data-slideshow="1"])[data-cols="inline"] img {
    height: 10rem;
    width: auto; }
  [data-cols]:not([data-slideshow="1"])[data-gap="0"] {
    gap: 0; }
  @media screen and (min-width: 60em) {
  [data-cols]:not([data-slideshow="1"])[data-gap="5"] {
    gap: 0.5rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="10"] {
    gap: 1rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="15"] {
    gap: 1.5rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="20"] {
    gap: 2rem; }
  [data-cols]:not([data-slideshow="1"])[data-cols="inline"] img {
    height: 20rem; } }

dialog[open] {
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  max-width: none;
  height: 100vh;
  max-height: none;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: right; }
  dialog[open] > div {
    width: auto;
    min-width: 100vw;
    height: 100dvh;
    overflow: auto;
    padding: 13rem 0 5rem; }
  dialog[open] div.wrapper {
    margin: auto;
    max-width: var(--width-default); }
  dialog[open] button.close {
    position: fixed;
    top: 2rem;
    right: 2rem;
    background: none;
    border: none;
    padding: 1rem 1rem 1rem 2rem;
    text-transform: none;
    min-width: 0;
    border-radius: 3rem;
    border: 2px solid white;
    display: flex;
    align-items: center;
    gap: 1rem;
    z-index: 100; }
  dialog[open] button.close::after {
    font-family: "MDIF";
    content: "close";
    font-size: 2rem;
    border-radius: 50%;
    line-height: 100%;
    padding: 0.3rem;
    letter-spacing: 0; }
  dialog[open] ul#navi-main-mobile a {
    padding: 1rem 2rem 1rem 8rem;
    display: block; }
  dialog[open] ul#navi-main-mobile a br {
    display: none; }
  dialog[open] ul#navi-main-mobile > li {
    border-bottom: 1px solid white; }
  dialog[open] ul#navi-main-mobile li.has-childs {
    padding-right: 4rem; }
  dialog[open] ul#navi-main-mobile li.has-childs button {
    position: absolute;
    top: 2.5rem;
    right: 3rem;
    background: none;
    padding: 1rem;
    font-size: 3rem;
    letter-spacing: 0;
    border-radius: 50% !important; }
    dialog[open] ul#navi-main-mobile li.has-childs button::before {
      border-radius: 50% !important;
      content: "add"; }
    dialog[open] ul#navi-main-mobile li.has-childs button:focus {
      outline: none; }
  dialog[open] ul#navi-main-mobile li.has-childs button.hide::before {
    content: "remove"; }
  dialog[open] ul#navi-main-mobile li.has-childs > ul {
    margin-bottom: 3rem; }
    dialog[open] ul#navi-main-mobile li.has-childs > ul a::before {
      font-family: "MDIF";
      content: "chevron_right";
      text-transform: none;
      position: absolute;
      left: 3rem;
      top: 50%;
      transform-origin: center;
      color: #006048;
      line-height: 100%;
      border-radius: 50%;
      display: inline;
      font-size: 2.5rem;
      transform: translateY(-50%);
      background-color: white; }
      dialog[open] ul#navi-main-mobile li.has-childs > ul a:hover::before, dialog[open] ul#navi-main-mobile li.has-childs > ul a[aria-current="page"]::before {
        background-color: #fec800; }
  dialog[open] ul#navi-main-mobile > li > a {
    display: flex;
    padding: 3rem 2rem 3rem 3rem;
    margin-right: 5rem; }
  dialog[open] ul#navi-main-mobile > li > a span {
    padding: 1rem 6rem 1rem 0;
    display: inline-block;
    white-space: nowrap; }
  dialog[open] ul#navi-main-mobile a:not([aria-expanded="true"]) + ul {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }

@keyframes slideInFromRight {
  0% {
    transform: translateX(100%); }

  100% {
    transform: translateX(0%); } }

@keyframes fadeIn {
  0% {
    opacity: 0; }

  100% {
    opacity: 1; } }

div.privacywire-wrapper {
  z-index: 100000; }

div.privacywire-page-wrapper * {
  font-size: 1.6rem; }
  div.privacywire-page-wrapper p, div.privacywire-page-wrapper ul {
    margin-bottom: 1rem; }
  div.privacywire-page-wrapper ul {
    list-style: none;
    margin-left: 2rem; }
  div.privacywire-page-wrapper input[type="checkbox"] {
    margin-right: 0.5rem; }
  div.privacywire-page-wrapper > div {
    left: 0;
    right: 0; }
  div.privacywire-page-wrapper button {
    background-color: #006048;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 1rem; }
  @media screen and (max-width: 40em) {
    div.privacywire-page-wrapper button {
      display: block;
      width: 100%;
      margin: 0 0 0.5rem; } }

button.privacywire-consent-button {
  background-color: #006048;
  color: white;
  border: none;
  padding: 0.5rem 1rem; }

button.privacywire-show-options {
  padding: 0;
  background: none;
  color: white;
  cursor: pointer; }

.ce {
  padding: var(--space-default) 0; }
  .ce .wrapper, .ce header.default {
    margin: auto;
    max-width: var(--width-default); }
  .ce.xwide .wrapper, .ce header.xwide .wrapper {
    max-width: var(--width-xwide); }
  .ce.wide .wrapper, .ce header.wide .wrapper {
    max-width: var(--width-wide); }
  .ce.narrow .wrapper, .ce header.narrow .wrapper {
    max-width: var(--width-narrow); }
  .ce.full .wrapper, .ce header.full .wrapper {
    max-width: var(--width-master); }
  @media screen and (max-width: 120em) {
    .ce.full .wrapper, .ce header.full .wrapper {
      max-width: 100vw; } }
  .ce:last-child {
    padding-bottom: var(--space-big); }
  .ce.before-none, .ce.type-stopper {
    padding-top: 0; }
  .ce.after-none, .ce.type-stopper {
    padding-bottom: 0; }
  .ce.before-xsmall {
    padding-top: var(--space-xsmall); }
  .ce.after-xsmall {
    padding-bottom: var(--space-xsmall); }
  .ce.before-small {
    padding-top: var(--space-small); }
  .ce.after-small {
    padding-bottom: var(--space-small); }
  .ce.before-big {
    padding-top: var(--space-big); }
  .ce.after-big {
    padding-bottom: var(--space-big); }
  .ce .wrapper {
    padding: 0 2rem; }
  .ce .wrapper .wrapper {
    padding: 0rem; }
  @media screen and (max-width: 40em) {
  .ce.type-gallery > .wrapper:not(:has([data-cols="inline"])), .ce.type-portfolio > .wrapper {
    padding: 0 0; } }
  .ce.full > .wrapper {
    padding: 0; }

.accordion details > *:last-child {
  margin-bottom: 3rem !important; }
  .accordion details summary {
    list-style: none;
    padding: 3rem 6rem 3rem 0;
    cursor: pointer;
    border-top-style: solid;
    border-top-width: 2px; }
  .accordion details summary::-webkit-details-marker {
    display: none; }
  .accordion details summary h2, .accordion details summary h3 {
    text-align: left; }
  .accordion details summary::after {
    font-family: "MDIF";
    content: "add";
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 3.5rem; }
  .accordion details[open] summary::after {
    content: "remove"; }
  .accordion details:last-of-type {
    border-bottom-style: solid;
    border-bottom-width: 2px; }
  .accordion details section.ce {
    padding: 0 !important; }

.tabbed {
  width: 100%;
  position: relative;
  justify-content: center;
  display: flex;
  flex-wrap: wrap; }
  .tabbed details {
    display: contents; }
  .tabbed details > div {
    order: 1;
    width: 100%; }
  .tabbed summary {
    position: sticky;
    top: 0;
    list-style: none;
    padding: 2rem 2rem 1.5rem;
    min-width: 30rem;
    cursor: pointer;
    text-align: center;
    margin: 0 0.5rem; }
  .tabbed summary::-webkit-details-marker {
    display: none; }

.map {
  aspect-ratio: 1.3333333333;
  border-radius: 2rem;
  overflow: hidden; }

form .Inputfield {
  margin: 0 0 3rem; }
  form label {
    display: block;
    margin-bottom: 0.5rem; }
  form input:not([type="checkbox"]), form select, form textarea {
    width: 100%;
    display: block;
    padding: 1rem; }
  ul.menu {
    columns: 1;
    gap: 1rem;
    margin: 0;
    list-style-type: none;
    text-align: left; }
  @media screen and (min-width: 40em) {
  ul.menu {
    columns: 2; } }
  @media screen and (min-width: 75em) {
  ul.menu {
    columns: 3; } }
  ul.menu > li {
    break-inside: avoid; }
  ul.menu ul, ul.menu li {
    list-style-type: none;
    margin-left: 0 !important; }
  ul.menu ul li {
    margin-bottom: 0rem; }
  ul.menu a + ul {
    margin: 3rem 0 5rem; }
  ul.menu a {
    display: block;
    line-height: 130%; }
  ul.menu a span {
    padding: 1rem;
    border-radius: 2rem;
    display: inline-block; }
  ul.menu a br {
    display: none; }

.type-gallery img {
  display: block;
  width: 100%;
  max-width: 100vw; }
  .type-gallery.logos li, .type-gallery.logos a {
    display: flex; }
  .type-gallery.logos img {
    width: auto !important;
    max-width: 75vw; }
  .type-gallery.logos a {
    padding: 2rem; }
  .type-gallery a {
    text-decoration: none; }

.type-text-image div.element {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem; }
  .type-text-image div.element div.media {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem; }
  .type-text-image div.element div.media a {
    display: block;
    width: 100%; }
    .type-text-image div.element div.media a img {
      display: block; }
  .type-text-image div.element[data-gap="0"] {
    gap: 0; }
  @media screen and (min-width: 60em) {
    .type-text-image div.element {
      grid-template-columns: repeat(10, 1fr);
      gap: 1rem; }
      .type-text-image div.element.right div.media, .type-text-image div.element.under div.media {
        order: 2; }
      .type-text-image div.element.left.r5050 div.media, .type-text-image div.element.right.r5050 div.media, .type-text-image div.element.left_inline.r5050 div.media, .type-text-image div.element.right_inline.r5050 div.media, .type-text-image div.element.left.r5050 div.text, .type-text-image div.element.right.r5050 div.text, .type-text-image div.element.left_inline.r5050 div.text, .type-text-image div.element.right_inline.r5050 div.text {
        grid-column: span 5; }
        .type-text-image div.element.left.r4060 div.media, .type-text-image div.element.right.r4060 div.media, .type-text-image div.element.left_inline.r4060 div.media, .type-text-image div.element.right_inline.r4060 div.media {
          grid-column: span 4; }
          .type-text-image div.element.left.r4060 div.text, .type-text-image div.element.right.r4060 div.text, .type-text-image div.element.left_inline.r4060 div.text, .type-text-image div.element.right_inline.r4060 div.text {
            grid-column: span 6; }
        .type-text-image div.element.left.r3070 div.media, .type-text-image div.element.right.r3070 div.media, .type-text-image div.element.left_inline.r3070 div.media, .type-text-image div.element.right_inline.r3070 div.media {
          grid-column: span 3; }
          .type-text-image div.element.left.r3070 div.text, .type-text-image div.element.right.r3070 div.text, .type-text-image div.element.left_inline.r3070 div.text, .type-text-image div.element.right_inline.r3070 div.text {
            grid-column: span 7; }
        .type-text-image div.element.left.r2080 div.media, .type-text-image div.element.right.r2080 div.media, .type-text-image div.element.left_inline.r2080 div.media, .type-text-image div.element.right_inline.r2080 div.media {
          grid-column: span 2; }
          .type-text-image div.element.left.r2080 div.text, .type-text-image div.element.right.r2080 div.text, .type-text-image div.element.left_inline.r2080 div.text, .type-text-image div.element.right_inline.r2080 div.text {
            grid-column: span 8; }
        .type-text-image div.element.left.r6040 div.media, .type-text-image div.element.right.r6040 div.media, .type-text-image div.element.left_inline.r6040 div.media, .type-text-image div.element.right_inline.r6040 div.media {
          grid-column: span 6; }
          .type-text-image div.element.left.r6040 div.text, .type-text-image div.element.right.r6040 div.text, .type-text-image div.element.left_inline.r6040 div.text, .type-text-image div.element.right_inline.r6040 div.text {
            grid-column: span 4; }
        .type-text-image div.element.left.r7030 div.media, .type-text-image div.element.right.r7030 div.media, .type-text-image div.element.left_inline.r7030 div.media, .type-text-image div.element.right_inline.r7030 div.media {
          grid-column: span 7; }
          .type-text-image div.element.left.r7030 div.text, .type-text-image div.element.right.r7030 div.text, .type-text-image div.element.left_inline.r7030 div.text, .type-text-image div.element.right_inline.r7030 div.text {
            grid-column: span 3; }
        .type-text-image div.element.left.r8020 div.media, .type-text-image div.element.right.r8020 div.media, .type-text-image div.element.left_inline.r8020 div.media, .type-text-image div.element.right_inline.r8020 div.media {
          grid-column: span 8; }
          .type-text-image div.element.left.r8020 div.text, .type-text-image div.element.right.r8020 div.text, .type-text-image div.element.left_inline.r8020 div.text, .type-text-image div.element.right_inline.r8020 div.text {
            grid-column: span 2; }
      .type-text-image div.element[data-gap="5"] {
        gap: 0.5rem; }
      .type-text-image div.element[data-gap="10"] {
        gap: 1rem; }
      .type-text-image div.element[data-gap="15"] {
        gap: 1.5rem; }
      .type-text-image div.element[data-gap="20"] {
        gap: 2rem; }
      .type-text-image div.element[data-gap="30"] {
        gap: 3rem; }
      .type-text-image div.element[data-gap="50"] {
        gap: 5rem; }
      .type-text-image div.element[data-gap="100"] {
        gap: 10rem; } }

.type-stopper div.element {
  text-align: center;
  opacity: 0.1; }
  .type-stopper div.element img {
    width: 20rem;
    background-color: var(--ce-bg);
    padding: 0 2rem; }
  .type-stopper div.element::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    border-top: 3px dashed black;
    transform: translateY(-50%); }

.type-special {
  background-image: url(/site/templates/images/special/special-bg-small.svg);
  background-repeat: no-repeat;
  background-size: 100% 75%;
  background-position: center bottom; }
  .type-special figure {
    margin: 0 auto 2rem;
    width: 85vw; }
  .type-special img {
    width: 100%;
    max-width: 58rem;
    border-radius: 2rem; }
  .type-special div.text, .type-special h2 {
    padding: 0 5rem; }
  .type-special h2 {
    margin-bottom: 4rem;
    padding: 0 0 0 2rem; }
  .type-special p.align_right {
    text-align: left; }
  @media screen and (min-width: 62.5em) {
  .type-special {
    background-position: 50% 50%;
    background-size: 98% 75%;
    background-image: url(/site/templates/images/special/special-bg.svg); }
    .type-special .element > div > div {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-template-areas: ". b b b b c c c c c c ."; }

    .type-special figure {
      grid-area: b;
      width: auto; }

    .type-special div.text {
      grid-area: c; } }
  @media screen and (min-width: 111.25em) {
  .type-special {
    background-position: 50% 50%;
    background-size: 95% 75%; }
    .type-special .element > div > div {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-template-areas: "b b b b b c c c c c . ."; }
      .type-special .element > div > div::after {
        position: absolute;
        right: -3rem;
        top: -35%;
        content: "";
        width: 22%;
        height: 130%;
        background-image: url(/site/templates/images/special/special-right.svg);
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: bottom right; }

    .type-special figure {
      grid-area: b;
      width: auto; }
      .type-special figure::after {
        position: absolute;
        left: 0;
        bottom: 0;
        content: "";
        width: 40%;
        height: 30%;
        background-repeat: no-repeat;
        background-size: 100% auto;
        transform: translate(30%, 60%); }
      .type-special div.text {
        grid-area: c; }
      .type-special div.text h2 {
        display: none; } }

ul.downloads {
  margin-left: 0 !important; }
  ul.downloads li {
    list-style-type: none;
    list-style-image: none;
    margin-bottom: 2rem; }
  ul.downloads li a {
    padding: 1rem 1rem 1rem 6rem;
    display: inline-block;
    color: #285a3e !important;
    font-family: "FiraSans Medium", sans-serif;
    border: 3px solid transparent;
    border-radius: 2rem;
    /*
     padding: 1rem 1rem 1rem 6rem;
     &::before {
     font-family: "CI";
     position: absolute;
     left: .5rem;
     top: 0;
     transform-origin: center;
     transform: rotate(-90deg);
     content: "";
     display: block;
     width: 4.4rem;
     height: 4.4rem;
     background-image: url(/site/templates/images/icons/arrow.svg);
     background-size: contain;
     }
     &:hover {
     color: white!important;
     span {
     background-color: #285A3E!important;
     }
     &::before {
     background-image: url(/site/templates/images/icons/arrow-invert-border.svg);
     }
     }
     */
    margin-top: 0; }
  ul.downloads li a:hover {
    background: none !important; }
    ul.downloads li a:hover::before {
      background-color: #fec800;
      color: #006048;
      border: 1px solid #006048; }
  ul.downloads li a::before {
    content: "chevron_right";
    font-family: "MDIF";
    position: absolute;
    left: 0rem;
    top: 50%;
    transform-origin: center;
    background-color: #006048;
    color: white;
    line-height: 100%;
    border-radius: 50%;
    display: inline;
    font-size: 4rem;
    transform: translateY(-50%); }
  ul.downloads li a::before {
    content: "download";
    font-size: 3rem !important;
    padding: 0.5rem; }
  ul.downloads li a span span {
    white-space: nowrap; }

#master {
  max-width: var(--width-master);
  min-height: 100vh;
  margin: auto;
  display: grid;
  grid-template-rows: auto 1fr auto; }
