@import url('navbar.css');
/* BASE */

:root {
    color: white;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    text-align: left;
    /* background-color: black; */
    /* margin: 0 auto; */
    
}
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
}



body {

    /* BACKGROUND IMAGES */
    
    &.home {
    background: url('../assets/backgrounds-small/indexbackground_small.jpg')
        no-repeat center center fixed;
    background-size: cover;
    position: relative;
    }

    &.home::before {
        content: "";
        position: fixed;
        inset: 0;

        background: url('../assets/backgrounds/indexbackground.WebP')
            no-repeat center center fixed;
        background-size: cover;

        opacity: 0;
        transition: opacity .5s ease;

        z-index: -1;
    }

    &.home.loaded::before {
        opacity: 1;
    }

    &.shows {
    background: url('../assets/backgrounds-small/showsbackground_small.jpg')
        no-repeat center center fixed;
    background-size: cover;
    position: relative;
    }

    &.shows::before {
        content: "";
        position: fixed;
        inset: 0;

        background: url('../assets/backgrounds/showsbackground.WebP')
            no-repeat center center fixed;
        background-size: cover;

        opacity: 0;
        transition: opacity .5s ease;

        z-index: -1;
    }

    &.shows.loaded::before {
        opacity: 1;
    }

    &.contact {
    background: url('../assets/backgrounds-small/contactbackground_small.jpg')
        no-repeat center center fixed;
    background-size: cover;
    position: relative;
    }

    &.contact::before {
        content: "";
        position: fixed;
        inset: 0;

        background: url('../assets/backgrounds/contactbackground.WebP')
            no-repeat center center fixed;
        background-size: cover;

        opacity: 0;
        transition: opacity .5s ease;

        z-index: -1;
    }

    &.contact.loaded::before {
        opacity: 1;
    }

    &.music {
    background: url('../assets/backgrounds-small/musicbackground_small.jpg')
        no-repeat center center fixed;
    background-size: cover;
    position: relative;
    }

    &.music::before {
        content: "";
        position: fixed;
        inset: 0;

        background: url('../assets/backgrounds/musicbackground.WebP')
            no-repeat center center fixed;
        background-size: cover;

        opacity: 0;
        transition: opacity .5s ease;

        z-index: -1;
    }

    &.music.loaded::before {
        opacity: 1;
    }

    &.lessons {
    background: url('../assets/backgrounds-small/lessonsbackground_small.jpg')
        no-repeat center center fixed;
    background-size: cover;
    position: relative;
    }

    &.lessons::before {
    content: "";
        position: fixed;
        inset: 0;

        background: url('../assets/backgrounds/lessonsbackground.WebP')
            no-repeat center center fixed;
        background-size: cover;

        opacity: 0;
        transition: opacity .5s ease;

        z-index: -1;
    }

    &.lessons.loaded::before {
        opacity: 1;
    }

    &.video {
    background: url('../assets/backgrounds-small/videobackground_small.jpg')
        no-repeat center center fixed;
    background-size: cover;
    position: relative;
    }

    &.video::before {
        content: "";
        position: fixed;
        inset: 0;

        background: url('../assets/backgrounds/videobackground.WebP')
            no-repeat center center fixed;
        background-size: cover;

        opacity: 0;
        transition: opacity .5s ease;

        z-index: -1;
    }

    &.video.loaded::before {
        opacity: 1;
    }

    &.merch {
    background: url('../assets/backgrounds-small/merchbackground_small.jpg')
        no-repeat center center fixed;
    background-size: cover;
    position: relative;
    }

    &.merch::before {
        content: "";
        position: fixed;
        inset: 0;

        background: url('../assets/backgrounds/merchbackground.WebP')
            no-repeat center center fixed;
        background-size: cover;

        opacity: 0;
        transition: opacity .5s ease;

        z-index: -1;
    }

    &.merch.loaded::before {
        opacity: 1;
    }

    /* END BACKGROUND IMAGES */
    
}



.content {
    
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 2rem;
    /* background-image: linear-gradient(to bottom right, rgba(84, 14, 14, 0.553), rgba(0, 0, 0, 0.46)); */
    background: rgba(22, 15, 15, 0.53);
    border-radius: 0px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(11.7px);
    -webkit-backdrop-filter: blur(11.7px);
    border: 1px solid black;
    margin-bottom: 10rem;
}

p {
    width: 60%;
    text-align: left;
    
}
form {
    width: 40%;

    & > * {
        margin: 1rem;
        width: 100%;
    }
}

a {
    text-decoration: none;
    color: inherit;
    transition: ease-in .1s;
}



details {
    background-color: black;
    border: 1px solid rgba(255, 255, 255, 0.374);
    width: 60%;
    text-align: center;
    padding: 1rem;

    p {
        width: auto;
    }

    &:open {
        summary {
            margin-bottom: 3rem;
        }
    }
}

summary:hover {
    color: gold;
    cursor: pointer;
}

article {
    padding: 1rem;
    text-align: center;
}

dialog {
    opacity: 0;
    /* Ensure styles persist after animation */
    animation-fill-mode: forwards;
    background-color: black;
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.36);

    & > * {
        padding: .5rem;
        margin: 1rem;
        text-align: left;
        list-style-type: none;
    }
}

section {
    margin: 2rem;

}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Apply animation when dialog is open */
dialog[open] {
    animation: fadeIn 0.4s ease-out forwards;
}

dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5); /* A semi-transparent black overlay */
  backdrop-filter: blur(3px); /* Optional: add a blur effect */
}

footer {
    background-color: black;
    height: 90vh;
    width: 100%;
    margin-bottom: -5rem;
    padding: 1rem;
    img {
        height: 50%;
    }


    .social-links {
        font-size: 2rem;
        list-style-type: none;
        display: flex;
        flex-direction: row;
        flex-shrink: 0;
        padding-left: 0;

    }
    li {
        margin: 2rem;
    }

    p {
        width: 80%;
        text-align: center;
    }
    
}

.bio-row {
    align-items: flex-end;
    justify-content: space-between;
    margin: 1rem;

    img {
        width: 15vw;
    }
}

.tab-btn {
    background: none;
    color: white;
    border: 1px solid gold;
    padding: .5rem;
    transition: .3s ease;
}

.tab-btn.active {
    background: gold;
    color: black;
}

.tab-btn:hover {
    background: gold;
    color: black;
}

.tab-content {
    border: 1px solid rgba(255, 217, 0, 0.53);
    background-color: #2021248c;
    width: 97%;
    padding: 2rem;
    .video-container {
        width: 90%;
        margin: 2rem;
    }
}


/* END BASE */


/* COMPONENTS */


.loader-overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: black;
}

.contact-form {
    input {
        height: 2rem;
        font-size: 1.3rem;
    }

    textarea {
        resize: none;
        font-size: 1.1rem;
    }
}

/* CSS */
.button-16 {
  background-color: #f8f9fa;
  border: 1px solid #f8f9fa;
  border-radius: 4px;
  color: #3c4043;
  cursor: pointer;
  font-family: arial,sans-serif;
  font-size: 14px;
  height: 36px;
  line-height: 27px;
  min-width: 54px;
  padding: 0 16px;
  text-align: center;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  white-space: pre;
}

.button-16:hover {
  border-color: gold;
  box-shadow: rgba(255, 217, 0, 0.209) 0 3px 3px;
  color: #202124;
}

.button-16:focus {
  border-color: #4285f4;
  outline: none;
}

.vids-rows {
    width: 100%; 
    margin-top: 3rem; 
    justify-content: space-between;
}

.line-break {
    border-bottom: 1px solid rgba(255, 255, 255, 0.604);
}

.link-icons > li > a {
    font-size: 1.5rem;
}

.shows-row {
    width: 95%;
    justify-content: space-between;
    align-items: flex-end;
    border-bottom: 1px solid white;
    font-size: 1.3rem;
    .info {
        width: 95%;
        padding: 0.5rem;
    }

    button {
        margin-left: 3rem;
        
        
    }

    .show-row-date {
        text-align: right;
    }
}

.card {
    /* background-color: black;
    border: 1px solid white; */
    padding: 1rem;
    flex: 1;
    h4 {
        width: fit-content;
    }
    p {
        width: 100%;
    }
    img {
        width: 70%;
    }

}
.merch-container {

    gap: 1rem;
}

.video-container iframe{
    width: 100%;
    aspect-ratio: 16 / 9;
    display: block
}

.alert {
    background-color: black;
    width: 100%;
    margin-top: -2rem;
    p { 
        
        text-align: center;
        width: 100%;
    }

}

.album-announcement {
    padding: 2rem 1rem;
    gap: 1rem;
    img {
        aspect-ratio: 1/1;
        height: auto;
        width: 25vw;
    }
    div {
        width: 100%;
        justify-content: flex-end;
    }
    p {
        width: 100%;
        align-self: flex-end;
    }


}

.show-row-homepage {
    width: 100%;
    align-items: end;
    padding: .5rem;
    img {
        height: 30vh;
    }
    #show-date {
        text-align: right;
        margin-right: 1rem;
    }
}

.lesson-vids-section {
    width: 100%;
}

.details-lesson-vid {
    width: auto;
}


.thanx-msg {
    margin: 3rem;
}
/* END COMPONENTS */


/* UTILITIES */


.flex-column {
    display: flex;
    flex-direction: column;
    align-items: center;
}


.flex-row {
    display: flex;
    flex-direction: row;
}

.link-hover:hover {
    cursor: pointer;
    color: gold;
}

.hidden {
    display: none;
}

.unstyle-button {
    border: none;
    background: none;
    font-size: inherit;
    color: white;
    text-align: left;
    padding: none;
}
.underline {
    text-decoration: underline;
}

.black-box {
    background-color: black;
    border: 1px solid rgba(255, 255, 255, 0.414);
    padding: 1rem;
}



/* END UTILITIES */

/* MEDIA QUERIES */

@media screen and (max-width: 950px) {
    
    .content {
        margin-top: 6rem;
        width: 100%;
    }

    p { 
        width: 95%;
    }
    section {
        width: 100%;
        margin: 0;
        &.width-auto {
            width: auto;

        }
    }

    article {
        width: 100%;
        padding: none;
    }
    header {
        align-items: center;

    }
    
    .navbar {
        max-width: 33%;
        padding: .4rem;
    }

    .nav-links {
        flex-direction: column;

        padding: .3rem;

        li {
            margin-top: 1rem;
            margin-bottom: 1rem;

        }
    }



    .nav-links.link-icons {
        text-align: end;
    }

    .logo {
        max-width: 40vw;
        height: auto;
    }

    details {
        width: 95%;
    }

    footer {
        width: 100%;
        padding: 0;
        margin: 0;

        img {
            height: auto;
            width: 65%;
        }
        li {
            margin: .7rem;
        }
    }

    .shows-row {
        flex-direction: column;
        align-items: center;
        
    }

    dialog {
        width: 90vw;
    }

    dialog:not([open]) {
    display: none;
}

    .merch-container {
        flex-direction: column;
        align-items: center;
    }

    .social-links > li {
        font-size: 1.4rem;
        
    }

    .sam-pic {
        width: 100%;
    }

    .bio-row {
        flex-direction: column;
        align-items: center;
        img {
            width: 50vw;
        }

        div p {
            text-align: center;
        }
    }

    .vids-rows {
        flex-direction: column;
    }

    .album-announcement {
        flex-direction: column;
        align-items: center;


        img {
            width: 40vw;
        }

        div {
            justify-content: center;

            p {
                justify-self: center;
                
            }
        }
    }

    article {
        width: auto;
    }

    .show-row-homepage {
        flex-direction: column;
        align-items: center;

        a > img {
            width: 80vw;
            height: auto;
        }

        #show-date {
            text-align: center;
            margin-right: 0;
        }

        p {
            text-align: center;
        }
    }

    .info {
        flex-direction: column;
        align-items: center;
        p {
            text-align: center;
        }
        .show-row-date {
            text-align: center;
        }

        button {
            margin-left: 0;
            
        }
    }

    .contact-form {
        width: 90%;
    }

    .video-container iframe{
    aspect-ratio: 4 / 3;
    }




}

@media (max-width: 1000px) {

    /* :root {
        margin: .5rem;
    } */
    body.lessons {
        background: none;
        background-color: black;
        /* background-attachment: scroll;
        background-position: center top; */
    }


}

/* END MEDIA QUERIES */

