:root {
    --sidebar-width: 250px;
    --sidebar-bg: #343a40;
    --sidebar-text: #fff;
}

body {
    overflow-x: hidden;
    background-color: #f8f9fa;
}

#wrapper {
    display: flex;
    width: 100%;
    min-height: 100vh;
}

#sidebar-wrapper {
    min-height: 100vh;
    margin-left: -15rem;
    transition: margin .25s ease-out;
    background-color: var(--sidebar-bg);
    color: var(--sidebar-text);
    width: 15rem;
}

#sidebar-wrapper .sidebar-heading {
    padding: 0.875rem 1.25rem;
    font-size: 1.2rem;
    font-weight: bold;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

#sidebar-wrapper .list-group {
    width: 15rem;
}

#sidebar-wrapper .list-group-item {
    background-color: var(--sidebar-bg);
    color: rgba(255, 255, 255, 0.8);
    border: none;
    padding: 1rem 1.25rem;
}

#sidebar-wrapper .list-group-item:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: #fff;
}

#sidebar-wrapper .list-group-item.active {
    background-color: #0d6efd;
    color: #fff;
    font-weight: bold;
}

#page-content-wrapper {
    width: 100%;
}

body.sb-sidenav-toggled #sidebar-wrapper {
    margin-left: 0;
}

@media (min-width: 768px) {
    #sidebar-wrapper {
        margin-left: 0;
    }

    #page-content-wrapper {
        min-width: 0;
    }

    body.sb-sidenav-toggled #sidebar-wrapper {
        margin-left: -15rem;
    }
}

.navbar-toggler-icon-custom {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    width: 1.5em;
    height: 1.5em;
    display: inline-block;
    vertical-align: middle;
}
