:root {

  --brandcolor-green: #000000;
  --brandcolor-green:     #61a843;
  --brandcolor-green-dark:#396d47;
  --green-light:          #e2e8e1;
  --beige:                #d7d0ce;
  --brown:                #654c43;
  --black:                #323232;





  --c-grey-800:            #414141;
  --c-grey-700:            #606060;
  --c-grey-600:            #747474;

  --c-brown-400:          #8a7b62;
  --c-brown-300:          #9f937f;
  --c-brown-200:          #bcb2a4;
  --c-brown-150:          #c9c1b5;
  --c-brown-100:          #d7d1c7;
  --c-brown-75:           #e2ddd4;
  --c-brown-50:           #efede8;
  --c-brown-25:           #f7f5f2;

  --c-orange-05:           #fef2dd;
  --c-orange-1:           #f9b234;
  --c-orange-2:           #df9818;

  --c-red-1:              #f4c9b8;

  --c-green-1:            #ddede0;
  --c-green-2:            #c5e2c9;


  --c-blue-1:             #e1e9f4;
  --c-blue-2:             #b2c8e4;
  --c-blue-3:             #7ea4d2;
  --c-blue-4:             #0067b6;

  --swiper-theme-color:   #fff;

  --full-width:           1650px;
  --max-width:            1450px;

  --gap025:               4px;
  --gap05:                8px;
  --gap1:                 16px;
  --gap105:               24px;
  --gap2:                 32px;
  --gap205:               40px;
  --gap3:                 48px;
  --gap4:                 64px;
  --gap5:                 80px;
  --gap6:                 96px;
  --gap8:                 128px;
  --gap9:                 144px;
  --gap10:                160px;

  --rem14:                0.875rem;
  --rem15:                0.9375rem;
  --rem16:                1rem;
  --rem17:                1.0625rem;
  --rem18:                1.125rem;
  --rem19:                1.1875rem;
  --rem20:                1.25rem;
  --rem21:                1.3125rem;
  --rem22:                1.375rem;
  --rem23:                1.4375rem;
  --rem24:                1.5rem;
  --rem25:                1.5625rem;
  --rem26:                1.625rem;
  --rem27:                1.6875rem;
  --rem28:                1.75rem;
  --rem29:                1.8125rem;
  --rem30:                1.875rem;
  --rem31:                1.9375rem;
  --rem32:                2rem;
  --rem34:                2.125rem;
  --rem36:                2.25rem;
  --rem38:                2.375rem;
  --rem40:                2.5rem;
  --rem45:                2.8125rem;
  --rem48:                3rem;
  --rem54:                3.375rem;
  --rem64:                4rem;
}


@media screen and (max-width: 767px) {
  :root {
    --gap1: 16px;
    --gap105: 12px;
    --gap2: 16px;
    --gap3: 24px;
    --gap4: 32px;
  }
}


@media screen and (max-width: 1023px) {
  :root {
    --gap5: 40px;
    --gap6: 48px;
    --gap8: 64px;
  }
}


body {
  font-family: "Fira Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
          "slnt" 0;
  font-size: 100%;
  color: black;
}


h1 {
  font-style: italic;
  font-weight: 400;
  font-size: var(--rem40);
}


h2 {
  font-weight: 400;
  font-size: var(--rem24);
  margin-bottom: var(--gap3);
}


h3 {
  font-weight: 500;
  font-size: var(--rem20);
  margin-top: 2em;
  text-align: left;
}


p {
  font-size: var(--rem20);
  line-height: var(--rem25);
}


#header p {
  font-size: var(--rem22);
  line-height: var(--rem30);
}


a {
  color: var(--brandcolor-green-dark);
}


a:hover {
    text-decoration: none;
  }


/**
 * Contao Open Source CMS
 *
 * Copyright (c) 2005-2014 Leo Feyer
 *
 * @package Core
 * @link    https://contao.org
 * @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
 */


/**
 * Standardize some basic elements
 */


body,form,figure {
    margin:0;
    padding:0;
}


img {
    display: block;
    border: 0;
    max-width: 100%;
    height: auto;
}


header,footer,nav,section,aside,article,figure,figcaption {
    display:block;
}


/**
 * Fix some font issues
 */


body {
    font-size:100.01%;
}


select,input,textarea {
    font-size:99%;
}


/**
 * Fix some positioning issues
 */


#container,.inside {
    position:relative;
}


/**
 * Hide invisible elements
 */


.invisible {
    border:0;
    clip:rect(0 0 0 0);
    height:1px;
    margin:-1px;
    overflow:hidden;
    padding:0;
    position:absolute;
    width:1px;
}


/**
 * Custom layout sections
 */


.custom {
    display:block;
}


#container:after,.custom:after {
    content:"";
    display:table;
    clear:both;
}


/**
 * Float classes (see #6851)
 */


.float_left,
.media--left > figure {
    float:left;
}


.float_right,
.media--right > figure {
    float:right;
}


/**
* Clear floats
*/


.block {
    overflow:hidden;
}


.media {
    display:flow-root;
}


.clear,#clear {
    height:0.1px;
    font-size:0.1px;
    line-height:0.1px;
    clear:both;
}


* {
    box-sizing: border-box;
}


body {
  font-size: 100%;
  background: var(--beige);
}


#wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-width: 320px;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}


#container {
  flex: 1 0 auto;
}


#main > .inside {
  max-width: var(--max-width);
  margin: auto;
}


#main > .inside > * {
    margin: var(--gap4) auto;
  }


.beige #main > .inside > * {
  margin: 0 auto var(--gap4) auto;
}


#main {
  text-align: center;
  padding-bottom: var(--gap4);
}


#main-header {
    position: relative;
    z-index: 1000;
    background: white;
}


#main-header .inside {
        max-width: var(--max-width);
        margin-left: auto;
        margin-right: auto;
        display: flex;
        align-items: center;
    }


#logo a {
        display: flex;
        text-decoration: none;
    }


#logo .icon {
        position: absolute;
        display: block;
        width: 40px;
        flex-basis: 40px;
        flex-shrink: 0;
        flex-grow: 0;
        margin-top: 14px;
        left: 16px;
    }


#logo .icon img {
            width: 100%;
            max-width: 100%;
            height: auto;
        }


#logo .company {
        margin: 14px 0 20px 40px;
        padding-left: 30px;
        text-align: right;
        font-size: var(--rem18);
        font-style: italic;
        font-weight: 500;
        letter-spacing: 1px;
        color: black;
    }


/* hamburger */


.ha {
    position: absolute;
    display: flex;
    align-items: center;
    right: var(--gap2);
    width: 55px;
    height: 35px;
    border-radius: 100px;
    background-color: var(--c-grey-700);
    cursor: pointer;
    z-index: 1000;
    color: white;
    text-indent: -9999em;
    margin-top: -6px;
}


.ha > div:first-child {
        position: relative;
        width: 35px;
        margin: -9px 15px 10px 15px;
    }


.ha span {
        position: absolute;
        display: block;
        content: "";
        width: 25px;
        height: 2px;
        border-radius: 1px;
        background-color: white;
        opacity: 1;

        transition: 0.2s ease-in-out;
        transform-origin: left center;
        transform: rotate(0deg);
    }


.ha span:first-child {
            top: 8px;
        }


.ha span:nth-child(2) {
            top: 16px;
        }


.ha span:nth-child(3) {
            top: 0;
        }


.ha:hover {
        background-color: var(--c-grey-800);
    }


.open .ha > div {
            margin-left: 19px !important;
        }


.open .ha span:nth-child(1) {
        width: 0;
        opacity: 0;
    }


.open .ha span:nth-child(2) {
        transform: rotate(-45deg);
        top: 17px;
    }


.open .ha span:nth-child(3) {
        top: -1px;
        transform: rotate(45deg);
    }


/* overlay */


#overlay {
    display: none;
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: var(--c-brown-50);
    animation: fadeIn 0.4s;
    overflow-y: scroll;
}


#overlay .content {
        min-height: 100vh;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: left;
    }


#overlay .cl {
        position: fixed;
        top: var(--gap2);
        right: var(--gap2);
        z-index: 1001;
    }


.open #overlay {
    display: block;
}


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


/* navigation */


#nav-main ul {
        display: inline-block;
        margin: 100px 0 var(--gap4) 0;
        padding: 0;
    }


#nav-main li {
        margin: 0;
        padding: 0;
        list-style: none;
    }


#nav-main li:hover {
            margin-right: 0;
        }


#nav-main li a,
        #nav-main li strong {
            display: block;
            font-size: var(--rem20);
            text-decoration: none;
            padding: 5px;
            color: var(--c-grey-800);
            font-weight: 400;
        }


#nav-main li strong {
            text-decoration: underline;
        }


#nav-main li.active {
        margin-right: 72px;
    }


@media screen and (min-width: 425px){
        #logo a {
            display: flex;
            text-decoration: none;
        }

        #logo .icon {
            position: absolute;
            display: block;
            width: 60px;
            flex-basis: 60px;
            flex-shrink: 0;
            flex-grow: 0;
            margin-top: 14px;
            left: 16px;
        }

            #logo .icon img {
                width: 100%;
                max-width: 100%;
                height: auto;
            }

        #logo .company {
            margin: 14px 0 20px 60px;
            padding-left: 30px;
            text-align: right;
            font-size: var(--rem22);
            font-style: italic;
            font-weight: 500;
            letter-spacing: 1px;
            color: black;
        }
}


@media screen and (min-width: 768px){
        #logo a {
            display: flex;
            text-decoration: none;
        }

        #logo .icon {
            position: absolute;
            display: block;
            width: 100px;
            flex-basis: 100px;
            flex-shrink: 0;
            flex-grow: 0;
            margin-top: 14px;
        }

            #logo .icon img {
                width: 100%;
                max-width: 100%;
                height: auto;
            }

        #logo .company {
            margin: 14px 0 20px 100px;
            padding-left: var(--gap2);
            font-size: var(--rem30);
        }

    .ha {
        width: 163px;
        height: 45px;
        text-indent: 0;
    }

        .ha > div {
            width: 45px;
            margin-right: 30px;
        }

        .ha > div:first-child {
            position: relative;
            width: 55px;
            margin: -10px 15px 10px 25px;
        }

        .ha span {
            width: 35px;
        }
        #overlay .content {
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: left;
        }
            .open .ha > div {
                margin-left: 31px !important;
            }

        .open .ha span:nth-child(2) {
            transform: rotate(-45deg);
            top: 21px;
        }

        .open .ha span:nth-child(3) {
            top: -4px;
            transform: rotate(45deg);
        }
        #nav-main li {
            margin: 0;
        }

            #nav-main li a,
            #nav-main li strong {
                font-size: var(--rem40);
            }

            #nav-main li a:hover {
                text-decoration: underline;
            }

        #nav-main li.active {
            margin-right: 72px;
        }
}


#header {
    padding-bottom: var(--gap4);
    background: white;
}


#header > .inside {
        max-width: var(--full-width);
        margin-left: auto;
        margin-right: auto;
    }


#header .content-text,
    #header .content-headline {
        max-width: 1200px;
        margin: var(--gap4) auto;
        text-align: center;
    }


#header .content-text > *, #header .content-headline > * {
            margin-left: var(--gap1);
            margin-right: var(--gap1);
        }


#header .mod_randomImage {
        margin-bottom: var(--gap6);
    }


.beige #header {
    background: var(--beige);
}


#footer {
    background:  var(--brandcolor-green);
    text-align: center;
}


#footer .inside {
        margin: var(--gap2) auto var(--gap05) auto;
    }


#footer * {
        color: #fff;
    }


#footer p {
        font-size: var(--rem16);
        margin: 0 var(--gap1);
    }


#footer .logo_adresse {
        display: inline-flex;
        flex-wrap: wrap;
        gap: var(--gap2);
    }


#footer .logo {
        width: 62px;
        margin: 0 auto var(--gap2) auto;
    }


#footer .logo img {
            width: 100%;
            height: auto;
        }


#footer .legal {
        text-align: right;
    }


#footer .legal p {
            font-size: var(--rem14);
            color: var(--brandcolor-green-dark)
        }


#footer .legal a {
            color: var(--brandcolor-green-dark)
        }


@media screen and (min-width: 768px){
        #footer .logo {
            margin-bottom: 0;
        }
        #_footer .row_flex {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            gap: var(--gap3);
            text-align: left;
        }

            #_footer .row_flex > div {
                text-align: left;
            }

            #_footer .row_flex > .div {
                flex-basis: calc(25% - 32px);
                margin: 0;
                text-align: left;
            }

            #_footer .row_flex > .div:first-child {
                flex-basis: calc(50% - 32px);
            }

        #_footer .logo_adresse {
            display: flex;
            flex-wrap: wrap;
            gap: var(--gap2);
        }

        #_footer .logo {
            margin: 0
        }

        #_footer p {
            padding: 0 var(--gap1);
        }
}


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


.content-gallery ul {
        display: flex;
        flex-wrap: wrap;
        margin: 0;
        padding: 0;
    }


.content-gallery li {
        flex-basis: calc(50% - 8px);
        flex-shrink: 1;
        margin: 4px;
        padding: 0;
        list-style: none;
    }


/* Google Maps */


.ce_googleMaps {
    position: relative;
    padding-bottom: 56%;
    height: 0;
    overflow: hidden;
}


.ce_googleMaps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


.button {
    display: inline-block;
    background-color: #4f9439;
    border-radius: 100px;
    padding: 3px 15px;
    text-decoration: none;
    margin-top: 10px;
    font-size: var(--rem15);
}


.button:hover {
        background-color: var(--brandcolor-green-dark);
    }


@media screen and (min-width: 768px){
        .content-gallery li {
            flex-basis: calc(25% - 16px);
            margin: 8px;
        }
}


.ce_small,
.ce_rsce_angebot {
    width: 96%;
    max-width: 1000px;
    margin: 0 auto;
}


.ce_rsce_angebot {
    margin-bottom: var(--gap5);
}


.angebot_wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap3);
}


.angebot {
    flex-basis: 100%;
    background: #fff;
    text-align: center;
}


.angebot .inside {
        padding: var(--gap2);
        text-align: left;
    }


.angebot h2 {
        margin-top: 0;
        font-size: var(--rem25);
        color: var(--brandcolor-green);
    }


.angebot h3 {
        font-size: var(--rem14);
        font-weight: 300;
    }


.angebot p {
        font-size: var(--rem16);
    }


.angebot .te {
        display: none;
    }


.angebot .te p {
            margin-top: 0;
        }


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


.angebot .tote {
        display: inline-block;
        margin-left: 6px;
        color: var(--beige);
        font-size: var(--rem14);
    }


.angebot .arrow {
        display: inline-block;
        border-top: 2px solid var(--beige);
        border-left: 2px solid var(--beige);
        width: 18px;
        height: 18px;
        transform: rotate(225deg);
        transform-origin: 50% 50%;
        transition-duration: 0.2s;
        transition-timing-function: ease-in-out;
        margin: 10px auto 0 auto;
    }


.angebot .arrow:hover {
            border-color: var(--black);
        }


.angebot .open + .to .arrow {
        transform: rotate(45deg);
        transition-duration: 0.2s;
        transition-timing-function: ease-in-out;
    }


.angebot .open +.to .tote {
        color: white !important;
    }


@media screen and (min-width: 768px){
    .angebot {
        flex-basis: calc(50% - 24px);
    }
}


.ce_rsce_mitarbeiter {
  width: 96%;
  max-width: 1000px;
  margin: 0 auto var(--gap3) auto;
}


.ce_rsce_mitarbeiter > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--gap3);
  }


.ce_rsce_mitarbeiter img {
    width: 100%;
    height: auto;
  }


.ma {
  margin-bottom: 20px;
  flex-basis: 100%;
  max-width: 476px;
  text-align: left;
}


.ma .wrapper {
    position: relative;
    padding-bottom: var(--gap4);
    background-color: white;
    overflow: hidden;
    height: 100%;
  }


.ma .wrapper > * {
    margin-left: var(--gap2);
    margin-right: var(--gap2);
  }


.ma img {
    margin: 0 !important;
  }


.ma h2 {
    margin-top: var(--gap2);
    margin-bottom: 0;
    color: var(--brandcolor-green);
  }


.ma h3 {
    margin-top: 0;
  }


.ma .ce_hyperlink {
    position: absolute;
    margin-bottom: 15px;
    bottom: 0;
  }


@media screen and (min-width:768px){
    .ce_rsce_mitarbeiter > div {
      justify-content: left;
    }
  .ma {
    flex-basis: calc(50% - 24px);
  }
}


.rs-column {
    padding: 0 10px;
}


@media screen and (min-width: 1024px) {
    .ce_rs_columns_start {
        display: flex;
        flex-wrap: wrap;
        gap: var(--gap3);
    }

    .rs-column {
        flex-basis: calc(50% - 24px);
    }
        .column-2-1 .rs-column:first-child {
            flex-basis: calc(33.333% - 24px);
        }

        .column-2-1 .rs-column:last-child {
            flex-basis: calc(66.666% - 24px);
        }
}
/*# sourceMappingURL=standard.css.map */
