:root {
    --color-primary: #013267;
    --color-accent: #FF9F49;
    --color-accent: rgba(255, 159, 73, 1);
    --color-accent50: rgba(255, 159, 73, 0.85);
    --color-white: #fff;
    --main-font: "Alegreya Sans", Helvetica, Arial, sans-serif;
    --main-font-alternative: "Alegreya", Helvetica, Arial, sans-serif;
}

/* alegreya-sans-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: 'Alegreya Sans';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/alegreya-sans-v25-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* alegreya-sans-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: 'Alegreya Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/alegreya-sans-v25-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* alegreya-sans-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: 'Alegreya Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/alegreya-sans-v25-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* alegreya-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: 'Alegreya';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/alegreya-v38-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* alegreya-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: 'Alegreya';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/alegreya-v38-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* alegreya-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: 'Alegreya';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/alegreya-v38-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* alegreya-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: 'Alegreya';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/alegreya-v38-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/*.impressum section {border: 1px solid orange;}*/
/*.impressum div {border: 1px solid blue;}*/
/*.impressum p {border: 1 px solid green;}*/



body {
    font-family: var(--main-font);
    padding-top: 0;
    padding-bottom: 1.5rem;
    color: #004364
}

.footer, .header {
    padding-right: 1rem;
    padding-left: 1rem
}

.section_header {
    width: 100%;
    height: 7rem;
    background-color: rgba(255, 255, 255, .8);
    position: absolute;
    top: 0
}

.header {
    padding-bottom: 1rem;
    border-bottom: .05rem solid #e5e5e5
}

.header h3 {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 3rem
}

.footer {
    z-index: 5000;
    padding-top: 1.5rem;
    color: var(--color-white);
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .35);
    background: repeat-x left bottom url("../images/bg-footer.webp") var(--color-accent50);
    position: absolute;
    width: 100%;
    a {
        color: var(--color-white);
        text-shadow: 1px 1px 1px rgba(0, 0, 0, .35);
    }

}

h1, h2, h3 {
    font-family: var(--main-font-alternative);
    font-weight: 600
}

h1 {
    font-size: 2rem
}

h2 {
    font-size: 3rem;
    /*margin-left:1.5rem;*/
}

h3 {
    font-size: 1.3rem
}

h4 {
    font-weight: 400
}

h4, p {
    font-size: 1rem
}
p {
    line-height: 1.2em;
}


h2 {
    font-size: 3rem;
    color: var(--color-primary);
    font-family: var(--main-font-alternative);
}

a, a:hover {
    color: var(--color-primary)
}

a:hover {
    text-decoration: underline
}

.navigation {
    font-family: var(--main-font);
    color: #004364;
    text-shadow: 1px 1px 3px hsla(0, 0%, 100%, .2);
    position: fixed;
    left: 0;
    font-size: 1.5rem;
    text-align: center;
    margin: 0 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    z-index: 2000;
    display: none;

}

.navigation li {
    list-style: none;
    float: left;
    margin-right: 35px
}

navigation li a {
    text-decoration: none;
    transition: all .5s ease-out;
}

.navigation li a:hover {
    text-decoration: underline;
    transform: scale(1.2);
}

.navigation li.active a {
    text-decoration: underline
}

.mainlogo {
    width: 150px;
    height: 150px;
    position: fixed;
    top: 1.5rem;
    right: 1rem;
    z-index: 2500;
    margin-right: 25px;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .25));
}



.home {
    background-image: url(../images/caldes-vaizen.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 32% 0;
    text-align: center
}

.hometext {
    color: var(--color-white);
    font-size: 2.2em;
    font-weight: 300;
    bottom: 1.5em;
    left: calc(50% - 2em);
    padding-top: 100px;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .2)
}

.claim, .hometext {
    position: absolute
}

.claim {
    width: 280px;
    height: 125px;
    top: 120px;
    right: 10rem
}

.angebot {
    background-image: url(../images/IMG_6484_create.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 37% 0;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-flow: column
}

.angebot img {
    width: 97.5%
}

.introtext{
    font-size: 1.5rem;
    color: var(--color-white);
    padding-top: 0;
    left: 15px;
    text-align: left;
    /*margin-left: 40%;*/
    width: 50%;
    margin: 0 auto;
    padding-left: 5%;

    h2 {
        font-size: 3rem;
        color: var(--color-primary);
        font-family: var(--main-font-alternative);
    }

    p {
        font-size: 2rem;
        color: var(--color-primary);
    }
}

.addresstext {
    font-size: 1rem;
    left: calc(50% - 7em);
    text-align: left;
    margin: 0 auto;
    width: 50%;

    h2 {
        font-size: 2rem;
        color: var(--color-primary);
        font-family: var(--main-font-alternative);
    }

    p {
        font-size: 1rem;
        color: var(--color-primary);
    }
}

p.smallerprint {
    font-size: .9em;
}
.smallprint {
    padding-top: 12px;
    font-size: 0.75em;
    margin-left: calc(50% - 7em);
    p {
        color: var(--color-primary);
    }
    a {
        color: var(--color-primary);
    }
}

.smallprint a {
    color: var(--color-primary);
    text-decoration: none;
    -webkit-transition: -webkit-text-decoration .5s ease-out;
    transition: -webkit-text-decoration .5s ease-out;
    transition: text-decoration .5s ease-out;
}

.smallprint a:hover {
    text-decoration: underline
}

.referenzen img {
    padding-top: 75px;
    width: 97.5%
}

.team {
    background-color: var(--color-primary) !important;
    color: var(--color-white);

    h2 {
        margin: 10px 0 2rem 2rem;
        font-size: 2.5rem;
        color: var(--color-white);
    }

    a {
        color: var(--color-white);
    }
}

.container_team {
    padding-top: 140px;
    padding-left: 1em;
    padding-right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    flex-flow: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    h2 {
        font-size: 3rem;
        color: var(--color-white);
        font-family: var(--main-font-alternative);
    }
}

.person {
    width: 45%
}

.person_foto {
    margin-bottom: 5px;
    padding: 0 5px
}

.person_foto img {
    height: 185px
}

.person_name {
    padding: 0 8px
}

.person_link, .person_text {
    font-weight: 200;
    font-size: .95rem;
    margin-top: 0;
    margin-bottom: 5px;
    padding: 2px 8px 0;
    border-top: 1px solid rgba(0, 0, 0, .2);
}

.person_text {
    display: none
}

.kontakt {
    text-align: center;
    /*background-image: url(../images/IMG_6484_create.webp);*/
}

.container_address, .kontakt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row
}

.container_address {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    padding-left: 2em;
    .smallprint {
        text-align: left;
        font-size: 1em;
        margin-left: 0;
    }
}

@media (max-width: 990px) {
    .container_address {
        grid-template-columns: repeat(3,1fr);
    }
}

@media (max-width: 990px) and (orientation: landscape) {
    .container_address {
        grid-template-columns: repeat(3,1fr);
    }
}

@media (max-width: 768px) {
    .container_address {
        padding-top: 0;
        padding-left: 2em;
        padding-right: 2em;
        grid-template-columns: repeat(1,1fr);
    }

    .addresstext h2 {
        display: none
    }

    .address {
        gap: 1em;
        display: flex;
        flex-direction: row;
    }
}

.address {
    text-align: left;
    width: 150px;
    float: left;
    padding-bottom: 40px;

    h3 {
        font-size: 1.4rem;
        font-family: var(--main-font-alternative);
        line-height: 0.95em;
        margin-top: 0;
        margin-bottom: 0;
        padding-bottom: 0;
        font-weight: 400;

        i {
            font-size: 0.85rem;
            margin-left: 5px;
            opacity: .5;
        }
    }
    .smallprint {
        margin: 0;
        padding-top:0;
    }
}

.addresstext {
    /*adding-top: 120px;
    padding-bottom: 20px;*/
    text-align: center
}

.kontaktlogo {
    display: none
}

.address a {
    font-size: 1rem
}

.address a:hover {
    text-decoration: underline
}

.fp-controlArrow {
    border-color: #004364;
    color: #004364;
    position: absolute;
    z-index: 4;
    top: 50%;
    cursor: pointer;
    width: 10px;
    height: 10px;
    border-style: solid;
    margin-top: -8px
}

.fp-controlArrow span {
    margin: -10px
}

.fp-controlArrow.fp-prev {
    left: 15px;
    border-color: transparent #efefef transparent transparent
}

.fp-controlArrow.fp-next {
    right: 15px;
    border-color: transparent transparent transparent #efefef
}

.image-container {
    position: absolute;
    height: 0;
    right: 6rem;
    top: 20rem;
    z-index: 1000;
}

.flasche {
    filter: drop-shadow(0 0 1px #000);
    mix-blend-mode: hard-light;
    transform: rotate(20deg);
}

/* trifft nur das erste .socialmedia unter seinen Geschwistern */
li.socialmedia:not(.socialmedia ~ .socialmedia) {
    margin-left: 6rem;
}

.socialmedia i {
    transition: transform .2s ease-in-out;
}

.socialmedia i:hover {
    transform: scale(1.2);
}

#fp-nav ul li a span, .fp-slidesNav ul li a span {
    color: var(--color-white);
}

.caldesform {
    label {
        font-size: 1.2rem;
        font-weight: 600;
        margin-bottom: 5px;
        display: none;
    }

    .form_group {
        display: flex;
        flex-direction: column;
        gap: 10px;
        max-width: 400px;

        input, textarea {
            padding: 10px;
            border: 1px solid var(--color-primary);
            border-radius: 20px;
            font-size: 16px;
            color: var(--color-primary);
            width: 100%;
            box-sizing: border-box;
            background-color: rgba(255, 255, 255, 0.70) !important;
        }

        button[type="submit"] {
            background-color: var(--color-primary);
            color: white;
            border: none;
            cursor: pointer;
            font-size: 16px;
            padding: 10px 20px;
            border-radius: 20px;
            transition: background-color 0.3s ease;

            &:hover {
                background-color: var(--color-accent);
            }
        }
    }

}


@media only screen and (max-width: 800px) {
    .container_imprint {
        display:flex;
        flex-flow:column;
        flex-direction: column;
        .right {
            padding-top:0;
        }
        padding-top: 5.6em;
        padding-bottom: 3em;
    }
    .container_imprint .left {
        min-width: 100%;
        width:50%;
        text-align: left;


        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;

        .block{
            flex:auto;
        }
    }
}

@media (min-width: 415px) {
    /*.introtext {
        margin-left: calc(50% - 7em);
    }*/

    h1, h2, h3 {
        font-family: var(--main-font-alternative);
        font-weight: 600
    }

    h1 {
        font-size: 1.8rem
    }

    h2 {
        font-size: 1.2rem
    }

    h3, h4 {
        font-size: 1rem
    }

    h4 {
        font-weight: 400
    }

    p {
        font-size: 1rem
    }

    .navigation {
        display: inline-block
    }

    .hometext {
        color: var(--color-white);
        font-size: 2.8em;
        font-weight: 300;
        position: absolute;
        bottom: 2.5em;
        left: calc(50% - 4em);
        padding-top: 100px;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, .2)
    }

    /*.container_address, .container_team {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
        display: flex;
        flex-direction: column;
        flex-flow: column;
        justify-content: space-evenly
    }*/

    .person {
        width: 250px
    }

    .person_text {
        display: inline-block
    }

    /*
    .container_address {
        padding-top: 0;
        padding-left: 2em;
        padding-right: 5em;
        display: flex;
        flex-direction: row;
        flex-flow: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        position: relative;
        width: 100%;
    }
    */

    .address {
        width: 195px;
        padding-bottom: 20px;
        padding-right: 0rem;
    }

    .addresstext h2 {
        display: none
    }

    .kontaktlogo {
        height: 100px;
        margin-bottom: 10px;
        display: inline-block
    }
}



@media (max-width: 768px) {
    /*.introtext {
        margin-left: calc(50% - 7em);
    }*/

    h1, h2, h3 {
        font-family: var(--main-font-alternative);
        font-weight: 600
    }

    h1 {
        font-size: 1.8rem
    }

    h2 {
        font-size: 1.2rem
    }

    h3, h4 {
        font-size: 1rem
    }

    h4 {
        font-weight: 400
    }

    p {
        font-size: 1rem
    }

    .navigation {
        display: inline-block
    }

    .hometext {
        color: var(--color-white);
        /*font-size: 2.8em;*/
        font-weight: 300;
        position: absolute;
        /*bottom: 2.5em;*/
        /*left: calc(50% - 4em);*/
        /*padding-top: 100px;*/
        text-shadow: 1px 1px 1px rgba(0, 0, 0, .2);
        right: 1em;
    }

    .container_team {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
        display: flex;
        flex-direction: column;
        flex-flow: column;
        justify-content: space-evenly
    }

    .person {
        width: 250px
    }

    .person_text {
        display: inline-block
    }

    .kontaktlogo {
        height: 100px;
        margin-bottom: 10px;
        display: inline-block
    }
}

/* Tablets */
@media (min-width: 601px) and (max-width: 1024px) {
    .navigation {
        position: fixed;
    }
}

@media screen and (max-width: 768px) {

    .container_team {
        padding: 295px 5em 0 5em;
    }

    .introtext {
        padding-top: 0;
        /*left: calc(50% - 1em);*/
        text-align: left;
        /*margin-left: calc(50% - 4em);*/
        /*margin-right: 10px;*/
        width: 60%;
        padding-left: 5%;
        font-size: 1.3rem;
        h2 {
            font-size: clamp(1.5em, 1.2rem + 2vw, 3rem);
        }
        p {
            font-size: clamp(0.75em, 0.8rem + 1.2vw, 1.5rem);
            line-height: 1.4em;
        }
    }

    .address {
        width: 205px;
        padding-bottom: 20px;
        padding-right:25px;
    }

    .flasche {
        display: none;
    }

    .impressum {
        section {
            padding: 1.5rem;
        }
    }

    .container_datenschutz {
        padding: 1.5rem;
        padding-top: 5.6em;
        padding-bottom: 3em;
    }
}

@media screen and (min-width: 768px) {


    .navigation {
        font-family: var(--main-font);
        color: #004364;
        text-shadow: 1px 1px 3px hsla(0, 0%, 100%, .2);
        position: fixed;
        top: 1.25em;
        left: 0;
        font-size: 1.4rem;
        text-align: center;
        margin: 0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: row;
        z-index: 2000
    }

    .navigation li {
        list-style: none;
        float: left;
        margin-right: 25px
    }

    .navigation li.active a {
        text-decoration: underline
    }


    li.socialmedia:not(.socialmedia ~ .socialmedia) {
        margin-left: 1rem;
    }


    .navigation li {
        list-style: none;
        float: left;
        margin-right: 35px
    }

    .navigation li.active a {
        text-decoration: underline
    }

    .container_team {
        padding: 95px 5em 0 5em;
        display: flex;
        flex-direction: row;
        flex-flow: row;
        justify-content: space-evenly
    }

    .home {
        background-position: 37% 0;
        text-align: center
    }

    .introtext {
        font-size: 1.5rem;
        color: var(--color-white);
        padding-top: 0;
        /*left: calc(50% - 7em);*/
        text-align: left;
        /*margin-left: calc(50% - 7em);
        max-width: 650px!important;
        width: 650px!important;*/

        h2 {
            font-size: 3rem;
            color: var(--color-primary);
            font-family: var(--main-font-alternative);
        }

        p {
            font-size: 2rem;
            color: var(--color-primary);
        }


    }

    .person_foto {
        margin-bottom: 10px;
        padding: 0 5px
    }

    .person_foto img {
        height: 245px
    }

    .home {
        background-image: url(../images/caldes-vaizen.webp);
        background-position: 40% 0;
        text-align: center
    }

    .home, .kontakt {
        background-repeat: no-repeat;
        background-size: cover
    }

    .kontakt {
        background-image: url(../images/IMG_6484_create.webp);
        background-position: 37% 0
    }
    .team h2{
        margin: 0 0 2rem 2rem;
    }

    .addresstext {
        margin-top: 0;
        padding-top: 0;
        padding-bottom: 10px;
        text-align: left;
        padding-left: 20%;
    }


    .address {
        padding: 1em .5em 2rem 0;
        text-align: left;

        .smallprint {
            text-align: left;
            margin-left: 0;
            padding-top: 0;
        }
    }

    .address a {
        display: inline-block;
        font-size: 1rem;
        padding-bottom: 0;
        -webkit-transition: font-size .5s ease-out;
        transition: font-size .5s ease-out
    }

    .address a:hover {
        font-size: 1.1rem
    }

    .impressum {
        padding-top: 3rem;

    }

    .impressum p {
        font-size: 1rem
    }

    .impressum p.smallerprint {
        font-size: 0.9rem;

    }

    .container_imprint {
        padding-top: 5.6em;
        padding-left: 5.6em;
        padding-right: 5.6em;
        padding-bottom: 3em;
        display: flex;
        flex-direction: column;
        position: relative;
        width: 100%
    }

    @media (min-width: 990px) {
        .container_imprint {
            flex-direction: row;
            flex-flow: row;
            justify-content: space-evenly;
        }
    }

    .container_imprint .left {
        min-width: 50%;
        width:50%;
        text-align: left;
        margin-right: 20px;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        flex-flow: column;
        gap: 0.5rem;
        flex-basis: 250px;
        .block{
            flex:1;
        }
    }



    .container_imprint .right {
        text-align: left;
        width:500px;
    }



    .datenschutz {
        padding-top: 3em
    }

    .datenschutz li, .datenschutz p {
        font-size: .65rem
    }

    .datenschutz h2 {
        font-size: .9em
    }

    .slide {
        padding-top: 0
    }

    /*.container_datenschutz {
        padding-top: 1.5em;
        padding-left: 5.6em;
        padding-right: 5.6em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        flex-flow: row;
        -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
        justify-content: space-evenly;s
        position: relative;
        width: 100%
    }*/

    .container_datenschutz {
        padding-top: 5.6em;
        padding-left: 5.6em;
        padding-right: 5.6em;
        padding-bottom: 3em;
        display: flex;
        flex-direction: column;
    }

    .container_datenschutz .left {
        width: 50%;
        min-width: 50%;
        text-align: left;
        margin-right: 20px;
    }

    .container_datenschutz .right {
        text-align: left;
        width: 50%;
        min-width: 50%;
    }
}

/* Desktops and large screens */
@media screen and (min-width: 1025px) {
    .footer,
    .header,
    .marketing {
        padding-right: 0;
        padding-left: 0
    }

    .section {
        /*text-align: center;*/
        font-size: 1.2em
    }

    .header {
        margin-bottom: 2rem
    }

    .navigation {
        font-family: var(--main-font);
        color: #004364;
        text-shadow: 1px 1px 3px hsla(0, 0%, 100%, .2);
        position: fixed;
        top: 1.25em;
        left: 0;
        font-size: 1.5rem;
        text-align: center;
        margin: 0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: row;
        z-index: 2000
    }

    .navigation li {
        list-style: none;
        float: left;
        margin-right: 25px
    }

    .navigation li.active a {
        text-decoration: underline
    }


    li.socialmedia:not(.socialmedia ~ .socialmedia) {
        margin-left: 1rem;
    }


     .mainlogo {
            width: 150px;
            height: 150px;
            position: fixed;
            top: 1.2rem;
            right: 3rem;
            z-index: 2500
        }



    .hometext {
        text-align: left;
        color: var(--color-white);
        font-size: 3em;
        font-weight: 300;
        position: absolute;
        bottom: 2.5em;
        left: calc(50% - 2em);
        max-width: 50%;
        padding-top: 100px;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, .2)
    }

    .angebot img {
        width: 58%;
        padding-top: 0
    }

    .introtext {
        color: var(--color-white);
        /*padding-top: 150px;/*
        /*width:650px;*/
    }


    .team {
        background-color: var(--color-primary) !important;
        color: var(--color-white);

        h2 {
            margin: -2rem 0 2rem 2rem;
            font-size: 3rem;
            color: var(--color-white);
        }

        a {
            color: var(--color-white);
        }
    }

    .container_team {
        padding-top: 140px;
        padding-left: 1em;
        padding-right: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        flex-flow: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;

        h2 {
            font-size: 3rem;
            color: var(--color-white);
            font-family: var(--main-font-alternative);
        }
    }

    .addresstext {
        color: var(--color-white);
        padding-top: 0
    }

    .smalltext {
        font-size: .5em;
        color: var(--color-white);
    }

    .smalltext a {
        color: var(--color-white);
        text-decoration: underline
    }

    .referenzen img {
        width: 70%;
        padding-top: 170px
    }

    .person_foto {
        margin-bottom: 10px;
        padding: 0 5px
    }

    .person_foto img {
        height: 275px
    }

    .container {
        padding-top: 150px;
        width: 85%
    }

    .footer {
        position: fixed;
        bottom: 0;
        padding: .75em 5em;
        width: 100%;
        height: 50px;
        z-index: 5000
    }
}

@media (max-width: 1025px) {
    .footer {
        position: fixed;
        bottom: 0;
        padding: .75em 5em;
        width: 100%;
        height: 50px;
        z-index: 5000
    }
}

@media (max-width: 768px) {
    .footer {
        padding: .75em 1em;
    }
}

@media (max-width: 410px) {
    .copyright-text {
        display: none;
    }
}

@media (max-width: 1057px) {
    .mainlogo {
        width: 150px;
        height: 150px;
        position: fixed;
        top: 1.2rem;
        right: 0rem;
        z-index: 2500;
    }
}
@media (min-width: 1058px) {
    .mainlogo {
        width: 150px;
        height: 150px;
        position: fixed;
        top: 1.2rem;
        right: 3rem;
        z-index: 2500;
    }
}


/* Extra large screens */
@media (min-width: 1270px) {
        .navigation {
            font-family: var(--main-font);
            color: #004364;
            text-shadow: 1px 1px 3px hsla(0, 0%, 100%, .2);
            position: fixed;
            top: 1.75em;
            left: 3em;
            font-size: 1.5rem;
            text-align: center;
            margin: 0 auto;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            flex-direction: row;
            z-index: 2000
        }

        .navigation li {
            list-style: none;
            float: left;
            margin-right: 35px
        }

        .navigation li.active a {
            text-decoration: underline
        }

        .logo__main {   }

        .mainlogo {
            width: 150px;
            height: 150px;
            position: fixed;
            top: 1.2rem;
            right: 3rem;
            z-index: 2500
        }

        li.socialmedia:not(.socialmedia ~ .socialmedia) {
            margin-left: 6rem;
        }



}

.rightcontainer {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    /*min-width: 450px;*/
}
/* Accordion Styles */

details {
    interpolate-size: allow-keywords;
    overflow: clip;
    margin-top: 0.125em;
    background: #ffffff;
    width:100%;
    /*min-width:400px;*/
}

details summary {
    width:100%;
    display: block;
    cursor: pointer;
    position: relative;
    border-bottom :0;
    outline:none;

}

details:not([open]) summary:hover,
details:not([open]) summary:focus {
    background: #f6f6f6;
    color: #454545;
}

details[open] summary {
    outline: 1px solid #ffffff;

}

/*details[open]::details-content {
    height: auto;
}*/

/*details::details-content {
    height: 0;
    overflow-y: clip;
    transition: content-visibility 475ms allow-discrete, height 475ms;
}*/

details main {
    padding: 1em 0;
    /*min-width:450px;
    max-width:450px;*/
}


/* Modal Overlay Styles */
#age-modal-overlay {
    position: fixed;
    left: 0; top: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.8);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
#age-modal {
    background-color: rgba(255, 255, 255, 0.80);
    border-radius: 4px;
    padding: 32px 24px;
    box-shadow: 0 0 24px rgba(0,0,0,0.25);
    text-align: center;
    max-width: 320px;
    width: 90vw;
}
#age-modal h2 {
    margin-bottom: 12px;
    font-size: 2.2rem;
}
#age-modal button {
    margin: 16px 12px 0 12px;
    padding: 10px 22px;
    font-size: 1rem;
    cursor: pointer;
    border: none;
    border-radius: 4px;
    background-color: #013267;
    color: #fff;
    transition: background 0.2s;
}
#age-modal button:hover {
    background: rgba(255, 159, 73, 1);
}



/*Cookie Banner*/
#cookie-banner {
    position: fixed; inset: auto 0 0 0; z-index: 9999;
    /*background: rgba(0,0,0,.6);*/
    display: flex; justify-content: center; align-items: flex-end;
    padding: 0 16px 16px;
    font: 14px/1.4 var(--main-font-alternative), Segoe UI, Roboto, Arial, sans-serif;
    color: #111;
}
#cookie-banner .cb-inner {
    max-width: 720px; width: 100%;
    background: rgba(255,255,255,0.8); border-radius: 6px; padding: 16px; box-shadow: 0 4px 16px rgba(0,0,0,.2);
}
#cookie-banner h3 {color:#004364; margin: 0 0 8px; font-size: 18px; }
#cookie-banner p { color:#004364;margin: 0 0 12px; }
#cookie-banner .cb-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
#cookie-banner button {
    appearance: none; border: 1px solid #ccc; background: #f7f7f7; color:#111;
    padding: 8px 12px; border-radius: 4px; cursor: pointer;
    font: 14px/1.4 var(--main-font), Segoe UI, Roboto, Arial, sans-serif;
    transition: background 0.2s;
}
#cookie-banner button:hover {
    background: rgba(255, 159, 73, 1);
    color: #fff;
}
#cookie-banner #cb-accept-all { background: #013267; border-color:transparent; color:#fff; transition: background 0.2s; }
#cookie-banner #cb-accept-all:hover {
    background: rgba(255, 159, 73, 1);
}
#cb-panel { margin-top: 12px; padding-top: 12px; border-top: 1px solid #eee; }
#cookie-settings-link {
    color:#fff;text-shadow: 1px 1px 2px rgba(0,0,0,.5);
    position: fixed; right: 12px; bottom: 12px; z-index: 9998;
    background: rgba(255,255,255,0.15); border: 1px solid #fff; border-radius: 4px; padding: 6px 10px; cursor: pointer;
    font: 13px system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.navigation.textpage {
    width: 100%;
    top: 0;
    background-color: white;
    height: 3em;
    display: flex;
    align-items: center;
}

.navigation.textpage ul,
.navigation.textpage li {
    margin: 0;
}

@media (max-width: 1024px) {
    .logo_main {
        display: none;
    }
}

@media (max-width: 990px) {
    .team h2 {
        padding-top: 2em;
    }
}

@media (max-width: 768px) {
    .address {
        width: 100%;
        padding: 0;
        padding-bottom: 0.4em;
    }
    .address:last-of-type {
        padding-bottom: 0;
    }
    .team h2 {
        padding-top: unset;
        margin-bottom: 0;
        margin-top: 0;
    }
    .container_address {
        padding-top: 1em;
    }
}
@media (max-width: 940px) and (orientation: landscape) {
    .introtext {
        padding-left: 10%;
    }
    .hometext {
        font-size: 2rem;
        bottom: 3em;
    }
    .caldesform .form_group {
        display: unset;
        flex-direction: unset;
        gap: unset;
        max-width: unset;
    }
    .addresstext p {
        margin-bottom: 10px;
    }
    .addresstext {
        margin-top: -3em;
    }

    .section_header {
        display: none;
    }
    .navigation {
        top: 0.4em;
    }
    /*.navigation li {
        display: none;
    }*/
    .navigation .socialmedia {
        display: block;
    }
    li.socialmedia:not(.socialmedia ~ .socialmedia) {
        margin-left: 0;
    }

    .fp-viewing-Home .navigation li {
        display: none;
    }
    .fp-viewing-Angebot .navigation li {
        display: none;
    }
    .fp-viewing-Team .navigation li {
        display: none;
    }
    .fp-viewing-Kontakt .navigation li {
        display: none;
    }

    .introtext {
        padding-top: 0;
        text-align: left;
        width: 60%;
        padding-left: 10%;
        font-size: 1.3rem;
        h2 {
            font-size: clamp(1.5em, 1.2rem + 2vw, 3rem);
        }
        p {
            font-size: clamp(0.75em, 0.8rem + 1.2vw, 1.5rem);
            line-height: 1.4em;
        }
    }

    .team h2 {
        margin-top: -100px;
        margin-bottom: -15px;
    }
    .container_address {
        padding-top: 1em;
        display: grid;
        grid-template-columns: repeat(4,1fr);
    }
    .address {
        padding-bottom: 0.4em;
    }
    .address h3 {
        font-size: 0.9rem;
    }
}

@media (max-width: 700px) and (orientation: landscape) {
    .team h2 {
        margin-top: -50px;
        margin-bottom: 0;
    }
    .container_address {
        gap: 0.5em;
    }
    .address {
        gap: 0.1em;
        display: flex;
        flex-direction: column;
    }
    .container_address .smallprint {
        font-size: 0.9rem;
    }
}

.navigation {
    font-family: var(--main-font);
    color: #004364;
    text-shadow: 1px 1px 3px hsla(0, 0%, 100%, .2);
    position: fixed;
    top: 1.25em;
    left: 0;
    font-size: 1.4rem;
    text-align: center;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
    z-index: 2000
}

@media (max-width: 767px) {
    .section_header {
        display: none;
    }
    .navigation {
        top: 0.4em;
    }
    /*.navigation li {
        display: none;
    }*/
    .navigation .socialmedia {
        display: block;
    }
    li.socialmedia:not(.socialmedia ~ .socialmedia) {
        margin-left: 0;
    }

    .fp-viewing-Home .navigation li {
        display: none;
    }
    .fp-viewing-Angebot .navigation li {
        display: none;
    }
    .fp-viewing-Team .navigation li {
        display: none;
    }
    .fp-viewing-Kontakt .navigation li {
        display: none;
    }
}

@media (max-width: 390px) {
    .address h3 {
        font-size: 1.2rem;
    }
}