:root {
    --close-button: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.984 6.422 13.406 12l5.578 5.578-1.406 1.406L12 13.406l-5.578 5.578-1.406-1.406L10.594 12 5.016 6.422l1.406-1.406L12 10.594l5.578-5.578z'/%3E%3C/svg%3E");
    --loupe-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23929292' d='M16.041 15.856a.995.995 0 0 0-.186.186A6.97 6.97 0 0 1 11 18c-1.933 0-3.682-.782-4.95-2.05S4 12.933 4 11s.782-3.682 2.05-4.95S9.067 4 11 4s3.682.782 4.95 2.05S18 9.067 18 11a6.971 6.971 0 0 1-1.959 4.856zm5.666 4.437-3.675-3.675A8.967 8.967 0 0 0 20 11c0-2.485-1.008-4.736-2.636-6.364S13.485 2 11 2 6.264 3.008 4.636 4.636 2 8.515 2 11s1.008 4.736 2.636 6.364S8.515 20 11 20a8.967 8.967 0 0 0 5.618-1.968l3.675 3.675a.999.999 0 1 0 1.414-1.414z'/%3E%3C/svg%3E")
}

.auto-search-wrapper {
    display: block;
    position: relative;
    width: 100%
}

.auto-search-wrapper input {
    border: 1px solid #d7d7d7;
    box-shadow: none;
    box-sizing: border-box;
    font-size: 16px;
    padding: 12px 45px 12px 10px;
    width: 100%
}

.auto-search-wrapper input:focus {
    border: 1px solid #858585;
    outline: none
}

.auto-search-wrapper input::-ms-clear {
    display: none
}

.auto-search-wrapper ul {
    list-style: none;
    margin: 0;
    overflow: auto;
    padding: 0
}

.auto-search-wrapper ul li {
    cursor: pointer;
    margin: 0;
    overflow: hidden;
    padding: 10px;
    position: relative
}

.auto-search-wrapper ul li:not(:last-child) {
    border-top: none
}

.auto-search-wrapper ul li[disabled] {
    background: #ececec;
    opacity: .5;
    pointer-events: none
}

.auto-search-wrapper .auto-expanded {
    border: 1px solid #858585;
    outline: none
}

.auto-search-wrapper.loupe:before {
    filter: invert(60%)
}

.auto-is-loading:after {
    animation: auto-spinner .6s linear infinite;
    border-color: transparent transparent transparent transparent;
    border-radius: 50%;
    border-style: solid;
    border-width: 2px;
    bottom: 0;
    box-sizing: border-box;
    content: "";
    height: 20px;
    margin: auto;
    position: absolute;
    right: 10px;
    top: 0;
    width: 20px
}

.auto-is-loading .auto-clear {
    display: none
}

@keyframes auto-spinner {
    to {
        transform: rotate(1turn)
    }
}

li.loupe:before {
    bottom: auto;
    top: 15px
}

.loupe input {
    padding: 12px 45px 12px 35px
}

.loupe:before {
    background-image: var(--loupe-icon);
    bottom: 0;
    content: "";
    height: 17px;
    left: 10px;
    margin: auto;
    position: absolute;
    top: 0;
    width: 17px
}

.auto-selected:before {
    opacity: 1
}

.auto-clear {
    align-items: center;
    background-color: transparent;
    border: none;
    bottom: 0;
    cursor: pointer;
    display: flex;
    height: auto;
    justify-content: center;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 40px
}

.auto-clear:before {
    content: var(--close-button);
    height: 24px;
    line-height: 100%;
    width: 24px
}

.auto-clear span {
    display: none
}

.auto-results-wrapper {
    background-color: #fff;
    border: 1px solid #858585;
    border-top: none;
    box-sizing: border-box;
    display: none;
    overflow: hidden
}

.auto-results-wrapper ul>.loupe {
    padding-left: 40px
}

.auto-results-wrapper.auto-is-active {
    display: block;
    margin-top: -1px;
    position: absolute;
    width: 100%;
    z-index: 99999
}

.auto-selected {
    background-color: #F4F6F8
}

.auto-selected+li:before {
    border-top: none
}

.auto-error {
    border: 1px solid #ff3838
}

.auto-error::placeholder {
    color: #f66;
    opacity: 1
}

.hidden {
    display: none
}
