form {
    position: relative;
}

.input-group {
    flex-wrap: inherit;
}

input {
    width: 0.9375rem;
    position: relative;
    left: 0.25rem;
    border: none;
}

.lock-active {
    > .input-group-text {
        background-color: var(--primary-color);
        color: white;
    }
}

.close-offset {
    right: 1.8125rem !important;
    top: 29% !important;
}

.typeahead-input {
    padding: 0 0.375rem;
    display: inline-block;
    width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    box-shadow: none;
    border-radius: 0.25rem;
    cursor: text;
    min-height: 2.375rem;

    background-color: var(--input-bg-color);
    border: 1px solid var(--input-border-color);
    color: var(--body-text-color);

    &.disabled {
        cursor: not-allowed !important;
    }

    input {
        outline: 0 !important;
        border-radius: .28571429rem;
        display: inline-block !important;
        padding: 0 !important;
        min-height: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        text-indent: 0 !important;
        line-height: inherit !important;
        box-shadow: none !important;
    }
    input:empty {
        padding-top: 0.375rem !important;
    }
}

.open .input-group-text {
    border-bottom-left-radius: 0;
}

.open .typeahead-input {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.dropdown {
    width: 100%;
    min-width: 10rem;
    background: var(--input-bg-color);
    z-index: 1000;
    border-radius: 0.25rem;
    margin-top: -0.0625rem;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    position: absolute;
    max-height: 25rem;
    overflow-y: auto;
    overflow-x: hidden;

    .list-group {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

    .list-group-item {
        padding: 0.3125rem 0.625rem;
        width: 100%;
    }


    li {
        list-style: none;
    }
}


.spinner-border {
    position: absolute;
    right: 0.625rem;
    margin: auto;
    cursor: pointer;
    top: 30%;
}

.results {
    .list-group-item {
        cursor: pointer;
        border-left-color: var(--list-group-hover-text-color);
        border-right-color: var(--list-group-hover-text-color);
    }

    .list-group-item:last-child {
        border-bottom-color: var(--list-group-hover-text-color);
    }
}

.dropdown {
  overflow: auto;
}

.dropdown-overlay {
  position: static;
}

.slide-in-from-top {
  animation: slideDown 200ms ease-out;
}

.slide-out-to-top {
  animation: slideUp 200ms ease-out;
}

@keyframes slideDown {
  from {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
  }
  to {
    max-height: 25rem;
    opacity: 1;
    overflow: auto;
  }
}

@keyframes slideUp {
  from {
    max-height: 25rem;
    opacity: 1;
  }
  to {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
  }
}
