/* Generated by Cassiopeia Themer — do not edit by hand. */
/* Edit at Components → Cassiopeia Themer → Brand. */
:root {
    --cassiopeia-color-primary: #227355;
    --cassiopeia-color-link: #227355;
    --cassiopeia-color-hover: #1f684d;
    --primary: #227355;
    --primary-rgb: 34, 115, 85;
    --bs-primary: #227355;
    --bs-primary-rgb: 34, 115, 85;
    --cassiopeia-color-secondary: #6c757d;
    --secondary: #6c757d;
    --secondary-rgb: 108, 117, 125;
    --bs-secondary: #6c757d;
    --bs-secondary-rgb: 108, 117, 125;
    --cassiopeia-banner-bg: #ffc107;
    --accent: #ffc107;
    --accent-rgb: 255, 193, 7;
    --bs-accent: #ffc107;
    --bs-accent-rgb: 255, 193, 7;
    --cassiopeia-color-page-bg: #ffffff;
    --body-bg: #ffffff;
    --body-bg-rgb: 255, 255, 255;
    --bs-body-bg: #ffffff;
    --bs-body-bg-rgb: 255, 255, 255;
    --cassiopeia-color-text: #212529;
    --body-color: #212529;
    --body-color-rgb: 33, 37, 41;
    --bs-body-color: #212529;
    --bs-body-color-rgb: 33, 37, 41;
    --secondary-color: #6c757d;
    --secondary-color-rgb: 108, 117, 125;
    --bs-secondary-color: #6c757d;
    --bs-secondary-color-rgb: 108, 117, 125;
    --cassiopeia-color-headings: #212529;
    --cassiopeia-color-light: #f8f9fa;
    --light: #f8f9fa;
    --light-rgb: 248, 249, 250;
    --bs-light: #f8f9fa;
    --bs-light-rgb: 248, 249, 250;
    --cassiopeia-color-dark: #212529;
    --dark: #212529;
    --dark-rgb: 33, 37, 41;
    --bs-dark: #212529;
    --bs-dark-rgb: 33, 37, 41;
    --secondary-bg: #e9ecef;
    --secondary-bg-rgb: 233, 236, 239;
    --bs-secondary-bg: #e9ecef;
    --bs-secondary-bg-rgb: 233, 236, 239;
    --tertiary-bg: #f8f9fa;
    --tertiary-bg-rgb: 248, 249, 250;
    --bs-tertiary-bg: #f8f9fa;
    --bs-tertiary-bg-rgb: 248, 249, 250;
    --border-color: #dee2e6;
    --border-color-rgb: 222, 226, 230;
    --bs-border-color: #dee2e6;
    --bs-border-color-rgb: 222, 226, 230;
    --border-color-translucent: #e9ecef;
    --bs-border-color-translucent: #e9ecef;
    --primary-bg-subtle: #d1e4ff;
    --primary-bg-subtle-rgb: 209, 228, 255;
    --bs-primary-bg-subtle: #d1e4ff;
    --bs-primary-bg-subtle-rgb: 209, 228, 255;
    --primary-text-emphasis: #eb1286;
    --bs-primary-text-emphasis: #eb1286;
    --secondary-bg-subtle: #d7e3f7;
    --secondary-bg-subtle-rgb: 215, 227, 247;
    --bs-secondary-bg-subtle: #d7e3f7;
    --bs-secondary-bg-subtle-rgb: 215, 227, 247;
    --secondary-text-emphasis: #101c2b;
    --bs-secondary-text-emphasis: #101c2b;
    --danger-bg-subtle: #f8d7da;
    --danger-bg-subtle-rgb: 248, 215, 218;
    --bs-danger-bg-subtle: #f8d7da;
    --bs-danger-bg-subtle-rgb: 248, 215, 218;
    --danger-text-emphasis: #58151c;
    --bs-danger-text-emphasis: #58151c;
    --cassiopeia-color-success: #198754;
    --success: #198754;
    --success-rgb: 25, 135, 84;
    --bs-success: #198754;
    --bs-success-rgb: 25, 135, 84;
    --cassiopeia-color-info: #0dcaf0;
    --info: #0dcaf0;
    --info-rgb: 13, 202, 240;
    --bs-info: #0dcaf0;
    --bs-info-rgb: 13, 202, 240;
    --cassiopeia-color-warning: #ffc107;
    --warning: #ffc107;
    --warning-rgb: 255, 193, 7;
    --bs-warning: #ffc107;
    --bs-warning-rgb: 255, 193, 7;
    --cassiopeia-color-danger: #dc3545;
    --danger: #dc3545;
    --danger-rgb: 220, 53, 69;
    --bs-danger: #dc3545;
    --bs-danger-rgb: 220, 53, 69;
    --cassiopeia-font-family-body: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --cassiopeia-font-family-headings: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    /* Bootstrap component vars derived from surfaces — */
    /* keeps accordion / card / modal / dropdown / pagination / */
    /* list-group / form / nav / offcanvas / toast on-palette. */
    --accordion-bg: var(--body-bg);
    --bs-accordion-bg: var(--body-bg);
    --accordion-color: var(--body-color);
    --bs-accordion-color: var(--body-color);
    --accordion-border-color: var(--border-color);
    --bs-accordion-border-color: var(--border-color);
    --accordion-btn-bg: var(--body-bg);
    --bs-accordion-btn-bg: var(--body-bg);
    --accordion-btn-color: var(--body-color);
    --bs-accordion-btn-color: var(--body-color);
    --accordion-active-bg: var(--light);
    --bs-accordion-active-bg: var(--light);
    --accordion-active-color: var(--body-color);
    --bs-accordion-active-color: var(--body-color);
    --card-bg: var(--body-bg);
    --bs-card-bg: var(--body-bg);
    --card-color: var(--body-color);
    --bs-card-color: var(--body-color);
    --card-border-color: var(--border-color);
    --bs-card-border-color: var(--border-color);
    --card-cap-bg: var(--secondary-bg);
    --bs-card-cap-bg: var(--secondary-bg);
    --card-cap-color: var(--body-color);
    --bs-card-cap-color: var(--body-color);
    --modal-bg: var(--body-bg);
    --bs-modal-bg: var(--body-bg);
    --modal-color: var(--body-color);
    --bs-modal-color: var(--body-color);
    --modal-border-color: var(--border-color);
    --bs-modal-border-color: var(--border-color);
    --modal-header-border-color: var(--border-color);
    --bs-modal-header-border-color: var(--border-color);
    --modal-footer-border-color: var(--border-color);
    --bs-modal-footer-border-color: var(--border-color);
    --dropdown-bg: var(--body-bg);
    --bs-dropdown-bg: var(--body-bg);
    --dropdown-color: var(--body-color);
    --bs-dropdown-color: var(--body-color);
    --dropdown-border-color: var(--border-color);
    --bs-dropdown-border-color: var(--border-color);
    --dropdown-link-color: var(--body-color);
    --bs-dropdown-link-color: var(--body-color);
    --dropdown-link-hover-bg: var(--secondary-bg);
    --bs-dropdown-link-hover-bg: var(--secondary-bg);
    --dropdown-link-hover-color: var(--body-color);
    --bs-dropdown-link-hover-color: var(--body-color);
    --dropdown-link-active-bg: var(--primary);
    --bs-dropdown-link-active-bg: var(--primary);
    --dropdown-divider-bg: var(--border-color);
    --bs-dropdown-divider-bg: var(--border-color);
    --list-group-bg: var(--body-bg);
    --bs-list-group-bg: var(--body-bg);
    --list-group-color: var(--body-color);
    --bs-list-group-color: var(--body-color);
    --list-group-border-color: var(--border-color);
    --bs-list-group-border-color: var(--border-color);
    --list-group-action-color: var(--body-color);
    --bs-list-group-action-color: var(--body-color);
    --list-group-action-hover-bg: var(--secondary-bg);
    --bs-list-group-action-hover-bg: var(--secondary-bg);
    --list-group-action-hover-color: var(--body-color);
    --bs-list-group-action-hover-color: var(--body-color);
    --list-group-active-bg: var(--primary);
    --bs-list-group-active-bg: var(--primary);
    --list-group-active-border-color: var(--primary);
    --bs-list-group-active-border-color: var(--primary);
    --pagination-bg: var(--body-bg);
    --bs-pagination-bg: var(--body-bg);
    --pagination-color: var(--body-color);
    --bs-pagination-color: var(--body-color);
    --pagination-border-color: var(--border-color);
    --bs-pagination-border-color: var(--border-color);
    --pagination-hover-bg: var(--secondary-bg);
    --bs-pagination-hover-bg: var(--secondary-bg);
    --pagination-hover-color: var(--body-color);
    --bs-pagination-hover-color: var(--body-color);
    --pagination-hover-border-color: var(--border-color);
    --bs-pagination-hover-border-color: var(--border-color);
    --pagination-active-bg: var(--primary);
    --bs-pagination-active-bg: var(--primary);
    --pagination-active-border-color: var(--primary);
    --bs-pagination-active-border-color: var(--primary);
    --form-control-bg: var(--body-bg);
    --bs-form-control-bg: var(--body-bg);
    --form-control-color: var(--body-color);
    --bs-form-control-color: var(--body-color);
    --form-control-border-color: var(--border-color);
    --bs-form-control-border-color: var(--border-color);
    --form-check-bg: var(--body-bg);
    --bs-form-check-bg: var(--body-bg);
    --nav-link-color: var(--body-color);
    --bs-nav-link-color: var(--body-color);
    --nav-link-hover-color: var(--primary);
    --bs-nav-link-hover-color: var(--primary);
    --nav-tabs-border-color: var(--border-color);
    --bs-nav-tabs-border-color: var(--border-color);
    --nav-tabs-link-active-bg: var(--body-bg);
    --bs-nav-tabs-link-active-bg: var(--body-bg);
    --nav-tabs-link-active-color: var(--body-color);
    --bs-nav-tabs-link-active-color: var(--body-color);
    --nav-pills-link-active-bg: var(--primary);
    --bs-nav-pills-link-active-bg: var(--primary);
    --nav-underline-link-active-color: var(--primary);
    --bs-nav-underline-link-active-color: var(--primary);
    --offcanvas-bg: var(--body-bg);
    --bs-offcanvas-bg: var(--body-bg);
    --offcanvas-color: var(--body-color);
    --bs-offcanvas-color: var(--body-color);
    --offcanvas-border-color: var(--border-color);
    --bs-offcanvas-border-color: var(--border-color);
    --toast-bg: var(--body-bg);
    --bs-toast-bg: var(--body-bg);
    --toast-color: var(--body-color);
    --bs-toast-color: var(--body-color);
    --toast-border-color: var(--border-color);
    --bs-toast-border-color: var(--border-color);
    --toast-header-bg: var(--secondary-bg);
    --bs-toast-header-bg: var(--secondary-bg);
    --toast-header-color: var(--body-color);
    --bs-toast-header-color: var(--body-color);
    --toast-header-border-color: var(--border-color);
    --bs-toast-header-border-color: var(--border-color);
    --popover-bg: var(--body-bg);
    --bs-popover-bg: var(--body-bg);
    --popover-color: var(--body-color);
    --bs-popover-color: var(--body-color);
    --popover-border-color: var(--border-color);
    --bs-popover-border-color: var(--border-color);
    --popover-header-bg: var(--secondary-bg);
    --bs-popover-header-bg: var(--secondary-bg);
    --popover-header-color: var(--body-color);
    --bs-popover-header-color: var(--body-color);
    --breadcrumb-bg: var(--secondary-bg);
    --bs-breadcrumb-bg: var(--secondary-bg);
    --breadcrumb-divider-color: var(--secondary-color);
    --bs-breadcrumb-divider-color: var(--secondary-color);
    --breadcrumb-item-active-color: var(--body-color);
    --bs-breadcrumb-item-active-color: var(--body-color);
}

body {
    background-color: #ffffff;
    color: #212529;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    color: #212529;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Brand and semantic foreground / background overrides */
.btn-primary, .btn-primary:focus {
    background-color: #227355;
    border-color: #227355;
    color: #46d478;
}
.btn-primary:hover, .btn-primary:active {
    background-color: color-mix(in srgb, #227355 88%, black);
    border-color: color-mix(in srgb, #227355 88%, black);
    color: #46d478;
}
.alert-primary {
    background-color: #d1e4ff;
    border-color: #d1e4ff;
    color: #eb1286;
}
.text-primary {
    color: #227355;
}
.bg-primary {
    background-color: #227355;
    border-color: #227355;
}
.border-primary {
    border-color: #227355 !important;
}
.btn-secondary, .btn-secondary:focus {
    background-color: #6c757d;
    border-color: #6c757d;
    color: #ffffff;
}
.btn-secondary:hover, .btn-secondary:active {
    background-color: color-mix(in srgb, #6c757d 88%, black);
    border-color: color-mix(in srgb, #6c757d 88%, black);
    color: #ffffff;
}
.alert-secondary {
    background-color: #d7e3f7;
    border-color: #d7e3f7;
    color: #101c2b;
}
.text-secondary {
    color: #6c757d;
}
.bg-secondary {
    background-color: #6c757d;
    border-color: #6c757d;
}
.border-secondary {
    border-color: #6c757d !important;
}
.btn-success, .btn-success:focus {
    background-color: #198754;
    border-color: #198754;
    color: #ffffff;
}
.btn-success:hover, .btn-success:active {
    background-color: color-mix(in srgb, #198754 88%, black);
    border-color: color-mix(in srgb, #198754 88%, black);
    color: #ffffff;
}
.alert-success {
    background-color: #198754;
    border-color: #198754;
    color: #ffffff;
}
.text-success {
    color: #198754;
}
.bg-success {
    background-color: #198754;
    border-color: #198754;
}
.border-success {
    border-color: #198754 !important;
}
.btn-info, .btn-info:focus {
    background-color: #0dcaf0;
    border-color: #0dcaf0;
    color: #000000;
}
.btn-info:hover, .btn-info:active {
    background-color: color-mix(in srgb, #0dcaf0 88%, black);
    border-color: color-mix(in srgb, #0dcaf0 88%, black);
    color: #000000;
}
.alert-info {
    background-color: #0dcaf0;
    border-color: #0dcaf0;
    color: #000000;
}
.text-info {
    color: #0dcaf0;
}
.bg-info {
    background-color: #0dcaf0;
    border-color: #0dcaf0;
}
.border-info {
    border-color: #0dcaf0 !important;
}
.btn-warning, .btn-warning:focus {
    background-color: #ffc107;
    border-color: #ffc107;
    color: #000000;
}
.btn-warning:hover, .btn-warning:active {
    background-color: color-mix(in srgb, #ffc107 88%, black);
    border-color: color-mix(in srgb, #ffc107 88%, black);
    color: #000000;
}
.alert-warning {
    background-color: #ffc107;
    border-color: #ffc107;
    color: #000000;
}
.text-warning {
    color: #ffc107;
}
.bg-warning {
    background-color: #ffc107;
    border-color: #ffc107;
}
.border-warning {
    border-color: #ffc107 !important;
}
.btn-danger, .btn-danger:focus {
    background-color: #dc3545;
    border-color: #dc3545;
    color: #ffffff;
}
.btn-danger:hover, .btn-danger:active {
    background-color: color-mix(in srgb, #dc3545 88%, black);
    border-color: color-mix(in srgb, #dc3545 88%, black);
    color: #ffffff;
}
.alert-danger {
    background-color: #f8d7da;
    border-color: #f8d7da;
    color: #58151c;
}
.text-danger {
    color: #dc3545;
}
.bg-danger {
    background-color: #dc3545;
    border-color: #dc3545;
}
.border-danger {
    border-color: #dc3545 !important;
}
.site-banner, [class*="site-banner"], a.site-banner {
    background-color: #ffc107;
    color: #000000;
}
.bg-dark, .container-footer, body footer, .text-bg-dark {
    color: #dee2e6;
}
.bg-dark a, .container-footer a, body footer a {
    color: #dee2e6;
}

/* Card hover — scale */
.card.shadow-sm, .card.shadow {
    transition: transform .15s ease, box-shadow .15s ease;
}
.card.shadow-sm:hover, .card.shadow:hover {
    transform: scale(1.02);
    box-shadow: 0 .5rem 1rem rgba(27, 39, 57, .10) !important;
}

/* Accordion: continuous stack — buttons strip box styling, items provide all borders */
.accordion[class] .accordion-header[class] { margin: 0; padding: 0; }
.accordion[class] .accordion-button {
    border: 0;
    border-radius: 0;
    margin: 0;
    box-shadow: none;
}
.accordion[class] .accordion-item[class] {
    border: 1px solid #dee2e6;
    margin: 0;
    padding: 0;
    box-shadow: none;
    outline: 0;
}
.accordion[class] .accordion-item[class]:not(:first-of-type) {
    border-top-width: 0;
    border-top-style: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.accordion[class] .accordion-item[class]:not(:last-of-type) {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #dee2e6;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* Accordion active-state tinted with the Light surface */
.accordion-button:not(.collapsed) {
    background-color: #f8f9fa;
    color: #212529;
}

/* Layout */
:root {
    --bs-border-radius: 0.5rem;
    --bs-border-radius-sm: 0.375rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-box-shadow-sm: 0 4px 12px rgba(0,0,0,.15);
    --bs-box-shadow: 0 4px 12px rgba(0,0,0,.15);
    --bs-box-shadow-lg: 0 12px 28px rgba(0,0,0,.18);
}

@media (min-width: 1200px) {
    body .container { max-width: 1140px; }
}

body main, body .container-component, body article {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
body p, body .lead { margin-bottom: 1rem; }

.btn, .form-control, .form-select { border-radius: 0.375rem; }
.card, .alert, .modal-content { border-radius: 0.5rem; }
.badge { border-radius: 0.5rem; }

.card { box-shadow: 0 4px 12px rgba(0,0,0,.15); }
.dropdown-menu, .modal-content { box-shadow: 0 12px 28px rgba(0,0,0,.18); }

a { text-decoration: none; }
a:hover { text-decoration: underline; }

/* Themer: inline navbar — desktop */
.container-header,
header.container-header {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 1rem;
    padding: .5rem 1rem;
    position: relative;
}
.container-header > .grid-child { width: auto; max-width: none; margin-left: 0; margin-right: 0; }
.container-header > .grid-child:first-child,
.container-header .container-logo,
.container-header .grid-child.container-logo { flex: 0 0 auto; min-width: 0; }
.container-header .navbar-brand { margin: 0; padding: 0; }
.container-header .site-title { font-weight: 600; line-height: 1; margin: 0; }
.container-header .container-search,
.container-header .grid-child.container-search { flex: 0 1 32rem; min-width: 0; }
.container-header .container-nav,
.container-header .container-menu,
.container-header .grid-child.container-nav,
.container-header .grid-child.container-menu { flex: 1 1 0; min-width: 0; margin-left: auto; display: flex; justify-content: flex-end; padding: 0; }
.container-header .container-nav > .navbar { width: 100%; padding: 0; margin: 0; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.container-header .navbar-collapse { flex-grow: 1; flex-basis: auto; align-items: center; }
.container-header .mod-menu { display: flex; flex: 1 1 auto; flex-direction: row; flex-wrap: wrap; gap: .5rem; row-gap: .25rem; margin: 0; padding: 0; list-style: none; align-items: center; justify-content: flex-start; }
.container-header .mod-menu > li { white-space: nowrap; }
.container-header .mod-menu > li > a { padding: .5rem .75rem; }
/* Themer: inline navbar — mobile */
@media (max-width: 991.98px) {
    .container-header,
    header.container-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .5rem; flex-wrap: initial; }
    .container-header > .grid-child:first-child,
    .container-header .container-logo,
    .container-header .grid-child.container-logo { grid-column: 2; justify-self: center; flex: initial; }
    .container-header .container-search,
    .container-header .grid-child.container-search { grid-column: 1 / -1; grid-row: 2; flex: initial; max-width: none; }
    .container-header .container-nav,
    .container-header .container-menu,
    .container-header .grid-child.container-nav,
    .container-header .grid-child.container-menu { grid-column: 3; justify-self: end; flex: initial; margin-left: 0; padding: 0; display: block; }
    .container-header .container-nav,
    .container-header .container-nav > .navbar { position: static; }
    .container-header .container-nav > .navbar { width: auto; padding: 0; margin: 0; flex-wrap: wrap; justify-content: flex-end; }
    .container-header .navbar-toggler { display: inline-block; margin-left: auto; }
    .container-header .navbar-collapse,
    .container-header .navbar-collapse.show,
    .container-header .navbar-collapse.collapsing {
        position: absolute !important;
        top: 100%;
        left: 0;
        right: 0;
        width: auto;
        background-color: var(--cassiopeia-color-primary, #1c3d5a);
        background-image: linear-gradient(135deg, var(--cassiopeia-color-primary) 0%, var(--cassiopeia-color-hover) 100%);
        padding: 1rem;
        z-index: 1029;
        flex-basis: auto;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        box-shadow: 0 .25rem .75rem rgba(0,0,0,.18);
    }
    .container-header .navbar-collapse .mod-menu { flex-direction: column; align-items: stretch; gap: 0; width: 100%; margin: 0; }
    .container-header .navbar-collapse .mod-menu > li { white-space: normal; }
    .container-header .navbar-collapse .mod-menu > li > a { display: block; padding: .65rem .5rem; border-bottom: 1px solid rgba(255,255,255,.12); color: #fff; }
}
.container-header .navbar-toggler { color: #fff; border-color: rgba(255,255,255,.25); padding: .5rem .75rem; line-height: 1; border-radius: .375rem; }
.container-header .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(255,255,255,.25); }
.container-header .navbar-toggler .icon-menu { color: inherit; }

/* Menu polish — stock Cassiopeia mod_menu rough edges */
.metismenu.mod-menu[class] .metismenu-item.parent { flex-wrap: nowrap; }
