// @button--{{color}}

// dark blue 180
// added first for specificity
@mixin button--dark-blue-180 {
  border-color: $color--two-180;
  color: $color--two-180;

  &:hover {
    background: $color--two-180;
    border-color: $color--two-180;
    color: $color-brand--white;

    .icon svg {
      fill: $color-brand--white;
    }
  }

  // on touch devices hover is similar to ':active' state.
  // outputs regular ':active' state & specific ':hover'
  // state for touch devices
  & {
    @include hover-touch {
      background: $color--two-180;
      border-color: $color--two-180;
      color: $color-brand--white;
    }
  }
  .icon svg {
    fill: $color--two-180;
  }

  &.button--filled .icon svg {
    fill: $color-brand--white;
  }
}


// dark blue
@mixin button--dark {
  border-color: currentColor;
  color: $color-brand--two;

  &:hover {
    background: $color-brand--two;
    border-color: $color-brand--two;
    color: $color-brand--white;

    .icon svg {
      fill: $color-brand--white;
    }
  }

  // on touch devices hover is similar to ':active' state.
  // outputs regular ':active' state & specific ':hover'
  // state for touch devices
  & {
    @include hover-touch {
      background: $color--two-180;
      border-color: $color--two-180;
      color: $color-brand--white;
    }
  }
  .icon svg {
    fill: $color-brand--two;
  }

  &.button--filled .icon svg {
    fill: $color-brand--white;
  }
}

// off-white
@mixin button--light {
  border-color: $color-brand--four;
  color: $color-brand--four;

  &:hover {
    background: $color-brand--four;
    border-color: $color-brand--white;
    color: $color-brand--two;

    .icon svg {
      fill: $color-brand--two;
    }
  }

  // on touch devices hover is similar to ':active' state.
  // outputs regular ':active' state & specific ':hover'
  // state for touch devices
  & {
    @include hover-touch {
      background: $color--four-110;
      border-color: $color--four-110;
      color: $color-brand--two;
    }
  }
  .icon svg {
    fill: $color-brand--four;
  }
}

// white
@mixin button--white {
  border-color: $color-brand--white;
  color: $color-brand--white;

  &:hover {
    background: $color-brand--white;
    border-color: $color-brand--white;
    color: $color-brand--two;

    .icon svg {
      fill: $color-brand--two;
    }
  }

  // on touch devices hover is similar to ':active' state.
  // outputs regular ':active' state & specific ':hover'
  // state for touch devices
  & {
    @include hover-touch {
      background: $color--grey;
      border-color: $color--grey;
      color: $color-brand--two;
    }
  }
  .icon svg {
    fill: $color-brand--white;
  }

  &.button--filled .icon svg {
    fill: $color-brand--two;
  }
}

// blue
@mixin button--blue {
  border-color: $color-brand--one;
  color: $color-brand--one;

  &:hover {
    background: $color-brand--one;
    border-color: $color-brand--one;
    color: $color-brand--white;
  }

  // on touch devices hover is similar to ':active' state.
  // outputs regular ':active' state & specific ':hover'
  // state for touch devices
  & {
    @include hover-touch {
      background: $color--one-130;
      border-color: $color--one-130;
      color: $color-brand--white;
      outline: none;
    }
  }
}
