@import url(dist/css/variables.css);

/*TEMP navbar styles to be removed*/
.navbar-nav li {
    margin-right: 15px;
}

/** Base Styles **/
h1.h3 {
    outline: 0;
}

h1.h2 {
    outline: 0;
}

body { 
    font-family: 'UniversNextPro-Regular', Arial, sans-serif !important;
    background: none !important;
}

/* Silent SSO loading state - prevents flicker during authentication check */
html.sso-checking body > *:not(script),
body.sso-checking .wrapper,
body.sso-checking .main,
body.sso-checking .dmu-page,
body.sso-checking .content,
body.sso-checking .dmu-navbar {
    visibility: hidden !important;
}

/* White background overlay */
html.sso-checking body::before,
body.sso-checking::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--dmu-white);
    z-index: 9998;
}

/* Loading state with DMU logo and text */
html.sso-checking body::after,
body.sso-checking::after {
    content: "Checking sign-in…";
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    z-index: 9999;
    font-size: 1rem;
    color: var(--dmu-primary-purple);
    font-family: var(--dmu-font-regular), Arial, sans-serif;
    font-weight: normal;
    /* DMU logo - using contain to prevent clipping */
    background-image: url('images/DMU-stacked-2c-582C83.png');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
    padding-top: 90px;
    min-width: 200px;
    min-height: 180px;
    text-align: center;
}

html {
    font-size: 16px;
}

strong {
    font-weight: 600 !important;
    font-family: var(--dmu-font-bold) !important;
}

body {
    overflow-y: auto !important;
}

.breadcrumb {
    margin-bottom: 0;
}

body.modal-open {
    overflow-y: hidden;
    padding-right: 0 !important;
    position: fixed;
}

.modal {
    overflow: auto;
}

.dmu-profile-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.no-scroll {
    overflow-y: hidden !important;
}

/** Globals **/
.dmu-warning-text {
    color: var(--dmu-text-warning) !important;
}

.rz-progressbar-indeterminate.rz-progressbar-primary .rz-progressbar-circular-value {
    stroke: var(--dmu-vibrant-purple);
}

::selection {
    background-color: var(--dmu-primary-purple);
    color: var(--dmu-white);
}

.dmu-primary-text-color {
    color: var(--dmu-primary-purple);
    font-size: 1rem;
}

.dmu-panel-title {
    color: var(--dmu-primary-purple);
    font-size: 2rem;
    font-family: var(--dmu-font-light);
    line-height: 1;
}

.dmu-panel-title-text,
.dmu-panel-title-text p {
    font-size: 1.25rem;
}

.dmu-panel-body-text {}

.dmu-primary-color {
    color: var(--dmu-primary-purple);
}

.dmu-small-text {
    color: var(--dmu-text-black);
    font-size: 0.875rem;
}

.dmu-page-header {
    font-size: 2.75rem;
    font-family: var(--dmu-font-light);
    color: var(--dmu-primary-purple);
    margin-bottom: 0;
    padding: 1rem 0 0 5rem;
    background-color: var(--dmu-primary-grey);
    z-index: 12;
}
.dmu-page-breadcrumbs {
    font-size: 0.9rem;
    color: var(--dmu-text-black-2);
    margin-top: -15px;
    padding-left: 5rem;
    background-color: var(--dmu-primary-grey);
    z-index: 12;
}

.dmu-page {
    background-color: var(--dmu-white);
    padding: 0 !important;
}

.dmu-container {
    background-color: var(--dmu-primary-grey);
    padding: 0 !important;
}

.dmu-page-section {
    background-color: var(--dmu-white);
    padding: 0 5rem !important;
}

.dmu-table-initials {
    background-color: #F0E9F4;
    color: var(--dmu-primary-purple);
    width: 45px;
    height: 45px;
    border-radius: 50%;
    font-size: 1rem;
    font-family: var(--dmu-font-regular);
    font-weight: bold;
}

.dmu-table-initials-2 {
    width: 65px;
    height: 65px;
    border: 1px solid var(--dmu-white);
}

.dmu-table-initials-3 {
    font-size: 2.4rem;
    border: 1px solid var(--dmu-white);
}

.dmu-table-initials-4 {
    width: 100%;
    height: 100%;
    font-size: 4.688rem;
}

.dmu-nav-initials {
    width: 52px;
    height: 52px;
}

.dmu-link {
    color: var(--dmu-primary-purple);
    text-decoration: underline;
}

.dmu-link:hover {
    color: var(--dmu-secondary-purple);
}

    .dmu-link:visited {
        color: var(--dmu-primary-purple);
        text-decoration: underline;
    }

.dmu-link-crumb {
    text-transform: capitalize;
}

.dmu-link-crumb a {
    color: var(--dmu-text-black);
}

    .dmu-link-crumb a:hover {
        color: var(--dmu-primary-purple);
        text-decoration: underline;
    }



.breadcrumb-item + .breadcrumb-item::before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "»");
}

.dmu-base-dropdown {
    background-color: var(--dmu-white) !important;
    padding: 8px 0px !important;
    border: 1px solid var(--dmu-primary-purple) !important;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .25);
}

.dmu-base-dropdown li:hover {
    background-color: var(--dmu-primary-grey);
}

    .dmu-base-dropdown li div {
        line-height: 1.2em;
        padding: 6.5px 0 6.5px 50px;
        font-family: var(--dmu-font-regular);
        font-size: 0.938rem;
        color: var(--dmu-text-black);
        font-weight: normal;
    }

    .dmu-base-dropdown li div span {
        cursor: pointer;
    }

.dmu-base-dropdown.dmu-options-dropdown li div {
    padding: 5px 1em;
}

.dmu-base-dropdown li:hover div {
    color: var(--dmu-primary-purple);
}

.form-check-input:focus {
    border-color: var(--dmu-soft-purple) !important;
    box-shadow: 0 0 0 .25rem rgba(193, 167, 226, .25) !important;
}

.form-check-input:checked {
    background-color: var(--dmu-primary-purple) !important;
    border-color: var(--dmu-primary-purple) !important;
}

.rz-dropdown-item:hover {
    background-color: var(--dmu-primary-grey) !important;
    color: var(--dmu-primary-purple) !important;
}

.dropdown-menu.show {
    max-height: 250px;
    overflow-y: auto;
}

.dmu-admin-filters .dmu-filter-group .clear-button {
    position: absolute;
    top: 43px !important;
    right: 35px;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: #6c757d;
    padding: 0;
    font-size: 1.2rem;
    line-height: 1;
}

    .dmu-filter-group .clear-button:hover {
        color: #582C83;
        font-weight: bold;
    }


.dmu-highlight {
    background: #2828282e;
    color: #444;
    border-radius: 3px;
    padding: 0 2px;
    font-weight: 600;
}


/*Buttons*/
/* Base disabled styling */
.dmu-btn:disabled,
.dmu-btn.disabled,
.dmu-btn-small:disabled,
.dmu-btn-small.disabled {
    opacity: 0.6;
    pointer-events: none;
    cursor: not-allowed;
    filter: grayscale(40%);
}

/* Small Button */
.dmu-btn-small {
    display: inline-block;
    font-family: 'UniversNextPro-Regular', sans-serif;
    border-radius: var(--dmu-radius-small);
    color: var(--dmu-primary-purple);
    border: 1px solid transparent;
    font-size: 1rem;
    transition: var(--dmu-transitions);
    vertical-align: middle;
    white-space: nowrap;
    text-align: center;
    line-height: 1rem;
    height: auto;
    max-height: 45px;
    width: fit-content;
    cursor: pointer;
    background-color: transparent;
    padding: .5rem;
}

    .dmu-btn-small:hover,
    .dmu-btn-small.show {
        background-color: var(--dmu-white);
    }

/* General Button */
.dmu-btn {
    display: inline-block;
    padding: .5rem 2rem;
    font-family: 'UniversNextPro-Regular', sans-serif;
    border-radius: var(--dmu-radius-small);
    color: var(--dmu-white);
    border: 1px solid transparent;
    font-size: 1rem;
    transition: var(--dmu-transitions);
    vertical-align: middle;
    white-space: nowrap;
    text-align: center;
    line-height: 1rem;
    max-height: 45px;
    width: fit-content;
    cursor: pointer;
}

/* Primary */
.dmu-btn-primary {
    background-color: var(--dmu-primary-purple);
    font-weight: normal !important;
}

    .dmu-btn-primary:hover {
        background-color: var(--dmu-secondary-purple);
    }

    .dmu-btn-primary:disabled,
    .dmu-btn-primary.disabled {
        background-color: var(--dmu-primary-purple);
    }

/* Secondary */
.dmu-btn-secondary {
    background-color: var(--dmu-white);
    border: 1px solid var(--dmu-primary-purple);
    color: var(--dmu-primary-purple);
}

    .dmu-btn-secondary:hover {
        border-color: var(--dmu-secondary-purple);
        color: var(--dmu-secondary-purple);
    }

    .dmu-btn-secondary:disabled,
    .dmu-btn-secondary.disabled {
        background-color: var(--dmu-white);
        border-color: var(--dmu-primary-purple);
        color: var(--dmu-primary-purple);
    }

/* Tertiary */
.dmu-btn-tertiary {
    border-radius: var(--dmu-radius-small);
    font-family: 'UniversNextPro-MediumCond', sans-serif;
    font-size: 1rem;
    color: var(--dmu-primary-purple);
    transition: var(--dmu-transitions);
}

/* Tertiary 1 */
.dmu-btn-tertiary-1 {
    background-color: var(--dmu-primary-grey);
    border: 1px solid var(--dmu-primary-grey);
}

    .dmu-btn-tertiary-1:hover {
        background-color: var(--dmu-white);
    }

/* Tertiary 2 */
.dmu-btn-tertiary-2 {
    background-color: var(--dmu-white);
    border: 1px solid transparent;
    width: 120px;
    padding: 10px 15px;
}

    .dmu-btn-tertiary-2:hover {
        background-color: var(--dmu-primary-grey);
    }

/* Contextual Button Variants */

/* Danger */
.dmu-btn-danger {
    background-color: var(--dmu-danger);
    color: var(--dmu-white);
    border: 1px solid var(--dmu-danger);
}

    .dmu-btn-danger:hover {
        background-color: var(--dmu-danger-hover);
        border-color: var(--dmu-danger-hover);
        color: var(--dmu-white);
    }

    .dmu-btn-danger:disabled,
    .dmu-btn-danger.disabled {
        background-color: var(--dmu-danger);
        border-color: var(--dmu-danger);
        opacity: 0.65;
    }

/* Success */
.dmu-btn-success {
    background-color: var(--dmu-success);
    color: var(--dmu-white);
    border: 1px solid var(--dmu-success);
}

    .dmu-btn-success:hover {
        background-color: var(--dmu-success-hover);
        border-color: var(--dmu-success-hover);
        color: var(--dmu-white);
    }

    .dmu-btn-success:disabled,
    .dmu-btn-success.disabled {
        background-color: var(--dmu-success);
        border-color: var(--dmu-success);
        opacity: 0.65;
    }

/* Warning */
.dmu-btn-warning {
    background-color: var(--dmu-warning);
    color: var(--dmu-dark);
    border: 1px solid var(--dmu-warning);
}

    .dmu-btn-warning:hover {
        background-color: var(--dmu-warning-hover);
        border-color: var(--dmu-warning-hover);
        color: var(--dmu-dark);
    }

    .dmu-btn-warning:disabled,
    .dmu-btn-warning.disabled {
        background-color: var(--dmu-warning);
        border-color: var(--dmu-warning);
        opacity: 0.65;
    }

/* Info */
.dmu-btn-info {
    background-color: var(--dmu-info);
    color: var(--dmu-white);
    border: 1px solid var(--dmu-info);
}

    .dmu-btn-info:hover {
        background-color: var(--dmu-info-hover);
        border-color: var(--dmu-info-hover);
        color: var(--dmu-white);
    }

    .dmu-btn-info:disabled,
    .dmu-btn-info.disabled {
        background-color: var(--dmu-info);
        border-color: var(--dmu-info);
        opacity: 0.65;
    }

/* Light */
.dmu-btn-light {
    background-color: var(--dmu-light);
    color: var(--dmu-dark);
    border: 1px solid var(--dmu-light);
}

    .dmu-btn-light:hover {
        background-color: var(--dmu-light-hover);
        border-color: var(--dmu-light-hover);
        color: var(--dmu-dark);
    }

    .dmu-btn-light:disabled,
    .dmu-btn-light.disabled {
        background-color: var(--dmu-light);
        border-color: var(--dmu-light);
        opacity: 0.65;
    }

/* Dark */
.dmu-btn-dark {
    background-color: var(--dmu-dark);
    color: var(--dmu-white);
    border: 1px solid var(--dmu-dark);
}

    .dmu-btn-dark:hover {
        background-color: var(--dmu-dark-hover);
        border-color: var(--dmu-dark-hover);
        color: var(--dmu-white);
    }

    .dmu-btn-dark:disabled,
    .dmu-btn-dark.disabled {
        background-color: var(--dmu-dark);
        border-color: var(--dmu-dark);
        opacity: 0.65;
    }

/* Outline Variants */

/* Outline Danger */
.dmu-btn-outline-danger {
    background-color: transparent;
    color: var(--dmu-danger);
    border: 1px solid var(--dmu-danger);
}

    .dmu-btn-outline-danger:hover {
        background-color: var(--dmu-danger);
        border-color: var(--dmu-danger);
        color: var(--dmu-white);
    }

    .dmu-btn-outline-danger:disabled,
    .dmu-btn-outline-danger.disabled {
        color: var(--dmu-danger);
        border-color: var(--dmu-danger);
        opacity: 0.65;
    }

/* Outline Success */
.dmu-btn-outline-success {
    background-color: transparent;
    color: var(--dmu-success);
    border: 1px solid var(--dmu-success);
}

    .dmu-btn-outline-success:hover {
        background-color: var(--dmu-success);
        border-color: var(--dmu-success);
        color: var(--dmu-white);
    }

    .dmu-btn-outline-success:disabled,
    .dmu-btn-outline-success.disabled {
        color: var(--dmu-success);
        border-color: var(--dmu-success);
        opacity: 0.65;
    }

/* Outline Warning */
.dmu-btn-outline-warning {
    background-color: transparent;
    color: var(--dmu-warning-hover);
    border: 1px solid var(--dmu-warning);
}

    .dmu-btn-outline-warning:hover {
        background-color: var(--dmu-warning);
        border-color: var(--dmu-warning);
        color: var(--dmu-dark);
    }

    .dmu-btn-outline-warning:disabled,
    .dmu-btn-outline-warning.disabled {
        color: var(--dmu-warning-hover);
        border-color: var(--dmu-warning);
        opacity: 0.65;
    }

/* Outline Info */
.dmu-btn-outline-info {
    background-color: transparent;
    color: var(--dmu-info);
    border: 1px solid var(--dmu-info);
}

    .dmu-btn-outline-info:hover {
        background-color: var(--dmu-info);
        border-color: var(--dmu-info);
        color: var(--dmu-white);
    }

    .dmu-btn-outline-info:disabled,
    .dmu-btn-outline-info.disabled {
        color: var(--dmu-info);
        border-color: var(--dmu-info);
        opacity: 0.65;
    }


.dmu-column-toggle {
    font-size: 1rem;
    background-color: var(--dmu-white);
    border: 2px solid var(--dmu-primary-grey);
    border-radius: var(--dmu-radius-small);
    color: var(--dmu-primary-purple);
    height: 36px;
    width: 47px;
    margin-right: 10px;
    box-shadow: 0 2px 3px -1px rgba(0, 0, 0, 0.1),0 1px 2px -1px rgba(0, 0, 0, 0.06);
}

.dmu-view-toggle {
    display: flex;
    flex-direction: row;
    justify-content: center;
    background-color: var(--dmu-primary-grey);
    width: 150px;
    height: 36px;
    padding: 0;
    border-radius: var(--dmu-radius-small);
}

.dmu-view-toggle-option {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    color: #97999B;
    font-size: 1rem;
    line-height: 1rem;
    height: 32px;
    margin-top: 2px;
    transition: all ease-in 0s;
    border-color: transparent !important;
}

.dmu-view-toggle-option i {
    padding-right: 5px;
}

    .dmu-view-toggle-option:hover {
        background-color: var(--dmu-soft-purple) !important;
        color: var(--dmu-white) !important;
    }

    .dmu-view-toggle-option.active {
        color: var(--dmu-primary-purple) !important;
        background-color: var(--dmu-white) !important;
        border-color: transparent;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);
    }

.dmu-landing .dmu-directory-search .search-input-container .dmu-filter-group {
    margin-bottom: 6px;
    width: 400px;
}

/*Radzen HTML Editor Overrides*/
.rz-button.rz-primary.rz-shade-default {
    display: inline-block;
    padding: .5rem 2rem;
    font-family: 'UniversNextPro-Regular', sans-serif;
    border-radius: var(--dmu-radius-small);
    color: var(--dmu-white);
    border: 1px solid transparent;
    font-size: 1rem;
    transition: var(--dmu-transitions);
    vertical-align: middle;
    white-space: nowrap;
    text-align: center;
    line-height: 1rem;
    max-height: 45px;
    width: fit-content;
    cursor: pointer;
    background-color: var(--dmu-primary-purple);
    font-weight: normal !important;
}

    .rz-button.rz-primary.rz-shade-default:hover {
        background-color: var(--dmu-secondary-purple);
    }

.rz-button.rz-secondary.rz-shade-default {
    display: inline-block;
    padding: .5rem 2rem;
    font-family: 'UniversNextPro-Regular', sans-serif;
    border-radius: var(--dmu-radius-small);
    color: var(--dmu-white);
    border: 1px solid transparent;
    font-size: 1rem;
    transition: var(--dmu-transitions);
    vertical-align: middle;
    white-space: nowrap;
    text-align: center;
    line-height: 1rem;
    max-height: 45px;
    width: fit-content;
    cursor: pointer;
    background-color: var(--dmu-white);
    border: 1px solid var(--dmu-primary-purple);
    color: var(--dmu-primary-purple);
}

.rz-button.rz-secondary.rz-shade-default:hover {
    border-color: var(--dmu-secondary-purple);
    color: var(--dmu-secondary-purple);
}

.rz-dialog-title {
    color: var(--dmu-vibrant-purple);
}

.rz-dialog-mask {
    background: rgba(0,0,0,0.75);
    opacity: 1 !important;
}

.rz-dialog {
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
    border-radius: var(--dmu-radius-small);
    background-color: var(--dmu-white);
    border: 2px solid var(--dmu-primary-purple);
}

.rz-textbox {
    background-color: var(--dmu-primary-grey);
}

.rz-form-field:hover .rz-form-field-content, .rz-autocomplete:hover:not(.rz-state-disabled), .rz-radiobutton-box:hover:not(.rz-state-disabled), .rz-chkbox-box:hover:not(.rz-state-disabled), .rz-colorpicker:not(:disabled):not(.rz-state-disabled):hover, .rz-lookup-search input:not(:disabled):not(.rz-state-disabled):hover, .rz-spinner:not(:disabled):not(.rz-state-disabled):hover, .rz-calendar .rz-inputtext:not(:disabled):not(.rz-state-disabled):hover, .rz-multiselect:not(:disabled):not(.rz-state-disabled):hover, .rz-dropdown:not(:disabled):not(.rz-state-disabled):hover, .mask:not(:disabled):not(.rz-state-disabled):hover, .rz-textarea:not(:disabled):not(.rz-state-disabled):hover, .rz-textbox:not(:disabled):not(.rz-state-disabled):hover {
    border: 1px solid var(--dmu-primary-purple);
    box-shadow: none;
}

.rz-textbox:not(:disabled):not(.rz-state-disabled):focus {
    border: 1px solid var(--dmu-primary-purple);
    box-shadow: none;
    background-color: var(--dmu-white);
}

.rz-dialog-titlebar-close {
    display: none;
}
/*Inputs*/
.rz-dropdown-items li.rz-state-highlight,
.rz-dropdown-item.rz-state-highlight {
    background-color: var(--dmu-primary-grey);
    color: var(--dmu-primary-purple);
}

/* List items */
.dmu-custom-panel-section ul {
    list-style-type: disc;
    margin-left: 0;
    color: var(--dmu-text-black);
}

/* Quill editor styling - keep default scrolling behavior */
.ql-editor {
    /* Inherit page font styles */
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
    font-weight: inherit !important;
    max-height: 800px;
}

/* Ensure Quill editor inherits from parent container */
.dmu-profile-bio-content .ql-editor {
    font-family: var(--dmu-font-regular) !important;
    line-height: 1.5 !important;
    color: var(--dmu-text-black) !important;
}

/* Override Quill's default typography */
.ql-editor p {
    margin: 0 0 1rem 0 !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.ql-editor h1, .ql-editor h2, .ql-editor h3, 
.ql-editor h4, .ql-editor h5, .ql-editor h6 {
    color: var(--dmu-primary-purple) !important;
    font-family: var(--dmu-font-light) !important;
    font-weight: normal !important;
    line-height: 1.2 !important;
    margin: 1.5rem 0 0.5rem 0 !important;
}

.ql-editor ul, .ql-editor ol {
    margin: 0 0 1rem 0 !important;
    padding-left: 1.5rem !important;
}

.ql-editor li {
    margin-bottom: 0.25rem !important;
    font-family: inherit !important;
    line-height: inherit !important;
}

.ql-editor blockquote {
    margin: 1rem 0 !important;
    padding: 0.5rem 1rem !important;
    border-left: 4px solid var(--dmu-primary-purple) !important;
    font-style: italic !important;
    background-color: #f8f9fa !important;
}

.ql-editor code {
    font-family: 'Courier New', monospace !important;
    background-color: #f1f3f4 !important;
    padding: 0.2rem 0.4rem !important;
    border-radius: 3px !important;
    font-size: 0.9em !important;
}

.ql-editor pre {
    background-color: #f1f3f4 !important;
    padding: 1rem !important;
    border-radius: 4px !important;
    overflow-x: auto !important;
    margin: 1rem 0 !important;
}

/* Preserve site's link styling in editor */
.ql-editor a {
    text-decoration: underline !important;
}

.ql-editor a:hover {
    text-decoration: underline !important;
}

/* Accessibility improvements for Quill editor */
.ql-toolbar {
    border: 1px solid #ccc;
    border-bottom: none;
    border-radius: 4px 4px 0 0;
}

.ql-container {
    border: 1px solid #ccc;
    border-radius: 0 0 4px 4px;
}

.ql-toolbar button {
    transition: background-color 0.2s ease;
}

.ql-toolbar button:hover {
    background-color: #f0f0f0;
}

.ql-toolbar button.ql-active {
    background-color: var(--dmu-primary-purple);
    color: white;
}

/* Focus indicators for accessibility */
.ql-toolbar button:focus,
.ql-toolbar select:focus {
    outline: 2px solid var(--dmu-primary-purple);
    outline-offset: 2px;
}

.ql-editor:focus {
    outline: 2px solid var(--dmu-primary-purple);
    outline-offset: 2px;
}

/* Loading state */
.ql-editor.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Error state */
.ql-editor.error {
    border-color: #dc3545;
}

/* Disabled state for editor during submission */
.ql-container.ql-disabled {
    opacity: 0.6;
    pointer-events: none;
}

.ql-toolbar.ql-disabled {
    opacity: 0.6;
    pointer-events: none;
}

/* Blocker overlay while submitting */
.editor-wrapper {
    position: relative;
}

.editor-blocker {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    pointer-events: all;
}

/* Ensure Quill editor scrolls within its area while editing */
.editor-wrapper .ql-container {
    height: auto !important; /* let container size naturally */
}

.editor-wrapper .ql-editor {
    max-height: 60vh !important; /* viewport-based cap */
    overflow-y: auto !important; /* internal scroll */
    box-sizing: border-box;
}

/* Help text styling */
.form-text {
    font-size: 0.875rem;
    color: #6c757d;
    margin-top: 0.25rem;
}


    .dmu-custom-panel-section ul li {
        margin-bottom: 5px;
    }

.dmu-profile-bio-rc {
    padding: 0;
}
/* Contact and Work Info Tables */
.dmu-info-table table.no-border {
    border-collapse: collapse;
    width: 80%;
    margin: 0 auto;
    margin-left: 0;
    background-color: transparent;
}

    .dmu-info-table .table.no-border td {
        border: none;
        padding: 5px;
        text-align: center;
    }

    .dmu-info-table .table.no-border td {
        height: 28px;
    }

    .dmu-info-table .table.no-border td:first-child {
        text-align: right;
        padding-right: 20px;
        color: var(--dmu-label-grey-2);
        font-family: var(--dmu-font-regular);
        font-size: 0.875rem;
        width: 130px;
    }

.dmu-info-table .table.no-border td:not(:first-child) {
    color: var(--dmu-text-black);
    text-align: left;
}

/* Weekly Availability Table*/
.dmu-availability-table-container {
    height: auto;
    max-height: 200px;
    overflow-y: auto;
    border: none;
}

.dmu-availability table.no-border {
    border-collapse: collapse;
    width: 80%;
    margin: 0 auto 10px auto;
    margin-left: 0;
    background-color: transparent;
}

    .dmu-availability table.no-border th,
    .dmu-availability table.no-border td {
        border: none;
        padding: 5px;
        text-align: center;
    }

    .dmu-availability table.no-border th,
    .dmu-availability table.no-border td {
        height: 32px;
    }

    .dmu-availability table.no-border th {
        font-weight: bold;
        text-align: center;
    }

    .dmu-availability table.no-border th:not(:first-child) {
        color: var(--dmu-label-grey-2);
        font-family: var(--dmu-font-regular);
        font-size: 0.875rem;
        font-weight: normal;
    }

    .dmu-availability table.no-border td:first-child {
        text-align: right;
        padding-right: 10px;
        color: var(--dmu-label-grey-2);
        font-family: var(--dmu-font-regular);
        font-size: 0.875rem;
    }

    .dmu-availability table.no-border td:not(:first-child) {
        width: 50px;
        padding-top: 8px;
    }

    .dmu-availability table.no-border td input[type="checkbox"] {
        margin: 0 auto;
        pointer-events: none;
        width: 20px;
        height: 20px;
    }

        .dmu-availability table.no-border td input[type="checkbox"]:disabled {
            color: var(--dmu-primary-purple);
        }

        .dmu-availability table.no-border input[type="checkbox"]:checked::before {
            background-color: var(--dmu-primary-purple) !important;
            border-color: var(--dmu-primary-purple) !important;
        }

    .dmu-availability table.no-border th {
        font-size: 0.875rem;
        font-family: var(--dmu-font-regular), sans-serif;
    }

/*Datagrid and RadzenDataGrid overrides*/
.dmu-admin-table .rz-sortable-column:last-child > div .rzi-sort:not(.rzi-sort-asc):not(.rzi-sort-desc) {
    display: none !important;
}

.rz-sortable-column > div .rzi-sort:not(.rzi-sort-asc):not(.rzi-sort-desc) {
    color: var(--dmu-label-grey-2);
}

.rz-datatable {
    border: none;
}

.rz-grid-table thead th {
    background-color: var(--dmu-white);
    border-right: none !important;
}

.rz-grid-table td:not(:last-child) {
    border-right: none;
}

.rz-selectable tbody tr.rz-data-row:hover:not(.rz-state-highlight) > td {
    background-color: #EFEFEF !important;
}

.rz-selectable tbody tr.rz-data-row:hover:not(.rz-state-highlight) .rz-cell-data {
    color: var(--dmu-primary-purple) !important;
}

.rz-selectable tbody tr.rz-data-row.rz-state-highlight > td {
    background-color: #EFEFEF !important;
    border-bottom: 1px solid var(--dmu-primary-purple);
    border-top: 1px solid var(--dmu-primary-purple);
}

.rz-selectable tbody tr.rz-data-row.rz-state-highlight > td:first-of-type {
    border-left: 3px solid var(--dmu-primary-purple);
}

.rz-selectable tbody tr.rz-data-row.rz-state-highlight .rz-cell-data {
    color: var(--dmu-primary-purple) !important;
}
/*Cards - Using CSS Grid for consistent layout*/
#dmu-card-container {
    height: auto;
    overflow-y: visible;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
    padding: 1px;
    width: 100%;
}

.dmu-card {
    width: 100%;
    height: 310px;
    font-family: var(--dmu-font-regular);
    font-size: 0.875rem;
    padding: 0.5rem;
    cursor: pointer;
    transition: box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out;
    box-sizing: border-box;
}

/* Directory visibility: highlight rows/cards that are hidden from public or authenticated directory */
.dmu-row-restricted-visibility > td {
    background-color: rgb(98 0 131 / 29%) !important;
}

.dmu-card-restricted-visibility .dmu-card,
.dmu-card-restricted-visibility.rz-card {
    background-color: rgba(255, 243, 205, 0.4);
    border-left: 3px solid var(--dmu-primary-purple, #6f42c1);
}

/* Profile detail – visibility notice strip */
.dmu-visibility-notice {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 14px;
    background-color: rgba(193, 167, 226, 0.15);
    border-left: 3px solid var(--dmu-primary-purple);
    border-radius: 0 var(--dmu-radius-small) var(--dmu-radius-small) 0;
    font-family: var(--dmu-font-regular), Arial, sans-serif;
    font-size: 0.875rem;
    color: var(--dmu-secondary-purple);
    line-height: 1.5;
}

.dmu-visibility-notice-icon {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    margin-top: 2px;
    stroke: var(--dmu-primary-purple);
}

.dmu-visibility-notice-sub {
    display: block;
    font-size: 0.8rem;
    color: var(--dmu-label-grey-2);
    margin-top: 2px;
}

/* Visibility save – success button state */
.dmu-btn-success {
    background-color: var(--dmu-success);
    color: var(--dmu-white);
    border-color: var(--dmu-success);
    transition: var(--dmu-transitions);
}

/* Inline spinner for saving state */
.dmu-btn-spinner {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: dmu-spin 0.7s linear infinite;
    margin-right: 6px;
    vertical-align: middle;
}

@keyframes dmu-spin {
    to { transform: rotate(360deg); }
}

/* Tablet: 2 columns */
@media (min-width: 769px) and (max-width: 1024px) {
    #dmu-card-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile: Single column, full width */
@media (max-width: 768px) {
    #dmu-card-container {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 0;
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .dmu-card {
        width: 100% !important;
        max-width: 100% !important;
        height: auto;
        min-height: 200px;
        padding: 0.75rem;
        margin: 0;
        box-sizing: border-box;
    }

    .dmu-card.not-auth {
        height: auto;
        min-height: 150px;
    }

    .dmu-card-header {
        height: auto;
        min-height: 140px;
        padding: 12px;
    }

    .dmu-card-body {
        padding: 0.75rem 0 0.75rem 0.5rem;
    }

    /* Ensure parent containers don't constrain width */
    .dmu-search-results {
        width: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }

    .dmu-search-results .rz-col {
        padding-left: 0;
        padding-right: 0;
    }
}

    .dmu-card:hover {
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
        transform: translateY(-3px); 
        border-color: #d1d1d1;
    }

.dmu-card.not-auth {
    height: 200px;
}

.dmu-card-header {
    background-color: var(--dmu-primary-grey);
    padding: 15px;
    border-radius: var(--dmu-radius-small);
    font-size: 0.875rem;
    color: var(--dmu-text-black);
    height: 185px;
    position: relative;
}

.dmu-card-header-hero {
    padding-top: 0;
    margin-bottom: .75em;
}

.dmu-card-body {
    color: var(--dmu-text-black);
    padding: 1rem 0 1rem .5rem;
}

.dmu-card-body-item {
    font-size: 0.875rem;
    color: var(--dmu-text-black);
    margin-bottom: 10px !important;
}

.dmu-card-body-item:last-of-type {
    margin-bottom: 0 !important;
}

.dmu-card-body-item i {
    margin-right: 8px;
}

/*Search Input Shared Component - Required */
.search-input-container .dmu-search-input,
.dmu-input-base {
    background-color: #EFEFEF;
    color: #6C757D;
    border-radius: .2rem;
    border: 1px solid #C8C9C7 !important;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    width: 100%;
    padding-right: 30px;
}

.search-input-container .dmu-search-input:hover, 
.dmu-input-base:hover {
    border-color: var(--dmu-primary-purple) !important;
}

    .search-input-container .dmu-search-input:focus, 
    .dmu-input-base:focus {
        background-color: #FFF;
        outline: none !important;
        color: #495057;
        border-color: #582C83;
        box-shadow: none !important;
    }

.rz-dropdown-items-wrapper,
.rz-multiselect-items-wrapper {
    border: 1px solid var(--dmu-primary-purple) !important;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .25);
    border-radius: var(--dmu-radius-small);
}

/*Profile Slideout Panel*/
.dmu-custom-panel {
    position: fixed;
    right: -640px;
    top: 0;
    width: 600px;
    height: 100%;
    background-color: white;
    transition: right 0.3s ease;
    z-index: 1000;
    display: flex;
}

    .dmu-custom-panel.open {
        right: 0;
        box-shadow: -4px 0 12px rgba(0, 0, 0, 0.1);
    }

.dmu-custom-panel-close-btn {
    position: absolute;
    top: 0;
    left: -40px;
    background-color: var(--dmu-primary-purple);
    width: 40px;
    height: 55px;
    color: var(--dmu-white);
    border-radius: 25px 0 0 25px;
    border: 2px solid var(--dmu-white);
    font-size: 2rem;
    box-shadow: -4px 0 12px rgba(0, 0, 0, 0.1);
    transition: var(--dmu-transitions);
}

.dmu-custom-panel-close-btn:hover {
    background-color: var(--dmu-secondary-purple);
}

.dmu-custom-panel-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow-y: auto;
}

    .dmu-custom-panel-content .dmu-card-body {
        display: flex;
        flex: 1;
        flex-direction: column;
        gap: 0;
        flex-wrap: nowrap;
    }

.dmu-custom-panel-section h5 {
    margin-top: 0;
    font-size: 18px;
    color: var(--dmu-label-grey);
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
    font-family: var(--dmu-font-light);
}

.dmu-label {
    font-size: 0.875rem;
    color: var(--dmu-label-grey);
    font-weight: bold;
    font-family: var(--dmu-font-regular);
}

.dmu-custom-panel-link a {
    color: var(--dmu-primary-purple) !important;
    font-size: 1.25rem;
    position: absolute;
    top: .5rem;
    right: 1rem;
}

    .dmu-custom-panel-link a:hover {
        color: var(--dmu-secondary-purple) !important;
    }

.dmu-custom-panel-link-btn a {
    color: var(--dmu-white);
}

    .dmu-custom-panel-link-btn a:hover {
        color: var(--dmu-white);
        text-decoration: none;
    }

.dmu-custom-panel-link-btn {
    margin-top: auto;
}

.dmu-custom-panel .dmu-custom-panel-section:nth-last-child(-n+3) {
    margin-top: 10px;
}

.dmu-custom-panel-section p {
    color: var(--dmu-label-grey);
}

/*Advanced Filters Panel*/
.dmu-filter-container {
    position: relative;
    text-align: center;
}

.dmu-adv-filter-btn {
    position: relative;
    width: 162px;
    background-color: var(--dmu-white);
    font-family: var(--dmu-font-regular);
    font-size: 0.875rem;
    color: var(--dmu-text-black-2);
    border-radius: var(--dmu-radius-small);
    border: 1px solid white;
    line-height: 0.875rem;
    text-align: center;
    padding: .5rem 1rem;
    box-shadow: 0px 4px 6px -1px rgba(0,0,0,.1), 0px 2px 4px -1px rgba(0,0,0,.06);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

    .dmu-adv-filter-btn i {
        margin-right: 5px;
        font-size: 0.875rem;
    }

    .dmu-adv-filter-btn.closed {
        transition: 0.4s ease;
        margin-top: 0;
    }

    .dmu-adv-filter-btn.open i {
        font-size: 0.75rem;
        padding-bottom: 2px
    }

    .dmu-adv-filter-btn.open {
        transition: 0.4s ease;
        margin-top: 141px;
        color: var(--dmu-primary-purple);
    }

.dmu-filter-panel {
    position: absolute;
    margin: 0 auto;
    width: 100%;
    background-color: var(--dmu-white);
    padding: 1rem 0;
    box-shadow: 0 0 0 1px var(--dmu-primary-grey);
    opacity: 0;
    z-index: 10;
    display: none;
    border-radius: 0 0 var(--dmu-radius-small) var(--dmu-radius-small);
    display: flex;
    flex-direction: row;
}

/* Desktop: Hide header, show original layout */
@media (min-width: 768px) {
    .dmu-filter-panel-header {
        display: none !important;
    }

    .dmu-filter-panel-content {
        padding: 0 !important;
        display: block !important;
        width: 100%;
    }

    .dmu-filter-panel-content .d-flex {
        flex-direction: row !important;
        flex-wrap: wrap !important;
    }

    .dmu-filter-panel-actions {
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: none !important;
    }

    .dmu-filter-panel-actions .d-flex {
        flex-direction: row !important;
    }

    .dmu-filter-panel-actions .dmu-btn {
        width: auto !important;
        margin: 0 !important;
    }
}

/* Mobile: Show header with close button */
@media (max-width: 767px) {
    .dmu-filter-panel {
        padding: 0;
        flex-direction: column;
    }

    .dmu-filter-panel-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1rem 1.5rem;
        border-bottom: 1px solid var(--dmu-primary-grey);
        background-color: var(--dmu-primary-grey);
    }

    .dmu-filter-panel-title {
        margin: 0;
        font-size: 1rem;
        font-weight: 600;
        color: var(--dmu-text-black);
    }

    .dmu-filter-panel-close-btn {
        background: none;
        border: none;
        font-size: 1.25rem;
        color: var(--dmu-text-black);
        cursor: pointer;
        padding: 0.25rem 0.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: var(--dmu-radius-small);
        transition: background-color 0.2s ease;
    }

    .dmu-filter-panel-close-btn:hover {
        background-color: rgba(0, 0, 0, 0.05);
        color: var(--dmu-primary-purple);
    }

    .dmu-filter-panel-content {
        padding: 1rem 1.5rem;
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .dmu-filter-panel-actions {
        margin-top: 0.5rem;
        padding-top: 1rem;
        border-top: 1px solid var(--dmu-primary-grey);
    }
}

/* Backdrop overlay for mobile only */
.dmu-filter-panel-backdrop {
    display: none;
}

/* Desktop: Never show backdrop */
@media (min-width: 768px) {
    .dmu-filter-panel-backdrop {
        display: none !important;
    }
}

    .dmu-filter-panel.open {
        display: flex;
        opacity: 1;
        animation: slideIn 0.4s ease forwards;
        z-index: 12;
    }

        .dmu-filter-panel.open:after {
            content: "";
            display: block;
            width: 162px;
            background-color: var(--dmu-white);
            position: absolute;
            bottom: -1px;
            left: calc(50% - 80px);
            height: 2px;
            z-index: 13;
        }

    .dmu-filter-panel.closed {
        animation: slideOut 0.4s ease forwards;
        z-index: 10;
    }

.dmu-filter-group {
    margin-bottom: 15px;
    text-align: left;
    width: 250px;
}

    .dmu-filter-group:not(:last-of-type) {
        margin-right: 1rem;
    }

    .dmu-filter-group label {
        display: block;
        color: var(--dmu-label-grey-2);
        font-size: 0.8rem;
        margin-bottom: 5px;
        text-align: left;
        margin-right: 10px;
    }

        .dmu-filter-group label:last-of-type {
            margin-right: 0;
        }

    .dmu-filter-group input,
    .dmu-filter-group .rz-dropdown {
        width: 90%;
    }

    .dmu-filter-group .rz-multiselect-item-content {
        color: var(--dmu-text-black);
    }


li.rz-multiselect-item:hover {
    color: var(--dmu-primary-purple);
    background-color: var(--dmu-primary-grey);
}

li.rz-multiselect-item.rz-state-highlight {
    background-color: var(--dmu-primary-grey);
}

    li.rz-multiselect-item.rz-state-highlight:hover {
        color: var(--dmu-secondary-purple);
        background-color: var(--dmu-primary-grey);
    }

li.rz-multiselect-item.rz-state-highlight,
.rz-chkbox-box .rzi {
    color: var(--dmu-primary-purple);
}

/* Keyframes for sliding down */
@keyframes slideIn {
    0% {
        transform: translateY(-100%);
        opacity: 0;
        visibility: hidden;
    }

    99% {
        transform: translateY(-1%);
        opacity: 0;
        visibility: hidden;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }
}

/* Keyframes for sliding up */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideOut {
    0% {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }

    1% {
        transform: translateY(1%);
        opacity: 0;
        visibility: hidden;
    }

    100% {
        transform: translateY(-100%);
        opacity: 0;
        visibility: hidden;
    }
}


/** Modals 
.modal-backdrop {
    background: rgba(0,0,0,0.75);
    opacity: 1 !important;
}

.modal-dialog {
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    display:flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 30px);
}

.modal-content {
    height: 100%;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
    border-radius: var(--dmu-radius-small);
    background-color: var(--dmu-white);
    border: 2px solid var(--dmu-primary-purple); 
    max-width: 90%;
    min-height: 575px;
}**/

.modal-title {
    font-size: 1.75rem;
    font-family: var(--dmu-font-medium);
    color: var(--dmu-vibrant-purple);
}

.modal-header p {
    font-size: .875rem;
    color: var(--dmu-label-grey);
    text-align: left;
    margin-bottom: 0;
}

/*Confirmation Modal*/
#deleteConfirmationModal .modal-content {
    height: auto;
}

/*Edit Picture Modal*/
#ddUpload {
    left: 0;
    --rz-upload-button-bar-background-color: transparent;
    --rz-upload-button-bar-padding: 0;
}

    #ddUpload .rz-fileupload-buttonbar .rz-fileupload-choose {
        width: 100%;
        text-align: center;
        font-size: 16px;
        padding: 100px 0;
    }
.rz-fileupload-choose:not(.rz-state-disabled) {
    width: 100%;
    text-align: center;
    height: 200px;
    background-color: var(--dmu-white);
    color: var(--dmu-text-black);
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    justify-content: center;
    text-decoration: underline;
}

    .rz-fileupload-choose:not(.rz-state-disabled):hover:not(:active) {
        background-color: var(--dmu-primary-grey);

    }

    .rz-fileupload-buttonbar {
        padding: 0;
        border: 1px dashed var(--dmu-primary-purple);
    }

.upload-container {
    position: relative;
}

.upload-icon {
    position: absolute;
    top: 50px;
}

.upload-text {
    position: absolute;
    top: 60px;
}

.rz-fileupload-choose:not(.rz-state-disabled) .rz-button-text {
    color: var(--dmu-primary-purple);
}

.rz-fileupload-choose:not(.rz-state-disabled):active {
    background-color: var(--dmu-secondary-purple);
    color: var(--dmu-white) !important;
}

    .rz-fileupload-choose:not(.rz-state-disabled):active .rz-button-text {
        color: var(--dmu-white);
    }

    @media (max-width: 768px) {
        .modal-dialog {
        width: 90%;
        height: auto;
    }

    .modal-content {
        height: auto;
    }
}

.auto-scroll-textarea {
    resize: none;
    overflow-y: auto;
    max-height: 200px;
}

#viewCommentsModal .auto-scroll-textarea:disabled {
    background-color: var(--dmu-primary-grey);
    color: var(--dmu-text-black);
}

#viewCommentsModal .modal-content {
    min-height: 500px;
}

#viewCommentsModal .dmu-info-table tr td:first-child{
    text-align: left;
    color: var(--dmu-text-black);
    font-weight: bold;
    font-size: .875rem;
}

#viewCommentsModal .dmu-filter-group {
    width: 100%;
    padding: 5px;
}

.no-results-container {
    text-align: center;
    padding: 2rem;
}

    .no-results-container h3 {
        margin-top: 0.5rem;
        color: #333;
    }

    .no-results-container p {
        color: #666;
        margin-bottom: 1rem;
    }

/** NavBar TEMP to be relocated **/
.dmu-navbar {
    background-color: var(--dmu-white);
    transition: all .2s linear;
    border-bottom-color: #c8c9c7;
    border-bottom-style: solid;
    border-bottom-width: 0;
    margin: 0 auto;
    z-index: 14;
    position: relative;
    padding: 1em 0;
    width: 100%;
    max-width: 100%;
    line-height: 1.3;
    border-top: 10px solid var(--dmu-primary-purple);
    padding-left: 5rem;
    padding-right: 5rem;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
}

.dmu-navbar-container {
    margin: 0 auto;
    /*padding: 0 20px;*/
    padding: 0;
}

.dmu-navbar-nav {
    margin: 0 50px 0 0;
}

.dmu-navbar-branding {
    line-height: 1;
    align-self: center;
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}

.dmu-navbar-branding img {
    height: auto;
    width: 165px;
    max-width: 165px;
    vertical-align: middle;
    aspect-ratio: auto 1/1;
    overflow: clip;
    overflow-clip-margin: content-box;
}

.dmu-navbar-access .dmu-base-dropdown li div {
    padding-left: 18px;
}

.dmu-navbar-item {
    display: flex;
    align-items: center;
}

a.dmu-navbar-link {
    color: var(--dmu-primary-purple);
    border-radius: var(--dmu-radius-small);
    padding: 18px 15px;
    font-family: var(--dmu-font-medium);
    font-size: 1rem;
    text-transform: uppercase;
}

a.dmu-navbar-link:hover {
    color: var(--dmu-secondary-purple);
    background-color: var(--dmu-primary-grey);
    transition: var(--dmu-transitions);
    text-decoration: none;
}

a.dmu-navbar-link.active {
    background-color: var(--dmu-primary-grey);
    color: var(--dmu-secondary-purple);
}

.dmu-navbar-profile {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: var(--dmu-primary-grey);
    padding: 4px;
    border: 1px solid var(--dmu-white);
    margin: 0 !important;
    transition: var(--dmu-transitions);
    justify-content: center;
}

.dmu-navbar-profile:hover {
    border-color: var(--dmu-primary-purple);
}

.dmu-navbar-profile p {
    margin-bottom: 0;
}

.dmu-navbar-access li,
.dmu-navbar-access li div label {
    cursor: pointer;
}

/** Profile Page **/
.dmu-profile-hero {
    position: relative;
    display: block;
    width: 100%;
    height: 180px;
    background-image: url(dist/img/images/DMU-sitewide-banner-2023a.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-attachment: scroll;
    background-size: cover;
}

    .dmu-profile-hero:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        z-index: 0;
        background-image: linear-gradient(120deg,rgba(255,255,255,.6) 10%,rgba(255,255,255,0) 110%);
    }

.dmu-profile-picture-wrapper {
    padding-left: 150px;
}

.dmu-profile-picture img {
    width: 100% !important;
    height: 100% !important;
}

.dmu-profile-picture-container .dmu-btn {
    align-self: center;
}

.dmu-profile-picture {
    z-index: 13;
    border-radius: 50%;
    overflow: hidden;
    width: 290px;
    height: 290px;
    border: 2px solid var(--dmu-white);
    margin-top: -50px;
    margin-left: auto;
    margin-right: auto;
}

.dmu-profile-title {
    font-size: 2.813rem;
    color: var(--dmu-primary-purple);
    font-family: var(--dmu-font-light);
    margin-top: 5rem;
    display: flex;
    line-height: normal;
}

.dmu-profile-credentials-editbox{
    margin-left: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.dmu-name-credentials-wrapper {
    display: flex;
    flex-direction: column;
}

.dmu-name-section {
    display: block;
    margin-bottom: 0;
}

.dmu-credentials-edit-container {
    margin-top: 0.5rem;
    max-width: 600px;
}

.dmu-credentials-input {
    flex: 1;
    min-width: 200px;
}

.dmu-credentials-buttons {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* Mobile layout for credentials edit */
@media (max-width: 768px) {
    .dmu-name-credentials-wrapper {
        flex-direction: column;
    }

    .dmu-name-section {
        display: block;
        width: 100%;
        margin-bottom: 0.5rem;
    }

    .dmu-profile-credentials-editbox {
        flex-direction: column;
        align-items: stretch;
        margin-left: 0;
        gap: 0.75rem;
    }

    .dmu-credentials-input {
        width: 100% !important;
        min-width: unset;
    }

    .dmu-credentials-buttons {
        width: 100%;
        justify-content: flex-end;
        gap: 0.5rem;
    }

    .dmu-credentials-buttons .dmu-btn {
        flex: 1;
        max-width: 150px;
    }

    .dmu-secondary-cred.dmu-btn-credentials-edit {
        margin-left: 0.5rem !important;
        margin-top: 0.25rem;
        display: inline-block !important;
    }

    .dmu-credentials-edit-container {
        margin-top: 0.75rem;
        width: 100%;
        max-width: 100%;
    }
}

/* Ensure edit button is always visible */
.dmu-secondary-cred.dmu-btn-credentials-edit {
    display: inline-block !important;
    visibility: visible !important;
}

.dmu-profile-secondary-title {
    font-size: 1.25rem;
    color: var(--dmu-label-grey);
    font-weight: normal;
    width: 60%;
    padding-bottom: 1rem;
    border-bottom: 1px solid #CCCCCC;
    line-height: 1.5em;
}

.dmu-profile.dmu-custom-panel-content {
    padding: 0;
    margin-top: 1rem;
    width: 60%;
    overflow-y: unset;
}

    .dmu-profile.dmu-custom-panel-content .dmu-card-body {
        padding: 0;
    }

.dmu-profile .dmu-custom-panel-section h5 {
    border: none;
    font-size: 1rem;
    color: var(--dmu-text-black);
    font-weight: bold;
    font-family: var(--dmu-font-regular);
}

.dmu-profile .dmu-availability-table-container {
    max-height: 400px;
    overflow-x: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dmu-profile .dmu-availability table.no-border {
    width: auto;
    border-collapse: collapse;
}

    .dmu-profile .dmu-availability table.no-border td:first-child {
        padding-right: 20px;
        white-space: normal;
        word-wrap: break-word;
        max-width: 250px;
    }

.dmu-profile .dmu-availability-table-container button {
    align-self: flex-start;
    margin-top: 10px;
}

.dmu-info-text {
    color: var(--dmu-vibrant-purple);
    background-color: var(--dmu-white);
    border-radius: var(--dmu-radius-small);
    padding: .5rem 2rem;

}

@media (max-width: 1560px) {
    .dmu-profile.dmu-custom-panel-content,
    .dmu-profile-secondary-title {
        width: 80%;
    }
}

@media (max-width: 768px) {
    .dmu-profile .dmu-availability table.no-border td:first-child {
        max-width: 150px;
        padding-right: 10px;
    }
}

@media (max-width: 480px) {
    .dmu-profile .dmu-availability table.no-border td:first-child {
        max-width: 120px;
        padding-right: 5px;
        font-size: 14px;
    }
}

table.editAvailability thead th {
    text-align: center;
}

table.editAvailability tr td:last-child .rz-button.rz-info.rz-shade-default,
table.editAvailability tr td:last-child .rz-button.rz-primary.rz-shade-default {
    color: #B71C1C;
    background-color: transparent;
}

.dmu-profile .dmu-info-table table.no-border td:first-child {
    width: 150px;
}

.dmu-profile-bio-container {
    height: auto;
    width: 80%;
    max-width: 1200px;
    margin: 20px auto;
}

#bioFieldDropdown .dmu-base-dropdown li div {
    padding-left: 1em;
    padding-right: 1em;
}

.dmu-profile-bio-lc {
    height: auto;
    max-height: 675px;
    background-color: var(--dmu-primary-grey);
    max-width: 350px !important;
    flex-basis: unset !important;
    border-radius: var(--dmu-radius-small);
    padding: 16px;
}

/* Constrain the Add Bio Information button */
.dmu-profile-bio-lc .dmu-btn-primary.w-100 {
    max-width: 100%;
    box-sizing: border-box;
}

.dmu-profile-bio-lc.fixed-height {
    height: 675px;
}

    .dmu-profile-bio-lc .list-group {
        border: none;
        background-color: var(--dmu-primary-grey);
    }

        .dmu-profile-bio-lc .list-group .list-group-item {
            border: none;
            background-color: var(--dmu-primary-grey);
            color: var(--dmu-primary-purple);
            padding: 6px 0;
            font-size: 1rem;
            min-height: 43px; /* ⟵ allow growth instead of fixed height */
            white-space: normal; /* wrap allowed */
            overflow-wrap: anywhere;
        }
            .dmu-profile-bio-lc .list-group .list-group-item.active {
                font-weight: 700;
                min-height: 43px;
                white-space: normal;
                overflow-wrap: anywhere;
            }

            .dmu-profile-bio-lc .list-group .list-group-item.disabled-field {
                color: var(--dmu-label-grey-2);
            }

.dmu-profile-bio-rc {
    background-color: var(--dmu-white);
    width: 100% !important;
    flex-basis: unset !important;
    position: relative;
}

.dmu-profile-bio-rc.fixed-height {
    width: 100% !important;
}

/*.dmu-editor-wrapper {
    position: relative; 
    height: 675px; 
    overflow-y: auto;
}*/



/* Bio Content Styling */
.dmu-profile-bio-content div {
    font-family: var(--dmu-font-regular);
}

.dmu-profile-bio-content div a {
    color: var(--dmu-primary-purple);
}

.dmu-profile-bio-content div img {
    display: block;
    object-fit: contain;
}

    .dmu-profile-bio-content div h3 {
        color: var(--dmu-primary-purple);
        font-size: 2rem;
        font-weight: 300;
        font-family: var(--dmu-font-light);
    }

.rz-html-editor {
    position: relative;
    height: 675px;
    overflow-y: auto;
    border: 2px solid var(--dmu-vibrant-purple);
}

.rz-html-editor .rz-html-editor-toolbar {
    position: sticky;
    top: 0;
    z-index: 999; /* Keep it above the editor text */
}

.dmu-profile-bio-content > div:not(.rz-html-editor, .rz-html-editor-toolbar),
.dmu-profile-bio-content .rz-html-editor .rz-html-editor-content {
    padding: 25px 50px;
}

.rz-html-editor-button.rz-selected {
    background-color: var(--dmu-primary-purple);
    color: var(--dmu-white);
    border-radius: var(--dmu-radius-small);
}

.dmu-profile-bio-subTitle {
    font-size: 0.875rem;
    color: var(--dmu-secondary-purple);
    font-weight: bold;
}

.dmu-profile-bio-subContent {
    font-size: 0.875rem;
    color: var(--dmu-text-black);
}

.dmu-profile-bio-subArea {
    padding-left: 8px;
    font-size: 0.875rem;
}

.dmu-profile-container {
    margin: 0 auto;
}

html :where(img[class*=wp-image-]) {
    height: auto;
    max-width: 100%;
}

.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    text-align: center;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.aligncenter {
    clear: both;
}

/*Cropper*/
.cropper-container {
    max-width: 100% !important;
    max-height: 425px !important;
}

.cropper-crop-box,
.cropper-view-box {
    border-radius: 50%;
}

.cropped-image {
    display: block;
    margin-top: 20px;
    border-radius: 50%;
/*    width: 200px;
    height: 200px;*/
    object-fit: cover;
}

@media (max-width: 1750px) {
    .dmu-profile-bio-container {
        width: 100%;
        max-width: 100%;
        padding: 0 1rem;
    }
}

@media (max-width: 1500px) {
    .dmu-profile-picture-wrapper {
        padding-left: 75px;
    }
}

/* Adjust styling for smaller screens but keep side-by-side layout */
@media (max-width: 1270px) {
    /* Only hide the text span, not the button */
    .dmu-secondary-cred.text-muted {
        display:none;
    }

    .dmu-profile-picture-wrapper {
        padding-left: 0;
    }
    .dmu-profile-picture {
        width: 200px;
        height: 200px;
    }
    .dmu-profile-title {
        margin-top: 3rem;
        line-height: normal;
    }
}


.dmu-profile-info-wrapper {
    margin-top: 2rem;
}

/* Mobile and tablet: stacked layout with centered content */
@media (max-width: 786px) {
    .dmu-profile-picture-wrapper {
        padding-left: 0;
        /* Let Radzen handle column width via SizeXS="12" and SizeSM="12" */
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .dmu-profile-picture-container .dmu-btn {
        align-self: center;
        margin: 0 auto;
    }

    .dmu-profile-picture-wrapper .dmu-profile-picture {
        align-self: center;
    }

    .dmu-profile-info-wrapper {
        margin-top: 2rem;
        /* Let Radzen handle column width via SizeXS="12" and SizeSM="12" */
    }

    /* Center the name section when stacked */
    .dmu-name-credentials-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .dmu-name-section {
        text-align: center;
        width: 100%;
        justify-content: center;
    }

    .dmu-profile-title {
        justify-content: center;
        text-align: center;
    }
}

/* Desktop: side-by-side layout */
@media (min-width: 787px) {
    .dmu-name-credentials-wrapper {
        align-items: flex-start;
        text-align: left;
    }

    .dmu-name-section {
        text-align: left;
        justify-content: flex-start;
    }

    .dmu-profile-title {
        justify-content: flex-start;
        text-align: left;
    }
}

/* Additional mobile/tablet styles for profile title */
@media (max-width: 991px) {
    .dmu-profile-title,
    .dmu-profile-secondary-title {
        text-align: center;
        width: 100%;
    }

    .dmu-profile-title {
        margin-top: 1rem;
        line-height: normal;
    }

    .dmu-custom-panel-content.dmu-profile {
        width: 100%;
    }

    .dmu-profile-bio-content > div:not(.rz-html-editor, .rz-html-editor-toolbar), .dmu-profile-bio-content .rz-html-editor .rz-html-editor-content {
        padding: 0;
    }

    .dmu-profile-bio-container {
        height: auto;
        width: 100%;
        max-width: 100%;
        padding: 0 1rem;
    }

    .dmu-profile-bio-lc {
        height: auto;
        max-width: 100% !important;
        flex-basis: auto !important;
        flex: 1 !important;
        padding: 1em;
        width: 100%;
    }

    /* Ensure Add Bio button doesn't stretch beyond container */
    .dmu-profile-bio-lc .dmu-btn-primary.w-100 {
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
    }

    .dmu-profile-bio-lc .dmu-filter-group {
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .dmu-profile-bio-rc {
        max-width: 100% !important;
    }
}

/** Admin Tab Views **/
.dmu-admin.dmu-page-section {
    padding-top: 50px !important;
}

.dmu-admin .rz-tabview-nav li {
    background: none;
    border: none;
}

    .dmu-admin .rz-tabview-nav li:first-child a {
        padding-left: 0;
    }

.dmu-admin .rz-tabview-title {
    color: var(--dmu-label-grey-2);
    font-size: 1.25rem;
    background: none;
}

/* Prevent multiple horizontal scrollbars in admin tabs */
.dmu-admin .rz-tabview-panels {
    overflow-x: hidden !important;
    width: 100%;
    max-width: 100%;
}

.dmu-admin .rz-tabview-panel {
    overflow-x: hidden !important;
    width: 100%;
    max-width: 100%;
}

.dmu-admin .rz-tabview-panels,
.dmu-admin .rz-fieldset {
    border: none;
}

.dmu-admin .rz-fieldset-content {
    padding: 0;
}

.dmu-admin .rz-tabview-panel,
.dmu-admin .rz-fieldset-content {
    padding: 25px 0 0 0;
    overflow-x: hidden !important;
    overflow-y: visible;
    width: 100%;
    max-width: 100%;
}

.dmu-admin .rz-tabview-nav .rz-tabview-selected .rz-tabview-title {
    color: var(--dmu-primary-purple);
    text-decoration: underline;
}

.dmu-admin .rz-tabview-nav .rz-tabview-selected .pending-text {
    color: var(--dmu-vibrant-purple);
}

.dmu-admin.dmu-page-section .search-input-container {
    width: auto;
}

.dmu-admin .dmu-admin-filters .dmu-btn-primary {
    margin-top: auto;
    margin-bottom: 1px;
}

.dmu-admin .dmu-admin-filters .search-container .dmu-btn-primary {
    margin-top: 11px;
}

.dmu-admin-table tr td:last-child .rz-button.rz-info.rz-shade-default,
.dmu-admin-table tr td:last-child .rz-button.rz-primary.rz-shade-default {
    color: var(--dmu-primary-purple);
    background-color: transparent;
}

/*Profile Review*/
.profile-request-container {
    margin: 0 auto;
    max-width: 100%;
    overflow-x: hidden;
}

.dmu-admin .dmu-profile-bio-content {
    padding: 0;
    min-height: 100px;
    height: auto;
    max-height: 50vh;
    overflow-y: auto;
}

.dmu-admin .dmu-profile-bio-content.dmu-profile-photo {
    width: 135px;
    height: 135px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.dmu-admin .dmu-admin-card-header {
    font-size: 1.563rem;
    font-family: var(--dmu-font-light);
    color: var(--dmu-vibrant-purple);
    border-bottom: 1px solid #e9eaed;
}

.dmu-admin h5.dmu-current-field {
    color: var(--dmu-primary-purple);
}

.dmu-admin .dmu-current-field-card {
    box-shadow: none;
    background-color: var(--dmu-primary-grey);
    border-radius: var(--dmu-radius-small);
    max-height: 50vh;
    overflow-y: auto;
}

.dmu-admin .dmu-change-request-card,
.dmu-admin .dmu-current-field-card {
    border: 1px solid var(--dmu-vibrant-purple);
    border-radius: var(--dmu-radius-small);
    max-height: 50vh;
    overflow-y: hidden;
    padding: 0;
}

.dmu-admin .dmu-change-request-card .rz-html-editor {
    max-height: 50vh;
}

.dmu-admin .rz-html-editor:focus-within {
    outline: none !important;
}
/*Profile Review Decline Text Area Slideout*/
.dmu-admin .dmu-filter-panel {
    position: relative;
    box-shadow: none;
    border-top: none;
    padding-top: 0;
}

    .dmu-admin .dmu-filter-panel.open:after {
        display: none;
        box-shadow: none;
    }

    .dmu-admin .dmu-filter-panel .dmu-filter-group {
        width: 50%;
        max-width: 500px;
    }

.dmu-admin-request-completed {
    border-radius: var(--dmu-radius-small);
    background-color: #EFE9F3;
    text-align: center;
    padding: 50px 0;
    width: 50%;
    max-width: 600px;
    margin: 0 auto;
}

    .dmu-admin-request-completed h4 {
        font-size: 1.563rem;
        color: var(--dmu-primary-purple);
        font-family: var(--dmu-font-light);
    }

    .dmu-admin-request-completed p {
        color: var(--dmu-text-black);
        font-size: 0.875rem;
    }

.dmu-admin-edit {
    position: absolute;
    right: 15px;
    top: 8px;
}

/*User Roles, Field Management*/
.dmu-admin-filters .dmu-filter-group:not(:last-of-type) {
    margin-right: 1em;
}

/*Field Management*/
.rz-chkbox-box.rz-state-active {
    background-color: var(--dmu-primary-purple);
}

.rz-chkbox-box .rzi {
    background-color: var(--dmu-primary-purple);
    color: var(--dmu-white);
}

.rz-chkbox-box.rz-state-active:hover:not(.rz-state-disabled),
.rz-chkbox-box:hover:not(.rz-state-disabled) {
    border: 1px solid var(--dmu-vibrant-purple) !important;
}

.dmu-fixed-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 90px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: var(--dmu-primary-grey);
}

.dmu-grid-bm {
    margin-bottom: 14em;
}

/* Infinite scroll loading indicator */
.dmu-infinite-scroll-loader {
    padding: 1rem;
    text-align: center;
    width: 100%;
}
/*Responsive CSS*/
/* Desktop: Limit search container width */
@media (min-width: 770px) {
    .dmu-page-section .dmu-directory-search .search-input-container {
        width: 100%;
        max-width: 600px;
    }
}

@media (max-width: 769px) {
    .dmu-page-section .dmu-directory-search {
        max-width: 100%;
        flex-basis: auto;
        width: 100%;
    }

    /* Let Radzen handle column width via SizeXS="12" and SizeSM="12" */
    /* Removed .rz-col width overrides - Radzen handles this naturally */

    .dmu-page-section .dmu-directory-search .search-input-container {
        width: 100%;
        max-width: 100%;
    }

    .dmu-page-section {
        padding: 0 2.5rem !important;
    }

    /* Override padding for card container on mobile to fill full width */
    .dmu-page-section .dmu-search-results {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: -2.5rem;
        margin-right: -2.5rem;
        width: calc(100% + 5rem);
        max-width: calc(100% + 5rem);
    }

    .dmu-page-section .dmu-search-results .rz-row {
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .dmu-page-section .dmu-search-results .rz-col {
        padding-left: 0;
        padding-right: 0;
    }

    /* Ensure RadzenCard fills full width */
    .dmu-page-section .dmu-search-results .rz-card {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0;
        margin-right: 0;
    }

    .dmu-navbar {
        padding-left: 2.5rem; 
        padding-right: 2.5rem;
    }

    .dmu-page-header,
    .dmu-page-breadcrumbs {
        padding-left: 2.5rem;
    }

    /* Mobile only: Full screen modal with backdrop */
    .dmu-filter-panel-backdrop {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 999;
        animation: fadeIn 0.3s ease forwards;
    }

    .dmu-filter-panel {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100vh;
        border-radius: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        animation: slideUp 0.3s ease forwards;
        flex-direction: column;
    }

    .dmu-filter-panel.open {
        z-index: 1000 !important;
        display: flex !important;
    }

    .dmu-filter-panel-header {
        position: sticky;
        top: 0;
        z-index: 1001;
        padding: 1rem;
    }

    .dmu-filter-panel-content {
        padding: 1rem;
    }

    .dmu-filter-panel.open .d-flex {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 1rem;
    }

    .dmu-filter-panel.open .d-flex .dmu-filter-group {
        width: 100% !important;
        margin: 0 !important;
        max-width: 100%;
    }

    .dmu-filter-panel-actions {
        position: sticky;
        bottom: 0;
        background-color: var(--dmu-white);
        padding: 1rem;
        margin: 0 -1rem -1rem -1rem;
        box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
    }

    .dmu-filter-panel-actions .d-flex {
        flex-direction: column;
        gap: 0.75rem;
    }

    .dmu-filter-panel-actions .dmu-btn {
        width: 100%;
        margin: 0 !important;
    }

    .dmu-adv-filter-btn.open {
        margin-top: 0 !important;
        position: fixed;
        bottom: 1rem;
        right: 1rem;
        z-index: 1002;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .dmu-search-results {
        justify-content: space-between !important;
        margin: 0 1em;
    }
    .dmu-custom-panel {
        width: 100%;
        max-width: 100%;
    }
    .dmu-custom-panel-close-btn {
        left: 0;
        width: 55px;
        border-radius: 50%;
        z-index: 1;
    }
}

@media (max-width: 480px) {
    .dmu-filter-panel.open .d-flex .dmu-filter-group {
        width: 100%;
    }

    .dmu-adv-filter-btn.open {
        margin-top: 305px !important;
    }
}