@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700,700i&display=swap');
@import url('https://fonts.googleapis.com/css?family=Raleway:300,300i,400,400i&display=swap');
html, body {
    font-family: 'Roboto', sans-serif;
}
:root {
    --root-blue: #01a0e2;
    --darker-blue: #0181b6;
    --root-blue-outline: rgba(1, 160, 226, 0.5);
    --sidebar-bg: var(--root-blue);
    --sidebar-divider: #2fb7ed;
    --sidebar-header-bg: var(--darker-blue);
    --sidebar-text: white;
    --sidebar-link-hover-color: var(--root-blue);
    --sidebar-link-hover-bg: white;

    --footer-bg: #efefef;
    --footer-border: #dedede;
}
h1, h2, h3, h4, h5, h6 {
    color: #5e7679;
    font-family: 'Raleway', sans-serif;
}
h1 small, h2 small, h3 small {
    display: block;
    font-size: 0.7em;
    color: #80a1a5;
}
.navbar-dark.bg-dark {
    background-color: var(--sidebar-header-bg) !important;
}
.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255,.8);
}
.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
    color: rgba(255,255,255,.9);
}
.wrapper {
    display: flex;
    width: 100%;
    align-items: stretch;
}
#sidebar {
    min-width: 250px;
    max-width: 250px;
    min-height: 100vh;
    background-color: var(--sidebar-bg);
    color: var(--sidebar-text);
    transition: all 0.3s;
}
#sidebar.active {
    margin-left: -250px;
}
@media (max-width: 768px) {
    #sidebar {
        margin-left: -250px;
    }
    #sidebar.active {
        margin-left: 0;
    }
}
#sidebar .sidebar-header, #sidebar .sidebar-footer {
    padding: 10px 0;
    background: var(--sidebar-header-bg);
}
#sidebar .sidebar-header:first-of-type {
    padding: 1px 5px;
}
#sidebar .sidebar-header h4 {
    color: var(--sidebar-text);
    text-align: center;
}
#sidebar ul.components {
    padding: 20px 0;
}
#sidebar ul li a {
    padding: 10px;
    color: var(--sidebar-text);
    font-size: 1.1em;
    display: block;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
}
#sidebar ul li a:hover, #sidebar ul li.active a {
    color: var(--sidebar-link-hover-color);
    background: var(--sidebar-link-hover-bg);
}
#sidebar ul li a i {
    width: 25px;
    text-align: center;
}
#sidebar ul li.divider {
    margin: 5px 15px;
    border-bottom: 1px solid var(--sidebar-divider);
}
#content {
    width: 100%;
    position: relative;
}
#content > .container-fluid {
    bottom: 0;
    position: absolute;
    top: 54px;
    overflow-y: auto;
    padding-bottom: 65px;
    margin-top: 15px;
}
.alert ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
footer {
    position: fixed;
    bottom: 0;
    left: 250px;
    right: 0;
    transition: all 0.3s;
    background-color: var(--footer-bg);
    border-top: 1px solid var(--footer-border);
    z-index: 1;
}
footer.sidebar-active, body.authentication-page footer {
    left: 0;
}

@media (max-width: 768px) {
    footer {
        left: 0;
    }
    footer.sidebar-active {
        left: 250px;
    }
}
.btn-primary, .btn-primary.disabled, .btn-primary:disabled, .custom-control-input:checked~.custom-control-label::before {
    background-color: var(--root-blue);
    border-color: var(--root-blue);
}
.btn-outline-primary {
    color: var(--root-blue);
    border-color: var(--root-blue);
}
.btn-outline-primary:hover, .btn-outline-primary:not(:disabled):not(.disabled).active, .btn-outline-primary:not(:disabled):not(.disabled):active, .show>.btn-outline-primary.dropdown-toggle {
    background-color: var(--root-blue);
    border-color: var(--root-blue);
}
.btn-outline-primary:not(:disabled):not(.disabled).active:focus, .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .show>.btn-outline-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem var(--root-blue-outline);
}
.btn-primary.focus, .btn-primary:focus, .custom-control-input:focus~.custom-control-label::before {
    box-shadow: 0 0 0 0.2rem var(--root-blue-outline);
}
.btn-primary:not(:disabled):not(.disabled):hover, .btn-primary:not(:disabled):not(.disabled):active {
    background-color: var(--darker-blue);
    border-color: var(--darker-blue);
}
#sidebar .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b {
    border-color: white transparent transparent !important;
}
.dropdown-menu a i {
    width: 25px;
    text-align: center;
}
.bg-two-months {
    background-color: #464cbb !important;
    border-color: #464cbb !important;
}
.bg-last-month {
    background-color: #31999b !important;
    border-color: #31999b !important;
}
.bg-this-month {
    background-color: #4aaa3e !important;
    border-color: #4aaa3e !important;
}
.bg-two-months .card-body,
.bg-last-month .card-body,
.bg-this-month .card-body {
    position: relative;
}
.bg-two-months .card-body i,
.bg-last-month .card-body i,
.bg-this-month .card-body i {
    position: absolute;
    top: 1rem;
    left: 1rem;
    font-size: 5rem;
    opacity: 0.2;
}
.text-white h1, .text-white h2, .text-white h3,
.text-white h4, .text-white h5, .text-white h6 {
    color: white !important;
}
.page-item.active .page-link {
    background-color: var(--root-blue);
    border-color: var(--root-blue);
}
.page-link {
    color: var(--root-blue);
}
.page-link:focus {
    box-shadow: 0 0 0 0.2rem var(--root-blue-outline);
}
.dropdown-item.active, .dropdown-item:active {
    background-color: var(--root-blue);
}
label.required::after {
    content: ' *';
    font-size: 0.8em;
    color: red;
}
.grecaptcha-badge {
    bottom: 40px !important;
}