.text-input {
  @extend .u-font-size-5;
  @extend .u-font-weight-400;
  @include get-spacing(pv,s);
  @include get-spacing(ph,m);

  border: none;
  line-height: 1;
  outline: none;
  cursor: text;
  transition: 0.3s background ease;
}

.text-input-width--s {
  width: 15rem;
}

.text-input-width--m {
  width: 25rem;
}

.text-input-width--l {
  width: 40rem;
}

.text-input--line {
  border-bottom: 1px #c5c5c5 solid;

  &:hover,
  &:focus {
    border-bottom: 1px #333 solid;
  }
}

.text-input.text-input--large {
  @extend .u-font-size-2;
  @extend .u-font-weight-400;
  @include get-spacing(pv,s);
  @include get-spacing(ph,m);

  border: none;
  line-height: 1;
  outline: none;
  cursor: text;
  transition: 0.3s background ease;
}

.text-input--search {
  position: relative;
  overflow: hidden;
  outline: 0;
  border: 1px palette(grey, lighter) solid;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  top: 0;

  .icon {
    position: absolute;
    top: 7px;
    left: 6px;
    z-index: 100;

    @extend .u-color-grey-light;
  }

  .text-input {
    padding-left: 36px;
    width: 320px;
    border: 0;
    outline: 0;
    box-shadow: none;

    @include get-spacing(pv,s);
    @extend .u-font-size-3;
  }
}
