:root{
    --backLight: #eeeeee;
    --outLight: #7C8C80;
    --highLight: #96B979;
    --textLight: #121d12;
    --headLight: #F2FFF0;

    --backDark: #070D07;
    --outDark: #203225;
    --highDark: #96B979;
    --textDark: #EBFFF0;
    --headDark: #070F07;

    --back: #000000;
    --out: #000000;
    --high: #000000;
    --text: #FFFFFF;
    --head: #000000;

    --footerHight: 120px;
}


@font-face {
    font-family: 'Quicksand';
    src: url('./media/font/Quicksand.ttf') 
            format('truetype');
    font-weight: 125 950;
    font-stretch: 75% 125%;
}
p{
    font-size: 1.4vw;
}
b{
    font-size: 1.2vw;
}
a{
    font-size: 1.4vw;
}




body{
    background-color: var(--back);
    margin: 0px;
    position: relative;
    min-height: calc(100vh - (2 * var(--footerHight)) - 10px);
}
*{
    color: var(--text);
    font-family: 'Quicksand', sans-serif;
}


header{
    background-color: var(--head);
    border-bottom: 1px var(--out) solid;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0px;
    z-index: 99;
}
#logoNav{
    width: 170px;
    margin: 20px;
}
#linksNav{
    width: 30%;
    display: flex;
    justify-content: space-evenly;
}
#linksNav a{
    text-decoration: none;
}
#settingsNav{
    display: flex;
    width: 190px;
    justify-content: flex-end;
}
.buttonNav{
    background-color: var(--head);
    border-width: 0px;
    display: flex;
}
.buttonNav img, .buttonNav a{
    width: 15px;
    height: 15px;
    border: 1px var(--out) solid;
    border-radius: 100%;
    padding: 8px;
    margin: 0px;
    text-decoration: none;
    cursor: pointer;
}
#setEn a, #setDe a{
    font-size: small;
}


footer{
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    border-top: 1px var(--out) solid;
    width: 100%;
    position: absolute;
    bottom: calc(var(--footerHight) * -2);
    height: var(--footerHight);
}
footer span{
    display: flex;
    flex-direction: column;
    align-items: center;
}
footer span *{
    text-decoration: none;
    margin: 7px;
}
footer p{
    position: absolute;
    bottom: 0px;
    margin: 0px;
    color: var(--out);
}
#copy{
    font-size: 1vw;
}


.content{
    width: 50%;
    margin: 0 auto;
}
.content b{
    margin: 0px;
}
.content>p{
    margin-bottom: 10px;
    margin-top: 0px;
}
.content>div{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}
.content div > span{
    width: 43%;
    height: 28vh;
    margin: 1%;
    padding: 10px;
    border: 1px var(--out) solid;
    background-color: var(--head);
    border-radius: 5px;
    display: block;
}
.content div span > p{
    text-align: justify;
    overflow-wrap: break-word;
    word-break:break-all;
    word-break:normal;
    hyphens: auto;
    text-align: left;
}
.content div span h3{
    margin-top: 2%;
}
.content span{
    padding-left: 2.5%;
    display: block;
}
.leistungEntwicklung{
    background: url('./media/leistungen/Entwicklung.avif') center center;
    background-size: 50%;
}
.leistungPlanung{
    background: url('./media/leistungen/Planung.avif') center center;
    background-size: 50%;
}
.leistungErstellung{
    background: url('./media/leistungen/SocialMedia.avif') center center;
    background-size: 50%;
}
.leistungAnalyse{
    background: url('./media/leistungen/Analyse.avif') center center;
    background-size: 50%;
}
.leistungSocialMedia{
    background: url('./media/leistungen/SocialMedia.avif') center center;
    background-size: 50%;
}
.leistungCommunity{
    background: url('./media/leistungen/Kommunikation.avif') center center;
    background-size: 50%;
}
.leistungKommunikation{
    background: url('./media/leistungen/Kommunikation.avif') center center;
    background-size: 25%;
}
#leistungKommunikation{
    width: 91%;
}
#imgSpan img{
    width: 50%;
    margin-top: 0px;
}
#imgSpan{
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-top: 30px;
    padding: 10px;
    border: 1px var(--out) solid;
    border-radius: 5px;
    background-color: var(--head);
}
#imgSpan p{
    margin-right: 2.5%;
    padding-right: 2.5%;
    border-right: 1px var(--out) solid;
}
#logoPage{
    border-width: 0px;
    width: 70%;
    margin-left: 15%;
    margin-top: 15%;
    border-radius: 0px;
    margin-bottom: 15%;
}
#linkLeistungen, #linkKontakt{
    border: 1px var(--out) solid;
    border-radius: 10px;
    padding: 10px;
    position: relative;
    width: 70%;
    margin-left: 15%;
    background-color: var(--head);
    margin-bottom: 20px;
}
#linkLeistungen a, #linkKontakt a{
    position: absolute;
    right: 20px;
    bottom: 3px;
    text-decoration: none;
}
#linkLeistungen a img, #linkKontakt a img{
    width: 150%;
}
.linkLeistungen{
    background:url('./media/index/leistungen.avif') ;
    background-size: 50%;
}
.linkKontakt{
    background: url('./media/index/kontakt.avif');
    background-size: 25%;
}

#kontaktLinks{
    padding: 0px;
}
#kontakt{
    display: flex;
    flex-direction: column;
    align-items: center;
}
#kontakt h2{
    margin-top: 30px;
    margin-bottom: 30px;
}
#kontaktLinks{
    width: 40%;
}
#kontaktLinks a{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    border: 1px var(--out) solid;
    border-radius: 10px;
    padding: 5px;
    background-color: var(--head);
    margin-bottom: 20px;
}
#kontaktLinks a img{
    width: 10%;
    margin-bottom: 10px;
}

#menu{
    display: flex;
    position: sticky;
    z-index: 99;
    flex-direction: column;
    align-items: center;
    width: 100%;
    background-color: var(--head);
    top: 82px;
    border-bottom: 1px var(--out) solid;
}
#menu a{
    margin  : 7px;
}


/*kuenstler*/
.kuenstler{
    display: flex;
    align-items: center;
    flex-direction: column;
}
.kuenstler h2{
    margin-bottom: 0px;
}
.kuenstler > p{
    margin-bottom: 3vh;
    text-align: center;
}
.kuenstler > img{
    border: 2px var(--out) solid;
    border-radius: 50%;
    width: 40%;
    margin-top: 30px;
}
.kuenstler #kontaktLinks{
    width: auto;
    display: flex;
    flex-direction: row;
    margin-bottom: 10px;
}
.kuenstler #kontaktLinks a{
    border: 1px var(--out) solid;
    border-radius: 100%;
    padding: 10px;
    margin: 0.4vw;
    margin-top: 0px;
}
.kuenstler #kontaktLinks a img{
    width: 3vw;
    margin-bottom: 0pc;
} 

/*Content Scroller*/
.content .contentScrollBox{
    overflow: auto;
    white-space: nowrap;
    padding-top: 5px;
    display: flex;
    flex-direction: column;
    max-height: 250px;
    width: 100%;
    flex-wrap: nowrap;
    padding: 10px 0;
    align-items: center;
    justify-content: flex-start;
}
.contentScrollBox > a{
    font-weight: bold;
    text-decoration: none;
    border: 2px var(--out) solid;
    border-radius: 10px;
    padding: 10px;
    margin: 10px;
    width: 80%;
    text-align: center;
    background-color: var(--head);
}
.contentScrollBox.datum > a{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
.contentScrollBox > a > span{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0px;
    width: 15%;
}
.contentScrollBox > a > span:not(.terminName) > p:not(.terminTag){
    margin: 0px;
    font-weight: normal;
}
.contentScrollBox .terminName{
    width: 60%;
    border-left: 1px var(--out) solid;
    border-right: 1px var(--out) solid;
    padding: 0px 5%;
}
.terminName p{
    margin: 0px;
}
.contentScrollBox > a > span > .terminTag{
    margin: 5px 0;
    font-weight: bold;
}
.contentScrollBox > a > p{
    margin: 0px;
    display: inline;
}

/*Img Scroller*/
#imgBox{
    display: block;
    text-align: center;
}
#imgBox button h2{
    margin-bottom: 0px;
    display: inline-block;
}
#imgBox button img{
    width: 15px;
}
.scrollBoxKnopf{
    border: 0px;
    cursor: pointer;
    width: 60%;
    background-color: var(--back);
}
.scrollBoxKnopf.geschlossen + .scrollBox{
    display: none;
}
.scrollBox{
  overflow: auto;
  white-space: nowrap;
  padding: 10px;
  padding-top: 5px;
  display: block;
}

.scrollBox img{
  margin: 10px;
  max-width: 600px;
  max-height: 300px;
  border: 2px var(--out) solid;
}

/*werdegang*/
@keyframes erscheinen{
  to {
    scale: 1;
    opacity: 1;
  }
}

.werdegang{
    display: block;
    margin-top: 20px;
}
.werdegang *, .werdegang ::before, .werdegang ::after{
  box-sizing: border-box;
}
.werdegang p{
  margin-top: 0px;
}
.werdegangLinie {
  position: relative;
}
.werdegangLinie::after {
  content: "";
  position: absolute;
  width: 0px;
  border: 1px dashed var(--out);
  background-color: none;
  top: 0;
  bottom: 0px;
  left: 50%;
  margin-left: -4px;
}
.werdegangAbschnitt {
  position: relative;
  width: 50%;
}
.werdegangAbschnitt::after {
  content: "";
  position: absolute;
  width: 22px;
  height: 22px;
  border: 3px solid var(--high);
  outline: 1px solid var(--out);
  right: -8px;
  background-color: var(--high);
  top: 15px;
  border-radius: 50%;
  z-index: 1;
}
.links {
  padding: 10px 40px 20px 0px;
  left: 0;
}
.rechts {
  padding: 10px 0px 20px 40px;
  left: 50%;
}
.links::before, .rechts::before{
  scale: 0;
  opacity: 0;
  animation: erscheinen linear forwards;
  animation-timeline: view();
  animation-range: 200px 350px;
}
.links::before {
  content: " ";
  position: absolute;
  top: 18px;
  right: 30px;
  border: medium solid var(--out);
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent var(--out);
}
.rechts::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 30px;
  border: medium solid var(--out);
  border-width: 10px 10px 10px 0;
  border-color: transparent var(--out) transparent transparent;
}
.rechts::after {
  left: -14px;
}
.werdegangPunkt {
  scale: 0;
  opacity: 0;
  border: 1px var(--out) solid;
  box-shadow: 0px 2px 12px 2px var(--out);
  overflow: hidden;
  animation: erscheinen linear forwards;
  animation-timeline: view();
  animation-range: 200px 350px;
}
.werdegangBild {
  width: 100%;
  height: 200px;
  position: relative;
}
.werdegangBild p{
    color: white;
    text-shadow: 1px 1px 1px black;
    font-size: 50%;
    position: absolute;
    bottom: 0px;
}
.klappeoeffner{
  margin-bottom: 0;
}
.klappeKnopf{
  cursor: pointer;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1rem 1.25rem;
  border: 0;
  font-size: 18px;
  background-color: var(--head);
  justify-content: center;
  line-height: inherit;
}
.klappeKnopf:not(.geschlossen) {
  background-color: var(--high);
  color: var(--text);
}
.klappeKnopf:after {
  margin: 0;
  margin-left: 15px;
}
.klappeKnopf:not(.collapsed):after {
  filter: invert(100%) brightness(200%);
}
.imgKlappe{
    width: 15px;
    margin-left: 10px;
}
.klappeInhalt{
  max-height: 0px;
  transition: max-height 0.4s linear;
}
.klappeInhalt.offen{
  max-height: 100vh
}
.klappeText{
  padding: .5rem;
}

@media screen and (max-width: 800px){
    /*Algemein*/
    p{
        font-size: min(5vw, 20px);
    }
    a{
        font-size: min(5vw, 20px);
    }
    b{
        font-size: min(5vw, 20px);
    }

    /*Header*/
    #linksNav{
        display: none;
    }
    #sideBarButton{
        rotate: 90deg;
        background-color: var(--head);
        border: 0px;
        margin-left: 5vw;
        font-size: 6vw;
        display: block;
    }
    #settingsNav{
        width: auto;
    }

    /*Footer*/
    footer{
        flex-direction: column;
        bottom: calc(var(--footerHight) * -1.4);
    }
    #copy{
        position: static;
        font-size: 2.5vw;
    }

    /*content*/
    .content{
        width: 95%;
    }
    .content>div{
        align-items: center;
        flex-direction: column;
    }
    .content>div > span{
        width: 90%;
        height: auto;
        background-size: 25%;
    }

    /*index*/
    #linkLeistungen{
        margin-top: 3vh;
    }

    /*Kontakt*/
    #kontaktLinks{
        width: 70%;
    }
    #kontaktLinks a{
        padding: 10px;
    }
    #kontaktLinks a img{
        width: 12%;
    }
    .kuenstler #kontaktLinks a img{
        width: 6vw;
    }

    /*Über uns*/
    #imgSpan{
        flex-direction: column;
    }
    #imgSpan p{
        padding-right: 0px;
        margin-right: 0px;
        border-right: 0px;
        padding-bottom: 10px;
        margin-bottom: 10px;
        border-bottom: 1px var(--out) solid;
    }
    #imgSpan img{
        width: 90%;
    }

    /*werdegang*/
    .werdegangLinie::after {
        left: 10px;
    }
    .werdegangAbschnitt {
        width: 100%;
        padding-left: 40px;
        padding-right: 25px;
    }
    .werdegangAbschnitt::before {
        left: 30px;
        border: medium solid var(--out);
        border-width: 10px 10px 10px 0;
        border-color: transparent var(--out) transparent transparent;
    }
    .links::after, .rechts::after {
        left: -4px;
    }
    .links::before {
        right: auto;
    }
    .rechts {
        left: 0%;
    }
    .werdegangPunkt {
        transform-origin: 0% 0%;
    }

    /*Content Scroller*/
    .contentScrollBox .terminName{
        padding: 0px 5%;
        padding: 0px;
        margin: 0px 5%;
    }
}



.none{
    display: none;
}
.none#menu{
    display: none;
}