/*!
 * CoreUI PRO v5.29.1 - solo componente Multi Select, limitato a .filter-container
 * Estratto da @coreui/coreui-pro/dist/css/coreui.css
 * License (https://coreui.io/pro/license/)
 */

.filter-container *,
.filter-container *::before,
.filter-container *::after {
  box-sizing: border-box;
}

.filter-container {
  --cui-primary: #5856d6;
  --cui-body-color: rgba(37, 42.92, 54.02, 0.95);
  --cui-body-bg: #fff;
  --cui-secondary-color: rgba(37, 42.92, 54.02, 0.681);
  --cui-secondary-bg: #e7eaee;
  --cui-tertiary-color: rgba(37, 42.92, 54.02, 0.38);
  --cui-tertiary-bg: #f3f4f7;
  --cui-border-width: 1px;
  --cui-border-color: #dbdfe6;
  --cui-border-radius: 0.375rem;
  --cui-border-radius-sm: 0.25rem;
  --cui-border-radius-lg: 0.5rem;
  --cui-box-shadow: 0 0.5rem 1rem rgba(8, 10, 12, 0.15);
  --cui-focus-ring-width: 0.25rem;
  --cui-focus-ring-color: rgba(88, 86, 214, 0.25);
  --cui-focus-ring-blur: 0;
}

.filter-container .form-multi-select,
.filter-container *:not(.form-multi-select) > .form-multi-select-dropdown {
  --cui-form-multi-select-zindex: 1000;
  --cui-form-multi-select-font-family:;
  --cui-form-multi-select-font-size: 1rem;
  --cui-form-multi-select-font-weight: 400;
  --cui-form-multi-select-line-height: 1.5;
  --cui-form-multi-select-color: var(--cui-body-color);
  --cui-form-multi-select-bg: var(--cui-body-bg);
  --cui-form-multi-select-box-shadow: inset 0 1px 2px rgba(8, 10, 12, 0.075);
  --cui-form-multi-select-border-width: var(--cui-border-width);
  --cui-form-multi-select-border-color: var(--cui-border-color);
  --cui-form-multi-select-border-radius: var(--cui-border-radius);
  --cui-form-multi-select-disabled-color: var(--cui-body-color);
  --cui-form-multi-select-disabled-bg: var(--cui-secondary-bg);
  --cui-form-multi-select-disabled-border-color: var(--cui-border-color);
  --cui-form-multi-select-focus-color: var(--cui-body-color);
  --cui-form-multi-select-focus-bg: var(--cui-body-bg);
  --cui-form-multi-select-focus-border-color: rgb(171.5, 170.5, 234.5);
  --cui-form-multi-select-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
  --cui-form-multi-select-placeholder-color: var(--cui-secondary-color);
  --cui-form-multi-select-selection-padding-y: 0.375rem;
  --cui-form-multi-select-selection-padding-x: 0.75rem;
  --cui-form-multi-select-cleaner-width: 1.5rem;
  --cui-form-multi-select-cleaner-height: 1.5rem;
  --cui-form-multi-select-cleaner-padding-y: 0;
  --cui-form-multi-select-cleaner-padding-x: 0;
  --cui-form-multi-select-cleaner-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e");
  --cui-form-multi-select-cleaner-icon-color: var(--cui-tertiary-color);
  --cui-form-multi-select-cleaner-icon-hover-color: var(--cui-body-color);
  --cui-form-multi-select-cleaner-icon-size: 0.625rem;
  --cui-form-multi-select-indicator-width: 1.5rem;
  --cui-form-multi-select-indicator-height: 1.5rem;
  --cui-form-multi-select-indicator-padding-y: 0;
  --cui-form-multi-select-indicator-padding-x: 0;
  --cui-form-multi-select-indicator-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23000'%3e%3cpath d='M256.045 416.136.717 160.807l29.579-29.579 225.749 225.748 225.749-225.748 29.579 29.579-255.328 255.329z'/%3e%3c/svg%3e");
  --cui-form-multi-select-indicator-icon-color: var(--cui-tertiary-color);
  --cui-form-multi-select-indicator-icon-hover-color: var(--cui-body-color);
  --cui-form-multi-select-indicator-icon-size: 0.75rem;
  --cui-form-multi-select-select-all-padding-y: 0.5rem;
  --cui-form-multi-select-select-all-padding-x: 0.75rem;
  --cui-form-multi-select-select-all-color: var(--cui-body-secondary-color);
  --cui-form-multi-select-select-all-bg: transparent;
  --cui-form-multi-select-select-all-border-width: 0;
  --cui-form-multi-select-select-all-border-color: transparent;
  --cui-form-multi-select-select-all-border-radius: var(--cui-border-radius);
  --cui-form-multi-select-select-all-hover-color: var(--cui-body-color);
  --cui-form-multi-select-select-all-hover-bg: var(--cui-tertiary-bg);
  --cui-form-multi-select-dropdown-header-padding-y: 0.375rem;
  --cui-form-multi-select-dropdown-header-padding-x: 0.375rem;
  --cui-form-multi-select-dropdown-header-border-width: var(--cui-border-width);
  --cui-form-multi-select-dropdown-header-border-color: var(--cui-border-color);
  --cui-form-multi-select-dropdown-min-width: 100%;
  --cui-form-multi-select-dropdown-bg: var(--cui-body-bg);
  --cui-form-multi-select-dropdown-border-width: var(--cui-border-width);
  --cui-form-multi-select-dropdown-border-color: var(--cui-border-color);
  --cui-form-multi-select-dropdown-border-radius: var(--cui-border-radius);
  --cui-form-multi-select-dropdown-box-shadow: var(--cui-box-shadow);
  --cui-form-multi-select-options-gap: 0.125rem;
  --cui-form-multi-select-options-padding-y: 0.375rem;
  --cui-form-multi-select-options-padding-x: 0.375rem;
  --cui-form-multi-select-options-font-size: 1rem;
  --cui-form-multi-select-options-font-weight: 400;
  --cui-form-multi-select-options-color: var(--cui-body-color);
  --cui-form-multi-select-optgroup-label-padding-y: 0.5rem;
  --cui-form-multi-select-optgroup-label-padding-x: 0.625rem;
  --cui-form-multi-select-optgroup-label-border-radius: var(--cui-border-radius);
  --cui-form-multi-select-optgroup-label-font-size: 80%;
  --cui-form-multi-select-optgroup-label-font-weight: 700;
  --cui-form-multi-select-optgroup-label-color: var(--cui-tertiary-color);
  --cui-form-multi-select-optgroup-label-text-transform: uppercase;
  --cui-form-multi-select-option-padding-y: 0.5rem;
  --cui-form-multi-select-option-padding-x: 1.25rem;
  --cui-form-multi-select-option-margin-y: 0;
  --cui-form-multi-select-option-margin-x: 0;
  --cui-form-multi-select-option-border-width: var(--cui-border-width);
  --cui-form-multi-select-option-border-color: transparent;
  --cui-form-multi-select-option-border-radius: var(--cui-border-radius);
  --cui-form-multi-select-option-box-shadow: inset 0 1px 2px rgba(8, 10, 12, 0.075);
  --cui-form-multi-select-option-hover-color: var(--cui-body-color);
  --cui-form-multi-select-option-hover-bg: var(--cui-tertiary-bg);
  --cui-form-multi-select-option-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
  --cui-form-multi-select-option-disabled-color: var(--cui-secondary-color);
  --cui-form-multi-select-option-indicator-width: 1em;
  --cui-form-multi-select-option-indicator-bg: var(--cui-body-bg);
  --cui-form-multi-select-option-indicator-border: var(--cui-border-width) solid var(--cui-border-color);
  --cui-form-multi-select-option-indicator-border-radius: 0.25em;
  --cui-form-multi-select-option-selected-bg: var(--cui-secondary-bg);
  --cui-form-multi-select-option-selected-indicator-bg: var(--cui-primary);
  --cui-form-multi-select-option-selected-indicator-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
  --cui-form-multi-select-option-selected-indicator-border-color: var(--cui-primary);
  --cui-form-multi-select-option-indeterminate-indicator-bg: var(--cui-primary);
  --cui-form-multi-select-option-indeterminate-indicator-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
  --cui-form-multi-select-option-indeterminate-indicator-border-color: var(--cui-primary);
  --cui-form-multi-select-tag-padding-y: 0.0625rem;
  --cui-form-multi-select-tag-padding-x: 0.5rem;
  --cui-form-multi-select-tag-bg: var(--cui-secondary-bg);
  --cui-form-multi-select-tag-border-width: var(--cui-border-width);
  --cui-form-multi-select-tag-border-color: var(--cui-border-color);
  --cui-form-multi-select-tag-border-radius: 0.25rem;
  --cui-form-multi-select-tag-delete-width: 0.75rem;
  --cui-form-multi-select-tag-delete-height: 0.75rem;
  --cui-form-multi-select-tag-delete-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e");
  --cui-form-multi-select-tag-delete-icon-color: var(--cui-secondary-color);
  --cui-form-multi-select-tag-delete-icon-hover-color: var(--cui-body-color);
  --cui-form-multi-select-tag-delete-icon-size: 0.5rem;
  --cui-form-multi-select-selection-tags-gap: 0.25rem;
  --cui-form-multi-select-selection-tags-padding-y: 0.25rem;
  --cui-form-multi-select-selection-tags-padding-x: 0.25rem;
  position: relative;
}

.filter-container .form-multi-select .was-validated .form-multi-select:has(> select:invalid),
.filter-container .form-multi-select.is-invalid,
.filter-container *:not(.form-multi-select) > .form-multi-select-dropdown .was-validated .form-multi-select:has(> select:invalid),
.filter-container *:not(.form-multi-select) > .form-multi-select-dropdown.is-invalid {
  --cui-form-multi-select-border-color: #e55353;
  --cui-form-multi-select-focus-border-color: #e55353;
  --cui-form-multi-select-focus-box-shadow: 0 0 0 0.25rem rgba(229, 83, 83, 0.25) !important;
}

.filter-container .form-multi-select .was-validated .form-multi-select:has(> select:valid),
.filter-container .form-multi-select.is-valid,
.filter-container *:not(.form-multi-select) > .form-multi-select-dropdown .was-validated .form-multi-select:has(> select:valid),
.filter-container *:not(.form-multi-select) > .form-multi-select-dropdown.is-valid {
  --cui-form-multi-select-border-color: #1b9e3e;
  --cui-form-multi-select-focus-border-color: #1b9e3e;
  --cui-form-multi-select-focus-box-shadow: 0 0 0 0.25rem rgba(27, 158, 62, 0.25) !important;
}

.filter-container select.form-multi-select,
.filter-container [data-coreui-multi-select] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  pointer-events: none;
  border: 0;
  outline: 0;
  opacity: 0;
}

.filter-container .form-multi-select-input-group {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
  font-family: var(--cui-form-multi-select-font-family);
  font-size: var(--cui-form-multi-select-font-size);
  font-weight: var(--cui-form-multi-select-font-weight);
  line-height: var(--cui-form-multi-select-line-height);
  color: var(--cui-form-multi-select-color);
  background-color: var(--cui-form-multi-select-bg);
  background-clip: padding-box;
  border: var(--cui-form-multi-select-border-width) solid var(--cui-form-multi-select-border-color);
  border-radius: var(--cui-form-multi-select-border-radius);
}

.filter-container .form-multi-select .form-multi-select-input-group {
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .filter-container .form-multi-select .form-multi-select-input-group {
    transition: none;
  }
}

.filter-container .form-multi-select.disabled .form-multi-select-input-group {
  color: var(--cui-form-multi-select-disabled-color);
  background-color: var(--cui-form-multi-select-disabled-bg);
  border-color: var(--cui-border-color);
}

.filter-container .form-multi-select.show .form-multi-select-input-group,
.filter-container .form-multi-select:has(> select:focus) .form-multi-select-input-group,
.filter-container .form-multi-select-input-group:has(*:focus),
.filter-container .form-multi-select-input-group:focus {
  color: var(--cui-form-multi-select-focus-color);
  background-color: var(--cui-form-multi-select-focus-bg);
  border-color: var(--cui-form-multi-select-focus-border-color);
  outline: 0;
  box-shadow: var(--cui-form-multi-select-focus-box-shadow);
}

.filter-container .form-multi-select-selection {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  width: 1%;
  min-width: 0;
  padding: var(--cui-form-multi-select-selection-padding-y) var(--cui-form-multi-select-selection-padding-x);
}

.filter-container .form-multi-select-selection-tags {
  gap: var(--cui-form-multi-select-selection-tags-gap);
  align-content: center;
  padding: var(--cui-form-multi-select-selection-tags-padding-y) var(--cui-form-multi-select-selection-tags-padding-x);
}

.filter-container .form-multi-select-search {
  display: flex;
  flex: 0 1 0px;
  max-width: 100%;
  padding: 0;
  background: transparent;
  border: 0;
}

.filter-container .form-multi-select-search:focus {
  outline: 0;
}

.filter-container .form-multi-select-search::placeholder {
  color: var(--cui-form-multi-select-placeholder-color);
  opacity: 1;
}

.filter-container .form-multi-select.show .form-multi-select-search,
.filter-container .form-multi-select-search:placeholder-shown {
  flex: 1 1 auto;
}

.filter-container .form-multi-select-selection-tags .form-multi-select-search {
  -webkit-padding-start: calc(var(--cui-form-multi-select-selection-padding-x) - 0.25rem);
  padding-inline-start: calc(var(--cui-form-multi-select-selection-padding-x) - 0.25rem);
}

.filter-container .form-multi-select-placeholder {
  color: var(--cui-form-multi-select-placeholder-color);
}

.filter-container .form-multi-select-selection-tags .form-multi-select-placeholder {
  padding: calc(var(--cui-form-multi-select-selection-padding-y) - 0.25rem) calc(var(--cui-form-multi-select-selection-padding-x) - 0.25rem);
}

.filter-container .form-multi-select-buttons {
  display: flex;
  align-items: center;
  min-height: calc(2 * var(--cui-form-multi-select-selection-padding-y) + var(--cui-form-multi-select-font-size) * var(--cui-form-multi-select-line-height));
  padding: 0 var(--cui-form-multi-select-selection-padding-y);
}

.filter-container .form-multi-select-cleaner,
.filter-container .form-multi-select-indicator {
  position: relative;
  z-index: 2;
  box-sizing: content-box;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  border: 0;
}

.filter-container .form-multi-select-cleaner:focus-visible,
.filter-container .form-multi-select-indicator:focus-visible {
  z-index: 5;
  outline: 0;
  box-shadow: var(--cui-focus-ring-x, 0) var(--cui-focus-ring-y, 0) var(--cui-focus-ring-blur, 0) var(--cui-focus-ring-width) var(--cui-focus-ring-color);
  border-radius: 0.375rem;
}

.filter-container .form-multi-select-cleaner::before,
.filter-container .form-multi-select-indicator::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
}

.filter-container .form-multi-select-cleaner {
  width: var(--cui-form-multi-select-cleaner-width);
  height: var(--cui-form-multi-select-cleaner-height);
  padding: var(--cui-form-multi-select-cleaner-padding-y) var(--cui-form-multi-select-cleaner-padding-x);
}

.filter-container .form-multi-select-cleaner::before {
  background-color: var(--cui-form-multi-select-cleaner-icon-color);
  -webkit-mask: var(--cui-form-multi-select-cleaner-icon) center/var(--cui-form-multi-select-cleaner-icon-size) no-repeat;
  mask: var(--cui-form-multi-select-cleaner-icon) center/var(--cui-form-multi-select-cleaner-icon-size) no-repeat;
}

.filter-container .form-multi-select-cleaner:focus::before,
.filter-container .form-multi-select-cleaner:hover::before {
  background-color: var(--cui-form-multi-select-cleaner-icon-hover-color);
}

.filter-container .form-multi-select-indicator {
  width: var(--cui-form-multi-select-indicator-width);
  height: var(--cui-form-multi-select-indicator-height);
  padding: var(--cui-form-multi-select-indicator-padding-y) var(--cui-form-multi-select-indicator-padding-x);
  transition: transform 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .filter-container .form-multi-select-indicator {
    transition: none;
  }
}

.filter-container .form-multi-select-indicator::before {
  background-color: var(--cui-form-multi-select-indicator-icon-color);
  -webkit-mask: var(--cui-form-multi-select-indicator-icon) center/var(--cui-form-multi-select-indicator-icon-size) no-repeat;
  mask: var(--cui-form-multi-select-indicator-icon) center/var(--cui-form-multi-select-indicator-icon-size) no-repeat;
}

.filter-container .form-multi-select-indicator:focus::before,
.filter-container .form-multi-select-indicator:hover::before {
  background-color: var(--cui-form-multi-select-indicator-icon-hover-color);
}

.filter-container .form-multi-select.show .form-multi-select-indicator {
  transform: rotate(180deg);
}

.filter-container .form-multi-select-tag {
  display: flex;
  align-items: center;
  padding: var(--cui-form-multi-select-tag-padding-y) var(--cui-form-multi-select-tag-padding-x);
  background-color: var(--cui-form-multi-select-tag-bg);
  border: var(--cui-form-multi-select-tag-border-width) solid var(--cui-form-multi-select-tag-border-color);
  border-radius: var(--cui-form-multi-select-tag-border-radius);
}

.filter-container .form-multi-select-tag-delete {
  position: relative;
  z-index: 2;
  box-sizing: content-box;
  width: var(--cui-form-multi-select-tag-delete-width);
  height: var(--cui-form-multi-select-tag-delete-height);
  padding: var(--cui-form-multi-select-tag-delete-padding-y) var(--cui-form-multi-select-tag-delete-padding-x);
  -webkit-margin-start: 0.5rem;
  margin-inline-start: 0.5rem;
  background-color: transparent;
  border: 0;
}

.filter-container .form-multi-select-tag-delete::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--cui-form-multi-select-tag-delete-icon-color);
  -webkit-mask: var(--cui-form-multi-select-tag-delete-icon) center/var(--cui-form-multi-select-tag-delete-icon-size) no-repeat;
  mask: var(--cui-form-multi-select-tag-delete-icon) center/var(--cui-form-multi-select-tag-delete-icon-size) no-repeat;
}

.filter-container .form-multi-select-tag-delete:focus::before,
.filter-container .form-multi-select-tag-delete:hover::before {
  background-color: var(--cui-form-multi-select-tag-delete-icon-hover-color);
}

.filter-container .form-multi-select-dropdown {
  position: absolute;
  z-index: var(--cui-form-multi-select-zindex);
  display: none;
  min-width: var(--cui-form-multi-select-dropdown-min-width);
  background-color: var(--cui-form-multi-select-dropdown-bg);
  background-clip: padding-box;
  border: var(--cui-form-multi-select-dropdown-border-width) solid var(--cui-form-multi-select-dropdown-border-color);
  border-radius: var(--cui-form-multi-select-dropdown-border-radius);
}

.filter-container .form-multi-select.show .form-multi-select-dropdown,
.filter-container .form-multi-select-dropdown.show {
  display: block;
}

.filter-container .form-multi-select-dropdown-header {
  padding: var(--cui-form-multi-select-dropdown-header-padding-y) var(--cui-form-multi-select-dropdown-header-padding-x);
  border-bottom: var(--cui-form-multi-select-dropdown-header-border-width) solid var(--cui-form-multi-select-dropdown-header-border-color);
}

.filter-container .form-multi-select-all {
  display: block;
  width: 100%;
  padding: var(--cui-form-multi-select-select-all-padding-y) var(--cui-form-multi-select-select-all-padding-x);
  color: var(--cui-form-multi-select-select-all-color);
  text-align: start;
  background-color: var(--cui-form-multi-select-select-all-bg);
  border: var(--cui-form-multi-select-select-all-border-width) solid var(--cui-form-multi-select-select-all-border-color);
  border-radius: var(--cui-form-multi-select-select-all-border-radius);
}

.filter-container .form-multi-select-all:hover {
  color: var(--cui-form-multi-select-select-all-hover-color);
  background-color: var(--cui-form-multi-select-select-all-hover-bg);
}

.filter-container .form-multi-select-all:focus-visible {
  z-index: 5;
  border-color: var(--cui-input-focus-border-color, rgb(171.5, 170.5, 234.5));
  outline: 0;
  box-shadow: var(--cui-form-multi-select-focus-box-shadow);
}

.filter-container .form-multi-select-options {
  display: flex;
  flex-direction: column;
  gap: var(--cui-form-multi-select-options-gap);
  padding: var(--cui-form-multi-select-options-padding-y) var(--cui-form-multi-select-options-padding-x);
  font-size: var(--cui-form-multi-select-options-font-size);
  font-weight: var(--cui-form-multi-select-options-font-weight);
  color: var(--cui-form-multi-select-options-color);
}

.filter-container .form-multi-select-option {
  position: relative;
  z-index: 2;
  padding: var(--cui-form-multi-select-option-padding-y) var(--cui-form-multi-select-option-padding-x);
  margin: var(--cui-form-multi-select-option-margin-y) var(--cui-form-multi-select-option-margin-x);
  cursor: pointer;
  border: var(--cui-form-multi-select-option-border-width) solid var(--cui-form-multi-select-option-border-color);
  border-radius: var(--cui-form-multi-select-option-border-radius);
}

.filter-container .form-multi-select-option:hover,
.filter-container .form-multi-select-option:focus {
  color: var(--cui-form-multi-select-option-hover-color);
  text-decoration: none;
  background-color: var(--cui-form-multi-select-option-hover-bg);
}

.filter-container .form-multi-select-option:focus-visible {
  z-index: 5;
  border-color: var(--cui-input-focus-border-color, rgb(171.5, 170.5, 234.5));
  outline: 0;
  box-shadow: var(--cui-form-multi-select-focus-box-shadow);
}

.filter-container .form-multi-select-option.disabled {
  color: var(--cui-form-multi-select-option-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.filter-container .form-multi-select-option.form-multi-selected {
  background-color: var(--cui-form-multi-select-option-selected-bg);
}

.filter-container .form-multi-select-optgroup {
  display: flex;
  flex-direction: column;
  gap: var(--cui-form-multi-select-options-gap);
}

.filter-container .form-multi-select-optgroup-label {
  padding: var(--cui-form-multi-select-optgroup-label-padding-y) var(--cui-form-multi-select-optgroup-label-padding-x);
  font-size: var(--cui-form-multi-select-optgroup-label-font-size);
  font-weight: var(--cui-form-multi-select-optgroup-label-font-weight);
  color: var(--cui-form-multi-select-optgroup-label-color);
  text-transform: var(--cui-form-multi-select-optgroup-label-text-transform);
  border-radius: var(--cui-form-multi-select-optgroup-label-border-radius);
}

.filter-container .form-multi-select-optgroup-label.disabled {
  color: var(--cui-form-multi-select-option-disabled-color);
}

.filter-container .form-multi-select-optgroup-label.form-multi-select-optgroup-label-with-checkbox {
  --cui-form-multi-select-option-indicator-width: var(--cui-form-multi-select-options-font-size);
  cursor: pointer;
}

.filter-container .form-multi-select-optgroup-label.form-multi-select-optgroup-label-with-checkbox:focus,
.filter-container .form-multi-select-optgroup-label.form-multi-select-optgroup-label-with-checkbox:hover {
  background-color: var(--cui-form-multi-select-option-hover-bg);
}

.filter-container .form-multi-select-optgroup-label.form-multi-select-optgroup-label-with-checkbox:focus-visible {
  z-index: 5;
  border-color: var(--cui-input-focus-border-color, rgb(171.5, 170.5, 234.5));
  outline: 0;
  box-shadow: var(--cui-form-multi-select-focus-box-shadow);
}

.filter-container .form-multi-select-all-with-checkbox,
.filter-container .form-multi-select-option-with-checkbox,
.filter-container .form-multi-select-optgroup-label-with-checkbox {
  position: relative;
  -webkit-padding-start: calc(var(--cui-form-multi-select-option-padding-x) + var(--cui-form-multi-select-option-indicator-width));
  padding-inline-start: calc(var(--cui-form-multi-select-option-padding-x) + var(--cui-form-multi-select-option-indicator-width));
}

.filter-container .form-multi-select-all-with-checkbox::before,
.filter-container .form-multi-select-option-with-checkbox::before,
.filter-container .form-multi-select-optgroup-label-with-checkbox::before {
  position: absolute;
  inset-inline-start: calc(var(--cui-form-multi-select-option-padding-x) * 0.5);
  top: 50%;
  display: block;
  width: var(--cui-form-multi-select-option-indicator-width);
  height: var(--cui-form-multi-select-option-indicator-width);
  pointer-events: none;
  content: "";
  background-color: var(--cui-form-multi-select-option-indicator-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--cui-form-multi-select-option-indicator-border);
  transform: translateY(-50%);
  border-radius: var(--cui-form-multi-select-option-indicator-border-radius);
}

.filter-container .form-multi-select-all-with-checkbox.form-multi-selected::before,
.filter-container .form-multi-select-option-with-checkbox.form-multi-selected::before,
.filter-container .form-multi-select-optgroup-label-with-checkbox.form-multi-selected::before {
  background-color: var(--cui-form-multi-select-option-selected-indicator-bg);
  background-image: var(--cui-form-multi-select-option-selected-indicator-bg-image);
  border-color: var(--cui-form-multi-select-option-selected-indicator-border-color);
}

.filter-container .form-multi-select-all-with-checkbox.form-multi-select-indeterminate::before,
.filter-container .form-multi-select-option-with-checkbox.form-multi-select-indeterminate::before,
.filter-container .form-multi-select-optgroup-label-with-checkbox.form-multi-select-indeterminate::before {
  background-color: var(--cui-form-multi-select-option-indeterminate-indicator-bg);
  background-image: var(--cui-form-multi-select-option-indeterminate-indicator-bg-image);
  border-color: var(--cui-form-multi-select-option-indeterminate-indicator-border-color);
}

.filter-container .form-multi-select-options-empty {
  padding: var(--cui-form-multi-select-option-padding-y) var(--cui-form-multi-select-option-padding-x);
}

.filter-container .form-multi-select-sm {
  --cui-form-multi-select-selection-padding-y: 0.25rem;
  --cui-form-multi-select-selection-padding-x: 0.5rem;
  --cui-form-multi-select-font-size: 0.875rem;
  --cui-form-multi-select-border-radius: var(--cui-border-radius-sm);
  --cui-form-multi-select-tag-padding-y: 0.075rem;
  --cui-form-multi-select-tag-padding-x: 0.5rem;
  --cui-form-multi-select-tag-border-radius: 0.125rem;
  --cui-form-multi-select-selection-tags-gap: 0.125rem;
  --cui-form-multi-select-selection-tags-padding-y: 0.0625rem;
  --cui-form-multi-select-selection-tags-padding-x: 0.125rem;
}

.filter-container .form-multi-select-lg {
  --cui-form-multi-select-selection-padding-y: 0.5rem;
  --cui-form-multi-select-selection-padding-x: 1rem;
  --cui-form-multi-select-font-size: 1.25rem;
  --cui-form-multi-select-border-radius: var(--cui-border-radius-lg);
  --cui-form-multi-select-tag-padding-y: 0.175rem;
  --cui-form-multi-select-tag-padding-x: 0.5rem;
  --cui-form-multi-select-tag-border-radius: 0.375rem;
  --cui-form-multi-select-selection-tags-gap: 0.25rem;
  --cui-form-multi-select-selection-tags-padding-y: 0.25rem;
  --cui-form-multi-select-selection-tags-padding-x: 0.25rem;
}

.filter-container .input-group > .autocomplete,
.filter-container .input-group > .date-picker,
.filter-container .input-group > .time-picker,
.filter-container .input-group > .form-control,
.filter-container .input-group > .form-multi-select,
.filter-container .input-group > .form-password,
.filter-container .input-group > .form-select,
.filter-container .input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}

.filter-container .input-group > .autocomplete:focus-within,
.filter-container .input-group > .date-picker:focus-within,
.filter-container .input-group > .time-picker:focus-within,
.filter-container .input-group > .form-multi-select:focus-within,
.filter-container .input-group > .form-control:focus,
.filter-container .input-group > .form-select:focus,
.filter-container .input-group > .form-floating:focus-within,
.filter-container .input-group > .form-password:focus-within {
  z-index: 5;
}

.filter-container .input-group:not(.has-validation) > .autocomplete:not(:last-child) > .autocomplete-input-group,
.filter-container .input-group:not(.has-validation) > .date-picker:not(:last-child) > .date-picker-input-group,
.filter-container .input-group:not(.has-validation) > .time-picker:not(:last-child) > .time-picker-input-group,
.filter-container .input-group:not(.has-validation) > .form-multi-select:not(:last-child) > .form-multi-select-input-group,
.filter-container .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.filter-container .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.filter-container .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.filter-container .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select,
.filter-container .input-group:not(.has-validation) > .form-password:not(:last-child) > .form-control {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}

.filter-container .input-group.has-validation > .autocomplete > .autocomplete-input-group,
.filter-container .input-group.has-validation > .date-picker > .date-picker-input-group,
.filter-container .input-group.has-validation > .time-picker > .time-picker-input-group,
.filter-container .input-group.has-validation > .form-multi-select > .form-multi-select-input-group,
.filter-container .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.filter-container .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.filter-container .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.filter-container .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select,
.filter-container .input-group.has-validation > .form-password:nth-last-child(n+3) > .form-control {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}

.filter-container .input-group > .autocomplete:not(:first-child) > .autocomplete-input-group,
.filter-container .input-group > .date-picker:not(:first-child) > .date-picker-input-group,
.filter-container .input-group > .time-picker:not(:first-child) > .time-picker-input-group,
.filter-container .input-group > .form-multi-select:not(:first-child) + .form-multi-select > .form-multi-select-input-group,
.filter-container .input-group > .form-floating:not(:first-child) > .form-control,
.filter-container .input-group > .form-floating:not(:first-child) > .form-select,
.filter-container .input-group > .form-password:not(:first-child) > .form-control {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}

.filter-container .was-validated .input-group > .autocomplete:focus-within:valid,
.filter-container .input-group > .autocomplete:focus-within.is-valid,
.filter-container .was-validated .input-group > .date-picker:focus-within:valid,
.filter-container .input-group > .date-picker:focus-within.is-valid,
.filter-container .was-validated .input-group > .time-picker:focus-within:valid,
.filter-container .input-group > .time-picker:focus-within.is-valid,
.filter-container .was-validated .input-group > .form-multi-select:focus-within:valid,
.filter-container .input-group > .form-multi-select:focus-within.is-valid,
.filter-container .was-validated .input-group > .form-control:focus:valid,
.filter-container .input-group > .form-control:focus.is-valid,
.filter-container .was-validated .input-group > .form-select:focus:valid,
.filter-container .input-group > .form-select:focus.is-valid,
.filter-container .was-validated .input-group > .form-floating:focus-within:valid,
.filter-container .input-group > .form-floating:focus-within.is-valid,
.filter-container .was-validated .input-group > .form-password:focus-within:valid,
.filter-container .input-group > .form-password:focus-within.is-valid {
  z-index: 3;
}

.filter-container .was-validated .input-group > .autocomplete:focus-within:invalid,
.filter-container .input-group > .autocomplete:focus-within.is-invalid,
.filter-container .was-validated .input-group > .date-picker:focus-within:invalid,
.filter-container .input-group > .date-picker:focus-within.is-invalid,
.filter-container .was-validated .input-group > .time-picker:focus-within:invalid,
.filter-container .input-group > .time-picker:focus-within.is-invalid,
.filter-container .was-validated .input-group > .form-multi-select:focus-within:invalid,
.filter-container .input-group > .form-multi-select:focus-within.is-invalid,
.filter-container .was-validated .input-group > .form-control:focus:invalid,
.filter-container .input-group > .form-control:focus.is-invalid,
.filter-container .was-validated .input-group > .form-select:focus:invalid,
.filter-container .input-group > .form-select:focus.is-invalid,
.filter-container .was-validated .input-group > .form-floating:focus-within:invalid,
.filter-container .input-group > .form-floating:focus-within.is-invalid,
.filter-container .was-validated .input-group > .form-password:focus-within:invalid,
.filter-container .input-group > .form-password:focus-within.is-invalid {
  z-index: 4;
}
