input,
select,
textarea {
  background-color: $input-bg-color;
  border: $input-border;
  border-radius: $border-radius;
  color: $color-gray-1;
  font-size: $font-size;
  padding: $input-padding;
  margin: 0;
  margin-right: 5px;
  margin-top: 3px;

  &::-ms-clear {
    display: none;
  }

  &:focus {
    @include focus-state;
  }

  &[disabled] {
    @include disabled-state;
  }

  &::-webkit-calendar-picker-indicator {
    display: none;
  }
}

label {
  color: $input-label-text-color;
  font-size: $input-label-font-size;
  line-height: $font-size-large;
  vertical-align: middle;
  padding-right: 5px;
  user-select: none;

  &:not(:first-of-type) {
    margin-left: $spacing;
  }

  > input,
  > select,
  > textarea {
    margin-left: $input-inline-label-padding;
  }

  > * {
    vertical-align: middle;
  }

  > .ias-icon {
    font-size: 22px;
  }
}

.ias-input-container {
  &:not(:last-child) {
    margin-bottom: $body-spacing-medium;
  }

  &.ias-inline {
    display: inline-block;
  }

  > label {
    display: block;
    margin: $input-label-margin;
  }
}

.ias-search {
  max-width: $search-box-max-width;
  position: relative;

  > input {
    box-sizing: border-box;
    padding: $input-padding ($search-box-icon-size + (2 * $search-box-icon-padding));
    margin: 0;
    width: 100%;

    &:focus {
      & ~ .ias-icon,
      & ~ .ias-icon-button {
        color: $focus-text-color;
      }
    }
  }

  > .ias-icon {
    left: $search-box-icon-padding;
  }

  > .ias-icon-button {
    right: $search-box-icon-padding;
  }

  > .ias-icon,
  > .ias-icon-button {
    color: $color-gray-4;
    font-size: $search-box-icon-size;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    > .ias-icon {
      font-size: inherit;
    }
  }
}

.ias-autocomplete {
  position: relative;

  .ias-result {
    cursor: pointer;
    outline: none;
    padding: 5px 15px;

    &:focus,
    &:hover {
      @include icon-button-focus-colors;
    }
  }

  .ias-results {
    background-color: $body-bg-color;
    border: 1px solid #dae1e1;
    border-radius: $border-radius;
    box-sizing: border-box;
    display: none;
    margin-right: auto;
    min-width: $search-box-max-width;
    overflow: hidden;
    position: absolute;
    //width: 100%;
    z-index: 1;
  }

  &.ias-open {
    .ias-results {
      display: block;
    }
  }
}

[dir="rtl"] {
  input,
  select,
  textarea {
    margin-left: 5px;
    margin-right: 0;
  }

  label {
    padding-left: 5px;
    padding-right: 0;

    &:not(:first-of-type) {
      margin-left: 0;
      margin-right: $spacing;
    }

    > input,
    > select,
    > textarea {
      margin-left: 0;
      margin-right: $input-inline-label-padding;
    }
  }

  .ias-search {
    > .ias-icon {
      left: auto;
      right: $search-box-icon-padding;
    }

    > .ias-icon-button {
      left: $search-box-icon-padding;
      right: auto;
    }
  }

  .ias-autocomplete {
    .ias-results {
      margin-left: auto;
      margin-right: 0;
    }
  }
}
