
/* Button */

input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
  @include vendor('appearance', 'none');
  @include vendor('transition', ('background-color #{_duration(transitions)} ease-in-out', 'color #{_duration(transitions)} ease-in-out'));
  background-color: transparent;
  border-radius: 3px;
  border: 0;
  box-shadow: inset 0 0 0 2px _palette(border);
  color: _palette(fg-bold);
  cursor: pointer;
  display: inline-block;
  font-size: 0.8em;
  font-weight: _font(weight-bold);
  height: 3.125em;
  letter-spacing: _size(letter-spacing-alt);
  line-height: 3.125em;
  padding: 0 2.75em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  &:hover {
    background-color: _palette(border-bg);
  }

  &:active {
    background-color: _palette(border2-bg);
  }

  &.icon {
    &:before {
      margin-right: 0.5em;
    }
  }

  &.fit {
    display: block;
    margin: 0 0 (_size(element-margin) * 0.5) 0;
    width: 100%;
  }

  &.small {
    font-size: 0.8em;
  }

  &.big {
    font-size: 1.35em;
  }

  &.special {
    background-color: _palette(accent3, bg);
    box-shadow: none !important;
    color: _palette(accent3, fg-bold) !important;

    &:hover {
      background-color: lighten(_palette(accent3, bg), 5) !important;
    }

    &:active {
      background-color: darken(_palette(accent3, bg), 5) !important;
    }
  }

  &.disabled,
  &:disabled {
    @include vendor('pointer-events', 'none');
    opacity: 0.25;
  }

  @include breakpoint(small) {
    height: 3.75em;
    line-height: 3.75em;
  }
}