@mixin button($color: $color-white, $hover: choose-contrast-color($color-buttons-hover), $background: $color-buttons, $background-hover: $color-buttons-hover, $radius: 3px, $border: 0, $border-hover: $color-buttons-hover, $weight: 700, $arrow: false, $transition: all .08s cubic-bezier(.25, .46, .45, .94)) { appearance: none; background-color: $background; border: $border; border-radius: $radius; color: $color; cursor: pointer; display: inline-block; font-family: $font-paragraphs; font-size: var(--font-size-small); font-weight: $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: $transition; 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: $background-hover; border-color: $border-hover; color: $hover; } }