.nav {
    --bs-nav-link-font-size: calc(20 * var(--rem-size));
    --bs-nav-link-color: var(--app-color-white);
    --bs-nav-link-hover-color: var(--app-color-blue-light);
    --bs-nav-link-padding-x: var(--app-nav-padding);

    .nav-item.current {
        --bs-nav-link-color: var(--app-color-blue-light);
    }

    .nav-link {
        &::after {
            display: block;
            margin-top: 0.55em;
            content: '';
            width: calc(66 * var(--rem-size));
            height: calc(1 * var(--rem-size));
            background-color: var(--app-color-blue-dark);
        }
    }
}

.main-nav {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    width: var(--app-nav-width);
    background-color: var(--app-nav-background-color);
}

.menu-logo {
    display: block;
    width: 100%;
    padding: var(--app-nav-padding);
}

.profile-widget {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    margin-bottom: 1.25rem;

    .profile-widget-icon {
        margin-top: 0.35em;
        width: calc(20 * var(--rem-size));
        height: calc(20 * var(--rem-size));
        color: var(--app-color-brand);
    }

    .profile-widget-name {
        font-size: calc(25 * var(--rem-size));
    }

    .profile-widget-links {
        display: flex;
        align-items: baseline;

        a {
            --bs-link-color-rgb: var(--bs-body-color);

            font-style: italic;
            display: block;
            padding: 0.5rem;
            text-decoration: none;
            text-align: center;

            &:hover,
            &:focus {
                text-decoration: underline;
            }
        }
    }
}
