/* NOTE: Forces scrollbar to always appear even when sidebar is open, so we don't get shifting browser viewport width */
.offcanvas-stop-scrolling {
    position: fixed;
    width: 100%;
    overflow-y: scroll;
}

.overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #000;
    transition: opacity ease 300ms;
    opacity: 0;
    pointer-events: none;
}

.offcanvas-stop-scrolling .overlay {
    display: block;
    z-index: 949;
    opacity: 0.5;
}

.navbar-offcanvas {
    background-color: #fff;
    position: fixed;
    width: 100%;
    max-width: 325px;
    left: -325px;
    padding: 0;
    z-index: 950;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: all 300ms ease-in;
    transition: all 300ms ease-in;
}

@media (max-width: 991px) {
    .navbar-offcanvas {
        padding-top: 58px;
    }
}
@media (min-width: 992px) {
    .navbar-offcanvas {
        padding-top: 105px;
    }
}

    .navbar-offcanvas.in {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    }

    .navbar-offcanvas.navbar-offcanvas-fade {
        opacity: 0;
    }

        .navbar-offcanvas.navbar-offcanvas-fade.in {
            opacity: 1;
        }

    .navbar-offcanvas.offcanvas-transform.in {
        -webkit-transform: translateX(350px);
        transform: translateX(350px);
    }

    .navbar-offcanvas.offcanvas-position.in {
        left: 0;
    }

    .navbar-offcanvas.navbar-offcanvas-right {
        left: auto;
        right: -325px;
    }

        .navbar-offcanvas.navbar-offcanvas-right.offcanvas-transform.in {
            -webkit-transform: translateX(-325px);
            transform: translateX(-325px);
        }

        .navbar-offcanvas.navbar-offcanvas-right.offcanvas-position.in {
            left: auto;
            right: 0;
        }

    .navbar-offcanvas .dropdown.active .caret {
        border-top: 0;
        border-bottom: 4px solid;
    }

    .navbar-offcanvas .dropdown-menu {
        position: relative;
        width: 100%;
        border: inherit;
        box-shadow: none;
        -webkit-transition: height 0.15s ease-in;
        transition: height 0.15s ease-in;
    }

        .navbar-offcanvas .dropdown-menu.shown {
            display: block;
            margin-bottom: 10px;
        }
