/* Navbar container styles */

#navbar {
    border-style: solid;
    border-width: 3px 0;
    border-color: var(--fg);
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 1rem 4rem;
    margin-bottom: 2rem;
}

/* Sub-container spacings */

#navbar-pages,
#navbar-socials {
    display: flex;
    gap: 2rem;
    justify-content: left;
}

/* Image operations for social icons */

#navbar-socials svg {
    color: var(--fg);
    fill: var(--fg);
    width: 2rem;
}

#navbar-socials a {
    padding-bottom: 0;
}

#apache-email svg {
    width: 1rem;
    height: auto;
}

/* Text operations on the page titles */

#navbar-pages a {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 1.4rem;
}

/* Style like a button */

.raise-button {
    border-style: solid;
    border-width: 3px;
    border-color: var(--fg);
    padding: 0.3rem;
    text-decoration: none;
}

/* Raise animation */

.raise-button:hover {
    --button-distance: 5px;
    transform: translateY(calc(-1 * var(--button-distance)));
    box-shadow: 0px var(--button-distance) var(--fg);

    --anim-duration: 0.05s;
    transition:
        box-shadow linear var(--anim-duration),
        -webkit-transform linear var(--anim-duration);
    transition:
        transform linear var(--anim-duration),
        box-shadow linear var(--anim-duration);
    transition:
        transform linear var(--anim-duration),
        box-shadow linear var(--anim-duration),
        -webkit-transform linear var(--anim-duration);
}

/* Dark mode toggle */

#navbar-toggle {
    display: flex;
    justify-content: center;
    align-items: center;

    --ball-size: 1.5rem;
    --socket-width: 3rem;
    --socket-height: 1.2rem;
}

#navbar-toggle-socket {
    width: var(--socket-width);
    height: var(--socket-height);
    margin-left: calc(var(--ball-size) / -2);

    border-radius: 4rem;
    background-color: var(--fg);
}

#navbar-toggle-ball {
    background-color: var(--bg);
    border-style: solid;
    border-color: var(--fg);
    border-radius: 100%;
    cursor: pointer;

    width: var(--ball-size);
    height: var(--ball-size);
    margin-right: calc(var(--ball-size) / -2);
    z-index: 1;

    transition: transform ease 0.5s;
}

.toggled {
    transform: translateX(calc(var(--socket-width) - calc(var(--ball-size) / 2)));
}

/* Theme selector popup */

#theme-menu {
    display: none;
    position: fixed;
    z-index: 10;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    backdrop-filter: blur(8px);
    justify-content: center;
    align-items: center;
    font-size: 4rem;
}

#theme-menu-content {
    vertical-align: middle;
    padding: 0 6rem;
    background-color: var(--bg);
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 1.4rem;
}

#theme-menu-content button {
    font-size: 1.5rem;
    text-transform: uppercase;
    background-color: var(--bg);
    color: var(--fg);
}

#theme-menu-container {
    text-align: center;
}
