/*
 * created by Online Rebellion ©
 * www.online-rebellion.de
 * based on https://www.cssscript.com/multi-select-dropdown-picker/
 */

:root {
    --color-background: #ffffff;
    --color-border: #ced4da;
    --color-background--option: #d6dde6;
    --color-background--option--hover: #cbd5e0a1;
    --color-text--normal: #0c0c0c;
    --color-text--grey: #24262c;
    --color-text--red: #cc6666;
    --color-text--placeholder: #ced4da;
    --border-radius--base: 0.25rem;
    --border-radius--small: 0.25rem;
}

.multiselect-dropdown {
    position: relative;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    cursor: pointer;
}

span.optext,
span.placeholder {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    border-radius: var(--border-radius--small);
}

span.optext {
    background-color: var(--color-background--option);
    padding: 0 12px 2px 6px;
    cursor: default;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

span.optext .optdel {
    float: right;
    margin: 0 -6px 1px 6px;
    font-size: 12px;
    cursor: pointer;
    color: var(--color-text--grey);
}
span.optext .optdel:hover {
    color: var(--color-text--red);
}

span.multiselect-placeholder {
    color: var(--color-border);
}

.multiselect-dropdown-list-wrapper {
    z-index: 100;
    border-radius: var(--border-radius--base);
    border: solid 1px var(--color-border);
    display: none;
    flex-direction: column;
    margin: -1px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: var(--color-background);
}

.multiselect-dropdown-list-wrapper.top {
    top: initial;
    bottom: 0;
}

.multiselect-dropdown-list-wrapper.top .multiselect-dropdown-search {
    order: 1;
}

.multiselect-dropdown-search {
    padding: 5px 6px 6px 5px;
    border-top-left-radius: var(--border-radius--base);
    border-top-right-radius: var(--border-radius--base);
    border: solid 1px transparent;
    border-bottom: solid 1px var(--color-border);
    font-size: inherit;
}

.multiselect-dropdown-search::placeholder {
    color: var(--color-text--placeholder);
    font-size: 16px;
}

.multiselect-dropdown-search:focus,
.multiselect-dropdown-search:focus-visible {
    outline: none;
}

.multiselect-dropdown-list {
    overflow-y: auto;
    overflow-x: hidden;
    height: 100%;
}

.multiselect-dropdown-list::-webkit-scrollbar {
    width: 4px;
}

.multiselect-dropdown-list::-webkit-scrollbar-thumb {
    background-color: var(--color-background--option);
    border-radius: 1000px;
}

.multiselect-dropdown-list div,
.multiselect-dropdown-list div > label {
    cursor: pointer;
    border-radius: var(--border-radius--base);
}

.multiselect-dropdown-list div {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0 10px;
    padding: 6px;
    margin: 6px 8px 6px 6px;
    transition: 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.multiselect-dropdown-list div:hover {
    background-color: var(--color-background--option--hover);
}

.multiselect-dropdown-list-input {
    height: 14px;
    width: 14px;
    border: solid 1px var(--color-text--grey);
    margin: 0;
}

.multiselect-dropdown span.maxselected {
    width: 100%;
}

.multiselect-dropdown-all-selector {
    border-bottom: solid 1px var(--color-border);
}

.multiselect-checkbox {
    margin-top: 2px;
}
