/*html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}*/


body {
    overflow-x: hidden;
    margin: 0;
    font-family: "Henry Sans", sans-serif;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.6;
    color: #212529;
    text-align: left;
    background-color: #f8fafc;
}

[tabindex="-1"]:focus:not(:focus-visible) {
    outline: 0 !important;
}

.is-invalid {
    border: 1px solid red;
}

.thead-color {
    background-color: #258987;
    font-weight: 900;
    color: white;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    margin-bottom: 0.5rem;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.2;
    color: inherit;
}

h1,
.h1 {
    font-size: 2.25rem;
}

h2,
.h2 {
    font-size: 1.8rem;
}

h3,
.h3 {
    font-size: 1.575rem;
}

h4,
.h4 {
    font-size: 1.35rem;
}

h5,
.h5 {
    font-size: 1.125rem;
}

h6,
.h6 {
    font-size: 0.9rem;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}


.form-label {
    margin-bottom: .5rem;
    font-weight: 700;
    color: #606266;
    font-size: 14px;
    line-height: 40px;
    vertical-align: middle;
    box-sizing: border-box;
}

.text-white {
    color: #fff !important;
}

.text-primary {
    color: #3490dc !important;
}

a.text-primary:hover,
a.text-primary:focus {
    color: #1d68a7 !important;
}

.text-secondary {
    color: #6c757d !important;
}

a.text-secondary:hover,
a.text-secondary:focus {
    color: #494f54 !important;
}

.text-success {
    color: #38c172 !important;
}

a.text-success:hover,
a.text-success:focus {
    color: #27864f !important;
}

.text-info {
    color: #6cb2eb !important;
}

a.text-info:hover,
a.text-info:focus {
    color: #298fe2 !important;
}

.text-warning {
    color: #ffed4a !important;
}

a.text-warning:hover,
a.text-warning:focus {
    color: #fde300 !important;
}

.text-danger {
    color: #e3342f !important;
}

a.text-danger:hover,
a.text-danger:focus {
    color: #ae1c17 !important;
}

.text-light {
    color: #f8f9fa !important;
}

a.text-light:hover,
a.text-light:focus {
    color: #cbd3da !important;
}

.text-dark {
    color: #343a40 !important;
}

a.text-dark:hover,
a.text-dark:focus {
    color: #121416 !important;
}

.text-body {
    color: #212529 !important;
}

.text-muted {
    color: #6c757d !important;
}

.text-black-50 {
    color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
    color: rgba(255, 255, 255, 0.5) !important;
}


.font-weight-light {
    font-weight: 300 !important;
}

.font-weight-lighter {
    font-weight: lighter !important;
}

.font-weight-normal {
    font-weight: 400 !important;
}

.font-weight-bold {
    font-weight: 700 !important;
}

.font-weight-bolder {
    font-weight: bolder !important;
}

.font-italic {
    font-style: italic !important;
}


/* --- CARD BASE --- */

.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem;
}

    .card > hr {
        margin-right: 0;
        margin-left: 0;
    }

    .card > .list-group {
        border-top: inherit;
        border-bottom: inherit;
    }

        .card > .list-group:first-child {
            border-top-width: 0;
            border-top-left-radius: calc(0.25rem - 1px);
            border-top-right-radius: calc(0.25rem - 1px);
        }

        .card > .list-group:last-child {
            border-bottom-width: 0;
            border-bottom-right-radius: calc(0.25rem - 1px);
            border-bottom-left-radius: calc(0.25rem - 1px);
        }

        .card > .card-header + .list-group,
        .card > .list-group + .card-footer {
            border-top: 0;
        }
.card {
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.2);
    margin-bottom: 1rem;
}

.card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    background-color: rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

    .card-header:first-child {
        border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
    }

.card-title {
    margin-bottom: 0.75rem;
}
.card-title {
    float: left;
    font-size: 1.1rem;
    font-weight: 400;
    margin: 0;
}

.card-body {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 1px;
    padding: 1.25rem;
}

    .card-body > .table {
        margin-bottom: 0;
    }

        .card-body > .table > thead > tr > th,
        .card-body > .table > thead > tr > td {
            border-top-width: 0;
        }

    .card-body .fc {
        margin-top: 5px;
    }

    .card-body .full-width-chart {
        margin: -19px;
    }

    .card-body.p-0 .full-width-chart {
        margin: -9px;
    }
    .card-body.p-0 .table thead > tr > th:first-of-type,
    .card-body.p-0 .table thead > tr > td:first-of-type,
    .card-body.p-0 .table tfoot > tr > th:first-of-type,
    .card-body.p-0 .table tfoot > tr > td:first-of-type,
    .card-body.p-0 .table tbody > tr > th:first-of-type,
    .card-body.p-0 .table tbody > tr > td:first-of-type {
        padding-left: 1.5rem;
    }

    .card-body.p-0 .table thead > tr > th:last-of-type,
    .card-body.p-0 .table thead > tr > td:last-of-type,
    .card-body.p-0 .table tfoot > tr > th:last-of-type,
    .card-body.p-0 .table tfoot > tr > td:last-of-type,
    .card-body.p-0 .table tbody > tr > th:last-of-type,
    .card-body.p-0 .table tbody > tr > td:last-of-type {
        padding-right: 1.5rem;
    }

.card-body {
    flex: 1 1 auto;
    min-height: 1px;
    padding: 1.25rem;
}

    .card-header::after,
    .card-body::after,
    .card-footer::after {
        display: block;
        clear: both;
        content: "";
    }
.card-footer {
    padding: 0.75rem 1.25rem;
    background-color: rgba(0, 0, 0, 0.03);
    border-top: 1px solid rgba(0, 0, 0, 0.125);
}

    .card-footer:last-child {
        border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
    }

.card-header-tabs {
    margin-right: -0.625rem;
    margin-bottom: -0.75rem;
    margin-left: -0.625rem;
    border-bottom: 0;
}

.card-header-pills {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
}


/* --- CONTENT BASE --- */
.content-header {
    padding: 15px 0.5rem;
}

.text-sm .content-header {
    padding: 10px 0.5rem;
}

.content-header h1 {
    font-size: 1.8rem;
    margin: 0;
}

.text-sm .content-header h1 {
    font-size: 1.5rem;
}

.content-header .breadcrumb {
    background-color: transparent;
    line-height: 1.8rem;
    margin-bottom: 0;
    padding: 0;
}

.text-sm .content-header .breadcrumb {
    line-height: 1.5rem;
}



.callout {
    border-radius: 0.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    background-color: #fff;
    border-left: 5px solid #e9ecef;
    margin-bottom: 1rem;
    padding: 1rem;
}

    .callout a {
        color: #495057;
        text-decoration: underline;
    }

        .callout a:hover {
            color: #e9ecef;
        }

    .callout p:last-child {
        margin-bottom: 0;
    }

    .callout.callout-danger {
        border-left-color: #bd2130;
    }

    .callout.callout-warning {
        border-left-color: #d39e00;
    }

    .callout.callout-info {
        border-left-color: #117a8b;
    }

    .callout.callout-success {
        border-left-color: #1e7e34;
    }

/* --- SIDEBAR BASE --- */
/* Sidebar base */
.sidebar {
    width: 250px;
    min-height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #1E398D;
    color: #fff;
    transition: width 0.3s;
    z-index: 1040;
}

    .sidebar .nav-link {
        color: #fff;
        white-space: nowrap;
    }

        .sidebar .nav-link:hover {
            background-color: rgba(255,255,255,0.1);
        }

.sidebar-brand {
    font-size: 1.25rem;
    font-weight: bold;
    padding: 1rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #4b545c;
}

    .sidebar-brand img {
        height: 40px;
        filter: brightness(0) invert(1);
    }

/* Collapsed (icon-only) */
.sidebar.collapsed {
    width: 70px;
}

    .sidebar.collapsed .brand-text,
    .sidebar.collapsed .link-text {
        display: none;
    }

    .sidebar.collapsed .nav-link {
        text-align: center;
    }

    /* Expand on hover */
    .sidebar.collapsed:hover {
        width: 250px;
    }

        .sidebar.collapsed:hover .brand-text,
        .sidebar.collapsed:hover .link-text {
            display: inline;
        }

        .sidebar.collapsed:hover .nav-link {
            text-align: left;
        }

/* Content wrapper */
.content-wrapper {
    margin-left: 250px;
    transition: margin-left 0.3s;
}

    .content-wrapper.collapsed {
        margin-left: 70px;
    }
/* When sidebar expands on hover, also push content wrapper */
.sidebar.collapsed:hover ~ .content-wrapper {
    margin-left: 250px;
}

/* --- MOBILE OVERLAY --- */
@media (max-width: 991.98px) {
    .sidebar {
        transform: translateX(-100%);
        width: 250px;
        position: fixed;
    }

        .sidebar.show {
            transform: translateX(0);
        }

    .content-wrapper {
        margin-left: 0 !important;
    }
    /* overlay background */
    #sidebarBackdrop {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.5);
        z-index: 1039;
    }

        #sidebarBackdrop.show {
            display: block;
        }
}
