html,
body,
div,
h1,
h2,
h3,
h4,
h5,
h6,
table,
p,
a,
ul,
li {
    margin: 0;
    padding: 0;
    border: 0;
}

html {
    scroll-behavior: smooth;

}


body {

    background-color: #121212;
    padding: 1rem;
    align-items: center;
    color: white;
}

#landing-img {
    width: 50vw;
    position: relative;
    z-index: 2;
}

#intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#intro h3 {
    color: white;
    font-family: Staatliches;
    font-size: 2rem;
}

#intro a {
    text-align: center;
    text-decoration: none;
    animation: fadeIn 3s ease;
}

.mobile-title {
    font-family: Staatliches;
    font-size: 11vw;
    color: white;
    margin-bottom: 2rem;

}

.desktop-title {
    display: none;
}

#social-links a {
    text-decoration: none;
    color: white;
    font-size: 40px;
    color: rgb(17, 240, 240);
}

#social-links {
    display: flex;
    gap: 60px;
    margin-top: 2rem;
    justify-content: center;
    height: 5vh;
    padding: 1rem;
}

#circle1 {
    position: absolute;
    border-radius: 50%;
    border: 5px solid rgb(17, 240, 240);
    background: transparent;
    width: 50vw;
    height: 50vw;
    z-index: 1
}

h1 {
    font-family: Staatliches;
}


#showdates {
    display: none;
}

#showdates-mobile {
    display: flex;
    flex-direction: column;
    font-family: roboto flex;
    color: white;
    width: 100%;

}

#showdates-mobile p {
    line-height: 3em;
}

#mobile-show {
    padding: 1rem;
    border-bottom: 1px solid white;
    margin-bottom: 1rem;
}

#mobile-hamburger {
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: white;
}

#showdates-mobile h1 {
    font-family: Staatliches;
    margin-bottom: 10px;
}

#showdates h1 {
    font-family: Staatliches;
    font-size: 5vh;
}

#shows-container {
    display: flex;
    flex-direction: column;
    width: 95%;
}

#navbar,
#mobile-navbar {
    display: none;
    flex-direction: column;
    gap: 20px;
    font-family: Staatliches;
    font-size: 4vh;
    justify-content: space-between;
    margin-bottom: 2rem;
    width: 100%;
}

#mobile-navbar.active {
    display: flex;
}



#navbar a,
#mobile-navbar a {
    text-decoration: none;
    color: rgb(17, 240, 240);


}

.ticket-button {
    text-decoration: none;
    background-color: rgb(17, 240, 240);
    color: black;
    border-radius: 5px;
    padding: .5rem;
    transition: background-color 500ms;

}

.ticket-button:hover {
    background-color: white;
}

#showsimg {
    display: none;
}

header {
    display: none;
}

#images {
    display: flex;
    flex-direction: column;
    color: white;
    font-family: Roboto Flex;
    margin-top: 3rem;

}

.gallery-pic {
    width: 100%;
    margin-bottom: 2rem;
}

.photo-container {
    margin-bottom: 2rem;
}

#contact-form textarea {
    width: 90%;
    height: 150px;
}

#contact-main {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: auto;
    margin-top: 50px;

}



#contact-main img {
    height: 33vh;
    margin: auto;
}

/*mobile styling for backend-page*/

.backend-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-family: Roboto Flex;
    padding: 1rem;
    border: 1px solid lightgray;
    border-radius: 5px;
    width: 98%;
    max-width: 400px;
    margin: auto;

}

.backend-form input {
    height: 20px;
}

.form-submit-btn {
    width: 75px;
    height: 50px;
}

.backend-form a {
    display: inline-block;
    color: white;
}

#backend-container {
    gap: 1rem;
    font-family: Roboto Flex;
    max-width: 100vw;
}

#backend-container h2 {
    margin-bottom: 20px;
}

#backend-forms {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#videos {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

#video-item {
    display: flex;
    flex-direction: column;
}

#video-text {
    display: flex;
    flex-direction: column;
}

#edit-form {
    margin: auto;
    margin-top: 1rem;

}

/*mobile styling for bio page*/

#tall-michael {
    display: none;
}

#mobile-michael {
    width: 95%;
    box-shadow: rgb(46, 46, 46) 2px 2px 5px;


}


#bio-main {
    font-family: Roboto Flex;
    margin-top: 3rem;


}

#bio-words p {
    font-size: 3vh;
    margin-bottom: 2rem;
}

#bio-words h3 {
    font-family: Staatliches;
    font-size: 5vh;
}

#photo-caption {
    display: flex;
    flex-direction: column;
    height: 100%;

}

#photo-caption p {
    margin-top: 10px;
}

#photo-caption img {
    margin-bottom: 10px;
}

#desktop-caption {
    display: none;
}

/*mobile styling for video page */

#videos {

    padding: 1rem;
    border: 1px solid rgb(114, 113, 113);

    align-content: center;
    width: 300px;
    margin: auto;
    margin-top: 50px;
    overflow-y: scroll;
    height: 65%;
}

#video-item {
    width: 100%;
}

#video-item iframe {
    border: white 1px solid;
    border-radius: 5px;
    margin-bottom: 10px;
    transition: transform 500ms;
    box-shadow: rgb(46, 46, 46) 2px 2px 10px;
    width: 100%;
}

#video-item iframe:hover {
    transform: scale(1.1);
}


#video-text h3,
#video-text p {
    font-family: Roboto Flex;
}

#copyright {font-family: Roboto Flex; margin-bottom: 2px;} 

#contact-title-mobile {
    font-family: Staatliches;
}

#contact-main img {width: 100%;}

@media screen and (min-width: 1080px) {
    header {
        display: flex;
        align-items: center;

        font-family: Staatliches;
        height: 20vh;
        width: auto;
    }

    #mobile-navbar,
    .mobile-navbar {
        display: none;
    }

    header h1 {
        font-size: 10vh;
    }

    main {
        height: 60vh;
        margin-top: 2rem;
        flex: 1;

    }

    table {
        width: 50vw;
        font-size: 16px;


        border-collapse: collapse;
        background: transparent;
        border-radius: 6px;
        overflow: hidden;
        color: white;
        width: 100%;
        font-size: 14px;
        font-family: Roboto Flex;

    }



    thead tr {
        height: 50px;
        background: transparent;
        font-family: Staatliches;
        font-size: 24px;
    }

    tbody td {
        line-height: 1rem;
    }


    tbody tr {
        border-bottom: 1px solid white;
    }

    tbody tr:last-child {
        border: 0;
    }

    #landing-img {
        position: relative;
        z-index: 2;
        width: 25vw;
        margin: 0;
        animation:popOn 500ms ease-in-out;

    }

    #showsimg {
        display: block;
        position: relative;
        width: 35.5vw;
        z-index: -1;
        opacity: .3;

    }



    #shows-container #navbar {
        margin-left: 0;
    }

    html {
        height: 100vh;
    }

    body {

        height: 100%;
        margin: auto 5rem;
        padding: 0;
        animation: fadeIn 1s ease;
    }

    #landing-container {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        margin: auto;
        gap: 2rem;
        padding: 3rem;
        
    }

    #page-container {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
    }

    #footer {
        flex-basis: 15%;
    }

    #images-body {
        flex-direction: column;
        color: white;
    }

    #images {

        flex-direction: row;
        flex-wrap: wrap;
        gap: 1rem;
        width: 65%;
        margin: auto;
    }



    .photo-container {
        width: 250px;
    }

    #intro {
        width: 75vw;
        text-align: center;
        margin: auto;
        justify-content: space-between;
        
    }

    #landing-links-desktop {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        width: 45%;
        
    }

    .mobile-title {
        display: none;
    }

    .desktop-title {
        display: block;
        color:white;
        font-family: Staatliches;
        font-size: 10vw;
        margin-top: 0;
        border-radius: 5px;
        padding: 0;
        z-index: 2;
        text-shadow: 5px 5px 5px darkcyan;
        
    }

    #intro h3 {
        font-size: 4rem;
        border: 2px solid white;
        border-radius: 5px;
        padding: 1rem;
        width: 90%;
        transition: color 200ms;
        animation: popOn 500ms ease-in-out;
        
    }

    #intro a {
        text-decoration: none;
        animation: fadeIn 1s ease;
    }

    #intro h3:hover {
        color: rgb(17, 240, 240);
        
    }

    #circle1 {
        position: absolute;
        border-radius: 50%;
        border: 10px solid rgb(17, 240, 240);
        background: transparent;
        width: 25vw;
        height: 25vw;
        z-index: 1;
        
    }
    #circle2 {
        position: absolute;
        border-radius: 50%;
        border: 10px solid rgb(255, 255, 255);
        background: transparent;
        width: 29vw;
        height: 29vw;
        z-index: 0;
       
    }


    #circles {
        align-content: center;
        opacity: .8;
    }

    #social-links {
        display: flex;
        gap: 60px;
        justify-content: center;
        height: 4vh;
        padding: 1rem;
    
    }

    #social-links a {
        text-decoration: none;
        color: white;
        font-size: 40px;

    }

    #social-links a:hover {
        color: rgb(17, 240, 240);
    }





    /*div that contains the pic n circles and the dates table*/
    #img-dates {
        display: flex;
        color: white;
        gap: 5rem;
    }

    .img-dates-landing {
        width: 100%;
        gap: 5rem !important;
    }

    /*styling for the shows page */
    #shows-body {
        display: flex;
        gap: 3rem;
    }

    #navbar {
        display: flex;
        flex-direction: row;
        font-size: 6vh;
    }

    .mobile-nav,
    .bio-navbar {
        display: none;
    }


    tbody td {
        line-height: 60px;
        margin: none;
    }

    #showdates {
        display: flex;
        flex-direction: column;
        color: white;
        border-radius: 5px;
        height: 60vh;
        overflow-y: scroll;

        padding: 2rem;
        box-shadow: 0px 0px 20px 0px #212121;
    }

    #showdates h1 {
        font-size: 10vh;
    }

    #showdates h3 {
        font-family: Roboto Flex;
        font-size: 3vh;
    }
    #showdates-mobile {
        display: none;
    }

    #mobile-hamburger {
        display: none;
    }

    #backend-forms {
        flex-direction: row;
    }

    /*styles for bio page*/

    #tall-michael {
        display: block;
        opacity: .9;
        margin-bottom: 10px;
        height: 100%;
        border-radius: 5px;
        border: 2px solid white;

    }

    #bio-main {
        display: flex;
        gap: 2rem;
        padding: 2rem;
        width: 75%;
        margin: auto;
        font-family: Roboto Flex;
    }

    #bio-words {
        width: 50%;
    }

    #bio-words p {
        font-size: 2vh;
        margin-bottom: 2rem;
    }

    #bio-words h3 {
        font-family: Staatliches;
        font-size: 5vh;
    }

    #desktop-caption {
        display: block;
    }

    #mobile-michael {
        display: none;
    }

    #mobile-caption {
        display: none;
    }

    /*Styling applies to all "navbar elements */

    #navbar {
        justify-content: flex-start !important;
        width: 75% !important;
        margin: auto;
    }

    #navbar a {
        margin-left: 2rem;
        transition: color 1000ms transform 1000ms;
    }

    #navbar h3 {
        transition: color 400ms, transform 400ms;
    }

    #navbar h3:hover {
        color: white;
        transform: scale(1.2);
    }

    .bio-social {
        border: none !important;
    }

    #home-link {
        margin-left: 0 !important;
    }


    #video-item {
        flex-direction: row;
        gap: 2rem;
        font-family: Roboto Flex;
    }

    .data-list {
        margin-bottom: 40px;
    }

    #backend-forms {
        margin-bottom: 20px;
    }

    /*Video page stylings*/

    #video-header {
        text-align: center;
    }

    #videos {
        padding: 1rem;
        border: 1px solid rgb(114, 113, 113);
        align-content: center;
        width: 61%;
        margin: auto;
        overflow-y: scroll;
        height: 65%;
    }

    #videos iframe {
        border-radius: 5px;
        transition: transform 500ms;
        box-shadow: rgb(46, 46, 46) 2px 2px 10px;
        width: 400px;
        height: 200px;
    }


    #videos iframe:hover {
        transform: scale(1.08);
    }

    #video-text h3,
    #video-text p {

        font-family: Roboto Flex;
    }

    /*photos in portal */

    #list-photo {
        height: 60px;
        transition: height 500ms;
    }

    #list-photo:hover {
        height: 150px;
    }

    #backend-container h2 {
        color: rgb(17, 240, 240);
    }

    #backend-container {
        padding: 2rem;
        margin: auto 10%;
    }

    .bio-textarea {
        height: 500px;
        white-space: pre-wrap;
        word-wrap: break-word;
        padding: 10px;
        line-height: 1.5;
        vertical-align: top;
        resize: vertical;
    }

    /*modal styles */

    .modal {
        display: none;
        position: fixed;
        z-index: 9999;
        padding-top: 50px;
        left: 0;
        top: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.9);
        text-align: center;
    }

    .modal-content {
        max-width: 90vw;
        max-height: 80vh;
        margin-top: 40px;
    }

    .close {
        position: absolute;
        top: 20px;
        right: 35px;
        font-size: 40px;
        color: white;
        cursor: pointer;
        transition: transform 300ms, color 300ms;
    }

    .arrow {
        position: absolute;
        top: 50%;
        font-size: 70px;
        color: white;
        cursor: pointer;
        user-select: none;
        transition: transform 300ms, color 300ms;
    }

    .arrow:hover,
    .close:hover {
        transform: scale(1.2);
        color: rgb(17, 240, 240);
    }

    .left {
        left: 5%;
    }

    .right {
        right: 5%;
    }

    .photo-container {
        cursor: pointer;

    }

    .photo-container img {
        border-radius: 5px;
        transition: transform 300ms;
    }

    .photo-container img:hover {
        transform: scale(1.1);

    }

    #imageModal img {
        animation: fadeIn 500ms ease-in-out;
    }

    /*contact page styles*/

    #contact-main {
        flex-direction: row;
        margin-left: 1rem;
       
    }

    #contact-main img {
        height: 445px;
    }

    #contact-title-mobile {
        display: none;
    }

    #contact-title {
        margin-right: 20px;
    }
}


/*end 1080p viewportstyling */



@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes popOn {
    0% {scale: 0;}
    50% {scale: 1.3;}
    100% {scale: 1;}
}