﻿/*This sheet is for new global custom utilities and platform-wide styles that need to apply regardless of instance.*/

/*Default Themed Settings*/

:root {
    --themed-banner-text-color: #FFFFFF;
    --themed-custom-primary: #007ce2;
    --themed-special-font-family: Inter, "Noto Color Emoji", Helvetica, "sans-serif";
    --themed-banner-text-visibility: visible;
    --themed-banner-text-color: #FFFFFF;
    --themed-body-font-family: Inter, "Noto Color Emoji", Helvetica, "sans-serif";
    --auth-bg: unset;
}

.auth-bgi {
    background: var(--bs-primary);
    background-image: var(--auth-bg);
    background-image: var(--auth-bg), linear-gradient(110deg, var(--bs-primary-gradient-start) 0%, var(--bs-primary-gradient-end) 100%) !important;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/*Special Font (Whitelabel)*/
.ff-special {
    font-family: "Inter", "Noto Color Emoji", Helvetica, "sans-serif";
}

/*Special Font (Wavoto)*/
/*html.wavoto .ff-special {
    font-family: "Lexend", "Noto Color Emoji", Helvetica, "sans-serif";
}*/

/*Misc. Fonts*/
.ff-inter {
    font-family: "Inter", "Noto Color Emoji", Helvetica, "sans-serif" !important;
}

.ff-roboto {
    font-family: "Roboto", "Noto Color Emoji", Helvetica, "sans-serif" !important;
}

.ff-lato {
    font-family: "Lato", "Noto Color Emoji", Helvetica, "sans-serif" !important;
}

.ff-noto-sans {
    font-family: "Noto Sans", "Noto Color Emoji", Helvetica, "sans-serif" !important;
}

.ff-noto-serif {
    font-family: "Noto Serif", "Noto Color Emoji", Helvetica, "sans-serif" !important;
}

.ff-alegreya-sans {
    font-family: "Alegreya Sans", "Noto Color Emoji", Helvetica, "sans-serif" !important;
}

.ff-merriweather {
    font-family: "Merriweather", "Noto Color Emoji", Helvetica, "sans-serif" !important;
}

.ff-lora {
    font-family: "Lora", "Noto Color Emoji", Helvetica, "sans-serif" !important;
}

.ff-eb-garamond {
    font-family: "EB Garamond", "Noto Color Emoji", Helvetica, "sans-serif" !important;
}

.ff-crimson-text {
    font-family: "Crimson Text", "Noto Color Emoji", Helvetica, "sans-serif" !important;
}


/*Custom Form Control (Base)*/

.form-control-color-custom {
    border-radius: 0.675rem;
    height: 2.5rem;
}

.form-control.form-control-custom,
.form-control.form-control-custom:focus,
.form-select.form-select-custom,
.form-select.form-select-custom:focus {
    font-weight: 400;
    color: var(--bs-gray-900);
    border: 1.4px solid var(--bs-gray-300);
}

    .form-control.form-control-custom:disabled,
    .form-control.form-control-custom:disabled:focus,
    .form-control.form-control-custom:disabled:active,
    .form-select.form-select-custom:disabled,
    .form-select.form-select-custom:disabled:active,
    .form-select.form-select-custom:disabled:focus {
        box-shadow: none !important;
        cursor: not-allowed;
        background-color: var(--bs-gray-50);
        color: var(--bs-gray-500);
        border: 1.4px solid var(--bs-gray-300) !important;
    }

.form-switch.form-check-custom .form-check-input {
    height: 1.75rem;
}

.form-switch.form-check-solid .form-check-input:not(:checked) {
    background-color: var(--bs-gray-400);
}

.form-floating > textarea.form-control.form-control-custom {
    height: unset !important;
    field-sizing: content;
    resize: none;
}

.form-control.form-control-custom:focus:not(.border-0):not(:disabled),
.form-control.form-control-custom:not(.border-0):not(:disabled):focus-within,
.form-select.form-select-custom:not(.border-0):not(:disabled):focus,
.form-control.form-control-custom:not(.border-0):not(:disabled):active,
.form-select.form-select-custom:not(.border-0):not(:disabled):active,
.e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error):not(.e-multiselect),
.e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error):not(.e-multiselect) {
    border-color: var(--bs-primary-300) !important;
}

    .form-control.form-control-custom:focus:not(.shadow-none):not(:disabled),
    .form-control.form-control-custom:not(.shadow-none):not(:disabled):focus-within,
    .form-select.form-select-custom:not(.shadow-none):not(:disabled):focus,
    .form-control.form-control-custom:not(.shadow-none):not(:disabled):active,
    .form-select.form-select-custom:not(.shadow-none):not(:disabled):active,
    .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error):not(.e-multiselect):not(.sfDatePicker):not(.sf-custom-dateatime),
    .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error):not(.e-multiselect):not(.sfDatePicker):not(.sf-custom-dateatime) {
        box-shadow: 0px 0px 0px 4px var(--bs-primary-clarity) !important;
    }

/*Custom <select> picker*/

select.form-select, .form-select::picker(select) {
    appearance: base-select;
}

    select.form-select option:disabled {
        display: none;
    }

.form-select:open {
    border-color: var(--bs-primary-300) !important;
    box-shadow: 0px 0px 0px 4px var(--bs-primary-clarity) !important;
}

.form-select::picker(select) {
    border: none;
    box-shadow: var(--bs-menu-dropdown-box-shadow);
    border-radius: 0.5rem;
    background-color: var(--bs-menu-dropdown-bg-color);
    box-shadow: var(--bs-menu-dropdown-box-shadow);
    padding: 1rem;
    top: calc(anchor(auto) + 1px);
}

.form-select::picker-icon, .form-select option::checkmark {
    display: none;
}

.form-select option {
    padding: 0.75rem;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.5;
    border-radius: 0.5rem;
}

    .form-select option:hover, .form-select option:focus {
        background-color: var(--bs-menu-link-bg-color-hover);
        color: var(--bs-menu-link-color-hover);
        cursor: pointer;
    }

    .form-select option:checked {
        background-color: var(--bs-primary-light);
        color: var(--bs-menu-link-color-hover);
        cursor: pointer;
    }

    .form-select option:not(:last-child) {
        margin-bottom: 0.3rem;
    }

select option::checkmark {
    display: none
}

@media (max-width: 767px) {
    .form-select::picker(select) {
        position: fixed !important;
        transform: unset !important;
        inset: unset !important;
        left: unset !important;
        right: unset !important;
        top: 100% !important;
        width: 100vw !important;
        z-index: 2147483005 !important;
        padding-top: 1rem;
        padding-bottom: 2rem;
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
        max-height: calc(100vh - 120px);
        overflow-y: scroll;
    }

    .form-select:open::before {
        position: fixed;
        content: '';
        background: var(--bs-gray-900);
        opacity: 0.25;
        top: -10px;
        left: -10px;
        width: 110vw;
        height: 110vh;
        z-index: 2147483004 !important;
        cursor: default;
    }

    .form-select option {
        font-size: 1.5rem;
    }
}

/*Convert dropdown menus to pullup drawers on mobile*/
@media (max-width: 767px) {
    body:has(.menu-sub.menu-sub-dropdown.show) {
        overflow: hidden;
    }

    .menu-sub.menu-sub-dropdown.show {
        position: fixed !important;
        transform: unset !important;
        inset: unset !important;
        bottom: env(safe-area-inset-bottom) !important;
        left: env(safe-area-inset-left) !important;
        top: unset !important;
        width: 100% !important;
        z-index: 2147483005 !important;
        padding-top: 1rem;
        padding-bottom: 2rem;
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
        max-height: calc(100vh - 120px);
        overflow-y: scroll;
        gap: 0.15rem;
    }

    .menu-sub.menu-sub-dropdown .menu-title, .menu-sub.menu-sub-dropdown .menu-link, .menu-sub.menu-sub-dropdown .menu-icon, .menu-sub.menu-sub-dropdown .menu-content {
        font-size: 1.5rem;
    }

    .menu-sub.menu-sub-dropdown.show#kt_menu_notifications, .menu-sub.menu-sub-dropdown#kt_menu_notifications {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        height: 90vh;
        overflow-y: hidden !important;
    }

    .notification-entry-list > a:last-child {
        margin-bottom: 5rem;
    }

    @keyframes menu-sub-dropdown-animation-move-up {
        from {
            margin-bottom: -50vh;
        }

        to {
            margin-top: 0;
        }
    }

    @keyframes menu-sub-dropdown-animation-move-down {
        from {
            margin-bottom: -50vh;
        }

        to {
            margin-top: 0;
        }
    }

    .menu.menu-sub.menu-sub-dropdown.show::-webkit-scrollbar, .menu.menu-sub.menu-sub-dropdown.show *::-webkit-scrollbar {
        opacity: 0;
        height: 0;
        width: 0;
        display: none !important;
    }

    .show.menu-dropdown::before {
        position: fixed;
        content: '';
        background: var(--bs-black);
        opacity: 0.25;
        top: -10px;
        left: -10px;
        width: 110vw;
        height: 110vh;
        z-index: 2147483004 !important;
        cursor: default;
    }
}

/*Text Clamps*/
.text-clamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.text-clamp-1 {
    -webkit-line-clamp: 1;
}

.text-clamp-2 {
    -webkit-line-clamp: 2;
}

.text-clamp-3 {
    -webkit-line-clamp: 3;
}

.text-clamp-4 {
    -webkit-line-clamp: 4;
}

.text-clamp-5 {
    -webkit-line-clamp: 5;
}

.text-clamp-6 {
    -webkit-line-clamp: 6;
}

.text-clamp-7 {
    -webkit-line-clamp: 7;
}

.text-clamp-8 {
    -webkit-line-clamp: 8;
}

.text-clamp-9 {
    -webkit-line-clamp: 9;
}

@media (max-width: 991.98px) {
    .text-clamp-1.extend-clamp-sm {
        -webkit-line-clamp: 2;
    }
}

/*Scrolling text overflow*/
.one-line {
    width: 100%;
    display: inline-block; /* essential */
    white-space: nowrap;
    overflow: hidden;
}

    .one-line:not(:hover) {
        text-overflow: ellipsis;
    }

    .one-line:hover span, .one-line:focus span {
        display: inline-block;
        animation-name: scroll-text;
        animation-duration: 6s;
        animation-timing-function: linear;
        animation-delay: 1s;
        animation-iteration-count: infinite;
        animation-direction: normal;
    }

@keyframes scroll-text {
    0% {
        transform: translateX(0%);
    }

    90% {
        transform: translateX(-100%);
    }

    95% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(0%);
    }
}


/*Tutorial highlight effect*/
.tutor-parent.show {
    animation: tutorpulse 4s ease-in-out infinite;
    z-index: 100;
    position: relative;
}

    .tutor-parent.show::before {
        content: '';
        pointer-events: none;
        position: absolute;
        border-radius: inherit;
        top: 0px;
        left: 0px;
        background: transparent;
        box-shadow: 0px 0px 0px 1px var(--bs-info);
        width: 100%;
        height: 100%;
        z-index: -1;
    }

@keyframes tutorpulse {
    50% {
        box-shadow: 0px 0px 16px 2px rgba(87, 80, 237, 0.5)
    }
}


@media (min-width: 992px) {
    :root {
        --layout-left-shift: 0px;
    }

    body.aside-fixed {
        --layout-left-shift: 200px;
    }

        body.aside-fixed[data-kt-aside-minimize=on] {
            --layout-left-shift: 80px;
        }
}


/*Cookie Notifier*/
@keyframes NotifyUp {
    0% {
        transform: translate(0%, 100%);
    }

    100% {
        transform: translate(0%, 0%);
    }
}

.cookie-plate {
    z-index: 1000;
    position: fixed;
    left: 0;
    transition: 0.2s ease;
    transform: translate(0%, 120%);
    bottom: 0;
    animation: 0.5s ease-out 1s 1 forwards NotifyUp;
    background: rgba(0,0,0,0.9);
    padding: 2rem 0;
    display: flex;
    width: 100%;
}

    .cookie-plate a:not(.btn):hover {
        text-decoration: underline !important
    }

[data-bs-theme=dark] .cookie-plate a.text-primary-300 {
    color: var(--bs-primary-700) !important;
}

body.e-dlg-target .cookie-plate {
    display: none;
}

@media (max-width: 991.98px) {
    body.aside-fixed {
        --layout-left-shift: 0px;
    }

    [data-kt-drawer-aside=on] .cookie-plate {
        opacity: 0;
        pointer-events: none;
        transform: translate(50%, 120%);
    }
}

/*Simplified solid dark overlay for adding text on top of colored backgrounds*/
.simple-overlay::before {
    border-radius: inherit;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25);
    left: 0;
    top: 0;
    z-index: 0;
}

.simple-overlay > * {
    z-index: 1;
    position: relative;
}

.simple-overlay.overlay-5::before {
    background: rgba(0,0,0,0.05);
}

.simple-overlay.overlay-10::before {
    background: rgba(0,0,0,0.1);
}

.simple-overlay.overlay-15::before {
    background: rgba(0,0,0,0.15);
}

.simple-overlay.overlay-20::before {
    background: rgba(0,0,0,0.20);
}

.simple-overlay.overlay-25::before {
    background: rgba(0,0,0,0.25);
}

.simple-overlay.overlay-30::before {
    background: rgba(0,0,0,0.30);
}

.simple-overlay.overlay-35::before {
    background: rgba(0,0,0,0.35);
}

.simple-overlay.overlay-40::before {
    background: rgba(0,0,0,0.40);
}

.simple-overlay.overlay-45::before {
    background: rgba(0,0,0,0.45);
}

.simple-overlay.overlay-50::before {
    background: rgba(0,0,0,0.50);
}

.simple-overlay.overlay-55::before {
    background: rgba(0,0,0,0.55);
}

.simple-overlay.overlay-60::before {
    background: rgba(0,0,0,0.60);
}

.simple-overlay.overlay-65::before {
    background: rgba(0,0,0,0.65);
}

.simple-overlay.overlay-70::before {
    background: rgba(0,0,0,0.70);
}

.simple-overlay.overlay-75::before {
    background: rgba(0,0,0,0.75);
}

.simple-overlay.overlay-80::before {
    background: rgba(0,0,0,0.8);
}

.simple-overlay.overlay-85::before {
    background: rgba(0,0,0,0.85);
}

.simple-overlay.overlay-90::before {
    background: rgba(0,0,0,0.9);
}

.simple-overlay.overlay-95::before {
    background: rgba(0,0,0,0.95);
}
/*Simplified fading dark overlay for adding text on top of colored backgrounds*/
.fade-overlay::before {
    background: -webkit-linear-gradient(250deg, rgba(0, 0, 0, 0.1) 30%, rgba(0, 0, 0, 0.9) 100%);
    left: 0;
    top: 0;
    z-index: 0;
    border-radius: inherit;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
}

.fade-overlay.overlay-5::before {
    opacity: 0.05;
}

.fade-overlay.overlay-10::before {
    opacity: 0.1;
}

.fade-overlay.overlay-15::before {
    opacity: 0.15;
}

.fade-overlay.overlay-20::before {
    opacity: 0.20;
}

.fade-overlay.overlay-25::before {
    opacity: 0.25;
}

.fade-overlay.overlay-30::before {
    opacity: 0.30;
}

.fade-overlay.overlay-35::before {
    opacity: 0.35;
}

.fade-overlay.overlay-40::before {
    opacity: 0.40;
}

.fade-overlay.overlay-45::before {
    opacity: 0.45;
}

.fade-overlay.overlay-50::before {
    opacity: 0.50;
}

.fade-overlay.overlay-55::before {
    opacity: 0.55;
}

.fade-overlay.overlay-60::before {
    opacity: 0.60;
}

.fade-overlay.overlay-65::before {
    opacity: 0.65;
}

.fade-overlay.overlay-70::before {
    opacity: 0.70;
}

.fade-overlay.overlay-75::before {
    opacity: 0.75;
}

.fade-overlay.overlay-80::before {
    opacity: 0.8;
}

.fade-overlay.overlay-85::before {
    opacity: 0.85;
}

.fade-overlay.overlay-90::before {
    opacity: 0.9;
}

.fade-overlay.overlay-95::before {
    opacity: 0.95;
}

.fade-overlay > * {
    z-index: 1;
    position: relative;
}
/*Custom: Only show overlays on hover*/
.hover-overlay-0::before, .hover-overlay::before {
    opacity: 0;
    transition: all 0.2s ease;
}

.hover-overlay-25::before {
    opacity: 0.25;
    transition: all 0.2s ease;
}

.hover-overlay-50::before {
    opacity: 0.50;
    transition: all 0.2s ease;
}

.hover-overlay-75::before {
    opacity: 0.75;
    transition: all 0.2s ease;
}

.hover-overlay:hover::before,
.hover-overlay-0:hover::before,
.hover-overlay-25:hover::before,
.hover-overlay-50:hover::before,
.hover-overlay-75:hover::before {
    opacity: 1;
    transition: all 0.2s ease;
}

/*Specific Banner Customizations*/
.community-banner.ratio {
    --bs-aspect-ratio: 33.33%;
}

.community-banner-inner.fade-overlay h1,
.community-banner-inner.fade-overlay h2,
.community-banner-inner.fade-overlay h3,
.community-banner-inner.fade-overlay h4,
.community-banner-inner.fade-overlay h5,
.community-banner-inner.fade-overlay h6 {
    text-shadow: 1px 2px 5px rgba(0,0,0,0.2);
}

/*Variable opacity for parent and child admin controls*/
.admin-hover-parent > .admin-hover-child,
.admin-hover-parent .admin-hover-descendant {
    opacity: 0;
}

.admin-hover-parent:hover > .admin-hover-child,
.admin-hover-parent:hover .admin-hover-descendant {
    opacity: 1;
}

.admin-hover-parent-50 > .admin-hover-child,
.admin-hover-parent-50 .admin-hover-descendant {
    opacity: 0.5;
}

.admin-hover-parent-50:hover > .admin-hover-child,
.admin-hover-parent-50:hover .admin-hover-descendant {
    opacity: 1;
}

.permission-denied-visible, .permission-denied-visible:hover {
    opacity: 0.5;
}
/*Custom Ratios*/
.ratio-5x1 {
    --bs-aspect-ratio: 20%;
}

.ratio-5x2 {
    --bs-aspect-ratio: 30%;
}

.ratio-3x1 {
    --bs-aspect-ratio: 33.3333333%;
}

.ratio-3x2 {
    --bs-aspect-ratio: 66.666666667%;
}

/*States for comment button on post footers*/
.btn.comment-toggle:not(.active):hover {
    background: var(--bs-secondary-clarity) !important;
}

.btn.comment-toggle.active:hover, .btn.like-toggle.active:hover {
    opacity: 0.85
}

/*States for custom rich-content checkbox component*/
.btn-outline:hover .form-check.form-check-custom .form-check-input:not(:checked),
.btn-outline:focus .form-check.form-check-custom .form-check-input:not(:checked),
.btn-outline:active .form-check.form-check-custom .form-check-input:not(:checked) {
    --bs-form-check-bg: var(--bs-body-bg) !important;
    border: 1.4px solid var(--bs-primary);
}

.form-check-custom .form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-check-custom:not(.form-switch) .form-check-input {
    border: 1.4px solid var(--bs-gray-300);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0), 0 0 0 0 rgba(10, 13, 18, 0);
    transition: box-shadow 0.2s ease;
}

    .form-check-custom:not(.form-switch) .form-check-input:checked {
        border: 1.4px solid var(--bs-primary);
    }

.btn-active-outline-primary:focus .form-check-custom .form-check-input {
    box-shadow: 0px 0px 0px 4px var(--bs-primary-clarity) !important;
    transition: box-shadow 0.2s ease;
}

/*Custom form checkbox groups*/
.checkbox-group {
    box-shadow: 0 0 0 0px var(--bs-primary-clarity);
    transition: box-shadow ease 0.2s;
    border: 1.4px solid var(--bs-gray-200);
    padding: 1rem;
    border-radius: 0.625rem;
    background: inherit;
    cursor: pointer;
}

    .checkbox-group:not(:last-child) {
        margin-bottom: 0.75rem;
    }

.d-flex[class*="gap-"] > .checkbox-group {
    margin-bottom: unset;
}

.checkbox-group:hover:not(.disabled) {
    border: 1.4px solid var(--bs-primary-300);
}

.checkbox-group.active, .checkbox-group:has(.form-check-input:checked) {
    background: var(--bs-primary-clarity);
    border: 1.4px solid var(--bs-primary-300)
}

.checkbox-group:not(.disabled) .symbol-label {
    background: var(--bs-primary-light);
}

    .checkbox-group:not(.disabled) .symbol-label i, .checkbox-group:not(.disabled) .symbol-label i span {
        color: var(--bs-primary-600) !important;
    }

.checkbox-group.active span:not(.checkbox-group-title):not(.badge), .checkbox-group:has(.form-check-input:checked) span:not(.checkbox-group-title):not(.badge) {
    color: var(--bs-primary-600) !important;
}

.checkbox-group:not(.active) span:not(.checkbox-group-title):not(.badge), .checkbox-group:not(:has(.form-check-input:checked)) span:not(.checkbox-group-title):not(.badge) {
    color: var(--bs-gray-600);
}

.checkbox-group:not(.active) .checkbox-group-title, .checkbox-group:not(:has(.form-check-input:checked)) .checkbox-group-title {
    color: var(--bs-gray-900) !important;
    font-weight: 600;
}

.checkbox-group.active .checkbox-group-title, .checkbox-group:has(.form-check-input:checked) .checkbox-group-title {
    color: var(--bs-primary-800) !important;
    font-weight: 600;
}

.checkbox-group span.form-check.form-check-custom input[type=radio] {
    border-radius: 50%;
    border: 1.4px solid var(--bs-gray-300);
}

.checkbox-group span.form-check.form-check-custom input[type=checkbox] {
    border-radius: 0.5rem;
    border: 1.4px solid var(--bs-gray-300);
}

.checkbox-group:hover:not(.disabled):not(.active) .form-check-input:not(:checked), .checkbox-group:hover:not(.disabled):not(:has(.form-check-input:checked)) .form-check-input:not(:checked) {
    background-color: var(--bs-primary-50);
    border: 1.4px solid var(--bs-primary-300);
}

.checkbox-group:hover:not(.disabled):not(:focus):not(:active).active .form-check-input:checked, .checkbox-group:hover:not(.disabled):not(:focus):not(:active):has(.form-check-input:checked) .form-check-input:checked {
    opacity: 0.75;
}

.checkbox-group.active span.form-check.form-check-custom input, .checkbox-group:has(.form-check-input:checked) span.form-check.form-check-custom input {
    border: 1.4px solid var(--bs-primary);
}

.checkbox-group:focus:not(.disabled), .checkbox-group:active:not(.disabled), .checkbox-group:focus-within:not(.disabled) {
    box-shadow: 0 0 0 4px var(--bs-primary-clarity);
    transition: box-shadow ease 0.2s;
    border: 1.4px solid var(--bs-primary-300);
}

    .checkbox-group:focus:not(.disabled):not(.active) span.form-check.form-check-custom input, .checkbox-group:active:not(.disabled):not(.active) span.form-check.form-check-custom input, .checkbox-group:focus-within:not(.disabled):not(.active) span.form-check.form-check-custom input:not(:checked), .checkbox-group:focus:not(.disabled):not(:has(.form-check-input:checked)) span.form-check.form-check-custom input, .checkbox-group:active:not(.disabled):not(:has(.form-check-input:checked)) span.form-check.form-check-custom input, .checkbox-group:focus-within:not(.disabled):not(:has(.form-check-input:checked)) span.form-check.form-check-custom input {
        box-shadow: 0 0 0 4px var(--bs-primary-clarity);
        transition: box-shadow ease 0.2s;
        background: var(--bs-primary-50);
        border: 1.4px solid var(--bs-primary-300);
    }

.checkbox-group.disabled {
    opacity: 1 !important;
    pointer-events: all !important;
    cursor: unset !important;
    background: var(--bs-gray-50);
    border: 1.4px solid var(--bs-gray-200);
}

    .checkbox-group.disabled::before {
        display: none !important;
    }

.checkbox-group .symbol-label {
    background: transparent;
}

.checkbox-group.disabled .symbol-label i {
    color: var(--bs-gray-300);
}

.checkbox-group.disabled span:not(.checkbox-group-title):not(.badge) {
    color: var(--bs-gray-600);
}

.checkbox-group.disabled .checkbox-group-title {
    color: var(--bs-gray-700) !important;
}

/*Badge-style alert components*/
.badge-alert {
    white-space: wrap;
}

@media (max-width: 567px) {
    .badge-alert {
        flex-direction: column;
        align-items: start;
    }
}

/*Read-only pane for courses*/
.card-body.rte-reading-pane {
    max-height: 50vh;
    height: 425px;
}

@media (max-width: 767px) {
    .card-body.rte-reading-pane {
        max-height: unset !important;
        height: auto !important;
    }
}

.card-body.quiz-reading-pane {
    max-height: 50vh;
    height: 425px;
}

@media (max-width: 767px) {
    .card-body.quiz-reading-pane {
        max-height: unset !important;
        height: auto !important;
    }
}

form .disabled:not(.btn):not(.form-control):not(.form-select), .form .disabled:not(.btn):not(.form-control):not(.form-select) {
    position: relative;
    opacity: 0.5;
    pointer-events: none;
}

    form .disabled:not(.btn):not(.form-control):not(.form-select)::before, .form .disabled:not(.btn):not(.form-control):not(.form-select)::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        cursor: not-allowed;
        z-index: 1;
        content: '';
    }

/*Specific accorditons (Membership Plans, Course Builder)*/
.accordion.plans .accordion-header.collapsed .btn.plan-toggle.edit,
.accordion.plans .accordion-header:not(.collapsed) .btn.plan-toggle.done,
.accordion.modules .accordion-header.collapsed .btn.module-toggle.edit,
.accordion.modules .accordion-header:not(.collapsed) .btn.module-toggle.done {
    display: flex;
}

.accordion.plans .accordion-header.collapsed .btn.plan-toggle.done,
.accordion.plans .accordion-header:not(.collapsed) .btn.plan-toggle.edit,
.accordion.modules .accordion-header.collapsed .btn.module-toggle.done,
.accordion.modules .accordion-header:not(.collapsed) .btn.module-toggle.edit {
    display: none !important;
}

/*Tables: Fixed Cells*/

.fixed-cell {
    position: sticky;
}

    .fixed-cell.fixed-cell-end {
        right: -1px;
    }

    .fixed-cell.fixed-cell-start {
        left: -1px;
    }

.card .tr.bg-light .fixed-cell, tr.bg-light .fixed-cell {
    background-color: var(--bs-light) !important;
}

tr td.fixed-cell.fixed-cell-end {
    background-color: transparent;
    box-shadow: inset 0 0 0 9999px var(--bs-table-bg);
}

tr:hover td.fixed-cell.fixed-cell-end {
    box-shadow: inset 0 0 0 9999px var(--bs-table-hover-bg)
}

.fixed-cell .btn {
    z-index: 1;
}

/*Hide borders on cards with left navigations*/
@media (max-width: 1200px) {
    .card-leftnav {
        border: none !important
    }
}

/*Tables: Sorting*/

.table-sort-desc.active:after, .table-sort-asc.active:after {
    background-color: var(--bs-primary);
}

.table-sort-desc:after, .table-sort-asc:after {
    opacity: 0.75;
}

.table-sort-desc:hover:after, .table-sort-asc:hover:after {
    opacity: 1;
}

/*Tables: Accent Header*/

thead.header-accent th {
    background-color: transparent;
    box-shadow: inset 0 0 0 9999px var(--bs-gray-200);
}

    thead.header-accent th:first-child {
        border-bottom-left-radius: 0.425rem;
        border-top-left-radius: 0.425rem;
    }

    thead.header-accent th:last-child {
        border-bottom-right-radius: 0.425rem;
        border-top-right-radius: 0.425rem;
    }

.thead.header-accent.header-accent-light th {
    box-shadow: inset 0 0 0 9999px var(--bs-gray-25);
}

thead.header-accent th {
    color: var(--bs-gray-700) !important;
}

thead.header-accent.header-accent-light {
    border-bottom: 1.4px solid var(--bs-gray-200);
}

    thead.header-accent.header-accent-light th:last-child {
        border-bottom-right-radius: 0 !important;
    }

    thead.header-accent.header-accent-light th:first-child {
        border-bottom-left-radius: 0 !important;
    }

.card-body.p-0 thead.header-accent th, .card-body.px-0 thead.header-accent th {
    border-radius: 0 !important;
}

[data-bs-theme=dark] thead.header-accent.header-accent-light {
    border-bottom: 1.4px solid var(--bs-gray-400);
}

    [data-bs-theme=dark] thead.header-accent.header-accent-light th {
        box-shadow: inset 0 0 0 9999px var(--bs-gray-300);
    }

.card-body.px-0 thead.header-accent, .card-body.p-0 thead.header-accent {
    border-radius: 0;
    border-bottom: 1.4px solid var(--bs-gray-200);
}

thead.header-accent > tr {
    border: none !important;
}

thead.header-accent {
    position: relative;
    z-index: 94
}

    thead.header-accent + tbody::before {
        display: block;
        width: 100%;
        height: 10px;
        content: '';
        pointer-events: none;
        opacity: 0;
    }

.card-body.px-0 thead.header-accent + tbody::before, .card-body.p-0 thead.header-accent + tbody::before {
    display: block;
    width: 100%;
    height: 0px;
    content: '';
    pointer-events: none;
    opacity: 0;
}

thead.header-accent .form-check-input {
    --bs-form-check-bg: var(--bs-card-bg)
}

.form-check.form-check-custom .form-check-input:hover {
    --bs-form-check-bg: var(--bs-primary-light)
}

[data-bs-theme=dark] .table thead.header-accent th {
    color: var(--bs-secondary-inverse) !important;
}

.table thead.header-accent tr:first-child,
.table thead.header-accent th:first-child,
.table thead.header-accent td:first-child,
.table thead.header-accent + tbody tr:first-child,
.table thead.header-accent + tbody td:first-child {
    padding-left: 1.25rem !important;
}

.table thead.header-accent tr:last-child,
.table thead.header-accent th:last-child,
.table thead.header-accent td:last-child,
.table thead.header-accent + tbody tr:last-child,
.table thead.header-accent + tbody td:last-child {
    padding-right: 1.25rem !important;
}

.card-body.px-0 .table thead.header-accent tr:first-child,
.card-body.px-0 .table thead.header-accent th:first-child,
.card-body.px-0 .table thead.header-accent td:first-child,
.card-body.px-0 .table thead.header-accent + tbody tr:first-child,
.card-body.px-0 .table thead.header-accent + tbody td:first-child,
.card-body.p-0 .table thead.header-accent tr:first-child,
.card-body.p-0 .table thead.header-accent th:first-child,
.card-body.p-0 .table thead.header-accent td:first-child,
.card-body.p-0 .table thead.header-accent + tbody tr:first-child,
.card-body.p-0 .table thead.header-accent + tbody td:first-child {
    padding-left: 2.25rem !important;
}

.card-body.px-0 .table thead.header-accent tr:last-child,
.card-body.px-0 .table thead.header-accent th:last-child,
.card-body.px-0 .table thead.header-accent td:last-child,
.card-body.px-0 .table thead.header-accent + tbody tr:last-child,
.card-body.px-0 .table thead.header-accent + tbody td:last-child,
.card-body.p-0 .table thead.header-accent tr:last-child,
.card-body.p-0 .table thead.header-accent th:last-child,
.card-body.p-0 .table thead.header-accent td:last-child,
.card-body.p-0 .table thead.header-accent + tbody tr:last-child,
.card-body.p-0 .table thead.header-accent + tbody td:last-child {
    padding-right: 2.25rem !important;
}

/*Pricing Navigation*/
.pricing-nav .btn-check:active + .btn.btn-outline.btn-active-light-primary,
.pricing-nav .btn-check:checked + .btn.btn-outline.btn-active-light-primary,
.pricing-nav .btn.btn-outline.btn-active-light-primary.active,
.pricing-nav .btn.btn-outline.btn-active-light-primary.show,
.pricing-nav .btn.btn-outline.btn-active-light-primary:active:not(.active),
.pricing-nav .btn.btn-outline.btn-active-light-primary:focus:not(.active),
.pricing-nav .btn.btn-outline.btn-active-light-primary:hover:not(.active),
.pricing-nav .show > .btn.btn-hover-outline.btn-active-light-primary {
    border-color: var(--bs-primary) !important;
    background-color: var(--bs-primary-light) !important;
}

    .pricing-nav .btn-check:active + .btn.btn-outline.btn-active-light-primary .form-check.form-check-solid .form-check-input:not(:checked),
    .pricing-nav .btn-check:checked + .btn.btn-outline.btn-active-light-primary .form-check.form-check-solid .form-check-input:not(:checked),
    .pricing-nav .btn.btn-outline.btn-active-light-primary.active .form-check.form-check-solid .form-check-input:not(:checked),
    .pricing-nav .btn.btn-outline.btn-active-light-primary.show .form-check.form-check-solid .form-check-input:not(:checked),
    .pricing-nav .btn.btn-outline.btn-active-light-primary:active:not(.active) .form-check.form-check-solid .form-check-input:not(:checked),
    .pricing-nav .btn.btn-outline.btn-active-light-primary:focus:not(.active) .form-check.form-check-solid .form-check-input:not(:checked),
    .pricing-nav .btn.btn-outline.btn-active-light-primary:hover:not(.active) .form-check.form-check-solid .form-check-input:not(:checked),
    .pricing-nav .show > .btn.btn-hover-outline.btn-active-light-primary {
        background-color: var(--bs-body-bg);
    }

.btn-group.pricing-period-toggle .btn.btn-outline.btn-active-secondary:not(.active):hover {
    background-color: var(--bs-gray-200) !important;
}

/*Tables: Pagination Offset*/
@media (max-width: 550px) {
    .dt-paging {
        scale: 75%;
    }
}

ul.pagination.pagination-offset li {
    display: none;
    position: relative;
    transition: color 0s ease;
}

    ul.pagination.pagination-offset li button {
        user-select: none;
    }

        ul.pagination.pagination-offset li button::before {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            content: '...';
            color: transparent;
        }

    ul.pagination.pagination-offset li:nth-child(1),
    ul.pagination.pagination-offset li:nth-child(2),
    ul.pagination.pagination-offset li:nth-last-child(1),
    ul.pagination.pagination-offset li:nth-last-child(2),
    ul.pagination.pagination-offset li.active,
    ul.pagination.pagination-offset li.active + li,
    ul.pagination.pagination-offset li.active + li + li,
    ul.pagination.pagination-offset li:has(+ li.active),
    ul.pagination.pagination-offset li:has(+ li:not(.active) + li.active),
    ul.pagination.pagination-offset li:nth-child(1).active ~ li:nth-child(3),
    ul.pagination.pagination-offset li:nth-last-child(3):has(~ li:last-child.active) {
        display: list-item;
    }

        ul.pagination.pagination-offset li:nth-child(1).active ~ li:nth-child(3) button,
        ul.pagination.pagination-offset li:nth-last-child(3):has(~ li:last-child.active) button,
        ul.pagination.pagination-offset li:has(+ li:not(.active) + li.active):not(.active):not(:nth-child(1)):not(:nth-child(2)):not(:nth-last-child(1)):not(:nth-last-child(2)):not(.active) button,
        ul.pagination.pagination-offset li.active + li + li:not(.active):not(:nth-child(1)):not(:nth-child(2)):not(:nth-last-child(1)):not(:nth-last-child(2)):not(.active) button {
            color: transparent !important;
        }

            ul.pagination.pagination-offset li:nth-child(1).active ~ li:nth-child(3) button::before,
            ul.pagination.pagination-offset li:nth-last-child(3):has(~ li:last-child.active) button::before,
            ul.pagination.pagination-offset li:has(+ li:not(.active) + li.active):not(.active):not(:nth-child(1)):not(:nth-child(2)):not(:nth-last-child(1)):not(:nth-last-child(2)):not(.active) button::before,
            ul.pagination.pagination-offset li.active + li + li:not(.active):not(:nth-child(1)):not(:nth-child(2)):not(:nth-last-child(1)):not(:nth-last-child(2)):not(.active) button::before {
                color: var(--bs-gray-700);
            }

/*Menu action button icons*/
.menu-accordion > .menu-actions {
    height: 40px;
}

.menu-item, .menu-content, .menu-icon {
    position: relative;
}

.menu-actions {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    padding: 0.15rem 0.5rem;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    background-color: inherit;
    justify-content: flex-end;
    align-content: center;
    gap: 0.5rem;
    z-index: 1;
    border-radius: inherit;
}

    .menu-actions > .menu-icon {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-grow: 100;
        z-index: 1;
    }

    .menu-actions + .menu-link, .menu-actions.menu-actions-single + .menu-link {
        padding-right: 30px !important;
    }

    .menu-actions.menu-actions-duo + .menu-link {
        padding-right: 45px !important;
    }

    .menu-actions.menu-actions-trio + .menu-link {
        padding-right: 60px !important;
    }

.menu-item .menu-actions a.menu-icon, .menu-item .menu-actions button.menu-icon {
    opacity: 0%;
}

.menu-item.menu-accordion > .menu-actions a.menu-icon, .menu-item.menu-accordion > .menu-actions button.menu-icon {
    opacity: 50%;
}

.menu-item:hover > .menu-actions * {
    opacity: 100% !important;
}

.menu-accordion .menu-text.one-line:only-child {
    margin-left: 0.35rem;
}

.menu-item:not(.here):hover > .menu-link:not(.disabled):not(.active):not(.here) {
    transition: color 0.2s ease;
    background-color: var(--bs-menu-link-bg-color-hover);
    color: var(--bs-menu-link-color-hover);
}

.menu-item:not(.here):hover > .menu-link:not(.disabled):not(.active):not(.here),
.menu-state-primary .menu-item.hover:not(.here) > .menu-link:not(.disabled):not(.active):not(.here) .menu-icon,
.menu-state-primary .menu-item.hover:not(.here) > .menu-link:not(.disabled):not(.active):not(.here) .menu-icon .svg-icon,
.menu-state-primary .menu-item.hover:not(.here) > .menu-link:not(.disabled):not(.active):not(.here) .menu-icon i,
.menu-state-primary .menu-item:not(.here):hover > .menu-link:not(.disabled):not(.active):not(.here) .menu-icon,
.menu-state-primary .menu-item:not(.here):hover > .menu-link:not(.disabled):not(.active):not(.here) .menu-icon .svg-icon,
.menu-state-primary .menu-item:not(.here):hover > .menu-link:not(.disabled):not(.active):not(.here) .menu-icon i {
    transition: color 0.2s ease;
    color: var(--bs-primary);
}

.menu-state-primary .menu-item > .menu-link:not(.disabled):not(.active):not(.here) .menu-icon:hover i,
.menu-state-primary .menu-item > .menu-link:not(.disabled).active .menu-icon i {
    color: var(--bs-primary) !important;
}

.menu-state-primary .menu-item > .menu-link:not(.disabled).active .menu-icon:hover i {
    opacity: 0.85;
}


/*Mobile Nav Sliders*/

.nav-slider {
    overflow-x: scroll;
    white-space: nowrap;
    flex-wrap: nowrap;
    margin: -0.3rem -1rem;
    padding: 0.3rem 1rem;
    overflow-y: visible;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

    .nav-slider::-webkit-scrollbar {
        opacity: 0;
        height: 0;
    }

.row.nav-slider > *:first-child {
    padding-left: 0 !important;
}

.row.nav-slider > *:last-child {
    padding-right: 0 !important;
}

.nav-slider .btn.btn-outline.btn-active-outline-primary.active:not(:active):not(:focus), .nav-slider .btn.btn-outline.btn-active-outline-primary.show:not(:active):not(:focus) {
    background: var(--bs-body-bg) !important;
}

.nav-slider .btn.active {
    order: 0;
}

.nav-slider .btn:not(.active) {
    order: 1;
}

@media (max-width: 991px) {
    .nav-slider-lg {
        overflow-x: scroll;
        white-space: nowrap;
        flex-wrap: nowrap;
        margin-left: -1rem;
        padding-left: 1rem;
        margin-right: -1rem;
        padding-right: 1rem;
        overflow-y: hidden;
        -ms-overflow-style: none;
        scrollbar-width: none;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        margin-bottom: -0.5rem;
        margin-top: -0.5rem;
    }

        .nav-slider-lg::-webkit-scrollbar {
            opacity: 0;
            height: 0;
        }

    .row.nav-slider-lg > *:first-child {
        padding-left: 0 !important;
    }

    .row.nav-slider-lg > *:last-child {
        padding-right: 0 !important;
    }
}

@media (max-width: 767px) {
    .nav-slider-md {
        overflow-x: scroll;
        white-space: nowrap;
        flex-wrap: nowrap;
        margin-left: -1rem;
        padding-left: 1rem;
        margin-right: -1rem;
        padding-right: 1rem;
        overflow-y: hidden;
        -ms-overflow-style: none;
        scrollbar-width: none;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        margin-bottom: -0.5rem;
        margin-top: -0.5rem;
    }

        .nav-slider-md::-webkit-scrollbar {
            opacity: 0;
            height: 0;
        }

    .row.nav-slider-md > *:first-child {
        padding-left: 0 !important;
    }

    .row.nav-slider-md > *:last-child {
        padding-right: 0 !important;
    }
}

@media (max-width: 565px) {
    .nav-slider-sm {
        overflow-x: scroll;
        white-space: nowrap;
        flex-wrap: nowrap;
        margin-left: -1rem;
        padding-left: 1rem;
        margin-right: -1rem;
        padding-right: 1rem;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        margin-bottom: -0.5rem;
        margin-top: -0.5rem;
        overflow-y: hidden;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

        .nav-slider-sm::-webkit-scrollbar {
            opacity: 0;
            height: 0;
        }

    .row.nav-slider-sm > *:first-child {
        padding-left: 0 !important;
    }

    .row.nav-slider-sm > *:last-child {
        padding-right: 0 !important;
    }
}

.white-space-normal .e-dialog .e-dlg-header {
    white-space: normal;
}


/*Customized Nav Tabs*/

.nav-line-tabs.nav-line-tabs-custom {
    border-bottom: none !important;
    gap: 1.5rem;
    margin: unset !important;
}

    .nav-line-tabs.nav-line-tabs-custom .nav-item {
        margin-bottom: unset !important;
    }

        .nav-line-tabs.nav-line-tabs-custom .nav-item .nav-link, .nav-line-tabs.nav-line-tabs-custom .nav-item .nav-link.active, .nav-line-tabs.nav-line-tabs-custom .nav-item.show .nav-link, .nav-line-tabs.nav-line-tabs-custom .nav-item .nav-link:hover:not(.disabled) {
            border-bottom: unset !important;
            margin: unset;
            position: relative;
            width: 100%;
        }

            .nav-line-tabs.nav-line-tabs-custom .nav-item .nav-link::after {
                position: absolute;
                content: '';
                display: block;
                width: 100%;
                height: 1.4px;
                border-radius: 50px;
                bottom: 0;
                left: 0;
                background: var(--bs-primary-inverse);
                opacity: 0;
                transition: opacity 0.2s ease;
            }

            .nav-line-tabs.nav-line-tabs-custom .nav-item .nav-link:hover::after {
                opacity: 0.7;
                transition: opacity 0.2s ease;
            }

            .nav-line-tabs.nav-line-tabs-custom .nav-item .nav-link.active::after {
                opacity: 1;
            }

 /*Chat: Message block behaviors*/
.message-block:has(.replying-to) {
    background: var(--bs-warning-50);
    border-left: 0.25rem solid var(--bs-warning)
}

    .message-block:has(.replying-to):hover {
        background: var(--bs-warning-25);
        border-left: 0.25rem solid var(--bs-warning-active)
    }

.conversationList p,
.message-text p,
.reply-content p {
    margin-bottom: 0 !important;
}

.reply-content br {
    display: none;
}

.conversationList > div:first-child {
    margin-top: 2rem !important;
}

[data-bs-theme="dark"] .message-block.bg-hover-gray-100:hover:not(:has(.replying-to)) {
    background-color: var(--bs-gray-200);
}

/*Chat: Edge casess for ConvLeftList*/
@media (max-width: 1100px) and (min-width: 992px) {
    body#kt_body:not([data-kt-aside-minimize="on"]) #cardnav_list {
        max-width: 225px !important;
    }

        body#kt_body:not([data-kt-aside-minimize="on"]) #cardnav_list .btn-compress {
            width: 35px !important;
            height: 35px !important;
            padding: 0 !important;
            line-height: 1;
        }

            body#kt_body:not([data-kt-aside-minimize="on"]) #cardnav_list .btn-compress i {
                padding: 0 !important;
                margin: unset !important;
                font-size: 1.25rem !important;
            }

        body#kt_body:not([data-kt-aside-minimize="on"]) #cardnav_list .compress-text {
            display: none;
        }
}

@media (min-width: 768px) and (max-width: 991px) {
    #cardnav_list .btn-compress {
        width: 35px !important;
        height: 35px !important;
        padding: 0 !important;
        line-height: 1;
    }

        #cardnav_list .btn-compress i {
            padding: 0 !important;
            margin: unset !important;
            font-size: 1.25rem !important;
        }

    #cardnav_list .compress-text {
        display: none;
    }
}
/*Chat: YouTube Thumbnails*/
.rte-video-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    overflow: hidden;
    display: block !important;
    margin: unset;
    --bs-aspect-ratio: 56.25%;
}

    .rte-video-wrapper::before {
        display: block;
        padding-top: var(--bs-aspect-ratio);
        content: "";
    }

.rte-video-iframe {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    overflow: hidden;
    border-radius: 1rem;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

/*Draggable Indicators*/
.drag-destination {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 50px;
    transition: height ease 0.2s;
    position: relative;
    padding: var(--bs-gutter-y) 0;
}

.drag-destination-inner {
    background: var(--bs-primary);
    border-radius: inherit;
    display: flex;
    width: 100%;
    height: 0rem;
    transition: height ease 0.2s;
    position: relative;
    opacity: 0;
}

html.is-dragging-level-1 .drag-destination.drag-level-1 .drag-destination-inner,
html.is-dragging-level-2 .drag-destination.drag-level-2 .drag-destination-inner,
html.is-dragging-level-3 .drag-destination.drag-level-3 .drag-destination-inner,
html.is-dragging-level-4 .drag-destination.drag-level-4 .drag-destination-inner,
html.is-dragging-level-5 .drag-destination.drag-level-5 .drag-destination-inner {
    transition: height ease 0.2s;
    opacity: 0.25;
    height: 0.25rem;
}

html.is-dragging-level-1 .drag-destination.drag-level-1:hover .drag-destination-inner,
html.is-dragging-level-2 .drag-destination.drag-level-2:hover .drag-destination-inner,
html.is-dragging-level-3 .drag-destination.drag-level-3:hover .drag-destination-inner,
html.is-dragging-level-4 .drag-destination.drag-level-4:hover .drag-destination-inner,
html.is-dragging-level-5 .drag-destination.drag-level-5:hover .drag-destination-inner {
    opacity: 1;
}

html .hide-drag-gutter .drag-level-1, html .hide-drag-gutter .drag-level-2,
html .hide-drag-gutter .drag-level-3, html .hide-drag-gutter .drag-level-4,
html .hide-drag-gutter .drag-level-5 {
    padding: 0rem 0rem 0rem 0rem !important;
}

html.is-dragging-level-1 .hide-drag-gutter .drag-level-1 {
    padding: 1rem 0rem 0rem 0rem !important;
}

html.is-dragging-level-2 .hide-drag-gutter .drag-level-2,
html.is-dragging-level-3 .hide-drag-gutter .drag-level-3,
html.is-dragging-level-4 .hide-drag-gutter .drag-level-4,
html.is-dragging-level-5 .hide-drag-gutter .drag-level-5 {
    padding: 0.5rem 0rem 0.5rem 0rem !important;
}

/*Notification Colors*/
a.notification-entry {
    color: unset;
}

    a.notification-entry .notification-title {
        color: var(--bs-gray-900);
    }

    a.notification-entry .notification-date {
        color: var(--bs-gray-700);
    }

    a.notification-entry:hover .notification-title {
        color: var(--bs-primary);
    }

a .notification-title, a .notification-date {
    color: var(--bs-gray-900);
}

a:hover .notification-title, a:active .notification-title, a:focus .notification-title {
    color: var(--bs-primary);
}

/*Darken card background for necessary contrast, usually for cards within cards*/
[data-bs-theme="dark"] .card.card-darken {
    --bs-card-bg: var(--bs-gray-50);
}

/*Contrast protection when background is themed*/
body:not(.themed-bg) .card.theme-protection {
    background: transparent;
    border: none;
    box-shadow: none;
}

body.themed-bg .card.theme-protection {
    padding: 1rem;
    background: var(--bs-body-bg);
}


/*Save Toast*/
@media (min-width: 992px) {
    :root {
        --layout-left-shift: 0px;
    }

    body.aside-fixed {
        --layout-left-shift: 200px;
    }

        body.aside-fixed[data-kt-aside-minimize=on] {
            --layout-left-shift: 80px;
        }
}

@keyframes SaveToastUp {
    0% {
        transform: translate(50%, 140%);
    }

    100% {
        transform: translate(50%, 0%);
    }
}

.save-toast {
    z-index: 1000;
    position: fixed;
    right: 50%;
    transition: 0.2s ease;
    transform: translate(50%, 140%);
    bottom: 2rem;
    animation: 0.2s ease-out 0s 1 forwards SaveToastUp;
    background: var(--bs-gray-900);
    padding: 0.75rem;
    box-shadow: 0px 0px 16px 6px rgba(0, 0, 0, 0.25);
    border-radius: 0.65rem;
    display: flex;
    width: 100%;
    max-width: 525px;
    margin-right: calc(-0.5 * var(--layout-left-shift));
}

[data-bs-theme=dark] .save-toast {
    background: var(--bs-gray-200);
}

.save-toast a:not(.btn):hover {
    text-decoration: underline !important
}

[data-bs-theme=dark] .save-toast a.text-primary-300 {
    color: var(--bs-primary-700) !important;
}

body.e-dlg-target .save-toast {
    display: none;
}

@media (max-width: 991.98px) {
    body.aside-fixed {
        --layout-left-shift: 0px;
    }

    [data-kt-drawer-aside=on] .save-toast {
        opacity: 0;
        pointer-events: none;
        transform: translate(50%, 120%);
    }
}

body.e-dlg-target .save-toast,
body:has(.menu-sub.menu-sub-dropdown.show) .save-toast,
body:has(.form-select:open) .save-toast {
    display: none;
}

@media (max-width: 767.98px) {
    .save-toast {
        margin-left: 1rem;
        margin-right: auto;
        width: calc(100% - 2rem);
    }

    body:has(.form-control:focus) .save-toast,
    body:has(.form-control:focus-within) .save-toast {
        display: none;
    }
}

/*Misc. Utilities*/
.table {
    --bs-table-bg: var(--bs-body-bg);
}

.d-orphan:not(:only-child) {
    display: none !important;
}

.repeat-concealer + .repeat-concealer {
    display: none;
}

.fs-xs {
    font-size: 0.8rem;
}

