/*
 * This combined file was created by the DataTables downloader builder:
 *   https://datatables.net/download
 *
 * To rebuild or modify this file with the latest versions of the included
 * software please visit:
 *   https://datatables.net/download/#zf/jszip-2.5.0/pdfmake-0.1.36/dt-1.10.20/b-1.6.1/b-html5-1.6.1/b-print-1.6.1/cr-1.5.2
 *
 * Included libraries:
 *   JSZip 2.5.0, pdfmake 0.1.36, DataTables 1.10.20, Buttons 1.6.1, HTML5 export 1.6.1, Print view 1.6.1, ColReorder 1.5.2
 */

table.dataTable {
    clear: both;
    margin: 0.5em 0 !important;
    max-width: none !important;
    width: 100%
}

table.dataTable td,
table.dataTable th {
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

table.dataTable td.dataTables_empty,
table.dataTable th.dataTables_empty {
    text-align: center
}

table.dataTable.nowrap th,
table.dataTable.nowrap td {
    white-space: nowrap
}

div.dataTables_wrapper {
    position: relative
}

div.dataTables_wrapper div.dataTables_length label {
    float: left;
    text-align: left;
    margin-bottom: 0
}

div.dataTables_wrapper div.dataTables_length select {
    width: 75px;
    margin-bottom: 0
}

div.dataTables_wrapper div.dataTables_filter label {
    float: right;
    margin-bottom: 0
}

div.dataTables_wrapper div.dataTables_filter input {
    display: inline-block !important;
    width: auto !important;
    margin-bottom: 0;
    margin-left: 0.5em
}

div.dataTables_wrapper div.dataTables_info {
    padding-top: 2px
}

div.dataTables_wrapper div.dataTables_paginate {
    float: left;
    margin: 0
}

div.dataTables_wrapper div.dataTables_processing {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    margin-left: -100px;
    margin-top: -26px;
    text-align: center;
    padding: 1rem 0
}

table.dataTable thead>tr>th.sorting_asc,
table.dataTable thead>tr>th.sorting_desc,
table.dataTable thead>tr>th.sorting,
table.dataTable thead>tr>td.sorting_asc,
table.dataTable thead>tr>td.sorting_desc,
table.dataTable thead>tr>td.sorting {
    padding-right: 1.5rem
}

table.dataTable thead>tr>th:active,
table.dataTable thead>tr>td:active {
    outline: none
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
    cursor: pointer
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
    background-repeat: no-repeat;
    background-position: center right
}

table.dataTable thead .sorting {
    background-image: url("DataTables-1.10.20/images/sort_both.png")
}

table.dataTable thead .sorting_asc {
    background-image: url("DataTables-1.10.20/images/sort_asc.png")
}

table.dataTable thead .sorting_desc {
    background-image: url("DataTables-1.10.20/images/sort_desc.png")
}

table.dataTable thead .sorting_asc_disabled {
    background-image: url("DataTables-1.10.20/images/sort_asc_disabled.png")
}

table.dataTable thead .sorting_desc_disabled {
    background-image: url("DataTables-1.10.20/images/sort_desc_disabled.png")
}

div.dataTables_scrollHead table {
    margin-bottom: 0 !important
}

div.dataTables_scrollBody table {
    border-top: none;
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

div.dataTables_scrollBody table tbody tr:first-child th,
div.dataTables_scrollBody table tbody tr:first-child td {
    border-top: none
}

div.dataTables_scrollFoot table {
    margin-top: 0 !important;
    border-top: none
}


@keyframes dtb-spinner {
    100% {
        transform: rotate(360deg)
    }
}

@-o-keyframes dtb-spinner {
    100% {
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-ms-keyframes dtb-spinner {
    100% {
        -ms-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes dtb-spinner {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-moz-keyframes dtb-spinner {
    100% {
        -moz-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

div.dt-button-info {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 400px;
    margin-top: -100px;
    margin-left: -200px;
    background-color: white;
    border: 2px solid #111;
    box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
    border-radius: 3px;
    text-align: center;
    z-index: 21
}

div.dt-button-info h2 {
    padding: 0.5em;
    margin: 0;
    font-weight: normal;
    border-bottom: 1px solid #ddd;
    background-color: #f3f3f3
}

div.dt-button-info>div {
    padding: 1em
}

div.dt-button-collection-title {
    text-align: center;
    padding: 0.3em 0 0.5em;
    font-size: 0.9em
}

div.dt-button-collection-title:empty {
    display: none
}

ul.dt-buttons li {
    margin: 0
}

ul.dt-buttons li.active a {
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.6)
}

ul.dt-buttons.button-group a {
    margin-bottom: 0
}

div.dt-button-collection {
    position: absolute
}

div.dt-button-collection.fixed {
    position: fixed;
    top: 50%;
    left: 50%;
    margin-left: -75px;
    border-radius: 0
}

div.dt-button-collection.fixed.two-column {
    margin-left: -200px
}

div.dt-button-collection.fixed.three-column {
    margin-left: -225px
}

div.dt-button-collection.fixed.four-column {
    margin-left: -300px
}

div.dt-button-collection>:last-child {
    display: block !important;
    -webkit-column-gap: 8px;
    -moz-column-gap: 8px;
    -ms-column-gap: 8px;
    -o-column-gap: 8px;
    column-gap: 8px
}

div.dt-button-collection>:last-child>* {
    -webkit-column-break-inside: avoid;
    break-inside: avoid
}

div.dt-button-collection.two-column {
    width: 400px
}

div.dt-button-collection.two-column>:last-child {
    padding-bottom: 1px;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    -ms-column-count: 2;
    -o-column-count: 2;
    column-count: 2
}

div.dt-button-collection.three-column {
    width: 450px
}

div.dt-button-collection.three-column>:last-child {
    padding-bottom: 1px;
    -webkit-column-count: 3;
    -moz-column-count: 3;
    -ms-column-count: 3;
    -o-column-count: 3;
    column-count: 3
}

div.dt-button-collection.four-column {
    width: 600px
}

div.dt-button-collection.four-column>:last-child {
    padding-bottom: 1px;
    -webkit-column-count: 4;
    -moz-column-count: 4;
    -ms-column-count: 4;
    -o-column-count: 4;
    column-count: 4
}

div.dt-button-collection .dt-button {
    border-radius: 0
}

div.dt-button-collection.fixed {
    max-width: none
}

div.dt-button-collection.fixed:before,
div.dt-button-collection.fixed:after {
    display: none
}

div.dt-button-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 88
}

@media screen and (max-width: 767px) {
    ul.dt-buttons {
        float: none;
        width: 100%;
        text-align: center;
        margin-bottom: 0.5rem
    }

    ul.dt-buttons li {
        float: none
    }
}

div.button-group.stacked.dropdown-pane {
    margin-top: 2px;
    padding: 1px;
    z-index: 89
}

div.button-group.stacked.dropdown-pane a.button {
    display: block;
    margin-bottom: 1px;
    border-right: none
}

div.button-group.stacked.dropdown-pane a.button:last-child {
    margin-bottom: 0;
    margin-right: 1px
}

div.dt-buttons button.button.processing,
div.dt-buttons div.button.processing,
div.dt-buttons a.button.processing {
    color: rgba(0, 0, 0, 0.2);
    color: rgba(255, 255, 255, 0.2);
    border-top-color: white;
    border-bottom-color: white
}

div.dt-buttons button.button.processing:after,
div.dt-buttons div.button.processing:after,
div.dt-buttons a.button.processing:after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    box-sizing: border-box;
    display: block;
    content: ' ';
    border: 2px solid #282828;
    border-radius: 50%;
    border-left-color: transparent;
    border-right-color: transparent;
    animation: dtb-spinner 1500ms infinite linear;
    -o-animation: dtb-spinner 1500ms infinite linear;
    -ms-animation: dtb-spinner 1500ms infinite linear;
    -webkit-animation: dtb-spinner 1500ms infinite linear;
    -moz-animation: dtb-spinner 1500ms infinite linear
}


table.DTCR_clonedTable.dataTable {
    position: absolute !important;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 202
}

div.DTCR_pointer {
    width: 1px;
    background-color: #008CBA;
    z-index: 201
}



table.dataTable {
    clear: both;
    margin: 0.5em 0 !important;
    max-width: none !important;
    width: 100%
}

table.dataTable td,
table.dataTable th {
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

table.dataTable td.dataTables_empty,
table.dataTable th.dataTables_empty {
    text-align: center
}

table.dataTable.nowrap th,
table.dataTable.nowrap td {
    white-space: nowrap
}

div.dataTables_wrapper {
    position: relative
}

div.dataTables_wrapper div.dataTables_length label {
    float: left;
    text-align: left;
    margin-bottom: 0
}

div.dataTables_wrapper div.dataTables_length select {
    width: 75px;
    margin-bottom: 0
}

div.dataTables_wrapper div.dataTables_filter label {
    float: right;
    margin-bottom: 0
}

div.dataTables_wrapper div.dataTables_filter input {
    display: inline-block !important;
    width: auto !important;
    margin-bottom: 0;
    margin-left: 0.5em
}

div.dataTables_wrapper div.dataTables_info {
    padding-top: 2px
}

div.dataTables_wrapper div.dataTables_paginate {
    float: left;
    margin: 0
}

div.dataTables_wrapper div.dataTables_processing {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    margin-left: -100px;
    margin-top: -26px;
    text-align: center;
    padding: 1rem 0
}

table.dataTable thead>tr>th.sorting_asc,
table.dataTable thead>tr>th.sorting_desc,
table.dataTable thead>tr>th.sorting,
table.dataTable thead>tr>td.sorting_asc,
table.dataTable thead>tr>td.sorting_desc,
table.dataTable thead>tr>td.sorting {
    padding-right: 1.5rem
}

table.dataTable thead>tr>th:active,
table.dataTable thead>tr>td:active {
    outline: none
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
    cursor: pointer
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
    background-repeat: no-repeat;
    background-position: center right
}

table.dataTable thead .sorting {
    background-image: url("../images/sort_both.png")
}

table.dataTable thead .sorting_asc {
    background-image: url("../images/sort_asc.png")
}

table.dataTable thead .sorting_desc {
    background-image: url("../images/sort_desc.png")
}

table.dataTable thead .sorting_asc_disabled {
    background-image: url("../images/sort_asc_disabled.png")
}

table.dataTable thead .sorting_desc_disabled {
    background-image: url("../images/sort_desc_disabled.png")
}

div.dataTables_scrollHead table {
    margin-bottom: 0 !important
}

div.dataTables_scrollBody table {
    border-top: none;
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

div.dataTables_scrollBody table tbody tr:first-child th,
div.dataTables_scrollBody table tbody tr:first-child td {
    border-top: none
}

div.dataTables_scrollFoot table {
    margin-top: 0 !important;
    border-top: none
}

.has-tip {
    display: table-cell;
}

div.dataTables_wrapper div.dataTables_filter label {
    float: none;
}

div.dataTables_wrapper div.dataTables_length select {
    width: 120px;
}

.dtControls_top {
    display: flex;
}

.dtControls_top>div {
    flex: 1;
}

.dtControls_top>div:last-child {
    text-align: right;
}

.dtControls_btm {
    display: flex;
    flex-direction: row;
}

.dtControls_btm div {
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: center;
    margin-top: 1rem !important;
}

.dtControls_btm .dataTables_info,
.dtControls_btm .dataTables_paginate {
    justify-content: flex-end;
    flex: 0 0 auto;
}

@media screen and (max-width: 768px) {
    .dtControls_btm {
        flex-direction: column;
    }
}

table.dataTable thead .sorting {
    background-image: url("../img/libs/data-tables/sort_both.png");
}

table.dataTable thead .sorting_asc {
    background-image: url("../img/libs/data-tables/sort_asc.png");
}

table.dataTable thead .sorting_desc {
    background-image: url("../img/libs/data-tables/sort_desc.png");
}

table.dataTable thead .sorting_asc_disabled {
    background-image: url("../img/libs/data-tables/sort_asc_disabled.png");
}

table.dataTable thead .sorting_desc_disabled {
    background-image: url("../img/libs/data-tables/sort_desc_disabled.png");
}

/* DataTables Pagination Fix - For Default DataTables Renderer */
/* Use this CSS when DataTables generates .paginate_button instead of Bootstrap classes */

/* AGENCY COLORS: This CSS uses var(--bs-primary) which Bootstrap 5 sets based on your $primary SCSS variable.
   Each agency's color file (e.g., iot.scss) defines $primary, which Bootstrap compiles to --bs-primary.
   The fallback #1779ba is only used if --bs-primary is not defined.

   Additionally, the accessibility-colors.scss file uses fix-color() to ensure WCAG 4.6:1 compliance
   for all agency primary colors automatically. */

/* Table sortable container styling */
.table-sortable {
    background-color: #ffffff;
    padding: 2rem;
    border-radius: 2rem;
    box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.15);
}

@media (max-width: 768px) {
    .table-sortable {
        padding: 1rem;
    }
}

/* Pagination container */
.dataTables_wrapper .dataTables_paginate {
    margin-top: 1rem;
    display: flex;
    gap: 0.25rem;
    align-items: center;
}

.dataTables_wrapper .dataTables_paginate.paging_simple_numbers {
    display: flex;
    gap: 0.25rem;
    justify-content: flex-end;
}

/* Individual pagination buttons */
.dataTables_wrapper .dataTables_paginate .paginate_button {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #444;
    background-color: #fefefe;
    border: 1px solid #e6e6e6;
    border-radius: 2rem;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 2.5rem;
    text-align: center;
}

/* Hover state */
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    color: #ffffff;
    background-color: var(--bs-primary, #1779ba);
    border-color: var(--bs-primary, #1779ba);
}

/* Current/Active page */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    color: #ffffff;
    background-color: var(--bs-primary, #1779ba);
    border-color: var(--bs-primary, #1779ba);
    font-weight: 600;
    cursor: default;
}

/* Disabled state */
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    color: #999999;
    background-color: #eeeeee;
    border-color: #e6e6e6;
    cursor: not-allowed;
    opacity: 0.6;
    pointer-events: none;
}

/* Previous and Next buttons */
.dataTables_wrapper .dataTables_paginate .paginate_button.previous,
.dataTables_wrapper .dataTables_paginate .paginate_button.next {
    font-weight: 600;
}

/* Number button wrapper span */
.dataTables_wrapper .dataTables_paginate span {
    display: flex;
    gap: 0.25rem;
}

/* Ellipsis (...) */
.dataTables_wrapper .dataTables_paginate .ellipsis {
    padding: 0.5rem 0.75rem;
    color: #999;
}

/* Info text styling */
.dataTables_wrapper .dataTables_info {
    font-size: 0.875rem;
    color: #555;
    padding: 0.5rem 0;
    margin: 0;
}

/* Length selector */
.dataTables_wrapper .dataTables_length {
    margin-bottom: 0.5rem;
}

.dataTables_wrapper .dataTables_length label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0;
    font-weight: 400;
    font-size: 0.875rem;
}

.dataTables_wrapper .dataTables_length select {
    padding: 0.375rem 2rem 0.375rem 0.75rem;
    border: 1px solid #e6e6e6;
    border-radius: 0.375rem;
    background-color: #fefefe;
    font-size: 0.875rem;
}

/* Search filter */
.dataTables_wrapper .dataTables_filter {
    margin-bottom: 0.5rem;
}

.dataTables_wrapper .dataTables_filter label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0;
    font-weight: 400;
    font-size: 0.875rem;
}

.dataTables_wrapper .dataTables_filter input {
    padding: 0.375rem 0.75rem;
    border: 1px solid #e6e6e6;
    border-radius: 0.375rem;
    background-color: #fefefe;
    font-size: 0.875rem;
    margin-left: 0.5rem;
}

/* Controls layout */
.dataTables_wrapper .dtControls_top,
.dataTables_wrapper .dtControls_btm {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

@media (max-width: 767px) {

    .dataTables_wrapper .dtControls_top,
    .dataTables_wrapper .dtControls_btm {
        flex-direction: column;
        align-items: stretch;
    }

    .dataTables_wrapper .dataTables_paginate {
        justify-content: center;
    }

    .dataTables_wrapper .dataTables_info {
        text-align: center;
    }
}

/* Processing indicator */
.dataTables_wrapper .dataTables_processing {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(254, 254, 254, 0.95);
    border: 1px solid var(--bs-primary, #1779ba);
    border-radius: 2rem;
    padding: 1rem 2rem;
    font-weight: 600;
    color: var(--bs-primary, #1779ba);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    z-index: 100;
}

/* Empty state */
.dataTables_wrapper .dataTables_empty {
    text-align: center;
    padding: 2rem 1rem;
    font-style: italic;
    color: #999;
}

/* No footer border */
.dataTables_wrapper table.dataTable.no-footer {
    border-bottom: 1px solid #e6e6e6;
}