
/*
 * Base structure
 */
.text-dark-blue {
    color: #294661
}

body {
    background: #efefef;
    box-sizing: border-box;
}

.card, .navbar, .pagination .page-item.active .page-link {
    box-shadow: 0 3px 6px 0px rgba(0,0,0,.13);
}

.progress-range.progress {
    overflow: unset;
    position: relative;
    height: 10px;
    border-radius: 1rem;
}

.courses .progress-range.progress {
    margin: 3rem 1rem 3rem 1rem;
}

.progress-range.progress .progress-bar {
    position: absolute;
    height: 10px;
    border-radius: 1rem;
}

.progress-range.progress .progress-mark {
    position: absolute;
    right: 0;
}
    .progress-range.progress .progress-mark .progress-mark-tooltip.actual {
        position: relative;
        top: -38px;
        right: -50%;
    }
        .progress-range.progress .progress-mark .progress-mark-tooltip.actual .progress-mark-tooltip-content {
            border-radius: .25rem;
        }

.progress-range.progress .progress-mark .progress-mark-tooltip.actual .progress-mark-tooltip-content.bg-success:before {
    border-top-color: #00c851 !important;
}
        .progress-range.progress .progress-mark .progress-mark-tooltip.actual .progress-mark-tooltip-content.bg-warning:before {
            border-top-color: #ffbb33 !important;
        }
        .progress-range.progress .progress-mark .progress-mark-tooltip.actual .progress-mark-tooltip-content.bg-lightblue:before {
            border-top-color: #4facff !important;
        }

        .progress-range.progress .progress-mark .progress-mark-tooltip.actual .progress-mark-tooltip-content:before {
            border-left: 6px solid transparent;
            border-right: 6px solid transparent;
            border-top: 8px solid transparent;
            left: calc(50% - 6px);
            bottom: -10px;
        }

    .progress-range.progress .progress-mark .progress-mark-tooltip.expected {
        position: relative;
        top: 38px;
        right: -50%;
    }

        .progress-range.progress .progress-mark .progress-mark-tooltip.expected .progress-mark-tooltip-content {
            border-radius: .25rem;
            background: #e5e5e5;
            color: #333;
        }

        .progress-range.progress .progress-mark .progress-mark-tooltip.expected .progress-mark-tooltip-content:before {
            border-left: 6px solid transparent;
            border-right: 6px solid transparent;
            border-bottom: 8px solid #e5e5e5;
            left: calc(50% - 6px);
            top: -10px;
        }

    .progress-range.progress .progress-mark .progress-mark-tooltip {
        text-align: center;
    }

    .progress-range.progress .progress-mark .progress-mark-tooltip .progress-mark-tooltip-content {
        padding: .25rem;
    }

    .progress-range.progress .progress-mark .progress-mark-tooltip .progress-mark-tooltip-content:before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        position: absolute;
    }
        .progress-range.progress .progress-mark .progress-mark-tooltip .progress-mark-tooltip-container {
            position: relative;
            display: block;
        }

        .progress-range.progress .progress-mark .progress-mark-tooltip .progress-mark-tooltip-label {
            text-align: center;
            color: #333;
            display: block;
            padding: .25rem;
        }

.dropdown-user .user-picture {
    height: 30px;
    width: 30px;
    overflow: hidden;
    border-radius: 100%;
    border: 2px solid #fff;
    background-color: #43425d;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    margin: 0 .25rem;
}
.user-picture::before {
    content: "";
    color: #fff;
    text-align: center;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    font-size: 11px;
    line-height: 27px;
}

.courses .card .progress {
    height: 10px;
}

.courses {
    margin-right: -25px;
    margin-left: -25px;
    padding-top: 25px;
}
    .courses > .col,
    .courses > [class*="col-"] {
        padding-right: 25px;
        padding-left: 25px;
        padding-bottom: 25px;
    }

    .card,
    .courses .card {
        border-radius: .75rem;
    }

    .card .card-header:first-child,
    .courses .card .card-header:first-child {
        border-radius: calc(.75rem - 1px) calc(.75rem - 1px) 0 0;
    }

    .card .card-footer:last-child,
    .courses .card .card-footer:last-child {
        border-radius: 0 0 calc(.75rem - 1px) calc(.75rem - 1px);
    }
        .courses .card .card-footer {
            padding-top: .5rem;
            padding-bottom: .5rem;
            color: #919FB2;
        }
            .courses .card .card-footer .btn-outline-primary {
                font-weight: bold;
                box-shadow: none;
                padding: .25rem .75rem;
            }
/*
            .courses .card .card-footer .btn-outline-primary:hover {
                background: #4285f4 !important;
                color: #fff !important;
            }*/

    .courses .card .card-image {
        box-shadow: 0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);
        height: 70px;
        width: 70px;
        position: relative;
        margin-top: -40px;
        overflow: hidden;
        border-radius: 100%;
        border: 2px solid #fff;
        background-color: #fff;
        background-position: top center;
        background-size: cover;
        background-repeat: no-repeat;
    }

    .courses .card-grade {
        font-size:1.5rem;
        font-weight:bold
    }

.card-scale {
    /*transition: transform 0.6s, background-color 0.8s;
    animation: slideInUp 1s;*/
    background-color: #fff;
    margin:1px;
}

.bg-gradient {
    background: rgb(63,94,251);
    background: radial-gradient(circle, rgba(63,94,251,1) 0%, rgba(70,168,252,1) 100%);
}

/*
 * Typography
 */

h1 {
    margin-bottom: 20px;
    padding-bottom: 9px;
    padding-top: 20px;
    padding-left: 40px;
    color: #294661;
    font-size: 30px;
    line-height: 40px;
    letter-spacing: -1px;
    opacity: 1;
    font-weight: 600;
}

h2 {
    font-size: 1.25rem;
    line-height: 25px;
    letter-spacing: -0.5px;
    color: #000;
    font-weight: 400;
}
    h2 .nav-link-icon {
        color: #445b6c;
    }

body .card .card-header {
    font-size: 1rem;
    color: #000;
}

/*
 * top row
 */
.logoContainer {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px 0 5px;
    background: #fff;
}
    .logoContainer .logo {
        max-height: 50px;
        max-width: 100%;
    }


.ionicons {
    margin-right: 10px;
}

.card-header .ionicons,
.nav-link .ionicons {
    font-size: 24px;
    margin-left: 0px;
    margin-right: 10px;
    vertical-align: middle;
    left: -1.14286em;
    width: 1.14286em;
}

body .navbar.top-navbar {
    box-shadow: 0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);
    background: #fff;
    border: 0;
    height:70px;
    padding: 0 .5rem;
}
    body .navbar.top-navbar .navbar-nav {
        align-items: center !important;
    }

    body .navbar.top-navbar .navbar-nav-link .fa {
        color: #BCBCCB
    }

    body .navbar.top-navbar .nav-item.nav-divider {
        border-right: 1px solid rgba(0, 0, 0, .1);
        margin-right: 1rem;
        height: 22px;
    }

    body .navbar.top-navbar .nav-item .dropdown-menu a {
        padding: .25rem 1.5rem
    }
    body .navbar.top-navbar .nav-item > a,
    body .navbar.top-navbar .nav-item .dropdown > a {
        border-radius: .25rem;
    }

    body .dropdown-divider {
        border-color: #ddd;
    }


.bg-lightblue {
    background: #4FACFF;
}

.text-lightblue {
    color: #4FACFF;
}

.bg-orange {
    background: #EC9B3B;

}

.card-scale .card-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #000;
    display: inline-block;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
}

/*
<576px 	Small
≥576px 	Medium
≥768px 	Large
≥992px 	Extra large
≥1200px
*/


@media (min-width:576px) {
}

@media (max-width:768px) {
    .border-top-md-down {
        border-top: 1px solid #dee2e6 !important
    }

    .border-right-md-down {
        border-right: 1px solid #dee2e6 !important
    }

    .border-bottom-md-down {
        border-bottom: 1px solid #dee2e6 !important
    }

    .border-left-md-down {
        border-left: 1px solid #dee2e6 !important
    }
}

@media (min-width:768px) {
    .border-top-md-up {
        border-top: 1px solid #dee2e6 !important
    }

    .border-right-md-up {
        border-right: 1px solid #dee2e6 !important
    }

    .border-bottom-md-up {
        border-bottom: 1px solid #dee2e6 !important
    }

    .border-left-md-up {
        border-left: 1px solid #dee2e6 !important
    }
}

@media (min-width:992px) {}

@media (min-width:1200px) {}

body .ajax__calendar_container {
    z-index: 1;
    overflow: hidden;
}
body .ajax__calendar_dayname,
body .ajax__calendar_day {
    font-size: 11px;
    height: 20px;
    width: 20px;
}

body .ajax__calendar_days,
body .ajax__calendar_months,
body .ajax__calendar_years {
    width: 161px;
}

.modalBackground {
    background-color: #000;
    opacity:.5;
}

.announcement img {
    max-width: 100% !important;
}

/*required fields */
body .ddreq, body .tbreq, body .tbdtreq {
    background-color: #ffffcc !important;
}
select.ddreq + span.select2-container > span.selection > span.select2-selection {
    background-color: #ffffcc !important;
}

h2 i.fa {
    margin-right: 0.25rem;
}

/*table row padding*/
table.table td, table.table th {
    padding-top: .5rem;
    padding-bottom: .5rem;
    vertical-align:middle;
}

.navbar.top-navbar {
    padding: 0rem 1rem;
}

.top-navbar .nav-item .navbar-nav-link {
    padding: .5rem 0;
}

.top-navbar .navbar-nav-link.badge-icon {
    position: relative;
    margin-right: 1rem;
    min-width: 26px
}

.top-navbar .navbar-nav-link.badge-icon .badge-notify {
    position: absolute;
    top: 5px;
    left: 8px;
    padding: 0;
    background: rgba(255, 0, 0, .8);
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    color: #fff;
    font-size: .6em;
}

.chart-container {
    padding-bottom:20px;
    height:335px;
    width:100%; 
    position:relative;
}

.small-thumb {
    max-width:70px;
    max-height:70px;
    overflow:hidden;
    border-radius:.25rem;
    display:inline-block;
}

    .small-thumb img {
        max-width: 100%;
        height: auto;
    }

.table th {
    font-weight:bold;
}

.select2-container--open {
    z-index: 9999999
}

.select2 {
    width: 100% !important;
}
