:root {
    --autocomplete-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");
    --autocomplete-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.856a1 1 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.97 6.97 0 0 1-1.959 4.856m5.666 4.437-3.675-3.675A8.97 8.97 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.97 8.97 0 0 0 5.618-1.968l3.675 3.675a.999.999 0 1 0 1.414-1.414'/%3E%3C/svg%3E")
}
.input-field {
    display:block;
    position:relative;
    margin-right: 10px;
}
.input-field input {
    border:1px solid #d7d7d7;
    box-shadow:none;
    box-sizing:border-box;
    font-size:16px;
    padding:12px 4px 10px 4px;
    width:100%;
    border-radius: 5px;
}
.input-field input:focus {
    border:1px solid #858585;
    outline:none
}
.input-field input::-ms-clear {
    display:none
}
.input-field ul {
    list-style:none;
    margin:0;
    overflow:auto;
    padding:0
}
.input-field ul li {
    cursor:pointer;
    margin:0;
    overflow:hidden;
    padding:10px;
    position:relative
}
.input-field ul li:not(:last-child) {
    border-top:none
}
.input-field ul li[disabled] {
    background:#ececec;
    opacity:.5;
    pointer-events:none
}
.input-field .auto-expanded {
    border:1px solid #858585;
    outline:none
}
.input-field.loupe:before {
    filter:invert(60%)
}
.auto-is-loading:after {
    animation:auto-spinner .6s linear infinite;
    border-color:#acacac grey grey #acacac;
    border-radius:50%;
    border-style:solid;
    border-width:2px;
    box-sizing:border-box;
    content:"";
    height:20px;
    margin:auto;
    position:absolute;
    right:10px;
    top:12px;
    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:10px 45px 10px 35px
}
.loupe:before {
    background-image:var(--autocomplete-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;
    cursor:pointer;
    display:flex;
    height:44px;
    justify-content:center;
    margin:auto;
    position:absolute;
    right:0;
    top:0;
    width:40px
}
.auto-clear:before {
    content:var(--autocomplete-close-button);
    height:24px;
    line-height:100%;
    width:24px
}
.auto-clear span {
    display:none
}
.auto-results-wrapper {
    background-color:#fff;
    border-left:1px solid #858585;
    border-bottom:1px solid #858585;
    border-right:1px solid #858585;
    border-top: 1px solid #d7d7d7;
    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:99
}
.auto-selected {
    background-color:#f0f0f0
}
.auto-selected+li:before {
    border-top:none
}
.auto-error {
    border:1px solid #ff1c1c
}
.auto-error::-moz-placeholder {
    color:#f33;
    opacity:1
}
.auto-error::placeholder {
    color:#f33;
    opacity:1
}
.hidden {
    display:none
}