.navbar-toggler {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand {
    font-size: 1.1rem;
}

.bi {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-diagram-3-fill-nav-menu {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-diagram-3-fill' viewBox='0 0 16 16'%3E%3Cpath d='M4 13.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm0-9A1.5 1.5 0 1 1 1 4.5 1.5 1.5 0 0 1 4 4.5Zm8-.5a1.5 1.5 0 1 1 1.5 1.5A1.5 1.5 0 0 1 12 4Zm1.5 9.5a1.5 1.5 0 1 1-1.5-1.5 1.5 1.5 0 0 1 1.5 1.5Zm-2.396-2.147A2.487 2.487 0 0 0 9 11.5h-2a2.487 2.487 0 0 0-2.104-1.647l1.468-2.934A2.487 2.487 0 0 0 7 6.5h2a2.487 2.487 0 0 0 .636.419l1.468 2.934ZM14 4v1.126a2.501 2.501 0 0 1-1.5 4.623V11.5h-1.04l-.824-1.647A2.491 2.491 0 0 0 11 9.126V8.874a2.491 2.491 0 0 0-.364-1.251l-.824-1.647A2.491 2.491 0 0 0 9 4.874V4Zm-7 0v.874a2.491 2.491 0 0 0-1.364 1.102l-.824 1.647a2.491 2.491 0 0 0-.364 1.251v.252a2.491 2.491 0 0 0 .364 1.251l.824 1.647A2.491 2.491 0 0 0 7 11.126V12h2v-.874a2.491 2.491 0 0 0 1.364-1.102l.824-1.647A2.491 2.491 0 0 0 11 8.874v-.252a2.491 2.491 0 0 0-.364-1.251l-.824-1.647A2.491 2.491 0 0 0 8 4.874V4Zm-5.5 9.5A1.5 1.5 0 1 1 4 13.5 1.5 1.5 0 0 1 1.5 13.5Z'/%3E%3C/svg%3E");
}

.bi-gear-fill-nav-menu {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-gear-fill' viewBox='0 0 16 16'%3E%3Cpath d='M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z'/%3E%3Cpath d='M9.796 1.343c-.527-1.06-1.965-1.06-2.492 0l-.094.192a1.243 1.243 0 0 1-1.356.668l-.211-.038c-1.12-.2-2.012.969-1.516 1.91l.1.188a1.233 1.233 0 0 1-.282 1.502l-.156.13c-.958.737-.542 2.232.693 2.385l.228.027a1.233 1.233 0 0 1 1.09.853l.05.198c.18.696 1.234.696 1.414 0l.05-.198a1.233 1.233 0 0 1 1.09-.853l.228-.027c1.235-.153 1.651-1.648.693-2.385l-.156-.13a1.233 1.233 0 0 1-.282-1.502l.1-.188c.496-.941-.396-2.11-1.516-1.91l-.211.038a1.243 1.243 0 0 1-1.356-.668l-.094-.192zM12.454 5.93c.524-.63.046-1.635-.795-1.46l-.211.038a1.243 1.243 0 0 1-1.356-.668l-.094-.192c-.527-1.06-1.965-1.06-2.492 0l-.094.192a1.243 1.243 0 0 1-1.356.668l-.211-.038c-.841-.175-1.319.83-.795 1.46l.1.188a1.233 1.233 0 0 1-.282 1.502l-.156.13c-.958.737-.542 2.232.693 2.385l.228.027a1.233 1.233 0 0 1 1.09.853l.05.198c.18.696 1.234.696 1.414 0l.05-.198a1.233 1.233 0 0 1 1.09-.853l.228-.027c1.235-.153 1.651-1.648.693-2.385l-.156-.13a1.233 1.233 0 0 1-.282-1.502z'/%3E%3C/svg%3E");
}

.nav-item {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type {
        padding-top: 1rem;
    }

    .nav-item:last-of-type {
        padding-bottom: 1rem;
    }

    .nav-item ::deep .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item ::deep a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item ::deep .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler {
        display: none;
    }

    .nav-scrollable {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
