/* =========================
   Global (safe to keep global)
   ========================= */
body {
    font-family: 'Roboto', sans-serif;
}

/* =========================
   Content / Main scope
   Everything below applies ONLY to content inside <main>...</main>
   ========================= */

/* Forms */
main .form-control {
    margin-bottom: 1rem;
}

/* Links (scoped so navbar/footer links are untouched) */
main a {
    text-decoration: none;
    color: #0066FF;
}

    main a:visited {
        color: #0066FF;
    }

    main a:hover {
        text-decoration: none !important;
        color: #0066FF;
    }

  main a.text-link {
        font-weight: 500;
        cursor: pointer;
    }

        main a.text-link:hover {
            text-decoration: underline !important;
            filter: brightness(0.75);
        }

.breadcrumb-item a {
    font-weight: 500;
}
    .breadcrumb-item a:hover {
        text-decoration: underline !important;
        filter: brightness(0.75);
    }

/* Horizontal rules */
main hr,
main .hr1 {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid silver;
}

/* Tables */
main table,
main th,
main td {
    font-size: 0.90rem !important;
}

    main table td {
        font-weight: normal;
    }

/*main th {
    text-align: center;
    background-color: #3279a8 !important;
    color: #FFF !important;
    font-weight: normal;
}*/

/* Match table header color to BOE navbar */
main thead.table-dark th {
    background-color: #2B84B1 !important;
    color: #ffffff !important;
    font-weight: normal;
}

/*main thead.table-dark {
    --bs-table-bg: #2B84B1;
    --bs-table-color: #ffffff;
    --bs-table-font-weight: normal;
}*/

/* Buttons / Theme tweaks
   (kept global-ish behavior but scoped to main to avoid navbar search/input effects) */
main .bg-primary {
    background-color: #3279a8 !important;
}

main .btn-success,
main .btn-success:visited {
    color: #fff;
    padding-right: 15px;
    padding-left: 15px;
}

/* Primary */
main .btn-primary,
main .btn-primary:visited {
    color: #fff;
    background-color: #3279a8 !important;
    border-color: #868e96;
    padding-right: 15px;
    padding-left: 15px;
}

    main .btn-primary:hover,
    main .btn-primary:focus,
    main .btn-primary:active,
    main .btn-primary.active,
    main .open > .dropdown-toggle.btn-primary {
        color: #fff;
        background-color: #1571B3 !important;
        border-color: #868e96;
    }

/* Secondary: keep text white */
main .btn-secondary,
main .btn-secondary:hover,
main .btn-secondary:focus {
    color: white !important;
}

/* Custom buttons */
main .btn-cb,
main .btn-cb:visited {
    color: #FFF;
    background-color: #3d5894;
    border-color: #868e96;
    padding-right: 15px;
    padding-left: 15px;
}

    main .btn-cb:hover {
        color: #fff;
        background-color: #727b84;
        border-color: #6c757d;
    }

main .btn-alt1,
main .btn-alt1:visited {
    color: #fff;
    background-color: #3399ff;
    border-color: #868e96;
    padding-right: 15px;
    padding-left: 15px;
}

    main .btn-alt1:hover {
        color: #fff;
        background-color: #727b84;
        border-color: #6c757d;
    }

/* Filter button */
main .btn-filter,
main .btn-filter:visited {
    color: #fff;
    background-color: #cc6600;
    border-color: #868e96;
    padding-right: 15px;
    padding-left: 15px;
}

    main .btn-filter:hover,
    main .btn-filter:focus,
    main .btn-filter:active,
    main .btn-filter.active,
    main .show > .btn-filter.dropdown-toggle {
        color: #fff;
        background-color: #cc6600;
        border-color: #6c757d;
    }

/* Titles / data coloring */
main .title {
    color: #800000;
}

main .subtitle {
    color: #5a6f85;
}

main .data {
    color: #800000 !important; /* maroon color for data */
}

main .response {
    color: maroon;
}

/* Cards */
main .card {
    box-shadow: 3px 3px 5px #d9d9d9;
    margin-bottom: 15px;
}

main .card-header {
    background-color: #3279a8;
    color: #FFF;
    font-weight: 500;
}

/* Legacy Bootstrap 3 validation helpers (scoped) */
main .has-error .help-block,
main .has-error .control-label,
main .has-error .radio,
main .has-error .checkbox,
main .has-error .radio-inline,
main .has-error .checkbox-inline,
main .has-error.radio label,
main .has-error.checkbox label,
main .has-error.radio-inline label,
main .has-error.checkbox-inline label {
    color: #a94442;
}

main .has-error .form-control {
    border-color: #a94442;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}

    main .has-error .form-control:focus {
        border-color: #843534;
        box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
    }

main .has-error .input-group-addon {
    color: #a94442;
    background-color: #f2dede;
    border-color: #a94442;
}

main .has-error .form-control-feedback {
    color: #a94442;
}

/* Radio / checkbox sizing (content only) */
main input[type=radio],
main input[type=checkbox] {
    height: 1.25rem;
    width: 1.25rem;
    vertical-align: bottom;
}

/* Spinners / overlays (keep global: can appear anywhere) */
#spinner {
    position: fixed;
    top: 50%;
    left: 50%;
    margin-left: -100px;
    margin-top: -100px;
    text-align: center;
    z-index: 1234;
    overflow: auto;
    width: 150px;
    height: 150px;
}

#anisearch {
    position: fixed;
    top: 50%;
    left: 50%;
    margin-left: -100px;
    margin-top: -100px;
    text-align: center;
    z-index: 1234;
    overflow: auto;
}

/* Utility classes (content only) */
main .text-sm {
    font-size: 0.9em;
}

main .line {
    border-bottom: 1px solid gray;
    padding-top: 1px;
    padding-bottom: 1px;
}

/* Toast opacity (global) */
#toast-container > div {
    opacity: 1;
}

/* Bootstrap datepicker customization (content only) */
main .datepicker {
    padding: 8px;
    border-radius: 0px;
    direction: ltr;
}

    main .datepicker td,
    main .datepicker th {
        text-align: center;
        width: 35px;
        height: 30px;
        border-radius: 0px;
        border: none;
    }

/* Custom BOE Datepicker adjustments */
main .boe-datepicker .days-grid {
    max-height: 250px;
    overflow-y: auto;
    overflow-x: hidden;
}

.datepicker-wrapper .hidden {
    display: none !important;
}

.date-error-msg.hidden {
    display: none !important;
}

/* Fix Icon Alignment and Overlap */
.datepicker-wrapper {
    position: relative;
    display: block;
    margin-bottom: 1rem;
}

.datepicker-wrapper .form-control {
    padding-right: 3rem !important; /* Standard space for calendar icon */
    margin-bottom: 0 !important;
}

.datepicker-wrapper .calendar-icon {
    position: absolute;
    right: 12px;
    top: 0;
    height: 38px; /* Standard Bootstrap input height */
    cursor: pointer;
    z-index: 5;
    color: #6c757d;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
}

/* Shift calendar icon and increase padding if validation icon is present */
.datepicker-wrapper .form-control.is-invalid ~ .calendar-icon {
    right: 48px; /* Move further left to clear the Bootstrap validation icon */
}

.datepicker-wrapper .form-control.is-invalid {
    padding-right: 5rem !important; /* Ensure text doesn't hit either icon */
}

.date-error-msg {
    display: block;
    width: 100%;
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.25rem;
    margin-bottom: 1rem;
}

/* Circle list (content only) */
main .circle-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: left;
}

    main .circle-list li {
        position: relative;
        width: 40px;
        height: 40px;
        margin: 0 7px;
    }

        main .circle-list li a {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background-color: #f0f0f0;
            color: #333;
            text-decoration: none;
            font-weight: bold;
        }

/* Help panel (content only) */
main .Help {
    font-size: 0.95rem;
    color: #333;
    background-color: #f5f5f5;
    border-left: 4px solid #0d6efd;
    padding: 1rem;
    margin-top: 2rem;
    border-radius: 0.25rem;
}


/* ================================
   BOE Form Container (Outline)
   ================================ */

main .boe-form {
    border: 1px solid #dee2e6; /* thin neutral border */
    border-radius: 0.375rem; /* Bootstrap-friendly radius */
    padding: 1.5rem;
    background-color: #ffffff;
}

    /* Optional: slightly emphasize section spacing */
    main .boe-form .mb-3:last-child {
        margin-bottom: 0;
    }


/* ================================
   BOE Form Card
   ================================ */

main .boe-form-card {
    border: 1px solid #dee2e6;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

    main .boe-form-card .card-header {
        background-color: #2B84B1; /* same as navbar */
        color: #ffffff;
        font-weight: 400;
    }

/*    main .boe-form-card .card-body {
        background-color: #ffffff;
    }*/

/* BOE main content - normalize card body titles */
main .card .card-body .card-title {
    font-weight: 400;
}

.card-link-hover:hover .card {
    background-color: var(--bs-gray-200);
    cursor: pointer;
    transition: background-color 0.2s;
}

/* This is to handle multi-select vertical size */
main .checklist-scroll {
    max-height: 100px;
    overflow-y: auto;
    background: #fff;
}

/* Hide DataTables record count on small screens - did not work */
/*@media (max-width: 767.98px) {
    main .dataTables_info {
        display: none;
    }
}*/



/*The following portion was proposed by Adam and his team */
table.dataTable thead > tr > th.dt-orderable-asc:hover, table.dataTable thead > tr > th.dt-orderable-desc:hover, table.dataTable thead > tr > td.dt-orderable-asc:hover, table.dataTable thead > tr > td.dt-orderable-desc:hover {
    outline: none;
}

table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:after, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after, table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:before, table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:after, table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:before, table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:after, table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:after, table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:before, table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after {
    opacity: 0.25;
}

table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after, table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after, table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after {
    opacity: 1 !important;
}

/* ADA */
 h1 {
    font-size: 1.5rem;
    color: #0f2940;
    text-align: justify;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

h2 {
    font-size: 1.25rem;
    color: #0f2940;
    font-weight: 500;
}

h3 {
    font-size: 1.15rem;
    color: #0f2940;
    font-weight: 500;
}