@mixin form-input-search-size($padding-y, $padding-x, $scale: 1) {
  $icon-width: if($scale == 1, 1, 1.375);
  padding: $padding-y $padding-x;

  .input-group-addon {
    i.#{$icon-prefix} {
      transform: scale($scale, $scale);
    }
  }

  input.form-control {
    &:focus {
      padding-left: ($padding-x * 3 + $icon-width);
    }
  }
}

.form-input-search {

  //hover
  @include hover {
    border-color: $input-border-hover;
  }

  // disabled
  @include status-disabled {
    @include hover {
      border-color: $input-border-color;
    }
    background-color: $input-bg-disabled;

    .input-group-addon,
    input.form-control {
      background-color: transparent;
    }
  }
  position: relative;
  padding: $input-padding-y $input-padding-x;
  border: $border-width solid $input-border-color;
  border-radius: $border-radius;

  .input-group-addon {
    z-index: 4;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    color: $input-icon-color;
    border-color: transparent;

    &:first-child {
      border-right: $border-width solid $input-border-color;
    }

    i.#{$icon-prefix} {
      transform: scale(1.3, 1.3);
    }
  }

  input.form-control {
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    border-color: transparent;
    box-shadow: none;
    transition: position ease-in-out .15s;

    &:focus {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      padding-left: ($input-padding-x * 3 + 1.125);
      border-color: #7d8fff;
      border-radius: $border-radius;
      box-shadow: $input-box-shadow-focus;
      transition: $input-border-focus;
    }
  }

  //size
  &.input-group--lg {
    @include form-input-search-size($input-padding-y-lg, $input-padding-x, 1.5);
  }

  &.input-group--sm {
    @include form-input-search-size($input-padding-y-sm, $input-padding-x);
  }
}
