@font-face {
    font-family: 'belligerent';
    /* Gewünschter Name */
    src        : url('../fonts/Belligerent-Madness/belligerent.ttf') format('ttf'),
        /* für moderne Browser */
        url('../fonts/Belligerent-Madness/belligerent.ttf') format('truetype');
    /* für Safari, Android, iOS */
}

@font-face {
    font-family: 'blockletters';
    /* Gewünschter Name */
    src        : url('../fonts/blokletters/Blokletters-Balpen.ttf') format('ttf'),
        /* für moderne Browser */
        url('../fonts/blokletters/Blokletters-Balpen.ttf') format('truetype');
    /* für Safari, Android, iOS */
}

* {
    margin         : 0;
    padding        : 0;
    box-sizing     : border-box;
    list-style     : none;
    text-decoration: none;
}

body {
    font-family: 'blockletters', 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;

    & h1 {
        font-family: 'belligerent',
            'Trebuchet MS',
            'Lucida Sans Unicode',
            'Lucida Grande',
            'Lucida Sans',
            Arial,
            sans-serif;
        font-weight: bold;
        font-size  : 4rem;
    }

    & h2 {
        font-weight: bold;
        font-size  : 1.6rem;
    }

    & p {
        font-size  : 1.2rem;
        margin     : 10px 0px;
        line-height: 2rem;
    }
}

body>header {
    position             : relative;
    display              : flex;
    justify-content      : center;
    flex-wrap            : wrap;
    align-items          : start;
    height               : 40rem;
    width                : 100vw;
    background-color     : #a0bed8;
    background-image     : url("../img/band_1024.png");
    background-size      : 1264px auto;
    background-position-x: center;
    background-position-y: -70px;

    background-repeat: no-repeat;
    color            : whitesmoke;
    padding-top      : 210px;

    & h1 {
        text-shadow: 4px 8px 3px rgba(0, 0, 0, 0.5);
        color      : brown;
        width      : 400px;
    }

    & h2 {
        text-shadow: -1px 2px 14px rgba(0, 0, 0, 1);
        width      : 400px;
    }

    & .headerline {
        display         : flex;
        justify-content : center;
        align-items     : center;
        margin-top      : 250px;
        background-color: rgba(255, 255, 255, 0.45);
        width           : 100%;
        height          : 8rem;
    }
}

nav {
    width           : 100%;
    padding         : 10px 0;
    background-color: lightgrey;

    & ul {
        display        : flex;
        justify-content: center;
        align-items    : center;
        gap            : 25px;


        & li {
            padding         : 10px 25px;
            background-color: brown;
            border-radius   : 5px;
        }

        & li.listactive {
            background-color: rgb(107, 28, 28);
        }

        & li:hover {
            opacity: .8;
        }

        & a {
            color          : whitesmoke;
            text-decoration: none;
            font-size      : 1.4rem;
        }

    }
}

section {

    margin-left : auto;
    margin-right: auto;
    width       : 80%;
    max-width   : 1024px;

    & .circled {
        border-radius: 50%;
        shape-outside: circle();
        float        : left;
    }

    &>header {

        padding-top  : 30px;
        margin-bottom: 30px;

        & h2 {
            padding   : 50px 100px 20px;
            text-align: center;
            color     : brown;
        }
    }

    & .bandimg img {
        width : 100%;
        height: auto;
    }

    & article {
        border-radius: 10px;
    }

    article:last-child {
        margin-bottom: 150px;
    }

    & article.boxed-article {
        display         : flow-root;
        margin-top      : 50px;
        position        : relative;
        padding         : 30px 20px 20px 30px;
        background-color: rgb(240, 240, 240);

        & ol {
            padding    : 30px 0;
            font-weight: 600;
            line-height: 3rem;
            font-size  : 1.3rem;

            & li {
                padding            : 10px 0 5px 15px;
                list-style-position: inside;
                list-style-type    : decimal;
            }

            & li::marker {
                color: brown;
            }

            & li:nth-child(odd) {
                background-color: white;
            }
        }

        header h2 {
            font-size: 1.4rem;
        }

    }

    & article.boxed-article img {
        width       : 160px;
        height      : auto;
        margin-right: 50px;
        padding     : 2px;
        box-shadow  : 5px 5px 10px 3px rgba(0, 0, 0, .3);
    }

    & article.standard-article p:first-child:first-letter {
        font-size: 5rem;
    }

    & article.img-article {
        text-align: center;
    }

    & article.img-article img {
        margin-top: 100px;
        width     : 70%;
        height    : auto;

    }

    & .img_text_block {
        display        : flex;
        justify-content: space-between;
        align-items    : center;
        margin-top     : 50px;
        border-top     : 1px solid rgb(190, 190, 190);
        border-bottom  : 1px solid rgb(190, 190, 190);

        & img {
            width : 400px;
            height: auto;
        }

        & p {
            padding-left: 20px;
        }
    }

    .zoomable:hover {
        cursor: pointer;
    }

    & a {
        display   : block;
        font-size : 10px;
        color     : darkgrey;
        text-align: center;
        width     : 100%;
    }

}

footer {
    display         : flex;
    justify-content : space-between;
    align-items     : stretch;
    background-color: black;
    color           : whitesmoke;
    height          : 10rem;
    width           : 100vw;

    & img {
        width : auto;
        height: 150px;
    }

    & div {
        display        : flex;
        flex-direction : column;
        justify-content: center;
        align-items    : center;
        color          : lightgray;

        &:first-child {
            padding: 30px;
        }

        &:first-child a {
            color: lightgray;
        }

        &:last-child {
            text-align: right;

            padding: 30px;
        }
    }


}

#verticalspacer {
    display: block;
    height : 30px;
}


#mc {
    display      : block;
    color        : black;
    font-size    : 1.2rem;
    margin-bottom: 40px;

    & .mc-class {
        display: inline;

        & img {
            height: 20px;
            width : auto;
        }
    }
}


#lightbox {
    display  : none;
    position : fixed;
    top      : 50%;
    left     : 50%;
    transform: translate(-50%, -50%);

    background-color: white;
    padding         : 1.5rem;
    color           : grey;
    box-shadow      : 0 7px 12px rgba(0, 0, 0, 0.5);
    border-radius   : 10px;
    z-index         : 2;
    /* zunächst versteckt */
    opacity         : 0;
    visibility      : hidden;
    width           : 10%;
    height          : 10%;
    transition      : width .7s ease-in, height .7s ease-in;

    &.active {
        width     : fit-content;
        height    : 95%;
        opacity   : 1;
        visibility: visible;
    }

    & span {
        position   : absolute;
        top        : 5px;
        right      : 5px;
        font-size  : 4rem;
        line-height: 40px;
        text-align : center;
        width      : 40px;
        height     : 40px;
        cursor     : pointer;
        opacity    : 0;
        visibility : hidden;
        z-index    : 3;

        &.active {
            opacity   : 1;
            visibility: visible;
        }
    }
}

#imagebox {
    display     : none;
    margin-right: 40px;
    position    : relative;
    max-width   : 100%;
    height      : 100%;
    overflow    : hidden;

    & img {
        height: 100%;
    }
}

#overlay {
    display         : none;
    position        : fixed;
    width           : 100%;
    height          : 100%;
    top             : 0;
    left            : 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index         : 1;

    /* zunächst versteckt */
    opacity   : 0;
    visibility: hidden;
    transition: all 0.5s;

    &.active {
        opacity   : 1;
        visibility: visible;
    }
}

@media (min-width: 600px) {

    #lightbox,
    #imagebox,
    #overlay {
        display: block;
    }
}


































/* Slider Formatierungen Anfang */

.slider {
    position: relative;
    width   : auto;
    height  : 60vh;
    overflow: hidden;

    & .slider-button {
        position        : absolute;
        z-index         : 5;
        bottom          : 1rem;
        backdrop-filter : blur(10px);
        background-color: rgba(255, 255, 255, 0.4);
        width           : 3rem;
        border-radius   : .5rem;
        border          : none;
        font-size       : 2rem;
        cursor          : pointer;
        color           : white;
        opacity         : .5;

        &.prev {
            left: 1rem;
        }

        &.next {
            right: 1rem;
        }
    }

    & .slider-button:hover {
        opacity: 1;
    }

    .slide {
        position: absolute;
        top     : 0;
        left    : 0;
        right   : 0;
        bottom  : 0;
        width   : 100%;
        height  : auto;

        &.showslide {

            & img {
                opacity: 1;
                filter : blur(0);

                &.inner {
                    rotate: 0deg;
                }

                &.middle {
                    rotate: 0deg;
                }

                &.outer {
                    rotate: 0deg;
                }

            }
        }

        & img {
            position       : absolute;
            width          : 100%;
            height         : 100%;
            opacity        : 0;
            object-fit     : cover;
            object-position: 0 50%;
            filter         : blur(50px);
            transition     : all 3s ease;

            &.inner {
                z-index  : 1;
                rotate   : -30deg;
                clip-path: ellipse(var(--innerSlide) var(--innerSlide) at 50% 50%);
            }

            &.middle {
                rotate   : 30deg;
                z-index  : 2;
                clip-path: ellipse(var(--middleSlide) var(--middleSlide) at 50% 50%);
            }

            &.outer {
                rotate : -5deg;
                z-index: 3;
            }


        }
    }
}

/* Slider Formatierungen Ende */



/* Gimmick: rotierende Bildscheibe in index.html (unten) START*/
.foto-disk-anime {
    width    : 250px;
    height   : auto;
    animation: disk-turner 4s infinite linear;

    &:hover,
    :active {
        animation: none;
    }
}




@keyframes disk-turner {
    from {
        transform: rotateY(0deg);
    }

    to {
        transform: rotateY(360deg);
    }
}

/* Gimmick: rotierende Bildscheibe in index.html (unten) ENDE*/




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

    body>header {
        height               : 38rem;
        background-image     : url("../img/band_780.png");
        background-size      : 764px auto;
        background-position-y: 0px;

        & h1 {
            font-size: 3rem;
        }

        & h2 {
            font-size: 1.4rem;
        }

        & .headerline {
            flex-direction: column;
            text-align    : center;
            margin-top    : 250px;
            height        : 9rem;
        }
    }

    section {

        width: 90%;

        &>header {
            & h2 {
                padding: 20px 50px;
            }
        }
    }

    footer {
        height   : 10rem;
        font-size: .9rem;

        & img {
            height: 110px;
        }

        & div:first-child {
            display       : flex;
            flex-direction: column;
            padding       : 20px;
        }

        & div:last-child {
            padding: 20px 25px 5px 0;
        }
    }


    .slider {
        width : auto;
        height: 30vh;
    }


}

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

    body>header {
        height               : 29rem;
        background-image     : url("../img/band_460.png");
        background-size      : 370px auto;
        background-position-y: -5px;
        padding-top          : 90px;

        & h1 {
            font-size: 2.8rem;
        }

        & h2 {
            font-size: 1.3rem;
        }

        & .headerline {
            flex-direction: column;
            text-align    : center;
            margin-top    : 220px;
            height        : 8rem;
        }
    }

    section {
        width: 95%;

        & p {
            font-size : .8rem;
            padding   : 10px;
            text-align: justify;
            hyphens   : auto;
        }

        &>header {
            & h2 {
                padding  : 0;
                font-size: 1.2rem;
            }
        }

        article:last-child {
            margin-bottom: 80px;
        }

        & article.boxed-article {
            margin-top: 50px;
            padding   : 3px;

            & ol {
                padding  : 0;
                font-size: .9rem;

                & li {
                    padding            : 5px;
                    list-style-position: inside;
                    list-style-type    : decimal;
                }

            }

            header h2 {
                padding  : 10px;
                font-size: 1.1rem;
            }

        }

        & article.boxed-article img {
            width       : 130px;
            height      : auto;
            margin-right: 50px;
            padding     : 2px;
            box-shadow  : 5px 5px 10px 3px rgba(0, 0, 0, .3);
        }

        & article.standard-article p:first-child:first-letter {
            font-size: 2rem;
        }

        & article.img-article img {
            margin-top: 100px;
            width     : 70%;
        }

        & .img_text_block {
            display        : flex;
            flex-direction : column;
            justify-content: center;
            align-items    : center;
            margin-top     : 20px;

            & img {
                width : 400px;
                height: auto;
            }

            & p {
                padding-left: 20px;
            }
        }

        & div.bandimg img {
            width : 100%;
            height: auto;
        }



    }

    nav {
        padding: 10px 0;

        & ul {

            & li {
                padding: 5px 15px;
            }

            & a {
                font-size: .9rem;
            }

        }
    }

    footer {
        height   : 8rem;
        font-size: .65rem;

        & img {
            margin-top: 10px;
            height    : 100px;
        }

        & div:first-child {
            width: 140px;
        }

        & div:last-child {
            padding: 20px 25px 5px 0;
        }
    }

    #mc {
        font-size    : .8rem;
        padding-left : 10px;
        margin-bottom: 20px;

        & img {
            height: 15px;
        }

    }

    .slider {
        width : auto;
        height: 30vh;
    }
}