@use 'sass:color'; @import url('https://fonts.googleapis.com/css2?family=Imprima&family=Satisfy&display=swap'); $f-main: 'Imprima', sans-serif; $f-title: 'Satisfy', serif; $f-size: 14px; $c-main: #7874ff; $c-main-light: color.scale($c-main, $lightness: 70%); $c-main-lightest: color.scale($c-main, $lightness: 80%); $c-main-dark: color.scale($c-main, $lightness: -20%); $c-accent: #de7cff; $c-accent-light: color.scale($c-accent, $lightness: 40%); $c-accent-lightest: color.scale($c-accent, $lightness: 80%); $c-accent-dark: color.scale($c-accent, $lightness: -20%); $c-green: #30be00; $c-yellow: #ebb000; $c-red: #e20000; /* ------------------------------------------------------------------------- &MIXINS/EXTENDS ---- */ @mixin hover($focus: true, $bg: true) { border-color: $c-main; @if $bg { background-color: $c-main-lightest; } color: $c-main; transition: background-color 0.4s, border-color 0.4s, color 0.4s; &:hover { border-color: $c-accent; @if $bg { background-color: $c-accent-lightest; } color: $c-accent; transition: background-color 0.4s, border-color 0.4s, color 0.4s; } @if $focus { &:focus { border-color: $c-accent; @if $bg { background-color: $c-accent-lightest; } color: $c-accent; transition: background-color 0.4s, border-color 0.4s, color 0.4s; } } } %btn { border: 1px solid $c-main; padding: 5px 10px; margin-right: 5px; line-height: normal; cursor: pointer; text-decoration: none; @include hover; } %disabled { border-color: $c-accent; background-color: $c-accent-lightest; color: $c-accent; }