// Buttons .btn, button { display: inline-block; height: 3.2rem; padding: .7rem 1.5rem; border: .1rem solid @core-color; background-color: transparent; border-radius: 3px; color: @core-color; font-size: 1.4rem; line-height: 1.6rem; text-align: center; text-decoration: none; vertical-align: middle; white-space: nowrap; cursor: pointer; user-select: none; -webkit-appearance: none; outline: 0; &:hover, &:focus { color: #fff; background-color: @core-color; } &:active, &.active { color: #fff; background-color: darken(@core-color, 5%); } &.loading { color: transparent !important; position: relative; pointer-events: none; &::after { border: 2px solid @core-color; border-right-color: transparent; border-top-color: transparent; border-radius: 8px; content: ""; position: absolute; left: 50%; top: 50%; margin-left: -8px; margin-top: -8px; display: block; width: 16px; height: 16px; animation: loading 500ms infinite linear; } } &[disabled] { opacity: .5; cursor: default; } // Button Primary &.btn-primary { color: #fff; border-color: @core-color; background-color: @core-color; &:hover, &:focus { color: #fff; border-color: darken(@core-color, 5%); background-color: darken(@core-color, 5%); } &:active, &.active { color: #fff; border-color: darken(@core-color, 10%); background-color: darken(@core-color, 10%); } &.loading { &::after { border-color: #fff; border-right-color: transparent; border-top-color: transparent; } } } // Button Link &.btn-link { color: @core-color; border-color: transparent; background-color: transparent; &:hover, &:focus { color: darken(@core-color, 15%); } &:active, &.active { color: darken(@core-color, 25%); } } // Button Small &.btn-sm { height: 2.4rem; border-radius: 2px; font-size: 1.2rem; line-height: 1.4rem; padding: .4rem 1rem; } // Button Large &.btn-lg { height: 4.2rem; border-radius: 4px; font-size: 1.8rem; line-height: 2rem; padding: 1rem 1.8rem; } // Button Block &.btn-block { width: 100%; display: block; } // Button Clear &.btn-clear { width: 1.4rem; height: 1.4rem; padding: 0; margin: .1rem -.2rem .1rem .2rem; border: 0; border-radius: .7rem; vertical-align: top; background-color: rgba(0, 0, 0, .15); transform: rotate(-45deg); &:hover { background-color: rgba(0, 0, 0, .35); } &::before, &::after { content: ""; display: block; position: absolute; top: 50%; left: 50%; background-color: #fff; } &::before { width: .8rem; height: .2rem; margin-left: -.4rem; margin-top: -.1rem; } &::after { width: .2rem; height: .8rem; margin-left: -.1rem; margin-top: -.4rem; } } // TODO: Button with icons // TODO: Button groups }