.select {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.select input {
  flex: auto;
  width: 0;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
}

.select .dropdown-menu {
  max-height: 21rem;
  overflow-y: auto;
}

.single .option {
  margin-right: 0.25rem;
}

.multiple .option {
  --bs-badge-padding-x: 0.65em;
  --bs-badge-padding-y: 0.35em;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: 0.375rem;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius);
  line-height: 1;
  display: inline-block;
  position: relative;

  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity));

  margin-right: 0.25rem;
  margin-top: 1px;
  margin-bottom: 1px;
}

.focus {
  color: var(--bs-body-color, #212529);
  background-color: var(--bs-form-control-bg, #fff);
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem #0d6efd40;
}

.is-valid.focus {
  border-color: #198754;
  box-shadow: 0 0 0 0.25rem #19875440;
}

.is-invalid.focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.25rem #dc354540;
}
