html,
body {
    height: 100%;
    overflow: hidden;
}

body {
    overflow-y: scroll !important;
    padding-right: 0 !important;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: gainsboro;
}

::-webkit-scrollbar-thumb {
    background: #a8b1bb;
}

::-webkit-scrollbar-thumb:hover {
    background: #a8b1bb;
}

::-moz-selection {
    color: #fff;
    background: var(--color-submenu-active-background);
}

::selection {
    color: #fff;
    background: var(--color-submenu-active-background);
}

input[type="checkbox"]:focus {
    box-shadow: none !important;
    outline: none !important;
}

.input-group {
    border-radius: 0.25rem;
}

body>.preloader {
    background: #ffffff40 !important;
}

.preloader {
    z-index: 10 !important;
}

.light-style .layout-navbar {
    background-color: #efefef !important;
}

.light-style .menu .app-brand.demo {
    padding-top: 16px;
    margin-bottom: 10px;
}

.menu-inner-shadow {
    top: 8rem !important;
    opacity: 0.1;
}

.progress {
    height: 1.5rem;
    font-size: 1rem;
    width: 180px;
}

.bg-light {
    background-color: #F9F9F9 !important;
}

.text-wrap {
    white-space: normal;
}

.width-200 {
    width: 200px;
}

.width-150 {
    width: 150px;
}

.width-100 {
    width: 100px;
}

.width-90 {
    width: 90px;
}

.min-width-140 {
    min-width: 140px;
}
.min-width-120 {
    min-width: 120px;
}
.min-width-110 {
    min-width: 110px;
}

.max-width-170 {
    max-width: 170px;
}

.min-h-0 {
    min-height: 0;
}

.offcanvas-end {
    width: 420px;
}

.swal2-container {
    padding-top: 1.75rem !important;
}

.swal2-title {
    margin: 0 !important;
}

.swal2-actions {
    margin-bottom: 0.5em !important;
}

.modal .msgContainer .btn-close {
    background-color: unset;
}
.modal .msgContainer .alert-dismissible .btn-close {
    padding: 1.05rem 1.25rem;
}

.no-shadow {
    box-shadow: none !important;
}

.select2-selection__rendered {
    max-height: 80px;
    overflow-y: visible !important;
}

.select2-selection--single {
    height: 100% !important;
}
.light-style .select2-container--default .select2-selection--single .select2-selection__rendered,
.light-style .select2-selection--multiple .select2-selection__rendered {
    padding-left: 0.735rem !important;
    padding-right: 0.735rem !important;
}

.select2-selection__rendered {
    word-wrap: break-word !important;
    text-overflow: inherit !important;
    white-space: normal !important;
}

.switch-input:focus ~ .switch-toggle-slider {
    box-shadow: none !important;
}

.menu-vertical .menu-inner {
    padding-bottom: 20px !important;
}

.table-link {
    color: #677788;
}
.subtitle {
    font-weight: 500;
}

.list-group-item-action:hover, .list-group-item-action:focus {
    z-index: 0;
}
.layout-navbar .dropdown .dropdown-menu{
    margin-top: 10px;
}
.layout-navbar .navbar-dropdown .dropdown-menu {
    min-width: 35rem;
    margin-top: 7px;
}

.iti__country-list {
    margin: -1px 0 0 -1px !important;
}

.dropzone {
    padding: 0 0 1.5rem;
    border: 2px dashed #69809a !important;
    border-top: 0 !important;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    margin-bottom: 20px;
}
.dz-message {
    margin: 0;
    padding: 5rem 0;
}
#studentDocumentsModal .document-title {
    background-color: #69809a;
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    margin: 0;
    padding: 0.7rem 1.25rem;
    border-top-left-radius: 0.3125rem;
    border-top-right-radius: 0.3125rem;
}
.dz-preview .progress {
    left: 1.2rem;
    width: 80%;
}

@media (min-width: 1400px) {
    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
        /* max-width: 1600px; */
        max-width: 98%;
    }
}

div.dataTables_wrapper div.dataTables_filter input {
    padding: 0.5rem 0.6rem;
}
div.dataTables_wrapper div.dataTables_length select {
    margin: 0 0.5rem;
    padding: 0.5rem 1.6rem 0.5rem 0.6rem;
    background-position: right 0.4rem center;
}
.dt-buttons {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

/* Custom CSS */
.content-wrapper .container-fluid {
    visibility: hidden;
}
.content-wrapper > .blockUI.blockElement {
    top: 200px !important;
}

.menu-vertical .app-brand-logo img {
    height: 100%;
}

.toast-top-right {
    top: 70px !important;
}

.iti {
    display: block !important;
}
.iti__country-list {
    margin: -1px 0 0 -1px !important;
}

.image-avatar {
    border: 1px solid #f1f1f1;
    background-color: #fbfbfb;
}


/* Custom offcanvas */
.offcanvas-header {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.offcanvas-header .btn-close {
    position: absolute;
    left: -35px;
    top: 22px;
    background-color: #fff;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.offcanvas-body {
    overflow-y: scroll;
}

.ck-content {
    height: 160px;
}

.ck-balloon-panel {
    z-index: 10000 !important;
}

.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label {
    width: 6em !important;
}

.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item {
    min-width: 8em !important;
}

.ck.ck-button:focus,
a.ck.ck-button:active,
a.ck.ck-button:focus {
    box-shadow: none !important;
    outline: none !important;
    border-color: var(--color-submenu-active-background) !important;
    background-color: var(--color-submenu-active-background) !important;
    color: #fff !important;
}

.ck.ck-input:focus {
    box-shadow: none !important;
    border-color: var(--color-submenu-active-background) !important;
}

.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable) {
    border-color: var(--color-submenu-active-background) !important;
    box-shadow: none !important;
}

.ck.ck-powered-by {
    display: none !important;
}

.fv-plugins-bootstrap5-row-invalid .ck.ck-editor .ck-toolbar,
.fv-plugins-bootstrap5-row-invalid .ck.ck-editor .ck-content,
.fv-plugins-bootstrap5-row-invalid .ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable) {
    border-color: #ff5b5c !important;
}

.select2-container--default .select2-search--inline .select2-search__field {
    width: 100% !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    white-space: normal;
}

/* Status progress */
[dir=ltr] .status-progress ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
    user-select: none;
}
[dir=ltr] .status-progress ul li {
    flex: 1;
    position: relative;
    background-color: #e7ebef;
    color: white;
    padding: 10px 30px 10px 40px;
    font-weight: 500;
    text-align: center;
    margin-right: 12px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    height: 36px;
    opacity: 0.3;
}
[dir=ltr] .status-progress ul li.active {
    opacity: 1;
}

[dir=ltr] .status-progress ul li .after {
    position: absolute;
    top: 0;
    right: -14.75px;
    width: 0;
    height: 0;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 15px solid #e7ebef;
}
[dir=ltr] .status-progress ul li .before {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 15px solid white;
}

[dir=ltr] .status-progress ul li:first-child {
    padding-left: 20px;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}
[dir=ltr] .status-progress ul li:first-child .before {
    display: none;
}

[dir=ltr] .status-progress ul li:last-child {
    padding-right: 20px;
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    margin-right: 0;
}
[dir=ltr] .status-progress ul li:last-child .after {
    display: none;
}

/* Status textares */
.status-form textarea {
    resize: none;
    height: 100px;
    overflow-y: auto;
}

/* Notes */
.notes {
    border: 1px solid #e7ebef;
}
.notes h5 {
    background-color: #e7ebef;
    text-align: center;
    margin-bottom: 0;
    padding: 12px 0;
}
.notes .timeline-content {
    max-height: calc(100vh - 500px);
    transition: max-height 0.3s ease-in-out;
}
.notes.msg-visible .timeline-content {
    max-height: calc(100vh - 562px);
}

.notes .timeline-content {
    overflow-y: auto;
    padding: 30px 35px 45px;
}
.notes .timeline {
    margin-bottom: 0;
}

/* Notifications */
.dropdown-notifications-item b {
    font-weight: 600 !important;
}

.dropdown-notifications .nav-align-top .tabs-line + .tab-content {
    box-shadow: unset;
}
.dropdown-notifications .nav-link {
    padding-top: 0.70rem;
    padding-bottom: 0.70rem;
}

/* Custom rtl */
.form-control[dir="rtl"]:focus::placeholder {
    transform: translate(-5px) !important;
}

/* Custom responsive style */
@media (min-width: 768px) {
    html:not([dir="rtl"]) .border-md-end {
        border-right: 1px solid #d4d8dd !important;
    }
    html[dir="rtl"] .border-md-end {
        border-left: 1px solid #d4d8dd !important;
    }
    .border-md-bottom-0 {
        border-bottom: 0 !important;
    }
}

@media (max-width: 767.98px) {
    .offcanvas {
        max-width: 90% !important;
    }

    .btn {
        --bs-btn-padding-x: 0.85rem;
    }
    .card {
        --bs-card-spacer-x: 1rem;
        --bs-card-cap-padding-x: 1rem;
    }

    /* swal2-container */
    .swal2-container {
        padding-top: 3.9rem !important;
    }
    .swal2-container .swal2-popup {
        width: 92% !important;
    }
    .swal2-container .swal2-popup .swal2-icon {
        width: 4em !important;
        height: 4em !important;
        margin-top: 2em !important;
    }
    .swal2-container .swal2-popup .swal2-title {
        font-size: 1.5rem !important;
        padding-top: 0.5em !important;
        max-width: unset !important;
    }
    .swal2-container .swal2-popup .swal2-html-container {
        margin-top: 0.5em !important;
    }
    .swal2-container .swal2-popup .swal2-confirm {
        margin-right: 0.5rem !important;
    }
    .swal2-container div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line] {
        top: 2em !important;
        width: 2em !important;
    }
    div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip] {
        top: 2.5em !important;
        left: 0.1em !important;
    }
    div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long] {
        top: 2em !important;
        right: .25em !important;
    }

    .notes .timeline-content {
        padding: 20px 25px 35px;
    }
}