#app-navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: transparent;
    transition: background-color 0.3s ease;
    border: 0;
}

#app-navbar a {
    color: #000;
}

#app-navbar.reveal {
    background-color: var(--color-background);
}

#hero-section {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 7rem 0;
    height: 100vh;
    background-image: url(/static/hero-graphics.png), linear-gradient(var(--color-pink) 90%, var(--color-background) 100%);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

#hero-container {
    width: 100%;
    text-align: center;
    overflow: hidden;
}

#hero-title-container {
    display: inline-block;
}

#hero-container h1 {
    overflow: hidden;
    white-space: nowrap;
    font-family: "Roboto Mono", monospace;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 6rem;
    border-right: 1px solid black;
    animation: 
        blinking 1s steps(1, end) infinite,
        typing 2s steps(11, end);
}

@keyframes blinking {
    0% { border-color: transparent }
    50% { border-color: black; }
    100% { border-color: transparent; }
}

@keyframes typing {
    0% { width: 0 }
    100% { width: 100% }
}

.section-title {
    font-family: "Roboto Mono", monospace;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    font-size: 2rem;
}

#hero-container p {
    font-size: 2rem;
}

#collections-section {
    padding: 6rem 1rem 3rem;
    background-color: var(--color-background);
}

#collections-section h2 {
    margin-left: 7rem;
}

#collections-section h2 span {
    font-weight: 500;
    text-decoration: underline;
}

#collections-showcase-image {
    height: 600px;
    margin-top: 4rem;
    background-image: url(/static/collections-showcase.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

#colors-section h2 {
    max-width: 600px;
    margin-left: auto;
    margin-right: 7rem;
}

#colors-section {
    padding: 3rem 1rem;
    background-color: var(--color-background);
}

#colors-showcase-image {
    height: 600px;
    margin-top: 4rem;
    background-image: url(/static/colors-showcase.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#privacy-section {
    text-align: center;
    padding: 3rem 0.5rem 6rem;
    background-color: var(--color-background);
}

#privacy-section h3 {
    margin-top: 2rem;
    font-weight: 400;
}

#join-section {
    text-align: center;
    padding: 7rem 0.5rem;
    background-image: linear-gradient(to top, var(--color-pink) 90%, var(--color-background) 100%);
}

#join-section h2 {
    font-weight: 300;
    font-size: 3rem;
}

#join-section h2 span {
    font-weight: 400;
    font-family: sans-serif;
}

#join-section-links-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin-top: 4rem;
}

.btn-white {
    background-color: #fff;
    border-color: #fff;
}

.btn-white:hover,
.btn-white:active,
.btn-white:focus {
    background-color: #D3D4D5 !important;
    border-color: #D3D4D5 !important;
}

@media (max-width: 1024px) {
    #hero-section {
        background-image: url(/static/hero-graphics-mobile.png), url(/static/hero-graphics-mobile.png), linear-gradient(var(--color-pink) 90%, var(--color-background) 100%);
        background-position: top, bottom, center;
    }
    
    #hero-container h1 {
        font-size: 4rem;
    }

    #collections-showcase-image {
        background-image: url(/static/collections-showcase-mobile.png);
    }

    #collections-section h2 {
        margin-left: 2rem;
    }
}

@media (max-width: 575px) {
    #hero-container h1 {
        font-size: 2.3rem;
    }
    #hero-container p {
        font-size: 1.2rem;
    }

    #collections-section h2 {
        margin-left: 0;
    }

    #join-section h2 {
        font-size: 2.3rem;
    }

    #join-section-links-container {
        flex-direction: column;
    }

    #colors-section h2 {
        margin: 0;
    }
}