@import variables

// buttons

.btn
  @include appearance(none)
  background: transparent
  border-radius: $radius
  border: $border-width solid $gray
  box-shadow: none
  color: $gray
  cursor: pointer
  display: inline-block
  font-size: 1.05em
  height: auto
  line-height: 1
  margin: 0
  outline: none
  padding: 0.76em 1.5em
  text-align: center
  text-decoration: none
  user-select: none
  white-space: nowrap
  &:hover
    border-color: $gray
  &.solid, &:hover
    color: $white
    background: $gray

  // colors

  &.white
    color: $white
    border-color: $white
    &.solid, &:hover
      color: $black
      background: $white
  &.gray-light
    color: $gray-light
    border-color: $gray-light
    &.solid, &:hover
      color: $gray
      background: $gray-light
  &.gray-dark
    color: $gray-dark
    border-color: $gray-dark
    &.solid, &:hover
      color: $white
      background: $gray-dark
  &.black
    color: $black
    border-color: $black
    &.solid, &:hover
      color: $white
      background: $black
  &.red
    color: $red
    border-color: $red
    &.solid, &:hover
      color: $white
      background: $red
  &.orange
    color: $orange
    border-color: $orange
    &.solid, &:hover
      color: $white
      background: $orange
  &.yellow
    color: $yellow
    border-color: $yellow
    &.solid, &:hover
      color: $white
      background: $yellow
  &.blue
    color: $blue
    border-color: $blue
    &.solid, &:hover
      color: $white
      background: $blue
  &.green
    color: $green
    border-color: $green
    &.solid, &:hover
      color: $white
      background: $green

  // solids

  &.solid
    &:hover, &:active
      opacity: 0.8

  // no outline

  &.no-outline
    border-color: transparent

  // sizes

  &.large
    font-size: 1.2em
    padding: 0.8em 1.7em
    word-wrap: normal
  &.small
    padding: 0.5em 0.9em
    font-size: 0.9em
  &.tiny
    padding: 0.3em 0.8em
    font-size: 0.8em

  // shapes

  &.round
    border-radius: $round

  // states

  &:hover
    transition: $all
    opacity: 0.8

  &:disabled, &.disabled, &:disabled:hover, &.disabled:hover
    cursor: default
    background-color: $gray-light !important
    border-color: $gray-light !important
    color: $gray !important
    opacity: 0.2

// Adjustments for Firefox

@-moz-document url-prefix()

  .btn
    padding: 0.78em 1.5em
