* {
  box-sizing: border-box;
}

body {
    background-color: black;
    margin: 0px;
    cursor: url('/resources/charlicursor.png'), auto;
}

@font-face {
    font-family: "Rustic Roadway";
    src: url("/resources/RusticRoadway.otf") format("opentype"),

}

@font-face {
    font-family: "Classy Vogue";
    src: url("/resources/Classyvogueregular.ttf"),

}

a {
    color: black;

}

header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    padding: 2vh;
    position: sticky;
    top: 0;
    height: 13vh;
    min-height: 100px;
    background-size: 100%;
    background-image: url('resources/bg.jpg');
    filter: drop-shadow(0px 20px 20px #00000099);
    z-index: 20;
}

    .sitelogolink {
        display: inline-block;
        height: 100%;
    }

        @keyframes sparkle {
            0%, 100% {
                filter: drop-shadow(-5px -5px 5px #00000085) brightness(1);
            }
            50% {
                filter: drop-shadow(-5px -5px 5px #00000085)
                        brightness(1.5)
                        drop-shadow(0 0 60px #F03087);
            }
        }

        #sitelogo {
            height: 100%;
            animation: sparkle 2.5s infinite;
            filter: drop-shadow(-5px -5px 5px #000000);
            transform: translateY(45%) translateX(45%) scale(200%)
        }
    #menubuttonwrapper {
        display: flex;
        flex-wrap: wrap;
        width: 65%;
        justify-content: flex-end;
    }

        header button {
            height: 100%;
            color: white;
            background-color: #00000000;
            border: none;
            font-size: 1.5em;
            padding-left: 20px;
            cursor: pointer;
            font-weight: bold;
            text-shadow: 2px 2px 4px #ffffff90;
            transition: transform 0.1s;
            font-family: 'Classy Vogue';
        }

        header button:hover {
            text-decoration: underline;
        }

       .transflagpink:hover {

            text-shadow: 0 0 10px #F5A9B8;
            color: #F5A9B8
       } 

       .transflagblue:hover {
           color: #5BCEFA;
            text-shadow: 0 0 10px #5BCEFA;
       }

       .transflagwhite:hover {
            text-shadow: 0 0 10px white;
            color: white
       }
main {
    display: flex;
    height: 105vh;
    border: 14px solid white;

}


    h1 {
        margin-top: 0px
    }

    .mainbody {
        padding: 40px;
    }


    /* HOMEPAGE */

    #photodisplay {
        width: 60%;
        height: 100%;
        align-items: center;
        justify-content: space-evenly;
        display: flex;
        overflow-x: hidden;
        scroll-snap-type: x mandatory;
        gap: 1rem;
        scroll-behavior: smooth;
        border-right: 14px solid white;
        background-color: white;
    }

    #photodisplay img {
        flex: 0 0 100%;
        scroll-snap-align: start;
        object-fit: cover;
        height: 100%;
    }


    #maintext {
        padding-left: 25px;
        padding-right: 25px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 20pt;
        text-align: center;
        width: 40%;
        font-family: 'Rustic Roadway';
        overflow: scroll;
        background-color: #ff8fcb;
        text-shadow: 2px 2px 10px #ffffff80;
    }

    /* SHOWS */

    #shows-page {
        background-color: #ff8fcb;
        width: 100%;
        height: 100%;
        display: flex;
        font-family: 'Classy Vogue';
    }

        #shows-upcoming {
            width: 60%;
            padding-right: 10px;

        }

        #shows-info {
            overflow: scroll;
            width: 40%;
            text-shadow: 2px 2px 10px #ffffff80;
        }


    /* GALLERY */

    #gallery-page {
        background-color: #ff8fcb;
        width: 100%;
        height: 100%;
        align-items: center;
        display: flex;
        flex-direction: column;
        font-family: 'Classy Vogue';
    }

    /* MERCH */

    #merch-page {
        background-color: #ff8fcb;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        font-family: 'Classy Vogue';
    }

    /* PERFORMERS */

    #performers-page {
        background-color: #ff8fcb;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        font-family: 'Classy Vogue';
    }


        .performer {
            height: fit-content;
            display: flex;
        }

            #performers-page h2 {
                margin-top: 0px;
                padding-bottom: 5px;
                margin-bottom: 5px;
                border-bottom: 1px solid black;
            }

            .performerframe {
                position: relative;
                top: 0;
                left: 0;
                overflow: none;
                width: 500px;
                margin-right: 15px;
            }

            .frame {
                width: 500px;
                position: relative;
                top: 0;
                z-index: 2;
                left: 0;
            }

            .framecontent {
                width: 460px;
                position: absolute;
                top: 20px;
                left: 20px;
                z-index: 1;

            }

            .pronouns {
                font-size: 15pt;
                font-style: italic;
                margin-bottom: 0px;
            }

    /* APPLY */

    #apply-page {
        background-color: #ff8fcb;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        font-family: 'Classy Vogue';
    }
footer {
    height: auto;
    width: 100%;
    background-color: black;
    display: flex;
    justify-content: space-between;
    padding: 25px;
    font-size: 0.2em;
    font-family: 'Arial'
}

    #footercredits {
        display: flex;
        flex-direction: column;
    }

        footer a {
            color: white;
            text-decoration: none;
        }


    #socialwrapper {
        display: flex;
        align-items: center;
        gap: 15px;
    }

        .socials {
            height: 40px;
            width: auto;
        }


.j-overlay {
    z-index: 30;
}
@media (max-width: 768px) {
    main {
        flex-direction: column;
        height: auto;
        font-size: 11pt !important;
    }

    header button {
        font-size: 1em;
        padding-left: 5px;

    }

    #photodisplay {
        width: 100%;
        height: 70vh;
        border-right: none;
        border-bottom: 14px solid white;
        order: 1;
    }

    #maintext {
        width: 100%;
        height: fit-content;
        font-size: 1em;
        order: 2;
    }

    .mainbody {
        padding: 20px;
    }

    .performerframe {
        width: 140px;
    }

    .frame {
        width: 140px;
    }

    .framecontent {
        width: 120px;
        top: 10px;
        left: 10px;

    }

    .pronouns {
        font-size: 10pt;
    }
}
