html,
body {
    overflow-x: hidden; /* Prevent scroll on narrow devices */
}

@media (min-width: 767.98px) {
    .offcanvas-collapse {
        display: none;
    }
}

    @media (max-width: 767.98px) {
        .navbar-collapse {
            display: none;
        }

        .offcanvas-collapse {
            position: fixed;
            left: 0;
            bottom: 0;
            top: 0;
            margin-left: 1em;
            width: 100%;
            overflow-y: auto;
            background-color: #ffffff;
            transition: -webkit-transform .3s ease-in-out;
            transition: transform .3s ease-in-out;
            transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
            -webkit-transform: translateX(100%);
            transform: translateX(100%);
        }

            .offcanvas-collapse.open {
                -webkit-transform: translateX(-1rem);
                transform: translateX(-1rem); /* Account for horizontal padding on navbar */
            }
    }

.navbar-nav-offcanvas {
    color: darkgray;
    padding-left: 1em;
}

    .navbar-nav-offcanvas .nav-link {
        color: #696969 !important;
    }

    .nav-scroller {
    position: relative;
    z-index: 2;
    height: 2.75rem;
    overflow-y: hidden;
}

        .nav-scroller .nav {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
            padding-bottom: 1rem;
            margin-top: -1px;
            overflow-x: auto;
            color: rgba(255, 255, 255, .75);
            text-align: center;
            white-space: nowrap;
            -webkit-overflow-scrolling: touch;
        }

    .nav-underline {
        padding-top: .75rem;
        padding-bottom: .75rem;
        font-size: .875rem;
        color: var(--gray-dark);
    
    }

        .nav-underline :hover {
            color: var(--blue);
        }

    .nav-underline .active {
        font-weight: 500;
        color: var(--gray-dark);
    }

    .navbar-offcanvas-close {
        float: right;
        margin-right: .25em;
    }

    .fa-times.navbar-offcanvas-close {
        font-size: 1.5em;
    }

    .text-white-50 {
        color: rgba(255, 255, 255, .5);
    }

    .bg-purple {
        background-color: var(--purple);
    }

    .border-bottom {
        border-bottom: 1px solid #e5e5e5;
    }

    .box-shadow {
        box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
    }

    .lh-100 {
        line-height: 1;
    }

    .lh-125 {
        line-height: 1.25;
    }

    .lh-150 {
        line-height: 1.5;
    }


.avatar-circle {
    width: 60px;
    height: 60px;
    background-color: darkgray;
    text-align: center;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
}

.initials {
    position: relative;
    top: 15px; /* 25% of parent */
    font-size: 30px; /* 50% of parent */
    line-height: 30px; /* 50% of parent */
    color: #fff;
    font-weight: bold;
}