/*
 * General
 */
body {
    font-size: .875rem;
}

body > footer {
    font-size: .8rem;
    background: rgba(0, 0, 0, .05);
}

/*
 * Misc
 */
.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

/**
 * Typeahead Z-Index to the top
 */
.typeahead {
    z-index: 1051;
}

/**
 * XS Buttons for Bootstrap 4
 */
.btn-group-xs > .btn, .btn-xs {
    padding: .35rem .3rem;
    font-size: .8rem;
    line-height: .7;
    border-radius: .2rem;
}

/*
 * Sidebar
 */
.sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    /* Behind the navbar */
    padding: 0;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

.sidebar-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 48px;
    /* Height of navbar */
    height: calc(100vh - 48px);
    padding-top: .5rem;
    overflow-x: hidden;
    overflow-y: auto;
    /* Scrollable contents if viewport is shorter than content. */
}

.sidebar .nav-link {
    font-weight: 500;
    color: #333;
}

.sidebar .nav-link.active {
    color: #007bff;
}

.sidebar ul.nav-sub {
    list-style-type: none;
    padding-left: 15px;
}
