=placeholder
  $placeholders: ':-moz' ':-webkit-input' '-moz' '-ms-input'
  @each $placeholder in $placeholders
    &:#{$placeholder}-placeholder
      @content

=input
  @extend %control
  justify-content: flex-start
  background-color: var(--group-form-field-control-background)
  border-color: var(--group-form-field-control-border-color)
  border-style: var(--group-form-field-control-border-style)
  border-radius: var(--group-form-field-control-radius)
  color: var(--group-form-field-control-color)
  +placeholder
    color: var(--group-form-field-control-placeholder-color)
  +hover()
    &:hover,
    &.is-hovered
      border-color: var(--group-form-field-control-border-color-hover)
      background-color: var(--group-form-field-control-background-hover)
  &.group-focused,
  &:focus,
  &.is-focused,
  &:active,
  &.is-active
    border-color: var(--group-form-field-control-border-color-active)
    background-color: var(--group-form-field-control-background-active)
  &[disabled],
  fieldset[disabled] &
    background-color: var(--group-form-field-control-disabled-background)
    border-color: var(--group-form-field-control-disabled-border-color)
    box-shadow: none
    color: var(--group-form-field-control-disabled-color)
    +placeholder
      color: var(--group-form-field-control-disabled-color)

=control
  -moz-appearance: none !important
  -webkit-appearance: none !important
  align-items: center
  border-width: var(--group-border-width-normal)
  border-color: var(--group-color-border)
  border-radius: var(--group-radius-normal)
  box-shadow: none
  display: inline-flex
  font-size: var(--group-text-size-normal)
  min-height: 3rem
  height: 3rem
  line-height: 1.5
  padding-left: calc(0.75em - var(--group-border-width-normal))
  padding-right: calc(0.75em - var(--group-border-width-normal))
  position: relative
  vertical-align: top
  // States
  &:focus,
  &.is-focused,
  &:active,
  &.is-active
    outline: none
  &[disabled],
  fieldset[disabled] &
    cursor: default

%input
  +input

%control
  +control
