.taxonomy-dropdown {
    position: relative;
    width: auto;
}

.taxonomy-search-wrapper {
    position: relative;
}

.taxonomy-search {
    width: 100%;
}

.taxonomy-dropdown .taxonomy-dropdown__description {
    font-size: .825rem;
    padding-bottom: .5rem;
    color: #666;
    font-style: italic;
}

.taxonomy-help {
    position: absolute;
    left: 9999px;
}

.taxonomy-options {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    z-index: 1000;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.33);
    border: 1px solid black;
    border-top: none;
    border-bottom: none;
}

.taxonomy-options .taxonomy-option {
    margin: 0;
    padding: .25rem .5rem;
    background: #f1f1f1;
    cursor: pointer;
    display: flex;
    align-items: center;
    border-bottom: 1px solid black;
}

.taxonomy-options .taxonomy-option.taxonomy-option--non {
    cursor: not-allowed;
}

.taxonomy-options .taxonomy-option.taxonomy-option--active {
    background: #0073aa;
    color: #fff;
}

.taxonomy-tags {
    margin: 1rem 0;
    padding: 0;
}

.taxonomy-tag {
    display: inline-block;
    margin: 0 0.25rem 0.25rem 0;
    padding: .25rem .5rem;
    background: #0073aa;
    color: #fff;
    border-radius: 3px;
}
.taxonomy-tag:after {
    content: '×';
    content: "×" / "";  /* hides the content from screen readers... hopefully */
    margin-left: .5rem;
    pointer-events: none;
}
.taxonomy-tag:hover {
    background: #005580;
}
.taxonomy-tag:active, .taxonomy-tag:focus {
    background: #003d4c;
}
/* another attempt to hide the content from screen readers with iffy support */
@media reader, speech, aural {
    .taxonomy-tag:after {
        display: none;
        visibility: hidden;
    }
}


/* turn the loading-indicator into a spinner */
.taxonomy-dropdown .loading-indicator {
    display: inline-block;
    position: absolute;
    right: 0;
    top: -16px;
    transform: scale(0.425);
}

.loading-indicator--spinner {
    display: inline-block;
    position: relative;
    width: 58px;
    height: 58px;
}

.loading-indicator--spinner div {
    display: inline-block;
    position: absolute;
    left: 8px;
    width: 16px;
    background: #000;
    animation: loading-indicator--spinner 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
}

.loading-indicator--spinner div:nth-child(1) {
    left: 8px;
    animation-delay: -0.24s;
}

.loading-indicator--spinner div:nth-child(2) {
    left: 32px;
    animation-delay: -0.12s;
}

.loading-indicator--spinner div:nth-child(3) {
    left: 56px;
    animation-delay: 0;
}

@keyframes loading-indicator--spinner {
    0% {
        top: 8px;
        height: 64px;
    }

    50%,
    100% {
        top: 24px;
        height: 32px;
    }
}

.decorative-search-icon, .text-resetter {
    position: absolute;
    right: 0;
    top: .125rem;
    padding: .5rem 1rem;
    color: #000;
    background-color: transparent;
}
.decorative-search-icon:after, .text-resetter:after {
    display: block;
    width: 1rem;
    height: 1rem;
    font-size: 1.25rem;
    line-height: 1rem;
}

.decorative-search-icon {
    pointer-events: none;
}
.decorative-search-icon:after {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>');
}

.text-resetter:after {
    content: '×';
    content: "×" / "";  /* hides the content from screen readers... hopefully */
}
/* another attempt to hide the content from screen readers with iffy support */
@media reader, speech, aural {
    .text-resetter:after {
        display: none;
        visibility: hidden;
    }
}