html {
    font-size: 16px;
    -ms-overflow-style: auto;
}

body {
    color: #797979;
    background: #f1f2f7;
    -webkit-overflow-scrolling: touch;
}

.bg {
    background-color: #337ab7;
    height: 3px;
    position: absolute;
    left: 0;
    right: 0;
}

aside .bg, aside .nav-brand, aside .nav-header, .header .nav, .userinfo .dropdown-item:first-child {
    display: none;
}

.header {
    background: #fff;
}

    .header .nav {
        margin-left: 15px;
        flex-wrap: nowrap;
    }

        .header .nav .dropdown {
            margin-right: 6px;
            display: flex;
            align-items: center;
        }

    .header .badge {
        position: absolute;
        right: -12px;
        top: -4px;
        opacity: 0.8;
        z-index: 1;
    }

    .header .navbar {
        padding: 0 0 0 1rem;
    }

        .header .navbar .dropdown-menu {
            padding: 0.25rem 0;
        }

        .header .navbar .dropdown-menu-arrow {
            width: 0;
            height: 0;
            border-width: 0 6px 6px;
            border-style: solid;
            border-color: transparent transparent rgba(0,0,0,.15);
            position: absolute;
            left: 16px;
            margin-top: -10px;
        }

            .header .navbar .dropdown-menu-arrow:after {
                content: " ";
                width: 0;
                height: 0;
                border-width: 0 6px 6px;
                border-style: solid;
                border-color: transparent transparent #fff;
                position: absolute;
                top: 1px;
                left: -6px;
            }

    .header .dropdown-menu {
        padding: 0;
    }

.userinfo img {
    height: 29px;
    width: 29px;
    border-radius: 2px;
}

.userinfo .dropdown-toggle {
    display: block;
    padding: 6px 6px;
    border-radius: 4px;
    transition: all .25s linear;
}

.userinfo .dropdown-toggle, .header .nav .dropdown > a {
    border: 1px solid #eee;
}

    .userinfo .dropdown-toggle:after {
        vertical-align: middle;
    }

    .userinfo .dropdown-toggle:hover, .userinfo.show .dropdown-toggle, .nav [data-toggle="dropdown"]:hover {
        color: #333;
        border: solid 1px #337ab7;
    }

.userinfo .dropdown-item {
    display: flex;
    width: 270px;
    padding: 0;
    justify-content: space-around;
    background-color: #fff;
}

    .userinfo .dropdown-item a {
        text-align: center;
        color: #777;
        padding: 15px 10px;
        flex: 1 1 33.333%;
    }

        .userinfo .dropdown-item a:hover {
            color: #333;
        }

        .userinfo .dropdown-item a i {
            font-size: 1.025rem;
            display: block;
            margin-bottom: 4px;
        }

    .userinfo .dropdown-item:first-child {
        border-radius: 4px 4px 0 0;
    }

        .userinfo .dropdown-item:first-child a:hover {
            color: #333;
        }

    .userinfo .dropdown-item:last-child {
        border-radius: 0 0 4px 4px;
    }

        .userinfo .dropdown-item:last-child a {
            color: #ca3a39;
            border-radius: 0 0 0.15rem 0.15rem;
            background: #a9d96c;
            background-image: linear-gradient(to bottom, #a9d96c 0%, #799e51 100%);
        }

            .userinfo .dropdown-item:last-child a:hover {
                color: #d40c0b;
            }

.userinfo .username {
    max-width: 90px;
    vertical-align: middle;
}

.userinfo .badge {
    left: 224px;
    right: auto;
    top: 6px;
}

.header .nav .dropdown > a {
    border-radius: 4px;
    padding: 6px 12px;
    transition: all .25s linear;
}

.header .nav .dropdown .dropdown-blazor {
    padding: 2px 4px;
}

    .header .nav .dropdown-blazor img {
        width: 28px;
        margin-top: 1px;
    }

.nav .dropdown-menu {
    width: 235px;
    border: none;
    margin-left: -98px;
    margin-top: 12px;
}

.nav .dropdown-arrow {
    border-style: solid;
    border-width: 0 9px 9px;
    position: absolute;
    left: 108px;
    top: -9px;
}

.nav .dropdown-header {
    color: #fff;
    padding: 0.5rem 0.625rem;
    border-radius: 4px 4px 0 0;
}

.nav .dropdown-footer {
    padding: 0.375rem 0;
    background-color: #f1f2f7;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.nav .dropdown-item {
    display: flex;
    border-bottom: 1px solid #EBEBEB;
    padding: 10px 12px;
    font-size: 0.75rem;
}

    .nav .dropdown-item:nth-of-type(odd), .cache-item:nth-of-type(odd) {
        background-color: rgba(0, 0, 0, 0.05);
    }

    .nav .dropdown-item.active, .nav .dropdown-item:active {
        color: #212529;
    }

    .nav .dropdown-item > :nth-child(2) {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        display: inline-block;
        flex: 1 1 auto;
        padding: 0 6px;
    }

    .nav .dropdown-item .small {
        font-weight: bold;
    }

a, a:hover, a:focus {
    text-decoration: none;
    outline: none;
}

body, .form-control, .dropdown-menu, .btn:not(.btn-lg):not(.btn-xs), .input-group-text, .popover-header {
    font-size: 0.875rem;
}

    .form-control:focus {
        border-color: #66afe9;
        -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6);
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6);
    }

.container-fluid {
    padding-top: 15px;
}

.sidebar-open aside {
    transform: translate(0);
}

.sidebar-open footer, .sidebar-open .container-fluid {
    display: none;
}

.sidebar {
    background: inherit;
}

    .sidebar .nav-item {
        margin: 2px 10px;
        flex: 1 1 auto;
    }

    .sidebar .nav-sidebar {
        margin: 6px 0;
    }

    .sidebar .nav-link {
        color: #aeb2b7;
        padding: 0.5rem 0.625rem;
        transition: background .3s linear, color .3s linear;
        white-space: nowrap;
        display: flex;
        align-items: center;
    }

        .sidebar .nav-link i:first-child {
            width: 22px;
        }

    .sidebar .sub {
        margin-top: 2px;
    }

        .sidebar .sub .nav-item {
            margin-right: 0;
        }

    .sidebar .nav-link .fa-angle-left {
        transition: all .3s linear;
        transform-origin: center;
    }

    .sidebar .nav-link:not(.collapsed) .fa-angle-left {
        transform: rotate(-90deg);
    }

    .sidebar .nav-sidebar > .nav-item > .nav-link:hover,
    .sidebar .nav-sidebar > .nav-item > .nav-link[aria-expanded="true"],
    .sidebar .show .nav-item .nav-link:hover:before,
    .sidebar .nav-sidebar .nav-item:not(.parent) .nav-link.active:before,
    .sidebar .nav-sidebar .nav-link.active {
        background-color: rgba(255,255,255,.1);
    }

    .sidebar .nav-sidebar .show .nav-link, .sidebar .nav-sidebar .collapsing .nav-link {
        background-color: transparent;
    }

    .sidebar .sub .nav-item .nav-link:before {
        background-color: transparent;
        content: '';
        position: absolute;
        left: 10px;
        right: 10px;
        border-radius: 4px;
        height: 37px;
        transition: all .3s linear;
    }

    .sidebar .sub .nav-item .nav-link i, .sidebar .sub .nav-item .nav-link span {
        z-index: 2;
        position: relative;
    }

.sidebar-toggle-box, .nav-brand span {
    font-size: 1.25rem;
}

.sidebar-toggle-box {
    display: block;
    color: #777;
    flex: 1 1 auto;
    padding: 0.625rem 0;
    white-space: nowrap;
    transition: color .3s linear;
}

    .sidebar-toggle-box:hover {
        color: #333;
    }

    .sidebar-toggle-box span {
        display: none;
    }

aside {
    transition: transform .3s ease-in-out;
    transform: translate(-100%);
    position: absolute;
    top: 89px;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 5;
    background: #2a3542;
}

.breadcrumb {
    border-top: solid 1px #ddd;
    background-color: transparent;
    border-radius: 0;
    padding: 8px 10px;
    margin-bottom: 0;
}

    .breadcrumb i {
        padding-right: 6px;
    }

.main-header {
    display: none;
}

footer {
    background: #5b6e84;
    color: #fff;
    padding: 10px 4px;
    height: 40px;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 4;
    display: flex;
}

    footer div {
        flex: 1 1 auto;
        text-align: center;
    }

.go-top {
    background: rgba(255,255,255,.5);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 4px;
}

    .go-top:hover {
        background-color: white;
    }

    .go-top i {
        color: #2A3542;
    }

.btn-fill {
    width: 100%;
}

.input-group .btn:focus, .btn-group .btn:focus, .page-link:focus {
    box-shadow: none;
}

.input-group .btn:not(.btn-secondary):not(.btn-primary):not(.btn-warning):not(.btn-info):not(.btn-danger) {
    background-color: #e9ecef;
    border-color: #ced4da;
}

.nav-link {
    transition: color .25s linear;
}

.close {
    transition: all .25s linear;
}

    .close:focus {
        outline: none;
    }

.dropdown-select + .dropdown-menu a:hover, .dropdown-select + .dropdown-menu .dropdown-item:hover {
    background: #007AC0;
    color: #fff;
}

.dropdown-menu {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.176);
}

    .dropdown-menu a, .dropdown-select + .dropdown-menu .dropdown-item {
        transition: all .25s linear;
        padding: 6px 20px;
        display: block;
    }

.dropdown-select + .dropdown-menu .dropdown-item {
    color: #007bff;
}

.dropdown-divider {
    margin: 0.125rem 0;
}

.dropdown-item.active, .dropdown-item:active {
    color: rgba(0, 0, 0, 0.9);
    background-color: rgba(0, 0, 0, 0.05);
}

.dropdown-item i + span {
    margin-left: 6px;
}

.tooltip-inner {
    max-width: 768px;
}

.is-invalid .tooltip-inner {
    background-color: #dc3545;
}

.is-invalid .arrow:before {
    border-top-color: #dc3545;
    border-bottom-color: #dc3545;
}

input.is-invalid {
    background-repeat: no-repeat;
    background-image: url('../images/error.png');
    background-position: right 8px center;
}

input.is-valid {
    background-repeat: no-repeat;
    background-image: url('../images/success.png');
    background-position: right 8px center;
}

input.pending {
    background-repeat: no-repeat;
    background-image: url(../images/loading-sm.gif);
    background-position: right 8px center;
}

.form-inline .form-group {
    margin-bottom: 15px;
}

    .form-inline .form-group .control-label {
        margin-right: 10px;
        width: 90px;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        justify-content: flex-start;
    }

.form-inline .form-row, .form-inline .row {
    flex: 1 1 100%;
}

.modal-header {
    background-color: #f5f5f5;
    padding: 10px 15px;
}

.modal-title {
    overflow-x: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.modal-body-fixed {
    max-height: calc(54vh);
    overflow-y: auto;
}

.nobar .fixed-table-toolbar {
    display: none;
}

.card {
    margin-bottom: 15px;
    box-shadow: 0 0 8px 0 rgba(0,0,0,.075), 0 2px 4px 0 rgba(255,255,255,0);
    border-top: solid 3px rgba(108, 117, 125, 0.6);
    transition: all linear .3s;
}

    .card:hover {
        box-shadow: 0 0 8px 0 rgba(0,0,0,.15), 0 2px 4px 0 rgba(255,255,255,0);
        border-top-color: #6c757d;
    }

    .card .card, .card .card:hover {
        box-shadow: none;
    }

.card-header {
    padding: 0.5rem 1rem;
}

.card .card-header a:not([data-toggle="popover"]) {
    color: #797979;
}

    .card .card-header a[data-toggle="collapse"] {
        display: block;
    }

        .card .card-header a[data-toggle="collapse"] i {
            transition: all .25s linear;
        }

        .card .card-header a[data-toggle="collapse"].collapsed i {
            transform: rotate(-90deg);
        }

    .card .card-header a.fa {
        transition: color .3s linear;
    }

        .card .card-header a.fa:hover {
            color: #333;
        }

.card .card-header i + span {
    margin-left: 6px;
}

.card .modal-footer {
    padding: 0.5rem 0rem;
}

.no-card-header .card-header {
    display: none;
}

.btn i + span, .badge i + span {
    margin-left: 4px;
}

.form-check-label {
    cursor: pointer;
}

.form-check-input + span, .form-check-input + label {
    max-width: 98px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
}

.bootstrap-table .table thead > tr > th {
    border-top: none;
}

.table-condensed > thead > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > tbody > tr > td {
    padding: 2px 0;
}

.fixed-table-loading {
    padding: 8px;
}

.bootstrap-table {
    margin-bottom: 15px;
}

    .bootstrap-table .fixed-table-body .table td > a {
        display: block;
    }

    .bootstrap-table .fixed-table-toolbar .columns-right .btn-group .dropdown-menu {
        padding-top: 8px;
    }

    .bootstrap-table .fixed-table-container .card-view .value {
        word-break: break-all;
    }

        .bootstrap-table .fixed-table-container .card-view .value > a, .bootstrap-table .fixed-table-container .card-view .value > div:not(.btn-group) {
            min-width: 60px;
            display: inline-block;
        }

    .bootstrap-table .card-view:not(:last-child) {
        margin-bottom: 6px;
    }

    .bootstrap-table .export .dropdown-menu a {
        min-width: 110px;
    }

    .bootstrap-table .export .dropdown-menu {
        padding-bottom: 8px;
    }

        .bootstrap-table .export .dropdown-menu li:hover {
            background-color: #f8f9fa;
        }

    .bootstrap-table td > .btn:not(:first-child) {
        margin-left: 5px;
    }

    .bootstrap-table .badge .fa {
        margin-right: 4px;
    }

    .bootstrap-table .fa-info {
        width: 9px;
    }

    .bootstrap-table .fixed-table-toolbar .bs-bars, .fixed-table-toolbar .search, .fixed-table-toolbar .columns {
        line-height: normal;
    }

    .bootstrap-table .bs-bars .toolbar {
        display: none;
    }

        .bootstrap-table .bs-bars .toolbar .btn i + span {
            display: none;
        }

    .bootstrap-table .bs-bars .gear .dropdown-menu {
        padding: 0;
    }

        .bootstrap-table .bs-bars .gear .dropdown-menu a {
            padding: 8px 12px;
            display: table-cell;
            color: #504d4d;
        }

            .bootstrap-table .bs-bars .gear .dropdown-menu a:not(:first-child) {
                border-left: solid 1px #aeb2b7;
            }

            .bootstrap-table .bs-bars .gear .dropdown-menu a:hover {
                color: #235e90;
            }

    .bootstrap-table td {
        word-break: break-all;
    }

    .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text {
        font-size: 0.875rem;
    }

    .bootstrap-table td, .bootstrap-table .fixed-table-container .table thead th .th-inner {
        padding: 0.5rem;
    }

        .bootstrap-table .fixed-table-container .table thead th .th-inner.sortable {
            padding-right: 30px;
        }

    .bootstrap-table .table tbody tr:nth-of-type(odd) {
        background-color: rgba(0,0,0,.05);
    }

    .bootstrap-table .fixed-table-container .fixed-table-body .table .bs-checkbox label {
        margin-bottom: 0;
    }

        .bootstrap-table .fixed-table-container .fixed-table-body .table .bs-checkbox label input[type='checkbox'] {
            cursor: pointer;
        }

    .bootstrap-table .fixed-table-container .fixed-table-body .table td .btn:not(.btn-lg) {
        font-size: 0.75rem;
        padding: 1px 5px;
    }

    .bootstrap-table .fixed-table-container .table tbody tr.selected td {
        background-color: rgba(0, 0, 0, 0.03);
    }

    .bootstrap-table .fixed-table-container .table.table-sm tbody td {
        padding: 0.3rem;
    }

    /* fix bootstrap bottom margin */
    .bootstrap-table .fixed-table-pagination > .pagination-detail, .bootstrap-table .fixed-table-pagination > .pagination {
        margin-bottom: -5px;
    }

    .bootstrap-table .fixed-table-toolbar .dropdown-menu label.dropdown-item {
        margin: 0;
        padding: 6px 20px;
    }

.bootstrap-table .fixed-table-toolbar .columns button i + span, .bootstrap-table .fixed-table-toolbar .search button i + span {
    display: none;
}

.fixed-table-toolbar .dropdown-menu {
    min-width: unset;
}

.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
    border-bottom: 0;
}

.popover {
    max-width: 320px;
    padding: 0;
}

.popover-body .bootstrap-table {
    margin: 0.25rem 0;
}

.popover-content {
    max-height: 240px;
    overflow-y: auto;
    overflow-x: hidden;
}

.file-drop-zone.clickable:hover {
    border: 1px dashed #999;
}

[data-toggle="LgbValidate"] input[type="text"], [data-toggle="LgbValidate"] input[type="password"] {
    padding-right: 30px;
}

.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(220, 53, 69,.6);
}

.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
    border-color: #28a745;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(40, 167, 69,.6);
}

.arrow-primary {
    border-color: transparent transparent #007bff;
}

.arrow-success {
    border-color: transparent transparent #28a745;
}

.arrow-info {
    border-color: transparent transparent #17a2b8;
}

.arrow-warning {
    border-color: transparent transparent #ffc107;
}

.arrow-danger {
    border-color: transparent transparent #dc3545;
}

.show .shadow-primary, .shadow-primary:hover {
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(0, 123, 255, 0.5);
    border-color: #007bff !important;
}

.show .shadow-success, .shadow-success:hover {
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(40, 167, 69, 0.5);
    border-color: #28a745 !important;
}

.show .shadow-info, .shadow-info:hover {
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(23, 162, 184, 0.5);
    border-color: #17a2b8 !important;
}

.show .shadow-warning, .shadow-warning:hover {
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(255, 193, 7, 0.5);
    border-color: #ffc107 !important;
}

.show .shadow-danger, .shadow-danger:hover {
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(220, 53, 69, 0.5);
    border: 1px solid #dc3545 !important;
}

.show .shadow-default, .shadow-default:hover {
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6);
    border: 1px solid #337ab7;
}

.mCSB_scrollTools {
    width: 10px;
}

.control-label > a {
    margin-left: 6px;
    color: #5bc0de;
}

.date > input {
    cursor: pointer;
}

.datetimepicker {
    padding: 4px;
}

    .datetimepicker table tr td span {
        white-space: nowrap;
    }

.form-inline .form-group-dropdown {
    display: flex;
    flex-wrap: nowrap;
}

    .form-inline .form-group-dropdown .control-label {
        padding: 6px 0;
        margin: 0 10px 0 0;
    }

    .form-inline .form-group-dropdown .dropdown, .form-inline .form-group-dropdown .dropup {
        display: inline-block;
    }

.swal2-popup .swal2-title {
    margin-bottom: 16px;
    font-size: 1.5rem;
}

.swal2-popup .swal2-styled {
    padding: 0.4em 1em;
}

.alert-info {
    border-left: solid 4px #53d0e4;
}

.alert-danger {
    border-left: solid 4px #f78792;
}

label[for] {
    cursor: pointer;
}

.form-inline .form-group .toggle {
    display: block;
}

.badge-md {
    font-size: 0.75rem;
    padding: 4px 6px;
}

.toggle .btn-default, .toggle.btn-default {
    text-shadow: 0 1px 0 #fff;
    background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
    background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
    background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
    border-color: #ccc;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
}

    .toggle .btn-default.active {
        background-image: none;
        background-color: #e0e0e0;
        border-color: #dbdbdb;
    }

        .toggle .btn-default.active:hover {
            color: #333;
            background-color: #d4d4d4;
            border-color: #8c8c8c;
        }

.toggle.btn .toggle-handle {
    display: inline-block;
    margin-left: 0;
}

.custom-control-label {
    color: #333;
    font-weight: bold;
}

    .custom-control-label:before, .custom-control-label::after {
        top: 3px;
    }

.file-preview .file-preview-thumbnails {
    display: flex;
}

.file-drop-zone .file-preview-thumbnails {
    cursor: pointer;
}

.krajee-default.file-preview-frame {
    cursor: default;
}
