@mixin button($color: $color-white, $background: $color-darkgrey, $radius: 3px, $border-width: 2px, $font-weight: 700, $arrow: false) {
  appearance: none;
  background-color: $background;
  border: 0;
  border-radius: $radius;
  color: $color;
  cursor: pointer;
  display: inline-block;
  font-family: $font-paragraphs;
  font-size: var(--font-size-small);
  font-weight: $font-weight;
  line-height: 1;
  margin-bottom: 0;
  padding-bottom: 12px;
  padding-left: 25px;
  padding-right: 25px;
  padding-top: 12px;
  position: relative;
  text-decoration: none;
  transition: 150ms linear background;
  width: auto;

  // Buttons usually already have arrows
  /* stylelint-disable a11y/no-display-none */
  &.is-external-link::after {
    display: none;
  }
  /* stylelint-enable */

  // Arrow icon
  @if $arrow {
    svg {
      margin-left: 2rem;
    }
  }

  &:hover,
  &:focus {
    background-color: $color-buttons-hover;
    border-color: $color-buttons-hover;
    color: choose-contrast-color($color-buttons-hover);
  }
}
