/* Global Styles */
/* Reset default margin & padding */
    body {
    margin: 0;
    padding: 0;
    font-family: "Sugo Pro Display";
    font-weight: 100;
    line-height: 1.7rem;
    display: flex; /* Make body a flex container */
    flex-direction: column; /* Stack children vertically */
    min-height: 100vh; /* Ensure body takes up at least the full viewport height */
    }

    main {
    flex-grow: 1; /* Allow main to expand and fill available space */
    }

/* Overlay Burger Menu */
    .overlay {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: rgb(0,0,0);
    background-color: #02316ed9;
    overflow-x: hidden;
    transition: 0.5s;
    }

    .overlay-content {
    position: relative;
    top: 25%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
    }

    .overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 36px;
    color: #ffffff;
    display: block;
    transition: 0.3s;
    font-family: 'Sugo Pro Display';
    }

    .overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
    }

    @media screen and (max-height: 450px) {
    .overlay a {font-size: 20px}
    .overlay .closebtn {
        font-size: 40px;
        top: 15px;
        right: 35px;
    }
    }

    /* Show overlay when targeted */
    #overlay-menu:target {
    width: 100%;
    }

    .burger-link{
    cursor: pointer;
    }

/*fonts*/
    body {
    font-family: 'Gulfs Display', sans-serif;
    }

    @font-face {
    font-family: 'Gulfs Display';
    src: url('../font/gulfs-display-normal.woff2') format('woff2'),
         url('../font/gulfs-display-normal.woff') format('woff'),
         url('../font/gulfs-display-normal.eot') format('embedded-opentype');
    font-weight: normal;
    font-style: normal;
    }

    @font-face {
    font-family: 'Sugo Pro Display';
    src: url('../font/Sugo-Pro-Display-Bold-trial.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    }   

    @font-face {
    font-family: 'Sugo Pro Classic';
    src: url('../font/Sugo-Pro-Classic-Light-trial.ttf') format('truetype');
    font-weight: 300; /* Light */
    font-style: normal;
    }    

/* Video background */
    .video-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
    }

    .video-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    }

/*footer*/
    .footer {
    background-color: #ffde59;
    color: #02306e;
    text-align: left;
    padding: 10px 0;
    width: 100%;
    font-size: 1rem;
    font-family: 'Sugo Pro Classic', sans-serif;
    flex-shrink: 0;
    }

    .footer p {
    margin-left: 20px;
    font-style: italic;
    }

/* Okay, the code gets a little crazy from here....Basically, I found coding to be the easiest to understand (for me) if I could control how each of the major displays (mobile, tablet, & desktop) looked. So, I made a base code, copied and pasted that into each media querie, and then edited that code for each of the specific screen sizes so that I had full control over how each display looked. Was this probably the most efficient use of code? Probably not. Does each device in the inspect tool have a good interface? They better, because I spent a lot of time making sure they did. Anyway, sorry there are so many lines of code. */

/* MOBILE DISPLAY */ 
@media  (max-width: 800px) {
    
    /* Navbar */
    .navbar {
        background-color: #ffde59; 
        display: flex;
        align-items: center; /* Center content vertically */
        height: 10%; /* Nav Bar takes up % of the screen */
        width: 100%;
        justify-content: space-between; /* adds space between logo and burger */
    }

    .logo {
        max-height: 110px; /* Adjust to fit within the navbar */
        width: auto;
        padding-left: 10px;
    }

    .burger {
        max-height: 40px; /* Adjust to fit within the navbar */
        width: auto;
        padding-right: 15px;
    }

    /* Text and Button container */
    .text-button-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 90%;
        max-width: 600px;
        margin: 0 auto;
        padding-top: 15vh; /* Pushes content down from the navbar */
        padding-bottom: 50px;
        flex-grow: 1; /* Add this line */
    }
    

    /* Main Heading Text */
        /* Container */
    .text-overlay {
        position: absolute;
        top: 125px; /* Adjust based on navbar height */
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        flex-direction: column;
        align-items: center; /* Centers text horizontally */
        text-align: center;
        color: #ffffff;
        line-height: 1.2;
        letter-spacing: 2px;
        text-shadow: 2px 2px 2px #565e6185;
        width: 90%; /* Ensures text scales within mobile screens */
        max-width: 700px; /* Prevents it from stretching too wide */
    }

        /* Main text */
    .main-text {
        font-family: 'Gulfs Display', sans-serif;
        font-size: 10vw; /* Scales with screen width */
        font-weight: normal;
        width: 100%;
        max-width: 600px;
    }

        /* Subtext */
    .sub-text {
        font-family: 'Gulfs Display', sans-serif;
        font-size: 6vw; /* Scales with screen width */
        max-width: 600px;
        font-weight: normal;
        width: 100%;
    }

    /* Buttons */
    .button-container {
        display: flex;
        size: 6wv;
        flex-direction: column; /* Stack buttons vertically */
        align-items: center; /* Center buttons horizontally */
        justify-content: center; /* Center buttons vertically */
        gap: 15px; /* Space between buttons */
        width: 100%; /* Ensures full width for proper centering */
        text-align: center; /* Aligns inline elements */
        margin-top: 170px; /* Adjust spacing below text */
    }

    .button {
        display: flex;
        justify-content: center; /* Centers image inside button */
        width: 100%; /* Ensures button container takes full width */
    }

    .button-image {
        width: 80%; /* Responsive sizing */
        max-width: 200px; /* Prevents it from getting too large */
        min-width: 10px; /* Prevents it from getting too small */
        height: auto;
        transition: transform 0.3s ease;
    }

}

/* TABLET DISPLAY */ 
@media  (min-width: 801px) and (max-width: 1080px) {

    /* Navbar */
    .navbar {
        background-color: #ffde59; 
        display: flex;
        align-items: center; /* Center content vertically */
        height: 10%; /* Nav Bar takes up % of the screen */
        width: 100%;
        justify-content: space-between; /* adds space between logo and burger */
    }

    .logo {
        max-height: 100px; /* Adjust to fit within the navbar */
        width: auto;
        padding-left: 20px;
    }

    .burger {
        max-height: 40px; /* Adjust to fit within the navbar */
        width: auto;
        padding-right: 25px;
    }

     /* Text and Button container */
    .text-button-container {
        display: flex;
        flex-direction: row; /* Text on left, buttons on right */
        align-items: center; /* Centers vertically */
        justify-content: space-between; /* Spreads elements */
        width: 90%;
        max-width: 1200px;
        margin: 0 auto;
        padding-top: 10vh; /* Adjust as needed */
    }

    /* Text container */
    .text-overlay {
        text-align: left; /* Align text to the left */
        max-width: 55%; /* Limits text width */
        color: #ffffff;
        text-shadow: 2px 2px 2px #565e6185;
        line-height: 1.2;
        letter-spacing: 2px;
    }
    
    /* Main Heading Text */
    .main-text {
        font-size: 8vw; /* Makes text big */
        font-weight: normal;
        ;
    }

    .sub-text {
        font-size: 4vw; /* Smaller than main text */
    }

    /* Button container */
    .button-container {
        display: flex;
        flex-direction: column; /* Stack buttons vertically */
        align-items: center; /* Center buttons horizontally */
        gap: 15px; /* Space between buttons */
        width: 40%; /* Adjusts width */
    }

    .button-image {
        width: 100%; /* Makes buttons relatively small */
        max-width: 400px; /* Prevents them from getting too big */
    }

}

/* DESKTOP DISPLAY */
@media  (min-width: 1081px) {
/* Navbar styling */
    .navbar {
        background-color: #ffde59; /* Bold yellow */
        display: flex;
        justify-content: center; /* Center content horizontally */
        align-items: center; /* Center content vertically */
        height: 95px; /* Adjust the height as needed */
        width: 100%;
    }

    .logo {
        max-height: 120px; /* Adjust to fit within the navbar */
        width: auto;    
    }

    .burger{
        display: none;
}

/* footer styling */
.footer{
    margin-top: 100px;
}

/* Text and Button container */
    .text-button-container {
        display: flex;
        flex-direction: row; /* Text on left, buttons on right */
        align-items: center; /* Centers vertically */
        justify-content: space-between; /* Spreads elements */
        width: 90%;
        max-width: 1200px;
        margin: 0 auto;
        padding-top: 10vh; /* Adjust as needed */
        padding-bottom: 80px;
    }

    /* Text container */
    .text-overlay {
        text-align: left; /* Align text to the left */
        max-width: 55%; /* Limits text width */
        color: #ffffff;
        text-shadow: 2px 2px 2px #565e6185;
        line-height: 1.1;
        letter-spacing: 2px;
    }
    
    /* Main Heading Text */
    .main-text {
        font-size: 7vw; /* Makes text big */
        font-weight: normal;
        ;
    }

    /* sub-text */
    .sub-text {
        font-size: 3vw; /* Smaller than main text */
    }

    /* Button container */
    .button-container {
        display: flex;
        flex-direction: column; /* Stack buttons vertically */
        align-items: center; /* Center buttons horizontally */
        gap: 15px; /* Space between buttons */
        width: 40%; /* Adjusts width */
    }

    .button-image {
        width: 80%; /* Makes buttons relatively small */
        max-width: 400px; /* Prevents them from getting too big */
        transition: transform 0.3s ease; /* Smooth transition for hover effect */

    }

    /* Hover effects for buttons */
        /* Slight zoom effect */
        .button:hover .button-image {
            transform: scale(1.05); 
        }
    
        /* Image/Color Change effect */
        #listen-button:hover .button-image {
            content: url('../img/listen-button-yellow.png'); 
        }
    
        #find-your-song-button:hover .button-image {
            content: url('../img/song-button-yellow.png'); 
        }
    
}