|
- @import '../../_global/styles/mixins';
- @import '../../_global/styles/vars';
-
- .btn {
- --button-bg-color: var(--theme-color-primary);
- --button-text-color: var(--theme-color-white);
- --button-padding: 16px 24px;
- --button-min-size: 60px;
- --button-icon-padding: 58px;
- --button-icon-offset: 18px;
- --button-hover-shadow-opacity: 0.3;
- --button-hover-shadow-size: 6px;
- position: relative;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- font-family: 'Korb', sans-serif;
- border-radius: var(--border-radius-lg);
- font-size: var(--font-size-copy);
- line-height: 1;
- padding: var(--button-padding);
- text-decoration: none;
- border: 0;
- min-height: var(--button-min-size);
- min-width: var(--button-min-size);
- cursor: pointer;
- font-weight: 400;
- text-align: left;
- transition: 0.2s ease;
- @include focus-visible;
-
- @media(max-width: 999px) {
- --button-icon-padding: 52px;
- --button-icon-offset: 16px;
- --button-padding: 14px 20px;
- --button-min-size: 52px;
- }
-
- @media(max-width: 767px) {
- --button-icon-padding: 44px;
- --button-icon-offset: 12px;
- --button-padding: 12px 16px;
- --button-min-size: 44px;
- --button-hover-shadow-size: 4px;
- }
- }
-
- .btn, .btn:hover {
- background-color: var(--button-bg-color);
- color: var(--button-text-color);
- }
-
- .btn.secondary {
- --button-bg-color: var(--theme-color-secondary);
- --button-text-color: var(--theme-color-primary);
- --button-hover-shadow-opacity: 0.4;
- }
-
- .btn.white {
- --button-bg-color: var(--theme-color-white);
- --button-text-color: var(--theme-color-primary);
- --button-hover-shadow-opacity: 0.35;
- }
-
- .btn.primary-light {
- --button-bg-color: var(--theme-color-primary-dimmed-03);
- --button-text-color: var(--theme-color-primary);
- --button-hover-shadow-opacity: 0.45;
- }
-
- .btn.primary-extra-light {
- --button-bg-color: var(--theme-color-primary-dimmed-04);
- --button-text-color: var(--theme-color-primary);
- --button-hover-shadow-opacity: 0.5;
- }
-
- .btn.secondary-light {
- --button-bg-color: #9AD7A3;
- --button-text-color: var(--theme-color-primary);
- --button-hover-shadow-opacity: 0.45;
- }
-
- .btn::after {
- content: '';
- position: absolute;
- display: block;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- border-radius: var(--border-radius-lg);
- box-shadow: 0 0 0 2px var(--button-bg-color);
- opacity: 0;
- transition: 0.3s ease;
- }
-
- .btn:hover::after {
- opacity: var(--button-hover-shadow-opacity);
- box-shadow: 0 0 0 var(--button-hover-shadow-size) var(--button-bg-color);
- }
-
- .btn-small {
- --button-icon-padding: 48px;
- --button-icon-offset: 12px;
- --button-min-size: 42px;
- --button-padding: 10px 18px;
- --button-hover-shadow-size: 4px;
- border-radius: var(--border-radius-md);
-
- &::after {
- border-radius: var(--border-radius-md);
- }
-
- @media(max-width: 999px) {
- --button-icon-padding: 46px;
- --button-min-size: 38px;
- }
- }
-
- .btn-medium {
- --button-min-size: 48px;
- --button-padding: 10px 18px;
- --button-hover-shadow-size: 5px;
- border-radius: var(--border-radius-md);
-
- &::after {
- border-radius: var(--border-radius-md);
- }
-
- @media(max-width: 999px) {
- --button-min-size: 44px;
- --button-icon-padding: 46px;
- --button-hover-shadow-size: 4px;
- }
- }
-
- button::-moz-focus-inner {
- border: 0;
- }
-
- .btn::before {
- display: none;
- }
-
- .btn.icon-left {
- padding-left: var(--button-icon-padding);
- }
-
- .btn.icon-right {
- padding-right: var(--button-icon-padding);
- }
-
- .btn.icon-left::before, .btn.icon-right::before {
- font-family: 'Icons', sans-serif;
- position: absolute;
- display: block;
- font-size: var(--icon-size);
- left: var(--button-icon-offset);
- top: 50%;
- margin-top: calc(var(--icon-size) * -0.5);
- }
-
- .btn.icon-right::before {
- left: auto;
- right: var(--button-icon-offset);
- }
-
- .btn.icon-inline {
- padding: 0;
- display: flex;
- align-items: center;
- justify-content: center;
-
- &::before {
- position: relative;
- display: block;
- font-family: 'Icons', sans-serif;
- font-size: var(--icon-size);
- }
- }
|