@import '~/css/helpers'; .button { display: inline-block; transition: all var(--normal-transition); border: tovw(1px) solid var(--color-white); border-radius: tovw(4px); background: transparent; cursor: pointer; padding: tovw(16px, 'default', 16px) tovw(32px, 'default', 14px); text-transform: uppercase; text-decoration: none; line-height: 1; color: var(--color-white); font-family: var(--font-dm-mono); font-size: tovw(18px, 'default', 18px); appearance: none; white-space: nowrap; &:disabled { pointer-events: none; } &:hover, &--active { background: var(--color-white); color: var(--color-black); } &--interactive { position: relative; overflow: hidden; span { position: relative; mix-blend-mode: difference; } &::before, &::after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } &::before { left: -150%; transform: skew(10deg); transition: transform var(--duration-normal) var(--ease-button); background: var(--color-white); width: 130%; content: ''; } &:hover, &--active { background: transparent; color: var(--color-white); &::before { transform: translate3d(90%, 0, 0) skew(30deg) scaleX(1.2); } } } &--primary { border-color: var(--color-accent); box-shadow: 0 0 tovw(25px, 'default', 16px) var(--color-accent); background: var(--color-accent); &:hover, &--active { box-shadow: 0 0 0 var(--color-accent); background: var(--color-accent); color: var(--color-white); } } &--small { padding: tovw(11.5px, 'default', 11.5px) tovw(24px, 'default', 10px); } &--unstyled { border: none; background: none; padding: tovw(12px, 'default', 12px); &:hover { background: none; color: currentcolor; } } } [data-theme='light'] { .button { &--primary { color: var(--color-black); } } }