body,
html {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'Space Mono', monospace;
    color: #fff;
    background: #FFFFFF;
    transition: background-color 10s ease;
    overflow-x: hidden;
        /* Prevent horizontal overflow */
}

p {
   line-height: 1.5;
}

.rsvp-container {
    text-align: right;
    /* Center the button */
    /* Add some space above and below */
}

.rsvp-button {
            background-color: transparent;
            color: #fff;
            border: 2px solid #fff;
            padding: 0.75rem;
            font-size: 0.9rem;
            cursor: pointer;
            transition: background-color 0.3s, color 0.3s;
            text-transform: lowercase;
            font-family: 'Space Mono', monospace;
            margin-top: 1rem;
            text-decoration: none;
}

.rsvp-button:hover {
        background-color: #fff;
        color: #000;
    }

.container {
    display: grid;
    min-height: 100%;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto 1fr auto;
    grid-template-areas:
        "header"
        "event-info"
        "album-art"
        "cta";
}

.header {
    grid-area: header;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 1rem;
    text-align: center;
    padding-bottom: 5rem;
}

.event-info {
    grid-area: event-info;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 1rem;
    
}

.tagline {
    padding-bottom: 1rem;
}

.album-art {
    grid-area: album-art;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: hidden;
}


.about {
    font-size: 1rem;
    font-weight: 300;
    margin: 1rem;
    font-family: 'Space Mono', monospace;
}   

.contact {
    font-size: 1rem;
    font-weight: 300;
    font-family: 'Space Mono', monospace;
}

a {
    color: #fff;
    text-decoration: underline;
    /* Set underline by default */
    position: relative;
    transition: color 0.3s ease;
}

.album-art img {
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: cover;
}

.cta-buttons {
    grid-area: cta;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cta-button {
    background-color: transparent;
    color: #fff;
    border: 2px solid #fff;
    padding: 0.75rem;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
    text-transform: lowercase;
    font-family: 'Space Mono', monospace;
}

.cta-button:hover {
    background-color: #fff;
    color: #000;
}

.signup-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}

.signup-form input {
    background-color: transparent;
    color: #fff;
    border: 2px solid #fff;
    padding: 0.75rem;
    font-size: 0.9rem;
    font-family: 'Space Mono', monospace;
    transition: background-color 0.3s, color 0.3s;
}

.signup-form input::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.signup-form input:focus {
    outline: none;
    background-color: rgba(255, 255, 255, 0.1);
}

.cta-button {
    background-color: transparent;
    color: #fff;
    border: 2px solid #fff;
    padding: 0.75rem;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
    text-transform: lowercase;
    font-family: 'Space Mono', monospace;
    text-align: center;
    text-decoration: none;
    display: inline-block;
}

.cta-button:hover {
    background-color: #fff;
    color: #000;
}


.about-content {
    padding: 2rem;
    color: #252525;
    line-height: 1.6;
}

.about-content p {
    margin-bottom: 1rem;
}

h1 {
    font-family: 'Karla', sans-serif;
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
    text-transform: lowercase;
    letter-spacing: 2px;
}

.event-info p {
    font-weight: 300;
    margin: 0.3rem;
}

@media (min-width: 768px) {
    .container {
        grid-template-columns: 30% 70%;
        grid-template-rows: auto 1fr auto;
        grid-template-areas:
            "header album-art"
            "event-info album-art"
            "cta album-art";
    }

    .header {
        text-align: left;
        padding-left: 20px;
    }

    
    .cta-buttons {
        background-color: rgba(0, 0, 0, 0.7);
    }
    .about-content {
            overflow-y: auto;
            max-height: 100vh;
        }

    .album-art {
        height: 80vh;
        width: 100%;
        padding-top: 10rem;
    }

    .album-art img {
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

         a {
             text-decoration: none;
             /* Remove underline for larger screens */
         }
    
         a::after {
             content: '';
             position: absolute;
             width: 100%;
             height: 1px;
             bottom: -2px;
             left: 0;
             background-color: #fff;
             transform: scaleX(0);
             transform-origin: bottom right;
             transition: transform 0.3s ease;
         }
    
         a:hover::after,
         a.active::after {
             transform: scaleX(1);
             transform-origin: bottom left;
         }
    
         /* Remove the hover effect for active links */
         a.active:hover::after {
             transform: none;
         }

    @media (max-width: 767px) {
        .album-art img {
            width: 100%;
        }

        a {
            text-decoration: underline;
        }

        .rsvp-button a {
            text-decoration: none;
        }
    }
}