/*!
 * Bootstrap MultiSelect - CSS Styles v1.2.0
 * 
 * Additional styles and enhancements for the Bootstrap MultiSelect plugin
 * 
 * Authors: Paolo Gaetano
 * Copyright (c) 2026 Paolo Gaetano
 * Released under the MIT license
 * 
 * @requires jQuery >= 3.6
 * @requires Bootstrap >= 5.0
 */

/* ==========================================================================
   Container Styles
   ========================================================================== */

.bs-multiselect-container {
    position: relative;
    display: inline-block;
}

.bs-multiselect-container .dropdown-toggle {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.bs-multiselect-container .dropdown-toggle::after {
    flex-shrink: 0;
}

/* ==========================================================================
   Button Styles
   ========================================================================== */

.bs-multiselect-placeholder {
    flex-grow: 1;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.bs-multiselect-badge {
    flex-shrink: 0;
    border-radius: 10px;
    padding: 0.25em 0.5em;
    font-size: 0.75em;
    font-weight: 600;
    line-height: 1;
}

/* ==========================================================================
   Dropdown Menu Styles
   ========================================================================== */

.bs-multiselect-container .dropdown-menu {
    padding: 0;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(0, 0, 0, 0.15);
    background-color: #ffffff !important;
}

/* jQuery Validation - Show green border for valid fields */
form .bs-multiselect-container > .is-valid  {
  border-color: #198754;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

 form .bs-multiselect-container > .is-valid:focus {
  border-color: #198754;
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}



/* ==========================================================================
   Search Input Styles
   ========================================================================== */

.bs-multiselect-search {
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.bs-multiselect-search:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* ==========================================================================
   Options Styles
   ========================================================================== */

.bs-multiselect-options {
    background-color: #ffffff;
}

.bs-multiselect-option {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
    user-select: none;
    background-color: #ffffff !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.bs-multiselect-option:hover {
    background-color: #f8f9fa !important;
}

.bs-multiselect-option.disabled,
.bs-multiselect-option:has(.form-check-input:disabled) {
    opacity: 0.5;
    cursor: not-allowed;
}

.bs-multiselect-option.disabled:hover,
.bs-multiselect-option:has(.form-check-input:disabled):hover {
    background-color: #ffffff !important;
}

.bs-multiselect-option .form-check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    margin-bottom: 0;
    padding-left: 0;
}

.bs-multiselect-option .form-check-input {
    cursor: pointer;
    margin-top: 0;
    margin-left: 0;
    flex-shrink: 0;
    float: none;
}

.bs-multiselect-option .form-check-label {
    cursor: pointer;
    margin-bottom: 0;
    padding-left: 0;
    color: #212529 !important;
    flex-grow: 1;
}

.bs-multiselect-option .form-check-input:disabled ~ .form-check-label {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ==========================================================================
   OptGroup Styles
   ========================================================================== */

.bs-multiselect-optgroup {
    margin-bottom: 0.5rem;
}

.bs-multiselect-optgroup:last-child {
    margin-bottom: 0;
}

.bs-multiselect-optgroup > div:first-child {
    font-weight: 600;
    color: #6c757d;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.25rem;
}

/* ==========================================================================
   Action Buttons Styles
   ========================================================================== */

.bs-multiselect-select-all,
.bs-multiselect-deselect-all {
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
    transition: all 0.15s ease-in-out;
}

.bs-multiselect-select-all:hover,
.bs-multiselect-deselect-all:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.bs-multiselect-select-all:disabled,
.bs-multiselect-select-all.disabled,
.bs-multiselect-deselect-all:disabled,
.bs-multiselect-deselect-all.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.bs-multiselect-select-all:disabled:hover,
.bs-multiselect-select-all.disabled:hover,
.bs-multiselect-deselect-all:disabled:hover,
.bs-multiselect-deselect-all.disabled:hover {
    transform: none;
    box-shadow: none;
}

/* ==========================================================================
   No Results Message
   ========================================================================== */

.bs-multiselect-no-results {
    padding: 1rem;
    color: #6c757d;
    font-style: italic;
}

/* ==========================================================================
   Pagination Controls
   ========================================================================== */

.bs-multiselect-pagination {
    padding: 0.5rem 0;
    margin: 0;
    border-top: 1px solid #dee2e6;
    background-color: #f8f9fa;
    flex-shrink: 0; /* Prevent pagination from being compressed */
}

/* Top pagination */
.bs-multiselect-pagination.pagination-top {
    border-top: none;
    border-bottom: 1px solid #dee2e6;
}

/* Bottom pagination */
.bs-multiselect-pagination.pagination-bottom {
    border-top: 1px solid #dee2e6;
    border-bottom: none;
}

/* When pagination is on both sides */
.bs-multiselect-pagination.pagination-top + .bs-multiselect-options {
    border-top: 1px solid #dee2e6;
}

.bs-multiselect-prev-page,
.bs-multiselect-next-page {
    font-size: 0.8125rem;
    padding: 0.25rem 0.75rem;
    transition: all 0.15s ease-in-out;
    min-width: 80px;
}

.bs-multiselect-prev-page:hover:not(:disabled),
.bs-multiselect-next-page:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.bs-multiselect-prev-page:disabled,
.bs-multiselect-next-page:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.bs-multiselect-page-info {
    font-size: 0.875rem;
    font-weight: 500;
    color: #495057;
    padding: 0 0.5rem;
    white-space: nowrap;
}

/* ==========================================================================
   Loading State
   ========================================================================== */

.bs-multiselect-loading {
    text-align: center;
    padding: 1rem;
    color: #6c757d;
}

.bs-multiselect-loading::after {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid #6c757d;
    border-radius: 50%;
    border-top-color: transparent;
    animation: bs-multiselect-spin 0.6s linear infinite;
    margin-left: 0.5rem;
}

@keyframes bs-multiselect-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ==========================================================================
   Disabled State
   ========================================================================== */

.bs-multiselect-container .dropdown-toggle:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

/* ==========================================================================
   Responsive Styles
   ========================================================================== */

@media (max-width: 576px) {
    .bs-multiselect-container .dropdown-menu {
        max-width: 100vw;
        max-height: 70vh !important;
    }

    .bs-multiselect-options {
        max-height: 50vh;
    }

    .bs-multiselect-select-all,
    .bs-multiselect-deselect-all {
        font-size: 0.8125rem;
        padding: 0.25rem 0.5rem;
    }
}

/* ==========================================================================
   Dark Mode Support - DISABLED (using light theme only)
   ========================================================================== */

/* 
@media (prefers-color-scheme: dark) {
    .bs-multiselect-container .dropdown-menu {
        background-color: #212529;
        border-color: #495057;
    }

    .bs-multiselect-option {
        background-color: #212529;
        color: #ffffff;
    }

    .bs-multiselect-option:hover {
        background-color: #343a40;
    }

    .bs-multiselect-option .form-check-label {
        color: #ffffff;
    }

    .bs-multiselect-search {
        background-color: #212529;
        border-color: #495057;
        color: #fff;
    }

    .bs-multiselect-search:focus {
        border-color: #6ea8fe;
        box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    }

    .bs-multiselect-no-results,
    .bs-multiselect-loading {
        color: #adb5bd;
    }
}
*/

/* Dark mode via Bootstrap data attribute - DISABLED */
/*
[data-bs-theme="dark"] .bs-multiselect-container .dropdown-menu {
    background-color: #212529;
    border-color: #495057;
}

[data-bs-theme="dark"] .bs-multiselect-option {
    background-color: #212529;
    color: #ffffff;
}

[data-bs-theme="dark"] .bs-multiselect-option:hover {
    background-color: #343a40;
}

[data-bs-theme="dark"] .bs-multiselect-option .form-check-label {
    color: #ffffff;
}

[data-bs-theme="dark"] .bs-multiselect-search {
    background-color: #212529;
    border-color: #495057;
    color: #fff;
}

[data-bs-theme="dark"] .bs-multiselect-search:focus {
    border-color: #6ea8fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

[data-bs-theme="dark"] .bs-multiselect-no-results,
[data-bs-theme="dark"] .bs-multiselect-loading {
    color: #adb5bd;
}
*/

/* ==========================================================================
   Theme Variants
   ========================================================================== */

/* Primary Theme */
.bs-multiselect-container.theme-primary .bs-multiselect-badge {
    background-color: #0d6efd !important;
}

/* Secondary Theme */
.bs-multiselect-container.theme-secondary .bs-multiselect-badge {
    background-color: #6c757d !important;
}

/* Success Theme */
.bs-multiselect-container.theme-success .bs-multiselect-badge {
    background-color: #198754 !important;
}

/* Danger Theme */
.bs-multiselect-container.theme-danger .bs-multiselect-badge {
    background-color: #dc3545 !important;
}

/* Warning Theme */
.bs-multiselect-container.theme-warning .bs-multiselect-badge {
    background-color: #ffc107 !important;
    color: #000 !important;
}

/* Info Theme */
.bs-multiselect-container.theme-info .bs-multiselect-badge {
    background-color: #0dcaf0 !important;
    color: #000 !important;
}

/* Light Theme */
.bs-multiselect-container.theme-light .bs-multiselect-badge {
    background-color: #f8f9fa !important;
    color: #000 !important;
}

/* Dark Theme */
.bs-multiselect-container.theme-dark .bs-multiselect-badge {
    background-color: #212529 !important;
}

/* ==========================================================================
   Animation Utilities
   ========================================================================== */

.bs-multiselect-fade-in {
    animation: bs-multiselect-fadeIn 0.2s ease-in;
}

@keyframes bs-multiselect-fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================================================
   Custom Checkbox Styles (Optional Enhancement)
   ========================================================================== */

.bs-multiselect-option .form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

.bs-multiselect-option .form-check-input:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* ==========================================================================
   Compact Mode
   ========================================================================== */

.bs-multiselect-compact .bs-multiselect-option {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
}

.bs-multiselect-compact .bs-multiselect-select-all,
.bs-multiselect-compact .bs-multiselect-deselect-all {
    font-size: 0.8125rem;
    padding: 0.25rem 0.5rem;
}

.bs-multiselect-compact .bs-multiselect-search {
    font-size: 0.8125rem;
    padding: 0.25rem 0.5rem;
}

/*!
 * Bootstrap-select v1.13.18 (https://developer.snapappointments.com/bootstrap-select)
 *
 * Copyright 2012-2020 SnapAppointments, LLC
 * Licensed under MIT (https://github.com/snapappointments/bootstrap-select/blob/master/LICENSE)
 */

@-webkit-keyframes bs-notify-fadeOut {
  0% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
@-o-keyframes bs-notify-fadeOut {
  0% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
@keyframes bs-notify-fadeOut {
  0% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
select.bs-select-hidden,
.bootstrap-select > select.bs-select-hidden,
select.selectpicker {
  display: none !important;
}
.bootstrap-select {
  width: 220px \0;
  /*IE9 and below*/
  vertical-align: middle;
}
.bootstrap-select > .dropdown-toggle {
  position: relative;
  width: 100%;
  text-align: right;
  white-space: nowrap;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.bootstrap-select > .dropdown-toggle:after {
  margin-top: -1px;
}
.bootstrap-select > .dropdown-toggle.bs-placeholder,
.bootstrap-select > .dropdown-toggle.bs-placeholder:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder:active {
  color: #999;
}
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:active,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:active,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:active,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:active,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:active,
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:active {
  color: rgba(255, 255, 255, 0.5);
}
.bootstrap-select > select {
  position: absolute !important;
  bottom: 0;
  left: 50%;
  display: block !important;
  width: 0.5px !important;
  height: 100% !important;
  padding: 0 !important;
  opacity: 0 !important;
  border: none;
  z-index: 0 !important;
}
.bootstrap-select > select.mobile-device {
  top: 0;
  left: 0;
  display: block !important;
  width: 100% !important;
  z-index: 2 !important;
}
.has-error .bootstrap-select .dropdown-toggle,
.error .bootstrap-select .dropdown-toggle,
.bootstrap-select.is-invalid .dropdown-toggle,
.was-validated .bootstrap-select select:invalid + .dropdown-toggle {
  border-color: #b94a48;
}
.bootstrap-select.is-valid .dropdown-toggle,
.was-validated .bootstrap-select select:valid + .dropdown-toggle {
  border-color: #28a745;
}
.bootstrap-select.fit-width {
  width: auto !important;
}
.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
  width: 220px;
}
.bootstrap-select > select.mobile-device:focus + .dropdown-toggle,
.bootstrap-select .dropdown-toggle:focus {
  outline: thin dotted #333333 !important;
  outline: 5px auto -webkit-focus-ring-color !important;
  outline-offset: -2px;
}
.bootstrap-select.form-control {
  margin-bottom: 0;
  padding: 0;
  border: none;
  height: auto;
}
:not(.input-group) > .bootstrap-select.form-control:not([class*="col-"]) {
  width: 100%;
}
.bootstrap-select.form-control.input-group-btn {
  float: none;
  z-index: auto;
}
.form-inline .bootstrap-select,
.form-inline .bootstrap-select.form-control:not([class*="col-"]) {
  width: auto;
}
.bootstrap-select:not(.input-group-btn),
.bootstrap-select[class*="col-"] {
  float: none;
  display: inline-block;
  margin-left: 0;
}
.bootstrap-select.dropdown-menu-right,
.bootstrap-select[class*="col-"].dropdown-menu-right,
.row .bootstrap-select[class*="col-"].dropdown-menu-right {
  float: right;
}
.form-inline .bootstrap-select,
.form-horizontal .bootstrap-select,
.form-group .bootstrap-select {
  margin-bottom: 0;
}
.form-group-lg .bootstrap-select.form-control,
.form-group-sm .bootstrap-select.form-control {
  padding: 0;
}
.form-group-lg .bootstrap-select.form-control .dropdown-toggle,
.form-group-sm .bootstrap-select.form-control .dropdown-toggle {
  height: 100%;
  font-size: inherit;
  line-height: inherit;
  border-radius: inherit;
}
.bootstrap-select.form-control-sm .dropdown-toggle,
.bootstrap-select.form-control-lg .dropdown-toggle {
  font-size: inherit;
  line-height: inherit;
  border-radius: inherit;
}
.bootstrap-select.form-control-sm .dropdown-toggle {
  padding: 0.25rem 0.5rem;
}
.bootstrap-select.form-control-lg .dropdown-toggle {
  padding: 0.5rem 1rem;
}
.form-inline .bootstrap-select .form-control {
  width: 100%;
}
.bootstrap-select.disabled,
.bootstrap-select > .disabled {
  cursor: not-allowed;
}
.bootstrap-select.disabled:focus,
.bootstrap-select > .disabled:focus {
  outline: none !important;
}
.bootstrap-select.bs-container {
  position: absolute;
  top: 0;
  left: 0;
  height: 0 !important;
  padding: 0 !important;
}
.bootstrap-select.bs-container .dropdown-menu {
  z-index: 1060;
}
.bootstrap-select .dropdown-toggle .filter-option {
  position: static;
  top: 0;
  left: 0;
  float: left;
  height: 100%;
  width: 100%;
  text-align: left;
  overflow: hidden;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}
.bs3.bootstrap-select .dropdown-toggle .filter-option {
  padding-right: inherit;
}
.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option {
  position: absolute;
  padding-top: inherit;
  padding-bottom: inherit;
  padding-left: inherit;
  float: none;
}
.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option .filter-option-inner {
  padding-right: inherit;
}
.bootstrap-select .dropdown-toggle .filter-option-inner-inner {
  overflow: hidden;
}
.bootstrap-select .dropdown-toggle .filter-expand {
  width: 0 !important;
  float: left;
  opacity: 0 !important;
  overflow: hidden;
}
.bootstrap-select .dropdown-toggle .caret {
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -2px;
  vertical-align: middle;
}
.input-group .bootstrap-select.form-control .dropdown-toggle {
  border-radius: inherit;
}
.bootstrap-select[class*="col-"] .dropdown-toggle {
  width: 100%;
}
.bootstrap-select .dropdown-menu {
  min-width: 100%;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.bootstrap-select .dropdown-menu > .inner:focus {
  outline: none !important;
}
.bootstrap-select .dropdown-menu.inner {
  position: static;
  float: none;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.bootstrap-select .dropdown-menu li {
  position: relative;
}
.bootstrap-select .dropdown-menu li.active small {
  color: rgba(255, 255, 255, 0.5) !important;
}
.bootstrap-select .dropdown-menu li.disabled a {
  cursor: not-allowed;
}
.bootstrap-select .dropdown-menu li a {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.bootstrap-select .dropdown-menu li a.opt {
  position: relative;
  padding-left: 2.25em;
}
.bootstrap-select .dropdown-menu li a span.check-mark {
  display: none;
}
.bootstrap-select .dropdown-menu li a span.text {
  display: inline-block;
}
.bootstrap-select .dropdown-menu li small {
  padding-left: 0.5em;
}
.bootstrap-select .dropdown-menu .notify {
  position: absolute;
  bottom: 5px;
  width: 96%;
  margin: 0 2%;
  min-height: 26px;
  padding: 3px 5px;
  background: #f5f5f5;
  border: 1px solid #e3e3e3;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  pointer-events: none;
  opacity: 0.9;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.bootstrap-select .dropdown-menu .notify.fadeOut {
  -webkit-animation: 300ms linear 750ms forwards bs-notify-fadeOut;
       -o-animation: 300ms linear 750ms forwards bs-notify-fadeOut;
          animation: 300ms linear 750ms forwards bs-notify-fadeOut;
}
.bootstrap-select .no-results {
  padding: 3px;
  background: #f5f5f5;
  margin: 0 5px;
  white-space: nowrap;
}
.bootstrap-select.fit-width .dropdown-toggle .filter-option {
  position: static;
  display: inline;
  padding: 0;
}
.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner,
.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner {
  display: inline;
}
.bootstrap-select.fit-width .dropdown-toggle .bs-caret:before {
  content: '\00a0';
}
.bootstrap-select.fit-width .dropdown-toggle .caret {
  position: static;
  top: auto;
  margin-top: -1px;
}
.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark {
  position: absolute;
  display: inline-block;
  right: 15px;
  top: 5px;
}
.bootstrap-select.show-tick .dropdown-menu li a span.text {
  margin-right: 34px;
}
.bootstrap-select .bs-ok-default:after {
  content: '';
  display: block;
  width: 0.5em;
  height: 1em;
  border-style: solid;
  border-width: 0 0.26em 0.26em 0;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
       -o-transform: rotate(45deg);
          transform: rotate(45deg);
}
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle,
.bootstrap-select.show-menu-arrow.show > .dropdown-toggle {
  z-index: 1061;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before {
  content: '';
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid rgba(204, 204, 204, 0.2);
  position: absolute;
  bottom: -4px;
  left: 9px;
  display: none;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after {
  content: '';
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid white;
  position: absolute;
  bottom: -4px;
  left: 10px;
  display: none;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before {
  bottom: auto;
  top: -4px;
  border-top: 7px solid rgba(204, 204, 204, 0.2);
  border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after {
  bottom: auto;
  top: -4px;
  border-top: 6px solid white;
  border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before {
  right: 12px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after {
  right: 13px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:before,
.bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:before,
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:after,
.bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:after {
  display: block;
}
.bs-searchbox,
.bs-actionsbox,
.bs-donebutton {
  padding: 4px 8px;
}
.bs-actionsbox {
  width: 100%;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.bs-actionsbox .btn-group button {
  width: 50%;
}
.bs-donebutton {
  float: left;
  width: 100%;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.bs-donebutton .btn-group button {
  width: 100%;
}
.bs-searchbox + .bs-actionsbox {
  padding: 0 8px 4px;
}
.bs-searchbox .form-control {
  margin-bottom: 0;
  width: 100%;
  float: none;
}
/*# sourceMappingURL=bootstrap-select.css.map */
/**
 * Bootstrap 5 Companion Styles for bootstrap-select
 * These styles complement the forked bootstrap-select.js for Bootstrap 5 compatibility
 */

/* Hide Bootstrap 5's automatic caret since we have our own */
.bootstrap-select > .dropdown-toggle::after {
  display: none !important;
}

/* Ensure dropdown items have proper spacing in BS5 */
.bootstrap-select .dropdown-menu .dropdown-item {
  padding: 0.375rem 1rem;
}

.bootstrap-select .dropdown-menu .dropdown-item.active,
.bootstrap-select .dropdown-menu .dropdown-item:active {
  background-color: var(--bs-primary);
  color: var(--bs-white);
}

/* Fix dropdown divider styling for BS5 */
.bootstrap-select .dropdown-divider {
  margin: 0.5rem 0;
  border-top: 1px solid var(--bs-border-color);
}

/* Bootstrap 5 uses different close button styling */
.bootstrap-select .btn-close {
  padding: 0.25rem;
  opacity: 0.5;
}

.bootstrap-select .btn-close:hover {
  opacity: 1;
}

/* Checkbox/tick mark styling if using Bootstrap Icons */
.bootstrap-select .check-mark {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.5rem;
  visibility: hidden;
}

.bootstrap-select .dropdown-item.selected .check-mark,
.bootstrap-select .dropdown-item.active .check-mark {
  visibility: visible;
}

/* If using Bootstrap Icons font */
.bootstrap-select .bi-check::before {
  font-family: "bootstrap-icons" !important;
  content: "\f26b";
}

/* Alternative: Using Unicode checkmark if not using Bootstrap Icons */
.bootstrap-select:not(.show-tick) .check-mark::before {
  content: "✓";
  font-weight: bold;
}

/* Dropdown menu alignment for BS5 */
.bootstrap-select .dropdown-menu-end {
  right: 0;
  left: auto;
}

.bootstrap-select .dropdown-menu-start {
  right: auto;
  left: 0;
}

/* Search box styling */
.bootstrap-select .bs-searchbox {
  padding: 0.5rem;
}

.bootstrap-select .bs-searchbox .form-control {
  width: 100%;
}

/* Actions box (Select All / Deselect All) */
.bootstrap-select .bs-actionsbox {
  padding: 0.5rem;
  border-bottom: 1px solid var(--bs-border-color);
}

.bootstrap-select .bs-actionsbox .btn {
  margin-bottom: 0.25rem;
}

/* Done button */
.bootstrap-select .bs-donebutton {
  padding: 0.5rem;
  border-top: 1px solid var(--bs-border-color);
}

/* Dropdown header styling for BS5 */
.bootstrap-select .dropdown-header {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}

/* Disabled state */
.bootstrap-select .dropdown-item.disabled,
.bootstrap-select .dropdown-item:disabled {
  color: var(--bs-secondary-color);
  pointer-events: none;
  background-color: transparent;
  opacity: 0.6;
}

/* No results message */
.bootstrap-select .no-results {
  padding: 0.5rem 1rem;
  color: var(--bs-secondary-color);
  text-align: center;
}

/* Popover header (if using header option) */
.bootstrap-select .popover-header {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: var(--bs-secondary-bg);
  border-bottom: 1px solid var(--bs-border-color);
  border-top-left-radius: calc(var(--bs-border-radius) - 1px);
  border-top-right-radius: calc(var(--bs-border-radius) - 1px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Button styling */
.bootstrap-select > .dropdown-toggle {
  width: 100%;
  padding-right: 2rem;
  position: relative;
}

.bootstrap-select > .dropdown-toggle.bs-placeholder,
.bootstrap-select > .dropdown-toggle.bs-placeholder:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder:active {
  color: var(--bs-secondary-color);
}

/* Caret/dropdown arrow */
.bootstrap-select > .dropdown-toggle .bs-caret {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
}

.bootstrap-select > .dropdown-toggle .bs-caret .caret {
  display: inline-block;
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}

/* Filter option (selected values display) */
.bootstrap-select .filter-option {
  position: static;
  top: 0;
  left: 0;
  float: left;
  height: 100%;
  width: 100%;
  text-align: left;
  overflow: hidden;
  flex: 0 1 100%;
}

.bootstrap-select .filter-option-inner {
  padding-right: 1.5rem;
}

.bootstrap-select .filter-option-inner-inner {
  overflow: hidden;
}

/* Multiple select separator */
.bootstrap-select.show-tick .filter-option-inner-inner > * + *::before {
  content: ", ";
}

/* Show tick checkbox styling */
.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark {
  visibility: visible;
}

.bootstrap-select.show-tick .dropdown-menu li a span.text {
  margin-left: 1.5rem;
}

/* Validation states for BS5 */
.bootstrap-select.is-invalid > .dropdown-toggle,
.bootstrap-select.bs-invalid > .dropdown-toggle {
  border-color: var(--bs-danger);
}

.bootstrap-select.is-valid > .dropdown-toggle {
  border-color: var(--bs-success);
}

/* Focus state */
.bootstrap-select > .dropdown-toggle:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

/* Disabled state */
.bootstrap-select.disabled {
  cursor: not-allowed;
}

.bootstrap-select.disabled > .dropdown-toggle {
  cursor: not-allowed;
  background-color: var(--bs-secondary-bg);
  opacity: 0.65;
}

/* Mobile device styling */
.bootstrap-select.mobile-device {
  position: absolute !important;
  top: 0;
  left: 0;
  display: block !important;
  width: 100%;
  height: 100% !important;
  opacity: 0;
}

/* Virtual scroll optimization */
.bootstrap-select .inner {
  position: relative;
  overflow-y: auto;
}

/* Dropdown menu sizing */
.bootstrap-select .dropdown-menu.inner {
  display: block;
  position: static;
  float: none;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}

/* Subtext styling */
.bootstrap-select .text-muted {
  display: block;
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
  .bootstrap-select .dropdown-menu {
    max-width: 100%;
  }
  
  .bootstrap-select.fit-width {
    width: 100% !important;
  }
}

/* Dark mode support (if using BS5 dark mode) */
/* Commenting out dark mode for now, because it's not actually implemented yet for the rest of the site */
/*
@media (prefers-color-scheme: dark) {
  .bootstrap-select .dropdown-menu {
    background-color: var(--bs-dark);
    color: var(--bs-light);
  }
  
  .bootstrap-select .dropdown-item {
    color: var(--bs-light);
  }
  
  .bootstrap-select .dropdown-item:hover,
  .bootstrap-select .dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.1);
  }
}
*/

/* Optional: Animations */
.bootstrap-select .dropdown-menu.show {
  animation: dropdownFadeIn 0.15s ease-in;
}

@keyframes dropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(-0.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Notify message (for max options reached) */
.bootstrap-select .notify {
  position: absolute;
  bottom: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  padding: 0.75rem 1rem;
  background-color: var(--bs-warning);
  color: var(--bs-dark);
  border-radius: var(--bs-border-radius);
  z-index: 1060;
}

.bootstrap-select .notify.fadeOut {
  animation: notifyFadeOut 1s ease-out forwards;
}

@keyframes notifyFadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@charset "utf-8";

/* 
 * sizes and positions
 */
a.datepicker-button {
	cursor: pointer;
}
div.datepicker-calendar {
	margin: 0 10px 10px 0;
	font-size: .9em;
	padding: 2px;
	position: absolute;
	width: 261px;
	border: 1px solid #ccc;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	z-index: 50;
}
div.datepicker-calendar div.datepicker-month-wrap {
	margin: 0;
	padding-top: 1px;
	text-align: center;
	height: 30px;
}
div.datepicker-calendar.bootstrap4 div.datepicker-month-wrap > div {
	padding-top: 0;
}
div.datepicker-calendar.bootstrap4 div.datepicker-month-wrap div.datepicker-month-prev,
div.datepicker-calendar.bootstrap4 div.datepicker-month-wrap div.datepicker-month-next {
	padding-top: 2px;
}
div.datepicker-calendar.bootstrap4 div.datepicker-month-wrap i.fa-caret-left,
div.datepicker-calendar.bootstrap4 div.datepicker-month-wrap i.fa-caret-right {
	font-size: 1.3em;
}
div.datepicker-calendar div.datepicker-month-fast-prev.disabled,
div.datepicker-calendar div.datepicker-month-fast-next.disabled ,
div.datepicker-calendar div.datepicker-month-prev.disabled,
div.datepicker-calendar div.datepicker-month-next.disabled {
	border: none;
	cursor: default;
}
div.datepicker-calendar div.datepicker-month-fast-prev,
div.datepicker-calendar div.datepicker-month-fast-next,
div.datepicker-calendar div.datepicker-month-prev,
div.datepicker-calendar div.datepicker-month-next {
	cursor: pointer;
	margin: 3px;
	width: 24px;
	height: 24px;
	padding-top: 3px;
}
div.datepicker-calendar div.datepicker-month-fast-prev {
	padding-right: 2px;
}
div.datepicker-calendar div.datepicker-month-fast-next {
	padding-left: 2px;
}
div.datepicker-calendar div.datepicker-month-fast-prev.enabled:hover,
div.datepicker-calendar div.datepicker-month-fast-prev.enabled:focus,
div.datepicker-calendar div.datepicker-month-fast-next.enabled:hover,
div.datepicker-calendar div.datepicker-month-fast-next.enabled:focus,
div.datepicker-calendar div.datepicker-month-prev.enabled:hover,
div.datepicker-calendar div.datepicker-month-prev.enabled:focus,
div.datepicker-calendar div.datepicker-month-next.enabled:hover,
div.datepicker-calendar div.datepicker-month-next.enabled:focus {
	margin-top: 2px;
	border: 1px solid #800;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
div.datepicker-calendar div.datepicker-month {
	margin: 3px 56px 2px 56px;
	height: 24px;
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
	cursor: pointer;
	padding-top: 1px;
}
div.datepicker-calendar:not(.bootstrap4) div.datepicker-month:after {
	font-family: 'Glyphicons Halflings';
	font-size: 0.6em;
	display: inline-block;
	content: "\e252";
}
div.datepicker-calendar.bootstrap4 div.datepicker-month:after {
	font-family: "Font Awesome 5 Free";
	font-size: 0.7em;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	padding-left: 0.4em;
	content: "\f078";
}
div.datepicker-calendar div.datepicker-month:hover,
div.datepicker-calendar div.datepicker-month:focus {
	padding-top: 0;
	border: 1px solid #800;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
div.datepicker-calendar table.datepicker-grid {
	width: 100%;
	font-size: 1.2em;
	text-align: center;
}
div.datepicker-calendar table.datepicker-grid.rtl {
	direction: rtl;
}
div.datepicker-calendar table.datepicker-grid:focus {
	outline: none;
}
div.datepicker-calendar table.datepicker-weekdays {
}
div.datepicker-calendar table.datepicker-grid th,
div.datepicker-calendar table.datepicker-grid td{
	text-align: center;
	padding: 0;
}
div.datepicker-calendar table.datepicker-grid th abbr{
	border: none;
}
div.datepicker-calendar table.datepicker-grid td {
	border: 1px solid #999;
	cursor: pointer;
}
div.datepicker-calendar table.datepicker-grid td.unselectable {
	cursor: default;
}
div.datepicker-calendar table.datepicker-grid th,
div.datepicker-calendar table.datepicker-grid td.day {
	height: 30px;
}
div.datepicker-calendar table.datepicker-grid td.month {
	height: 60px;
}
div.datepicker-calendar table.datepicker-grid td.year {
	height: 45px;
}
div.datepicker-calendar table.datepicker-grid td.curDay,
div.datepicker-calendar table.datepicker-grid td.curMonth,
div.datepicker-calendar table.datepicker-grid td.curYear {
	border: 1px solid #999;
}
div.datepicker-calendar table.datepicker-grid td.empty {
	border: 1px solid #999;
	cursor: default;
}
div.datepicker-calendar .offscreen {
	position: absolute;
	left: -200em;
	top: -100em;
}
.datepicker-overlay {
	background: #777;
    display: none;        
    position: fixed;   
    top: 0;                  
    right: 0;              
    bottom: 0;
    left: 0;
    opacity: 0.5;
	height: 100%;
	min-height: 100%;
	z-index: 40;
}
div.datepicker-calendar button.datepicker-close {
	height: 30px;
	width: 100%;
	font-weight: bold;
	margin-top: 1px;
	border: 1px solid #eee;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

/**************************** 
 * colors
 ***************************/

/**************************** 
 * default theme colors
 ***************************/
a.datepicker-button.default {
}
a.datepicker-button.default:hover,
a.datepicker-button.default:focus {
	background-color: #DDD;
}
div.datepicker-calendar.default {
	background-color: #FFF;
}
div.datepicker-calendar.default div.datepicker-month-wrap {
}
div.datepicker-calendar.default div.datepicker-month-fast-prev.disabled,
div.datepicker-calendar.default div.datepicker-month-fast-next.disabled ,
div.datepicker-calendar.default div.datepicker-month-prev.disabled,
div.datepicker-calendar.default div.datepicker-month-next.disabled {
	color:  #999;
}
div.datepicker-calendar.default div.datepicker-month-fast-prev.enabled:hover,
div.datepicker-calendar.default div.datepicker-month-fast-prev.enabled:focus,
div.datepicker-calendar.default div.datepicker-month-fast-next.enabled:hover,
div.datepicker-calendar.default div.datepicker-month-fast-next.enabled:focus,
div.datepicker-calendar.default div.datepicker-month-prev.enabled:hover,
div.datepicker-calendar.default div.datepicker-month-prev.enabled:focus,
div.datepicker-calendar.default div.datepicker-month-next.enabled:hover,
div.datepicker-calendar.default div.datepicker-month-next.enabled:focus,
div.datepicker-calendar.default div.datepicker-month:hover,
div.datepicker-calendar.default div.datepicker-month:focus,
div.datepicker-calendar.default button.datepicker-close:hover, 
div.datepicker-calendar.default button.datepicker-close:focus {
	background-color: #EEE;
	border-color:  #999;
}
div.datepicker-calendar.default table.datepicker-grid:focus {
	outline: 1px dotted #999;
}
div.datepicker-calendar.default tr.datepicker-weekdays {
	border-top:  1px solid #999;
	border-bottom:  1px solid #999;
}
div.datepicker-calendar.default table.datepicker-grid th {
	background-color: #EEE;
	border:  none;
}
div.datepicker-calendar.default table.datepicker-grid td {
	border:  none;
	color: #000;
}
div.datepicker-calendar.default table.datepicker-grid td.unselectable {
	color: #999;
}
div.datepicker-calendar.default table.datepicker-grid td.curDay,
div.datepicker-calendar.default table.datepicker-grid td.curMonth,
div.datepicker-calendar.default table.datepicker-grid td.curYear {
	background-color: #FFF0C4;
}
div.datepicker-calendar.default table.datepicker-grid td.empty {
	border:  none;
	color: #CCC;
}
div.datepicker-calendar.default table.datepicker-grid td.selectable:hover,
div.datepicker-calendar.default table.datepicker-grid td.selectable.focus {
	background-color: #DDD;
}
div.datepicker-calendar.default table.datepicker-grid td.empty:hover {
	background-color: #F9F9F9;
}
div.datepicker-calendar.default button.datepicker-close {
	background-color: #DDD;
	border-color:  #999;
	color: #000;
}

/**************************** 
 * bootstrap theme colors
 ***************************/
a.datepicker-button.bootstrap {
}
a.datepicker-button.bootstrap:hover,
a.datepicker-button.bootstrap:focus {
	background-color: #DDD;
}
div.datepicker-calendar.bootstrap {
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176);
	min-width: 200px;
	font-size: .8em;
	background-clip: padding-box;
	background-color: #FFF;
	border-radius: 4px;
	line-height: 20px;
}
div.datepicker-calendar.bootstrap.below {
	margin-top: 2px;
}
div.datepicker-calendar.bootstrap.above {
	margin-top: -2px;
}
div.datepicker-calendar.bootstrap:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-top: 0;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  left: 7px;
}
div.datepicker-calendar.bootstrap:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  border-top: 0;
  position: absolute;
  left: 6px;
}
div.datepicker-calendar.bootstrap.below:before {
  top: -7px;
}
div.datepicker-calendar.bootstrap.below:after {
  top: -6px;
}
div.datepicker-calendar.bootstrap.above:before {
  bottom: -7px;
  border-bottom: 0;
  border-top: 7px solid #999;
}
div.datepicker-calendar.bootstrap.above:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid #ffffff;
}
div.datepicker-calendar.bootstrap div.datepicker-month-wrap {
}
div.datepicker-calendar.bootstrap div.datepicker-month-fast-prev.disabled,
div.datepicker-calendar.bootstrap div.datepicker-month-fast-next.disabled ,
div.datepicker-calendar.bootstrap div.datepicker-month-prev.disabled,
div.datepicker-calendar.bootstrap div.datepicker-month-next.disabled {
	color:  #999;
}
div.datepicker-calendar.bootstrap div.datepicker-month-fast-prev.enabled:hover,
div.datepicker-calendar.bootstrap div.datepicker-month-fast-prev.enabled:focus,
div.datepicker-calendar.bootstrap div.datepicker-month-fast-next.enabled:hover,
div.datepicker-calendar.bootstrap div.datepicker-month-fast-next.enabled:focus,
div.datepicker-calendar.bootstrap div.datepicker-month-prev.enabled:hover,
div.datepicker-calendar.bootstrap div.datepicker-month-prev.enabled:focus,
div.datepicker-calendar.bootstrap div.datepicker-month-next.enabled:hover,
div.datepicker-calendar.bootstrap div.datepicker-month-next.enabled:focus,
div.datepicker-calendar.bootstrap div.datepicker-month:hover,
div.datepicker-calendar.bootstrap div.datepicker-month:focus,
div.datepicker-calendar.bootstrap button.datepicker-close:hover, 
div.datepicker-calendar.bootstrap button.datepicker-close:focus {
	background-color: #EEE;
	border-color:  #999;
}
div.datepicker-calendar.bootstrap table.datepicker-grid:focus {
	outline: none;
}
div.datepicker-calendar.bootstrap tr.datepicker-weekdays {
	border: none;
}
div.datepicker-calendar.bootstrap table.datepicker-grid th {
}
div.datepicker-calendar.bootstrap table.datepicker-grid th abbr{
	text-decoration: none;
	cursor: default;
}
div.datepicker-calendar.bootstrap table.datepicker-grid td {
	border:  none;
	color: #000;
}
div.datepicker-calendar.bootstrap table.datepicker-grid td.unselectable {
	color: #999;
}
div.datepicker-calendar.bootstrap table.datepicker-grid td.curDay,
div.datepicker-calendar.bootstrap table.datepicker-grid td.curMonth,
div.datepicker-calendar.bootstrap table.datepicker-grid td.curYear {
	background-color: #FFF0C4;
}
div.datepicker-calendar.bootstrap table.datepicker-grid td.empty {
	border:  none;
	color: #CCC;
}
div.datepicker-calendar.bootstrap table.datepicker-grid td.selectable:hover,
div.datepicker-calendar.bootstrap table.datepicker-grid td.selectable.focus {
	background-color: #DDD;
}
div.datepicker-calendar.bootstrap table.datepicker-grid td.empty:hover {
	background-color: #F9F9F9;
}
div.datepicker-calendar.bootstrap button.datepicker-close {
	background-color: #DDD;
	border-color:  #999;
	color: #000;
}

/**************************** 
 * maroon theme colors
 ***************************/
a.datepicker-button.maroon {
	color: #FFF;
	background-color: #A63950;
}
a.datepicker-button.maroon:hover,
a.datepicker-button.maroon:focus {
	color: #FFF;
	background-color: #802C3E;
}
div.datepicker-calendar.maroon {
	background-color: #FFF;
	border-color:  #CCC;
}
div.datepicker-calendar.maroon div.datepicker-month-wrap {
	background-color: #522A3F;
	color: #FFF;
}
div.datepicker-calendar.maroon div.datepicker-month-fast-prev.disabled,
div.datepicker-calendar.maroon div.datepicker-month-fast-next.disabled ,
div.datepicker-calendar.maroon div.datepicker-month-prev.disabled,
div.datepicker-calendar.maroon div.datepicker-month-next.disabled {
	color:  #999;
}
div.datepicker-calendar.maroon div.datepicker-month-fast-prev.enabled:hover,
div.datepicker-calendar.maroon div.datepicker-month-fast-prev.enabled:focus,
div.datepicker-calendar.maroon div.datepicker-month-fast-next.enabled:hover,
div.datepicker-calendar.maroon div.datepicker-month-fast-next.enabled:focus,
div.datepicker-calendar.maroon div.datepicker-month-prev.enabled:hover,
div.datepicker-calendar.maroon div.datepicker-month-prev.enabled:focus,
div.datepicker-calendar.maroon div.datepicker-month-next.enabled:hover,
div.datepicker-calendar.maroon div.datepicker-month-next.enabled:focus,
div.datepicker-calendar.maroon div.datepicker-month:hover,
div.datepicker-calendar.maroon div.datepicker-month:focus,
div.datepicker-calendar.maroon button.datepicker-close:hover, 
div.datepicker-calendar.maroon button.datepicker-close:focus {
	background-color: #A63950;
	border-color:  #800;
}
div.datepicker-calendar.maroon table.datepicker-grid:focus {
	outline: 1px dotted #A63950;
}
div.datepicker-calendar.maroon tr.datepicker-weekdays {
}
div.datepicker-calendar.maroon table.datepicker-grid th {
	background-color: #A63950;
	color: #FFF;
}
div.datepicker-calendar.maroon table.datepicker-grid td {
	background-color: #EEE;
	border-color:  #999;
}
div.datepicker-calendar.maroon table.datepicker-grid td.unselectable {
	color: #999;
}
div.datepicker-calendar.maroon table.datepicker-grid td.curDay,
div.datepicker-calendar.maroon table.datepicker-grid td.curMonth,
div.datepicker-calendar.maroon table.datepicker-grid td.curYear {
	background-color: #FFF0C4;
}
div.datepicker-calendar.maroon table.datepicker-grid td.empty {
	background-color: #F9F9F9;
	color: #AAA;
}
div.datepicker-calendar.maroon table.datepicker-grid td.selectable:hover,
div.datepicker-calendar.maroon table.datepicker-grid td.selectable.focus {
	background-color: #B55A6E;
	color: #FFF;
	border-color: #800;
}
div.datepicker-calendar.maroon table.datepicker-grid td.empty:hover {
	background-color: #F9F9F9;
	border-color:  #999;
}
div.datepicker-calendar.maroon button.datepicker-close {
	background-color: #522A3F;
	color: #FFF;
	border-color:  #EEE;
}

/**************************** 
 * blue theme colors
 ***************************/
a.datepicker-button.blue {
	color: #FFF;
	background-color: #063A5B;
}
a.datepicker-button.blue:hover,
a.datepicker-button.blue:focus {
	background-color: #262A33;
}
div.datepicker-calendar.blue {
	background-color: #FFF;
	border-color:  #CCC;
}
div.datepicker-calendar.blue div.datepicker-month-wrap {
	background-color: #063A5B;
	color: #FFF;
}
div.datepicker-calendar.blue div.datepicker-month-fast-prev.disabled,
div.datepicker-calendar.blue div.datepicker-month-fast-next.disabled ,
div.datepicker-calendar.blue div.datepicker-month-prev.disabled,
div.datepicker-calendar.blue div.datepicker-month-next.disabled {
	color:  #999;
}
div.datepicker-calendar.blue div.datepicker-month-fast-prev.enabled:hover,
div.datepicker-calendar.blue div.datepicker-month-fast-prev.enabled:focus,
div.datepicker-calendar.blue div.datepicker-month-fast-next.enabled:hover,
div.datepicker-calendar.blue div.datepicker-month-fast-next.enabled:focus,
div.datepicker-calendar.blue div.datepicker-month-prev.enabled:hover,
div.datepicker-calendar.blue div.datepicker-month-prev.enabled:focus,
div.datepicker-calendar.blue div.datepicker-month-next.enabled:hover,
div.datepicker-calendar.blue div.datepicker-month-next.enabled:focus,
div.datepicker-calendar.blue div.datepicker-month:hover,
div.datepicker-calendar.blue div.datepicker-month:focus,
div.datepicker-calendar.blue button.datepicker-close:hover, 
div.datepicker-calendar.blue button.datepicker-close:focus {
	background-color: #0B6BA8;
	border-color:  #3484B7;
}
div.datepicker-calendar.blue table.datepicker-grid:focus {
	outline: 1px dotted #0B6BA8;
}
div.datepicker-calendar.blue tr.datepicker-weekdays {
}
div.datepicker-calendar.blue table.datepicker-grid th {
	background-color: #0B6BA8;
	color: #FFF;
}
div.datepicker-calendar.blue table.datepicker-grid td {
	background-color: #EEE;
	border-color:  #999;
}
div.datepicker-calendar.blue table.datepicker-grid td.unselectable {
	color: #999;
}
div.datepicker-calendar.blue table.datepicker-grid td.curDay,
div.datepicker-calendar.blue table.datepicker-grid td.curMonth,
div.datepicker-calendar.blue table.datepicker-grid td.curYear {
	background-color: #FFF0C4;
}
div.datepicker-calendar.blue table.datepicker-grid td.empty {
	background-color: #F9F9F9;
	color: #AAA;
}
div.datepicker-calendar.blue table.datepicker-grid td.selectable:hover,
div.datepicker-calendar.blue table.datepicker-grid td.selectable.focus {
	background-color: #0B6BA8;
	color: #FFF;
	border-color: #3484B7;
}
div.datepicker-calendar.blue table.datepicker-grid td.empty:hover {
	background-color: #F9F9F9;
	border-color:  #999;
}
div.datepicker-calendar.blue button.datepicker-close {
	background-color: #063A5B;
	color: #FFF;
	border-color:  #EEE;
}

/**************************** 
 * green theme colors
 ***************************/
a.datepicker-button.green {
	color: #FFF;
	background-color: #0C5E2F;
}
a.datepicker-button.green:hover,
a.datepicker-button.green:focus {
	background-color: #262A33;
}
div.datepicker-calendar.green {
	background-color: #FFF;
	border-color:  #CCC;
}
div.datepicker-calendar.green div.datepicker-month-wrap {
	background-color: #0C5E2F;
	color: #FFF;
}
div.datepicker-calendar.green div.datepicker-month-fast-prev.disabled,
div.datepicker-calendar.green div.datepicker-month-fast-next.disabled ,
div.datepicker-calendar.green div.datepicker-month-prev.disabled,
div.datepicker-calendar.green div.datepicker-month-next.disabled {
	color:  #999;
}
div.datepicker-calendar.green div.datepicker-month-fast-prev.enabled:hover,
div.datepicker-calendar.green div.datepicker-month-fast-prev.enabled:focus,
div.datepicker-calendar.green div.datepicker-month-fast-next.enabled:hover,
div.datepicker-calendar.green div.datepicker-month-fast-next.enabled:focus,
div.datepicker-calendar.green div.datepicker-month-prev.enabled:hover,
div.datepicker-calendar.green div.datepicker-month-prev.enabled:focus,
div.datepicker-calendar.green div.datepicker-month-next.enabled:hover,
div.datepicker-calendar.green div.datepicker-month-next.enabled:focus,
div.datepicker-calendar.green div.datepicker-month:hover,
div.datepicker-calendar.green div.datepicker-month:focus,
div.datepicker-calendar.green button.datepicker-close:hover, 
div.datepicker-calendar.green button.datepicker-close:focus {
	background-color: #0D803B;
	border-color:  #36955C;
}
div.datepicker-calendar.green table.datepicker-grid:focus {
	outline: 1px dotted #0D803B;
}
div.datepicker-calendar.green tr.datepicker-weekdays {
}
div.datepicker-calendar.green table.datepicker-grid th {
	background-color: #0D803B;
	color: #FFF;
}
div.datepicker-calendar.green table.datepicker-grid td {
	background-color: #EEE;
	border-color:  #999;
}
div.datepicker-calendar.green table.datepicker-grid td.unselectable {
	color: #999;
}
div.datepicker-calendar.green table.datepicker-grid td.curDay,
div.datepicker-calendar.green table.datepicker-grid td.curMonth,
div.datepicker-calendar.green table.datepicker-grid td.curYear {
	background-color: #FFF0C4;
}
div.datepicker-calendar.green table.datepicker-grid td.empty {
	background-color: #F9F9F9;
	color: #AAA;
}
div.datepicker-calendar.green table.datepicker-grid td.selectable:hover,
div.datepicker-calendar.green table.datepicker-grid td.selectable.focus {
	background-color: #0D803B;
	color: #FFF;
	border-color: #36955C;
}
div.datepicker-calendar.green table.datepicker-grid td.empty:hover {
	background-color: #F9F9F9;
	border-color:  #999;
}
div.datepicker-calendar.green button.datepicker-close {
	background-color: #0C5E2F;
	color: #FFF;
	border-color:  #EEE;
}

:root {
  --dt-row-selected: 13, 110, 253;
  --dt-row-selected-text: 255, 255, 255;
  --dt-row-selected-link: 9, 10, 11;
  --dt-row-stripe: 0, 0, 0;
  --dt-row-hover: 0, 0, 0;
  --dt-column-ordering: 0, 0, 0;
  --dt-header-align-items: center;
  --dt-html-background: white;
}
:root.dark {
  --dt-html-background: rgb(33, 37, 41);
}

table.dataTable tbody td.dt-control {
  text-align: center;
  cursor: pointer;
}
table.dataTable tbody td.dt-control:before {
  display: inline-block;
  box-sizing: border-box;
  content: "";
  border-top: 5px solid transparent;
  border-left: 10px solid rgba(0, 0, 0, 0.5);
  border-bottom: 5px solid transparent;
  border-right: 0px solid transparent;
}
table.dataTable tbody tr.dt-hasChild td.dt-control:before {
  border-top: 10px solid rgba(0, 0, 0, 0.5);
  border-left: 5px solid transparent;
  border-bottom: 0px solid transparent;
  border-right: 5px solid transparent;
}
table.dataTable tfoot:empty {
  display: none;
}

html.dark table.dataTable td.dt-control:before,
:root[data-bs-theme=dark] table.dataTable td.dt-control:before,
:root[data-theme=dark] table.dataTable td.dt-control:before {
  border-left-color: rgba(255, 255, 255, 0.5);
}
html.dark table.dataTable tr.dt-hasChild td.dt-control:before,
:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before,
:root[data-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before {
  border-top-color: rgba(255, 255, 255, 0.5);
  border-left-color: transparent;
}

div.dt-scroll {
  width: 100%;
}

div.dt-scroll-body thead tr,
div.dt-scroll-body tfoot tr {
  height: 0;
}
div.dt-scroll-body thead tr th, div.dt-scroll-body thead tr td,
div.dt-scroll-body tfoot tr th,
div.dt-scroll-body tfoot tr td {
  height: 0 !important;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  border-top-width: 0px !important;
  border-bottom-width: 0px !important;
}
div.dt-scroll-body thead tr th div.dt-scroll-sizing, div.dt-scroll-body thead tr td div.dt-scroll-sizing,
div.dt-scroll-body tfoot tr th div.dt-scroll-sizing,
div.dt-scroll-body tfoot tr td div.dt-scroll-sizing {
  height: 0 !important;
  overflow: hidden !important;
}

table.dataTable thead > tr > th:active,
table.dataTable thead > tr > td:active {
  outline: none;
}
table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before,
table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:before,
table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before {
  position: absolute;
  display: block;
  bottom: 50%;
  content: "\25B2";
  content: "\25B2"/"";
}
table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after,
table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:after,
table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after {
  position: absolute;
  display: block;
  top: 50%;
  content: "\25BC";
  content: "\25BC"/"";
}
table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order,
table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order,
table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order,
table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order,
table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order {
  position: relative;
  width: 12px;
  height: 20px;
}
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 {
  left: 0;
  opacity: 0.125;
  line-height: 9px;
  font-size: 0.8em;
}
table.dataTable thead > tr > th.dt-orderable-asc, table.dataTable thead > tr > th.dt-orderable-desc,
table.dataTable thead > tr > td.dt-orderable-asc,
table.dataTable thead > tr > td.dt-orderable-desc {
  cursor: pointer;
}
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: 2px solid rgba(0, 0, 0, 0.05);
  outline-offset: -2px;
}
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: 0.6;
}
table.dataTable thead > tr > th.sorting_desc_disabled span.dt-column-order:after, table.dataTable thead > tr > th.sorting_asc_disabled span.dt-column-order:before,
table.dataTable thead > tr > td.sorting_desc_disabled span.dt-column-order:after,
table.dataTable thead > tr > td.sorting_asc_disabled span.dt-column-order:before {
  display: none;
}
table.dataTable thead > tr > th:active,
table.dataTable thead > tr > td:active {
  outline: none;
}

table.dataTable thead > tr > th div.dt-column-header,
table.dataTable thead > tr > th div.dt-column-footer,
table.dataTable thead > tr > td div.dt-column-header,
table.dataTable thead > tr > td div.dt-column-footer,
table.dataTable tfoot > tr > th div.dt-column-header,
table.dataTable tfoot > tr > th div.dt-column-footer,
table.dataTable tfoot > tr > td div.dt-column-header,
table.dataTable tfoot > tr > td div.dt-column-footer {
  display: flex;
  justify-content: space-between;
  align-items: var(--dt-header-align-items);
  gap: 4px;
}
table.dataTable thead > tr > th div.dt-column-header span.dt-column-title,
table.dataTable thead > tr > th div.dt-column-footer span.dt-column-title,
table.dataTable thead > tr > td div.dt-column-header span.dt-column-title,
table.dataTable thead > tr > td div.dt-column-footer span.dt-column-title,
table.dataTable tfoot > tr > th div.dt-column-header span.dt-column-title,
table.dataTable tfoot > tr > th div.dt-column-footer span.dt-column-title,
table.dataTable tfoot > tr > td div.dt-column-header span.dt-column-title,
table.dataTable tfoot > tr > td div.dt-column-footer span.dt-column-title {
  flex-grow: 1;
}
table.dataTable thead > tr > th div.dt-column-header span.dt-column-title:empty,
table.dataTable thead > tr > th div.dt-column-footer span.dt-column-title:empty,
table.dataTable thead > tr > td div.dt-column-header span.dt-column-title:empty,
table.dataTable thead > tr > td div.dt-column-footer span.dt-column-title:empty,
table.dataTable tfoot > tr > th div.dt-column-header span.dt-column-title:empty,
table.dataTable tfoot > tr > th div.dt-column-footer span.dt-column-title:empty,
table.dataTable tfoot > tr > td div.dt-column-header span.dt-column-title:empty,
table.dataTable tfoot > tr > td div.dt-column-footer span.dt-column-title:empty {
  display: none;
}

div.dt-scroll-body > table.dataTable > thead > tr > th,
div.dt-scroll-body > table.dataTable > thead > tr > td {
  overflow: hidden;
}

:root.dark table.dataTable thead > tr > th.dt-orderable-asc:hover, :root.dark table.dataTable thead > tr > th.dt-orderable-desc:hover,
:root.dark table.dataTable thead > tr > td.dt-orderable-asc:hover,
:root.dark table.dataTable thead > tr > td.dt-orderable-desc:hover,
:root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-asc:hover,
:root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-desc:hover,
:root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-asc:hover,
:root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-desc:hover {
  outline: 2px solid rgba(255, 255, 255, 0.05);
}

div.dt-processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  margin-left: -100px;
  margin-top: -22px;
  text-align: center;
  padding: 2px;
  z-index: 10;
}
div.dt-processing > div:last-child {
  position: relative;
  width: 80px;
  height: 15px;
  margin: 1em auto;
}
div.dt-processing > div:last-child > div {
  position: absolute;
  top: 0;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: rgb(13, 110, 253);
  background: rgb(var(--dt-row-selected));
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
div.dt-processing > div:last-child > div:nth-child(1) {
  left: 8px;
  animation: datatables-loader-1 0.6s infinite;
}
div.dt-processing > div:last-child > div:nth-child(2) {
  left: 8px;
  animation: datatables-loader-2 0.6s infinite;
}
div.dt-processing > div:last-child > div:nth-child(3) {
  left: 32px;
  animation: datatables-loader-2 0.6s infinite;
}
div.dt-processing > div:last-child > div:nth-child(4) {
  left: 56px;
  animation: datatables-loader-3 0.6s infinite;
}

@keyframes datatables-loader-1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes datatables-loader-3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes datatables-loader-2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}
table.dataTable.nowrap th, table.dataTable.nowrap td {
  white-space: nowrap;
}
table.dataTable th,
table.dataTable td {
  box-sizing: border-box;
}
table.dataTable th.dt-type-numeric, table.dataTable th.dt-type-date,
table.dataTable td.dt-type-numeric,
table.dataTable td.dt-type-date {
  text-align: right;
}
table.dataTable th.dt-type-numeric div.dt-column-header,
table.dataTable th.dt-type-numeric div.dt-column-footer, table.dataTable th.dt-type-date div.dt-column-header,
table.dataTable th.dt-type-date div.dt-column-footer,
table.dataTable td.dt-type-numeric div.dt-column-header,
table.dataTable td.dt-type-numeric div.dt-column-footer,
table.dataTable td.dt-type-date div.dt-column-header,
table.dataTable td.dt-type-date div.dt-column-footer {
  flex-direction: row-reverse;
}
table.dataTable th.dt-left,
table.dataTable td.dt-left {
  text-align: left;
}
table.dataTable th.dt-left div.dt-column-header,
table.dataTable th.dt-left div.dt-column-footer,
table.dataTable td.dt-left div.dt-column-header,
table.dataTable td.dt-left div.dt-column-footer {
  flex-direction: row;
}
table.dataTable th.dt-center,
table.dataTable td.dt-center {
  text-align: center;
}
table.dataTable th.dt-right,
table.dataTable td.dt-right {
  text-align: right;
}
table.dataTable th.dt-right div.dt-column-header,
table.dataTable th.dt-right div.dt-column-footer,
table.dataTable td.dt-right div.dt-column-header,
table.dataTable td.dt-right div.dt-column-footer {
  flex-direction: row-reverse;
}
table.dataTable th.dt-justify,
table.dataTable td.dt-justify {
  text-align: justify;
}
table.dataTable th.dt-justify div.dt-column-header,
table.dataTable th.dt-justify div.dt-column-footer,
table.dataTable td.dt-justify div.dt-column-header,
table.dataTable td.dt-justify div.dt-column-footer {
  flex-direction: row;
}
table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
  white-space: nowrap;
}
table.dataTable th.dt-empty,
table.dataTable td.dt-empty {
  text-align: center;
  vertical-align: top;
}
table.dataTable thead th,
table.dataTable thead td,
table.dataTable tfoot th,
table.dataTable tfoot td {
  text-align: left;
}
table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left {
  text-align: left;
}
table.dataTable thead th.dt-head-left div.dt-column-header,
table.dataTable thead th.dt-head-left div.dt-column-footer,
table.dataTable thead td.dt-head-left div.dt-column-header,
table.dataTable thead td.dt-head-left div.dt-column-footer,
table.dataTable tfoot th.dt-head-left div.dt-column-header,
table.dataTable tfoot th.dt-head-left div.dt-column-footer,
table.dataTable tfoot td.dt-head-left div.dt-column-header,
table.dataTable tfoot td.dt-head-left div.dt-column-footer {
  flex-direction: row;
}
table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
table.dataTable tfoot td.dt-head-center {
  text-align: center;
}
table.dataTable thead th.dt-head-right,
table.dataTable thead td.dt-head-right,
table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right {
  text-align: right;
}
table.dataTable thead th.dt-head-right div.dt-column-header,
table.dataTable thead th.dt-head-right div.dt-column-footer,
table.dataTable thead td.dt-head-right div.dt-column-header,
table.dataTable thead td.dt-head-right div.dt-column-footer,
table.dataTable tfoot th.dt-head-right div.dt-column-header,
table.dataTable tfoot th.dt-head-right div.dt-column-footer,
table.dataTable tfoot td.dt-head-right div.dt-column-header,
table.dataTable tfoot td.dt-head-right div.dt-column-footer {
  flex-direction: row-reverse;
}
table.dataTable thead th.dt-head-justify,
table.dataTable thead td.dt-head-justify,
table.dataTable tfoot th.dt-head-justify,
table.dataTable tfoot td.dt-head-justify {
  text-align: justify;
}
table.dataTable thead th.dt-head-justify div.dt-column-header,
table.dataTable thead th.dt-head-justify div.dt-column-footer,
table.dataTable thead td.dt-head-justify div.dt-column-header,
table.dataTable thead td.dt-head-justify div.dt-column-footer,
table.dataTable tfoot th.dt-head-justify div.dt-column-header,
table.dataTable tfoot th.dt-head-justify div.dt-column-footer,
table.dataTable tfoot td.dt-head-justify div.dt-column-header,
table.dataTable tfoot td.dt-head-justify div.dt-column-footer {
  flex-direction: row;
}
table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
table.dataTable tfoot td.dt-head-nowrap {
  white-space: nowrap;
}
table.dataTable tbody th.dt-body-left,
table.dataTable tbody td.dt-body-left {
  text-align: left;
}
table.dataTable tbody th.dt-body-center,
table.dataTable tbody td.dt-body-center {
  text-align: center;
}
table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right {
  text-align: right;
}
table.dataTable tbody th.dt-body-justify,
table.dataTable tbody td.dt-body-justify {
  text-align: justify;
}
table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap {
  white-space: nowrap;
}

:root {
  --dt-header-align-items: flex-end;
}

/*! Bootstrap 5 integration for DataTables
 *
 * ©2020 SpryMedia Ltd, all rights reserved.
 * License: MIT datatables.net/license/mit
 */
table.table.dataTable {
  clear: both;
  margin-bottom: 0;
  max-width: none;
  border-spacing: 0;
}
table.table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) > * {
  box-shadow: none;
}
table.table.dataTable > :not(caption) > * > * {
  background-color: var(--bs-table-bg);
}
table.table.dataTable > tbody > tr {
  background-color: transparent;
}
table.table.dataTable > tbody > tr.selected > * {
  box-shadow: inset 0 0 0 9999px rgb(13, 110, 253);
  box-shadow: inset 0 0 0 9999px rgb(var(--dt-row-selected));
  color: rgb(255, 255, 255);
  color: rgb(var(--dt-row-selected-text));
}
table.table.dataTable > tbody > tr.selected a {
  color: rgb(9, 10, 11);
  color: rgb(var(--dt-row-selected-link));
}
table.table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) > * {
  box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-stripe), 0.05);
}
table.table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1).selected > * {
  box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.95);
  box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.95);
}
table.table.dataTable.table-hover > tbody > tr:hover > * {
  box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.075);
}
table.table.dataTable.table-hover > tbody > tr.selected:hover > * {
  box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.975);
  box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.975);
}

div.dt-container div.dt-layout-start > *:not(:last-child) {
  margin-right: 1em;
}
div.dt-container div.dt-layout-end > *:not(:first-child) {
  margin-left: 1em;
}
div.dt-container div.dt-layout-full {
  width: 100%;
}
div.dt-container div.dt-layout-full > *:only-child {
  margin-left: auto;
  margin-right: auto;
}
div.dt-container div.dt-layout-table > div {
  display: block !important;
}

@media screen and (max-width: 767px) {
  div.dt-container div.dt-layout-start > *:not(:last-child) {
    margin-right: 0;
  }
  div.dt-container div.dt-layout-end > *:not(:first-child) {
    margin-left: 0;
  }
}
div.dt-container {
  position: relative;
}
div.dt-container div.dt-length label {
  font-weight: normal;
  text-align: left;
  white-space: nowrap;
}
div.dt-container div.dt-length select {
  width: auto;
  display: inline-block;
  margin-right: 0.5em;
}
div.dt-container div.dt-search {
  text-align: right;
}
div.dt-container div.dt-search label {
  font-weight: normal;
  white-space: nowrap;
  text-align: left;
}
div.dt-container div.dt-search input {
  margin-left: 0.5em;
  display: inline-block;
  width: auto;
}
div.dt-container div.dt-paging {
  margin: 0;
}
div.dt-container div.dt-paging ul.pagination {
  margin: 2px 0;
  flex-wrap: wrap;
}
div.dt-container div.dt-row {
  position: relative;
}

div.dt-scroll-head table.dataTable {
  margin-bottom: 0 !important;
}

div.dt-scroll-body {
  border-bottom-color: var(--bs-border-color);
  border-bottom-width: var(--bs-border-width);
  border-bottom-style: solid;
}
div.dt-scroll-body > table {
  border-top: none;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
div.dt-scroll-body > table > tbody > tr:first-child {
  border-top-width: 0;
}
div.dt-scroll-body > table > thead > tr {
  border-width: 0 !important;
}
div.dt-scroll-body > table > tbody > tr:last-child > * {
  border-bottom: none;
}

div.dt-scroll-foot > .dt-scroll-footInner {
  box-sizing: content-box;
}
div.dt-scroll-foot > .dt-scroll-footInner > table {
  margin-top: 0 !important;
  border-top: none;
}
div.dt-scroll-foot > .dt-scroll-footInner > table > tfoot > tr:first-child {
  border-top-width: 0 !important;
}

@media screen and (max-width: 767px) {
  div.dt-container div.dt-length,
  div.dt-container div.dt-search,
  div.dt-container div.dt-info,
  div.dt-container div.dt-paging {
    text-align: center;
  }
  div.dt-container .row {
    --bs-gutter-y: 0.5rem;
  }
  div.dt-container div.dt-paging ul.pagination {
    justify-content: center !important;
  }
}
table.dataTable.table-sm > thead > tr th.dt-orderable-asc, table.dataTable.table-sm > thead > tr th.dt-orderable-desc, table.dataTable.table-sm > thead > tr th.dt-ordering-asc, table.dataTable.table-sm > thead > tr th.dt-ordering-desc,
table.dataTable.table-sm > thead > tr td.dt-orderable-asc,
table.dataTable.table-sm > thead > tr td.dt-orderable-desc,
table.dataTable.table-sm > thead > tr td.dt-ordering-asc,
table.dataTable.table-sm > thead > tr td.dt-ordering-desc {
  padding-right: 0.25rem;
}
table.dataTable.table-sm > thead > tr th.dt-orderable-asc span.dt-column-order, table.dataTable.table-sm > thead > tr th.dt-orderable-desc span.dt-column-order, table.dataTable.table-sm > thead > tr th.dt-ordering-asc span.dt-column-order, table.dataTable.table-sm > thead > tr th.dt-ordering-desc span.dt-column-order,
table.dataTable.table-sm > thead > tr td.dt-orderable-asc span.dt-column-order,
table.dataTable.table-sm > thead > tr td.dt-orderable-desc span.dt-column-order,
table.dataTable.table-sm > thead > tr td.dt-ordering-asc span.dt-column-order,
table.dataTable.table-sm > thead > tr td.dt-ordering-desc span.dt-column-order {
  right: 0.25rem;
}
table.dataTable.table-sm > thead > tr th.dt-type-date span.dt-column-order, table.dataTable.table-sm > thead > tr th.dt-type-numeric span.dt-column-order,
table.dataTable.table-sm > thead > tr td.dt-type-date span.dt-column-order,
table.dataTable.table-sm > thead > tr td.dt-type-numeric span.dt-column-order {
  left: 0.25rem;
}

div.dt-scroll-head table.table-bordered {
  border-bottom-width: 0;
}

div.table-responsive > div.dt-container > div.row {
  margin: 0;
}
div.table-responsive > div.dt-container > div.row > div[class^=col-]:first-child {
  padding-left: 0;
}
div.table-responsive > div.dt-container > div.row > div[class^=col-]:last-child {
  padding-right: 0;
}

:root[data-bs-theme=dark] {
  --dt-row-hover: 255, 255, 255;
  --dt-row-stripe: 255, 255, 255;
  --dt-column-ordering: 255, 255, 255;
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td.child,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child,
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty {
  cursor: default !important;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty:before {
  display: none !important;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control {
  cursor: pointer;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before {
  margin-right: 0.5em;
  display: inline-block;
  box-sizing: border-box;
  content: "";
  border-top: 5px solid transparent;
  border-left: 10px solid rgba(0, 0, 0, 0.5);
  border-bottom: 5px solid transparent;
  border-right: 0px solid transparent;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control.arrow-right::before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control.arrow-right::before {
  border-top: 5px solid transparent;
  border-left: 0px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 10px solid rgba(0, 0, 0, 0.5);
}
table.dataTable.dtr-inline.collapsed > tbody > tr.dtr-expanded > td.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.dtr-expanded > th.dtr-control:before {
  border-top: 10px solid rgba(0, 0, 0, 0.5);
  border-left: 5px solid transparent;
  border-bottom: 0px solid transparent;
  border-right: 5px solid transparent;
}
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td.dtr-control,
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th.dtr-control {
  padding-left: 0.333em;
}
table.dataTable.dtr-column > tbody > tr > td.dtr-control,
table.dataTable.dtr-column > tbody > tr > th.dtr-control,
table.dataTable.dtr-column > tbody > tr > td.control,
table.dataTable.dtr-column > tbody > tr > th.control {
  cursor: pointer;
}
table.dataTable.dtr-column > tbody > tr > td.dtr-control:before,
table.dataTable.dtr-column > tbody > tr > th.dtr-control:before,
table.dataTable.dtr-column > tbody > tr > td.control:before,
table.dataTable.dtr-column > tbody > tr > th.control:before {
  display: inline-block;
  box-sizing: border-box;
  content: "";
  border-top: 5px solid transparent;
  border-left: 10px solid rgba(0, 0, 0, 0.5);
  border-bottom: 5px solid transparent;
  border-right: 0px solid transparent;
}
table.dataTable.dtr-column > tbody > tr > td.dtr-control.arrow-right::before,
table.dataTable.dtr-column > tbody > tr > th.dtr-control.arrow-right::before,
table.dataTable.dtr-column > tbody > tr > td.control.arrow-right::before,
table.dataTable.dtr-column > tbody > tr > th.control.arrow-right::before {
  border-top: 5px solid transparent;
  border-left: 0px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 10px solid rgba(0, 0, 0, 0.5);
}
table.dataTable.dtr-column > tbody > tr.dtr-expanded td.dtr-control:before,
table.dataTable.dtr-column > tbody > tr.dtr-expanded th.dtr-control:before,
table.dataTable.dtr-column > tbody > tr.dtr-expanded td.control:before,
table.dataTable.dtr-column > tbody > tr.dtr-expanded th.control:before {
  border-top: 10px solid rgba(0, 0, 0, 0.5);
  border-left: 5px solid transparent;
  border-bottom: 0px solid transparent;
  border-right: 5px solid transparent;
}
table.dataTable > tbody > tr.child {
  padding: 0.5em 1em;
}
table.dataTable > tbody > tr.child:hover {
  background: transparent !important;
}
table.dataTable > tbody > tr.child ul.dtr-details {
  display: inline-block;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
table.dataTable > tbody > tr.child ul.dtr-details > li {
  border-bottom: 1px solid #efefef;
  padding: 0.5em 0;
}
table.dataTable > tbody > tr.child ul.dtr-details > li:first-child {
  padding-top: 0;
}
table.dataTable > tbody > tr.child ul.dtr-details > li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
table.dataTable > tbody > tr.child span.dtr-title {
  display: inline-block;
  min-width: 75px;
  font-weight: bold;
}

div.dtr-modal {
  position: fixed;
  box-sizing: border-box;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 100;
  padding: 10em 1em;
}
div.dtr-modal div.dtr-modal-display {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 50%;
  height: fit-content;
  max-height: 75%;
  overflow: auto;
  margin: auto;
  z-index: 102;
  overflow: auto;
  background-color: #f5f5f7;
  border: 1px solid black;
  border-radius: 0.5em;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
}
div.dtr-modal div.dtr-modal-content {
  position: relative;
  padding: 2.5em;
}
div.dtr-modal div.dtr-modal-content h2 {
  margin-top: 0;
}
div.dtr-modal div.dtr-modal-close {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 22px;
  height: 22px;
  text-align: center;
  border-radius: 3px;
  cursor: pointer;
  z-index: 12;
}
div.dtr-modal div.dtr-modal-background {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 101;
  background: rgba(0, 0, 0, 0.6);
}

@media screen and (max-width: 767px) {
  div.dtr-modal div.dtr-modal-display {
    width: 95%;
  }
}
html.dark table.dataTable > tbody > tr > td.dtr-control:before,
html[data-bs-theme=dark] table.dataTable > tbody > tr > td.dtr-control:before {
  border-left-color: rgba(255, 255, 255, 0.5) !important;
}
html.dark table.dataTable > tbody > tr > td.dtr-control.arrow-right::before,
html[data-bs-theme=dark] table.dataTable > tbody > tr > td.dtr-control.arrow-right::before {
  border-right-color: rgba(255, 255, 255, 0.5) !important;
}
html.dark table.dataTable > tbody > tr.dtr-expanded > td.dtr-control:before,
html.dark table.dataTable > tbody > tr.dtr-expanded > th.dtr-control:before,
html[data-bs-theme=dark] table.dataTable > tbody > tr.dtr-expanded > td.dtr-control:before,
html[data-bs-theme=dark] table.dataTable > tbody > tr.dtr-expanded > th.dtr-control:before {
  border-top-color: rgba(255, 255, 255, 0.5) !important;
  border-left-color: transparent !important;
  border-right-color: transparent !important;
}
html.dark table.dataTable > tbody > tr.child ul.dtr-details > li,
html[data-bs-theme=dark] table.dataTable > tbody > tr.child ul.dtr-details > li {
  border-bottom-color: rgb(64, 67, 70);
}
html.dark div.dtr-modal div.dtr-modal-display,
html[data-bs-theme=dark] div.dtr-modal div.dtr-modal-display {
  background-color: rgb(33, 37, 41);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

div.dtr-bs-modal table.table tr:first-child td {
  border-top: none;
}

table.dataTable.table-bordered th.dtr-control.dtr-hidden + *,
table.dataTable.table-bordered td.dtr-control.dtr-hidden + * {
  border-left-width: 1px;
}
