button:disabled { cursor: default; } .btn { border: none; text-decoration: none; cursor: pointer; position: relative; padding: 10px; height: var(--btn-height); min-width: var(--btn-height); border-radius: var(--btn-radius); background-color: var(--btn-bg-primary); color: var(--btn-color-primary); display: flex; align-items: center; justify-content: center; fill: currentColor; // for proper icon color font-size: 12px; transition: all var(--animation-duration) var(--animation-style); font-family: 'metropolis-medium'; &:not(:disabled) { box-shadow: var(--box-shadow-button); } &:hover { box-shadow: none; background-color: var(--btn-bg-primary-hover); } .icon + .btn__label { padding-left: 5px; } } .btn.btn--alt { color: var(--btn-color-alt); background-color: var(--btn-bg-alt); &:disabled { color: var(--color-help); background-color: transparent; } } .btn.btn--danger { background-color: var(--btn-bg-danger); } .btn.btn--inverse { background-color: transparent; box-shadow: none; color: var(--btn-color-inverse); } .btn.btn--link { padding: 0; margin: 0; background-color: inherit; font-size: 1em; color: var(--btn-color-inverse); border-radius: 0; display: inline; min-width: 0; box-shadow: none; text-align: left; } .btn.btn--external-link { color: var(--btn-external-color); } .btn.btn--secondary { background-color: var(--btn-bg-secondary); } .btn.btn--tourniquet { max-width: 20vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .btn.btn--no-style { font-size: inherit; font-weight: inherit; color: inherit; background-color: inherit; border-radius: 0; padding: 0; margin: 0; box-shadow: none; min-width: 0; } .btn--link, .btn--no-style { height: auto; .btn__label, .btn__content { padding: 0; } } .btn.btn--disabled:disabled { cursor: default; &.btn--primary { background-color: rgba(0, 0, 0, 0.5); } &:hover { box-shadow: none; } } .btn.btn--uppercase { text-transform: uppercase; } .btn:not(.btn--no-padding):not(.btn--link):not(.btn--no-style) { .btn__content { padding: 0 8px; display: flex; align-items: center; } } .icon + .btn__label, .btn__label + .icon { margin-left: 5px; } /* Everything below this is variations of the default button classes You must pass in a className, props will not set these classes, if you use these in several different places they should probably be applied via props */ .btn.btn--home-nav { background-color: var(--btn-home-bg-color); box-shadow: none; .btn__content { padding: 0; } } .btn.btn--arrow { width: var(--btn-arrow-width); color: var(--text-color); &:disabled { opacity: 0.3; } } .btn--uri-indicator { transition: color var(--animation-duration) var(--animation-style); &:hover { color: var(--color-light-blue); } } .btn.btn--header-publish { background-color: var(--header-primary-color); } .btn.btn--header-balance { font-family: 'metropolis-medium'; font-size: 14px; color: var(--header-primary-color); @media only screen and (min-width: $large-breakpoint) { font-size: 18px; } .btn__label--balance { color: var(--text-help-color); } &:hover { background-color: transparent; .btn__label--balance { color: var(--header-primary-color); } } } .btn.btn--file-actions { background-color: var(--color-black); color: var(--color-white); opacity: 0.8; border-radius: var(--btn-radius); width: var(--btn-height); height: var(--btn-height); padding: 10px; }