
  div.svelte-66wdl1 {
    display: inline-block;
    vertical-align: middle;
    margin: 0 3pt;
    border-width: calc(1em / 5);
    border-style: solid;
    border-radius: 50%;
    animation: var(--duration) infinite svelte-66wdl1-rotate;
  }
  @keyframes svelte-66wdl1-rotate {
    100% {
      transform: rotate(360deg);
    }
  }

  :is(div.multiselect.svelte-1taxil8) {
    position: relative;
    align-items: center;
    display: flex;
    cursor: text;
    box-sizing: border-box;
    border: var(--sms-border, 1pt solid lightgray);
    border-radius: var(--sms-border-radius, 3pt);
    background: var(--sms-bg);
    width: var(--sms-width);
    max-width: var(--sms-max-width);
    padding: var(--sms-padding, 0 3pt);
    color: var(--sms-text-color);
    font-size: var(--sms-font-size, inherit);
    min-height: var(--sms-min-height, 22pt);
    margin: var(--sms-margin);
  }
  :is(div.multiselect.open.svelte-1taxil8) {
    /* increase z-index when open to ensure the dropdown of one <MultiSelect />
    displays above that of another slightly below it on the page */
    z-index: var(--sms-open-z-index, 4);
  }
  :is(div.multiselect.svelte-1taxil8:focus-within) {
    border: var(--sms-focus-border, 1pt solid var(--sms-active-color, cornflowerblue));
  }
  :is(div.multiselect.disabled.svelte-1taxil8) {
    background: var(--sms-disabled-bg, lightgray);
    cursor: not-allowed;
  }

  :is(div.multiselect.svelte-1taxil8 > ul.selected:where(.svelte-1taxil8)) {
    display: flex;
    flex: 1;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
  }
  :is(div.multiselect.svelte-1taxil8 > ul.selected:where(.svelte-1taxil8) > li:where(.svelte-1taxil8)) {
    align-items: center;
    border-radius: 3pt;
    display: flex;
    margin: 2pt;
    line-height: normal;
    transition: 0.3s;
    white-space: nowrap;
    background: var(--sms-selected-bg, rgba(0, 0, 0, 0.15));
    padding: var(--sms-selected-li-padding, 1pt 5pt);
    color: var(--sms-selected-text-color, var(--sms-text-color));
  }
  :is(div.multiselect.svelte-1taxil8 > ul.selected:where(.svelte-1taxil8) > li[draggable='true']:where(.svelte-1taxil8)) {
    cursor: grab;
  }
  :is(div.multiselect.svelte-1taxil8 > ul.selected:where(.svelte-1taxil8) > li.active:where(.svelte-1taxil8)) {
    background: var(--sms-li-active-bg, var(--sms-active-color, rgba(0, 0, 0, 0.15)));
  }
  :is(div.multiselect.svelte-1taxil8 button:where(.svelte-1taxil8)) {
    border-radius: 50%;
    display: flex;
    transition: 0.2s;
    color: inherit;
    background: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 1pt;
    margin: 0 0 0 3pt; /* CSS reset */
  }
  :is(div.multiselect.svelte-1taxil8 button.remove-all:where(.svelte-1taxil8)) {
    margin: 0 3pt;
  }
  :is(ul.selected.svelte-1taxil8 > li:where(.svelte-1taxil8) button:where(.svelte-1taxil8):hover, button.remove-all.svelte-1taxil8:hover, button.svelte-1taxil8:focus) {
    color: var(--sms-remove-btn-hover-color, lightskyblue);
    background: var(--sms-remove-btn-hover-bg, rgba(0, 0, 0, 0.2));
  }

  :is(div.multiselect.svelte-1taxil8 input:where(.svelte-1taxil8)) {
    margin: auto 0; /* CSS reset */
    padding: 0; /* CSS reset */
  }
  :is(div.multiselect.svelte-1taxil8 > ul.selected:where(.svelte-1taxil8) > input:where(.svelte-1taxil8)) {
    border: none;
    outline: none;
    background: none;
    flex: 1; /* this + next line fix issue #12 https://git.io/JiDe3 */
    min-width: 2em;
    /* ensure input uses text color and not --sms-selected-text-color */
    color: var(--sms-text-color);
    font-size: inherit;
    cursor: inherit; /* needed for disabled state */
    border-radius: 0; /* reset ul.selected > li */
  }
  /* don't wrap ::placeholder rules in :is() as it seems to be overpowered by browser defaults i.t.o. specificity */
  div.multiselect.svelte-1taxil8 > ul.selected:where(.svelte-1taxil8) > input:where(.svelte-1taxil8)::placeholder {
    padding-left: 5pt;
    color: var(--sms-placeholder-color);
    opacity: var(--sms-placeholder-opacity);
  }
  :is(div.multiselect.svelte-1taxil8 > input.form-control:where(.svelte-1taxil8)) {
    width: 2em;
    position: absolute;
    background: transparent;
    border: none;
    outline: none;
    z-index: -1;
    opacity: 0;
    pointer-events: none;
  }

  ul.options.svelte-1taxil8 {
    list-style: none;
    /* top, left, width, position are managed by portal when active */
    /* but provide defaults for non-portaled or initial state */
    position: absolute; /* Default, overridden by portal to fixed when open */
    top: 100%;
    left: 0;
    width: 100%;
    /* Default z-index if not portaled/overridden by portal */
    z-index: var(--sms-options-z-index, 3);

    overflow: auto;
    transition: all 0.2s; /* Consider if this transition is desirable with portal positioning */
    box-sizing: border-box;
    background: var(--sms-options-bg, white);
    max-height: var(--sms-options-max-height, 50vh);
    overscroll-behavior: var(--sms-options-overscroll, none);
    box-shadow: var(--sms-options-shadow, 0 0 14pt -8pt black);
    border: var(--sms-options-border);
    border-width: var(--sms-options-border-width);
    border-radius: var(--sms-options-border-radius, 1ex);
    padding: var(--sms-options-padding);
    margin: var(--sms-options-margin, inherit);
  }
  :is(div.multiselect.open.svelte-1taxil8) {
    /* increase z-index when open to ensure the dropdown of one <MultiSelect />
    displays above that of another slightly below it on the page */
    /* This z-index is for the div.multiselect itself, portal has its own higher z-index */
    z-index: var(--sms-open-z-index, 4);
  }
  ul.options.hidden.svelte-1taxil8 {
    visibility: hidden;
    opacity: 0;
    transform: translateY(50px);
  }
  ul.options.svelte-1taxil8 > li:where(.svelte-1taxil8) {
    padding: 3pt 2ex;
    cursor: pointer;
    scroll-margin: var(--sms-options-scroll-margin, 100px);
  }
  ul.options.svelte-1taxil8 .user-msg:where(.svelte-1taxil8) {
    /* block needed so vertical padding applies to span */
    display: block;
    padding: 3pt 2ex;
  }
  ul.options.svelte-1taxil8 > li.selected:where(.svelte-1taxil8) {
    background: var(--sms-li-selected-bg);
    color: var(--sms-li-selected-color);
  }
  ul.options.svelte-1taxil8 > li.active:where(.svelte-1taxil8) {
    background: var(--sms-li-active-bg, var(--sms-active-color, rgba(0, 0, 0, 0.15)));
  }
  ul.options.svelte-1taxil8 > li.disabled:where(.svelte-1taxil8) {
    cursor: not-allowed;
    background: var(--sms-li-disabled-bg, #f5f5f6);
    color: var(--sms-li-disabled-text, #b8b8b8);
  }

  :is(span.max-select-msg.svelte-1taxil8) {
    padding: 0 3pt;
  }
  .svelte-1taxil8::highlight(sms-search-matches) {
    color: mediumaquamarine;
  }

  :where(dialog.svelte-aya82u) {
    position: fixed;
    top: 30%;
    border: none;
    padding: 0;
    background-color: transparent;
    display: flex;
    color: white;
    z-index: 10;
    font-size: 2.4ex;
  }
