@font-face {
    font-family: "DejaVu Sans";
    src: url("../font/DejaVuSans.ttf");
}

@font-face {
    font-family: "Loved by the King";
    src: url("../font/LovedbytheKing.woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

* {
    margin: 0;
    padding: 0;
    text-decoration: none;
    box-sizing: border-box;
    line-height: 1.5;
    color: inherit;
    scroll-behavior: smooth;
}





@media screen and (max-width:1400px){
    
    .resp-kontakt, .resp-kontakt ul li, .resp-kontakt img{
    visibility:visible;
}
    .resp-kontakt{
    display:block;
    z-index: 99999;
    position: fixed;
    top: 200px;
    right: 2%;
    height:auto;
    
    }
    .resp-kontakt ul li{
    list-style-type: none;
    margin-top: 10px;
   
     background: #bb1e79;
    padding: 10px 13px 5px 10px
    
    
}
    .resp-kontakt img{
   width: 120%
}
    
}









a, .pink {
    color: #bb1e79;
}

body {
    font-family: "DejaVu Sans", sans-serif;
    background: #ffe2a5;
    scroll-behavior: smooth;
}

h1, h2 {
    font-family: "Loved by the King", sans-serif;
    font-size: 48px;
    color: #fff;
    text-align: center;
    font-weight: normal;
    text-transform: uppercase;
    line-height: 1;
}

h3 {
    font-family: "Loved by the King", sans-serif;
    font-size: 32px;
    color: #fff;
    text-align: center;
    font-weight: normal;
    text-transform: uppercase;
    line-height: 1;
}

section {
    padding: 10%;
    width: 100%;
}

nav {
    background: #bb1e79;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: 25px 0;
    display: flex;
    z-index: 9999;
}

nav ul {
    display: block;
    margin-left: auto;
    color: #fff;
    font-size: 0;
}

nav ul:nth-last-of-type(1) {
    margin-left: 6%;
    width: 14%;
    z-index: 1;
    display: flex;
    justify-content: space-evenly;
}

nav ul:nth-last-of-type(1) img {
    filter: brightness(200%);
    height: 16px;
}

nav ul > li {
    font-size: 16px;
    display: inline-block;
    text-transform: uppercase;
}

nav ul > li > a {
    color: #fff;
}

nav ul:nth-of-type(1) > li:not(:nth-last-of-type(1))::after {
    content: "|";
    margin: 0 15px;
}

nav > img:nth-last-of-type(1) {
    position: fixed;
    width: 30%;
    right: -10%;
    margin-top: -20%;
}


header {
    height: 100vh;
}

header > div:nth-of-type(1) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10%;
    height: 100%;
}

header > div:nth-of-type(1) > #haende {
    position: relative;
}

header > div:nth-of-type(1) > #haende > img {
    width: 100%;
}

header > div:nth-of-type(1) > #haende > p, header > div:nth-of-type(1) > #haende > h1 {
    text-align: center;
    font-family: "Loved by the King", sans-serif;
    font-size: 60px;
    color: #fff;
    margin-bottom: 40px;
    position: absolute;
    width: 100%;
    bottom: 5%;
    font-weight: normal;
    text-transform: uppercase;
}

header > #message {
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(-10deg);
    position: absolute;
    bottom: -50px;
    z-index: 1;
    padding: 50px;
    z-index: 999!important;
}

header > #message > img {
    width: 100%;
    position: absolute;
}


header > #message > div {
    z-index: 999999!important;
}

header > #message > div > h3 {
    color: #bb1e79;
    font-size: 30px;
}

header > #message > div > h3::after {
    content: ":";
}

header > #message > div > p {
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}

.flex {
    display: flex;
}

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

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

#popup {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.5);
    z-index: 11;
    display: none;
}

#popup > div {
    background: #fff;
    padding: 50px;
    position: relative;
    color: #787a79;
    max-height: 80vh;
    min-width: 50%;
    max-width: 80%;
    text-align: left;
    animation: animatePopup 500ms forwards;
    overflow-y: auto;
}

#popup > div > h3 {
    margin-bottom: 25px;
    color: #787a79;
    text-align: left;
}

#popup > div h4 {
    margin-top: 1rem;
}

#popup > div > .close {
    font-size: 32px;
    position: absolute;
    top: 0;
    right: 10px;
    font-weight: bold;
    color: #df7471;
    cursor: pointer;
}

#angebot {
    position: relative;
    background: url("../img/angebot.png");
}

#angebot > * {
    position: sticky;
    z-index: 1;
}

#angebot::before {
    content: "";
    background: url(../img/kinder-lernen.jpg);
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.2;
    filter: brightness(50%);
}

#angebot > h2 + p {
    color: #fff;
    text-align: center;
}

#angebot > div {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
}

#angebot > div > div {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-basis: 33.33%;
    height: 300px;
}

#angebot > div > div > div {
    position: sticky;
    z-index: 1;
    text-align: center;
    color: #fff;
    font-weight: bold;
}

#angebot > div > div > div a {
    font-weight: bold;
    font-size: 32px;
    cursor: pointer;
    color: #fff;
}

#angebot > div > div::before {
    content: "";
    background: #403a2d;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.75;
}

#angebot > div > div > img {
    width: 100%;
}

#angebot > div > div:nth-of-type(1) {
    background: url("../img/angebot/frau_in_rollstuhl.jpg");
    background-size: cover;
}

#angebot > div > div:nth-of-type(2) {
    background: url("../img/angebot/frau_und_vater.jpg");
    background-size: cover;
}

#angebot > div > div:nth-of-type(3) {
    background: url("../img/angebot/frau_hilft_mann_mit_gehhilfe.jpg");
    background-size: cover;
}

#angebot > div > div:nth-of-type(4) {
    background: url("../img/angebot/frauen_lachen_beim_gymnastik.jpg");
    background-size: cover;
}

#angebot > div > div:nth-of-type(5) {
    background: url("../img/angebot/aerztin_und_patientin.jpg");
    background-size: cover;
}

#angebot > div > div:nth-of-type(6) {
    background: url("../img/angebot/personen_sitzen_im_kreis.jpg");
    background-size: cover;
}

#galerie {
    /*background: url("../img/galerie.png");*/
    padding: 10% 25%;
    position: relative;
}

#galerie::before {
    content: "";
    background: url(../img/galerie.png) #fff;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    margin-top: -15%;
}

#galerie > h2 {
    color: #787a79;
}

#galerie > div:nth-of-type(1) {
    display: flex;
    align-items: center;
    margin-top: 50px;
    font-size: 0;
}

#galerie > div:nth-of-type(1) > div {
    flex-basis: 33.33%;
    width: calc(33.33% - 60px - 20px);
    margin-right: 10px;
    display: none;
    position: relative;
}

#galerie > div:nth-of-type(1) > div.show:nth-of-type(2)::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #df7471;
    opacity: .5;
}

#galerie > div:nth-of-type(1) > div.show:nth-of-type(3) {
    margin-right: 0;
}

#galerie > div:nth-of-type(1) > div > img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

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

    100% {
        opacity: 1;
    }
}

#galerie > div:nth-of-type(1) > div.show {
    display: block;
    opacity: 1;
    position: relative;
    animation: fadeIn 300ms;
}

/*#galerie > div:nth-of-type(1) > img.show:nth-of-type(2) {*/
/*    background: #a65654;*/
/*    opacity: 0.5;*/
/*}*/

#galerie > div:nth-of-type(1) img[src="undefined"] {
    opacity: 0;
}

#galerie > div:nth-of-type(1) > div:nth-last-of-type(1) {
    margin-right: 0;
}

#galerie > div:nth-of-type(1) > a:nth-of-type(1) {
    margin-right: 25px;
    cursor: pointer;
}

#galerie > div:nth-of-type(1) > a:nth-last-of-type(1) {
    margin-left: 25px;
    transform: rotateZ(180deg);
    cursor: pointer;
}

#galerie > img {
    width: 100%;
    /* height: 500px;
    object-fit: cover; */
    margin-top: 50px;
    /* object-position: 100% 25%; */
}

#ueberUns {
    position: relative;
}

#ueberUns::before {
    content: "";
    background: url(../img/ueber-uns.png);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    margin-top: -22%;
}

#ueberUns h2 {
    color: #787a79;
}

#ueberUns > div {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 50px;
}

#ueberUns > div > .toggle {
    background: #fff;
    padding: 25px;
    border-radius: 10px;
    flex-basis: calc(33.33% - 33.33px);
    width: calc(33.33% - 33.33px);
    margin-right: 50px;
    margin-bottom: 25px;
}

#ueberUns > div > .toggle:not([data-active]) > div {
    display: none;
}

#ueberUns > div > .toggle[data-active] > p::after {
    transform: rotate(90deg);
}

#ueberUns > div > .toggle > p {
    overflow: auto;
    text-transform: uppercase;
    color: #004e55;
    cursor: pointer;
    text-align: center;
}

#ueberUns > div > .toggle > p::after {
    content: "";
    background: url(../img/icons/arrow_down.png);
    width: 18px;
    height: 10px;
    display: inline-block;
    margin-left: 10px
}

#ueberUns > div > .toggle > p:focus {
    outline: none;
}

#ueberUns > div > .toggle > div {
    margin-top: 25px;
    color: #787a79;
}

#ueberUns > div > .toggle > div li {
    margin-left: 16px;
}

#ueberUns > div > .toggle:nth-of-type(3n) {
    margin-right: 0;
}

#jugenderzieher {
    position: relative;
}

#jugenderzieher > * {
    position: sticky;
    z-index: 1;
}

#jugenderzieher::before {
    content: "";
    background: url(../img/froehliche-gruppe.jpg);
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.5;
    filter: brightness(30%);
}

#jugenderzieher > div {
    display: flex;
    margin-top: 50px;
    align-items: flex-start;
}

#jugenderzieher > div > div:nth-of-type(1) {
    flex-basis: 40%;
    color: #fff;
    text-align: left;
    margin-right: 50px;
}

#jugenderzieher > div > div:nth-of-type(1) > h3 {
    text-align: left;
    margin-bottom: 15px;
}

#jugenderzieher > div > div:nth-last-of-type(1) {
    flex-basis: 60%;
}

#jugenderzieher > div > div:nth-last-of-type(1) p {
    margin-top: 25px;
    color: #fff;
}

#jugenderzieher > div > div:nth-last-of-type(1) > div {
    display: flex;
}

#jugenderzieher > div > div:nth-last-of-type(1) > div > div {
    background: #df7471;
    padding: 15px;
    color: #fff;
    border-radius: 10px;
}

#jugenderzieher > div > div:nth-last-of-type(1) > div > div:nth-of-type(1) {
    display: flex;
    margin-right: 25px;
    flex-basis: 60%;
}

#jugenderzieher > div > div:nth-last-of-type(1) > div > div:nth-of-type(1) > div:nth-of-type(1) {
    border-right: 1px solid #fff;
    padding-right: 25px;
    margin-right: 25px;
}

#jugenderzieher > div > div:nth-last-of-type(1) > div > div:nth-of-type(2) {
    flex-basis: 40%;
}

#jugenderzieher > div > div:nth-last-of-type(1) > div > div:nth-of-type(2) img {
    display: block;
    margin: 0 auto;
    height: 48px;
}

#jugenderzieher > div > div:nth-last-of-type(1) > div > div:nth-of-type(2) p {
    border-top: 1px solid #fff;
    padding-top: 10px;
    margin-top: 10px;
}

#kontakt {
    padding: 0;
}

#kontakt > h2 {
    color: #787a79;
    margin-top: 10%;
}

#kontakt > .selector {
    display: flex;
    margin-top: 50px;
}

#kontakt > .selector > div {
    background: rgba(255, 255, 255, 0.5);
    flex-basis: calc(33.33% - 3.33333333px);
    margin-right: 5px;
    padding: 25px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    cursor: pointer;
    margin-bottom: 5px;
}

#kontakt > .selector > div[data-active] {
    margin-bottom: 0;
    margin-top: -10px;
    padding-top: 35px;
}

#kontakt > .selector > div:nth-last-of-type(1) {
    margin-right: 0;
}

#kontakt > .selector h3 {
    color: #787a79;
    text-transform: none;
}

#kontakt > .content {
    background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(../img/kontakt.png) center;
    padding-top: 50px;
}

#kontakt > .content > div:nth-of-type(1) > div:nth-of-type(1) > #map {
    display: none;
}

#kontakt > .content > div:nth-of-type(1), #kontakt > .content > div:nth-of-type(2) {
    padding: 0 10%;
}

#kontakt > .content > div:nth-of-type(1) > div {
    flex-basis: calc(50% - 25px);
}

#kontakt > .content > div:nth-of-type(1) > div iframe.kontakt {
    border: none;
    width: 100%;
    height: 100%;
}

#kontakt > .content > div:nth-of-type(1) > div:not(:nth-last-of-type(1)) {
    margin-right: 50px;
}

#kontakt > .content > div:nth-of-type(1) > div:nth-of-type(1) > p {
    text-align: center;
    color: #787a79;
}

#kontakt > .content > div:nth-of-type(1) > div:nth-of-type(1) > #map {
    margin-top: 50px;
}

#kontakt > .content > div:nth-of-type(2) {
    margin-top: 50px;
    
    color: #787a79;
}

#kontakt > .content > div:nth-of-type(2) > div > div {
     margin: 50px 0 150px ;
    margin-right: 25px;
    text-align: left;
}

#kontakt > .content > div:nth-of-type(2) > h3 {
    color: #787a79;
    text-align: left;
    margin-bottom: 25px;
}

#kontakt > .content > div:nth-last-of-type(1){
    z-index: 99;
    position: fixed;
    width: 100%;
    bottom: 0;
    background: #ffe2a5;
    padding: 25px;
    color: #df7471;
    display: flex;
    justify-content: center;
    margin-top: 50px;
}

#kontakt > .content > div:nth-last-of-type(1) a {
    font-family: "Loved by the King", sans-serif;
    text-transform: uppercase;
    line-height: 1;
    font-size: 24px;
    margin: 0 25px;
}

#impressum h1, #impressum h2 {
    color: #787a79;
}

#impressum h2 {
    text-align: left;
    font-family: "DejaVu Sans", sans-serif;
    font-size: 20px;
    text-transform: none;
    font-weight: bold;
    line-height: 1.5;
}

#impressum a, #kontakt a {
    color: #bb1e79;
}

#impressum > div {
    display: flex;
    margin-top: 50px;
    color: #787a79;
}

#impressum > div > div {
    flex-basis: 50%;
    margin-right: 50px;
}

#impressum > div > div:nth-last-of-type(1) {
    margin-right: 0;
}

@media (max-width: 1400px) {
    #jugenderzieher > div {
        display: block;
    }

    #jugenderzieher > div > div:nth-of-type(1) {
        margin-right: 0;
    }

    #jugenderzieher > div > div:nth-last-of-type(1) {
        margin-top: 25px;
    }

    #galerie {
        padding: 10%;
    }

    #kontakt > .content > div:nth-of-type(2) > .flex {
        display: block;
    }

    #kontakt > .content > div:nth-of-type(2) > .flex > div:not(:nth-last-of-type(1)) {
        margin-bottom: 25px;
    }

    #kontakt > .content > div:nth-of-type(2) > .flex br {
        display: none;
    }

    #angebot > div > div {
        flex-basis: 50%;
    }

    nav::after {
        content: "Navigation öffnen";
        position: absolute;
        left: 10%;
        right: 0;
        top: 0;
        bottom: 0;
        display: flex;
        align-items: center;
        color: #fff;
    }

    nav ul, nav > img:nth-last-of-type(1), nav ul:nth-last-of-type(1) {
        display:none;
    }

    @keyframes animateNavigationBackground {
        100% {
            right: 50%;
        }
    }

    @keyframes animateNavigationList {
        0% {
            margin-right: -50%;
        }

        100% {
            margin-right: 0;
        }
    }

    nav.openedMobileNav {
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        animation: animateNavigationBackground 500ms forwards;
    }

    nav.openedMobileNav::after {
        z-index: 99;
        content: "×";
        justify-content: center;
        right: 90%;
        font-size: 32px;
        font-weight: bold;
         background: #cd0f3a;
        height: 50px;
    }

    nav.openedMobileNav > ul:nth-of-type(1) {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        background: #cd0f3a;
        width: 50%;
        padding: 200px 25px 25px 25px;
        z-index: 11;
        animation: animateNavigationList 500ms forwards;
    }

    nav.openedMobileNav > ul:nth-of-type(1) > li {
        display: list-item;
        list-style: none;
        margin-bottom: 25px;
    }

    nav.openedMobileNav > ul:nth-of-type(1) > li::after {
        content: "";
    }

    nav.openedMobileNav ~ #message {
        z-index: -1;
    }
}

@media (max-width: 1200px) {
    header > div:nth-of-type(1) {
        flex-wrap: wrap;
        padding: 10%;
        justify-content: center;
    }

    #kontakt > .content > div:nth-of-type(1) > div:nth-of-type(1) > #map {
        display: block;
    }

    header > div:nth-of-type(1) > #haende > img {
        width: 50%;
        margin: 0 25%;
    }

    header > div:nth-of-type(1) > #haende > p, header > div:nth-of-type(1) > #haende > h1 {
        font-size: 48px;
    }

    header > #message > div > h3 {
        font-size: 24px;
    }

    header > #message > div > p {
        font-size: 16px;
    }

    #kontakt > .content > div:nth-of-type(1) {
        display: block;
    }

    #kontakt > .content > div:nth-of-type(1) > div:not(:nth-last-of-type(1)) {
        margin-right: 0;
    }

    #kontakt > .content > div:nth-of-type(1) > div iframe.kontakt {
        margin-top: 25px;
        height: 600px;
    }
}

@media (max-width: 1000px) {
    #galerie > div:nth-of-type(1) > div > img {
        height: 150px;
    }
}

@media (max-width: 800px) {
    #ueberUns > div > .toggle {
        flex-basis: calc(50% - 25px);
        width: calc(50% - 25px);
    }

    #ueberUns > div > .toggle:nth-of-type(3n) {
        margin-right: 50px;
    }

    #ueberUns > div > .toggle:nth-of-type(2n) {
        margin-right: 0;
    }

    header > #message > div > p {
        display: none;
    }

    header > #message > div > h3 {
        color: #fff;
    }

    header > #message > div > h3::after {
        content: "";
    }

    header > #message {
        padding: 25px;
        position: fixed;
        top: 0;
        z-index: 99999!important;
        right: 0;
        bottom: auto;
        align-items: center;
        transform: rotate(10deg);
    }

    header > #message > img {
        width: auto;
        height: 100%;
    }

    #galerie::before {
        margin-top: -25%;
    }

    header > div:nth-of-type(1) > #haende > p, header > div:nth-of-type(1) > #haende > h1 {
        font-size: 32px;
        margin-bottom: 0;
    }

    #galerie > div:nth-of-type(1) > div > img {
        height: 125px;
    }
}

@media (max-width: 700px) {
    #galerie > div:nth-of-type(1) > div > img {
        height: 100px;
    }
}

@media (max-width: 600px) {
    header > div:nth-of-type(1) > #haende > p, header > div:nth-of-type(1) > #haende > h1 {
        font-size: 24px;
    }

    #angebot > div > div {
        flex-basis: 100%;
        margin-bottom: 25px;
    }

    #angebot > div > div:nth-last-of-type(1) {
        margin-bottom: 0;
    }

    #jugenderzieher > div > div:nth-last-of-type(1) > div {
        display: block;
    }

    #jugenderzieher > div > div:nth-last-of-type(1) > div > div:nth-of-type(1) {
        margin-right: 0;
        margin-bottom: 25px;
    }

    #galerie > div:nth-of-type(1) > div > img {
        height: 100px;
    }

    #ueberUns > div > .toggle {
        flex-basis: 100%;
        width: 100%;
        margin-right: 0;
    }

    #ueberUns > div > .toggle:nth-of-type(3n) {
        margin-right: 0;
    }

    #galerie > div:nth-of-type(1) {
        margin-left: -30px;
        width: calc(100% + 60px);
    }

    #galerie > div:nth-of-type(1) > a > img {
        width: 20px;
    }

    #galerie > div:nth-of-type(1) > a:nth-of-type(1) {
        margin-right: 10px;
    }

    #galerie > div:nth-of-type(1) > a:nth-last-of-type(1) {
        margin-left: 10px;
    }

    #popup > div > h3 {
        font-size: 24px;
    }

    #impressum > div {
        display: block;
    }

    #impressum > div > div:nth-of-type(1) {
        margin-right: 0;
        margin-bottom: 1rem;
    }
}

@media (max-width: 400px) {
    header > div:nth-of-type(1) > #haende > p, header > div:nth-of-type(1) > #haende > h1 {
        font-size: 24px;
    }

    #kontakt > .content > div:nth-of-type(1) > div:nth-of-type(1) > #map, #kontakt > .content > div:nth-of-type(1) > div:nth-of-type(1) > #map iframe {
        height: 300px !important;
    }
    
    
    #kontakt > .content > div:nth-last-of-type(1) a{
        font-size: 16px;
    }
    
}