static/css/impala/buttons.less (302 lines of code) (raw):

@import 'lib'; .button, button, input[type=submit] { position: relative; padding: 6px 10px 7px; text-align: center; text-decoration: none; color: #fff; cursor: pointer; background: #5784BF; .gradient-two-color(#669BE1, #5784BF); text-shadow: 0 1px 0 rgba(0,0,0,.5); .border-radius(6px); .box-shadow(0 1px rgba(0, 0, 0, 0.1), 0 -2px rgba(0, 0, 0, 0.1) inset); border: 0; } button.good, .button.good, .button.add { // Green .gradient-two-color(@button-green-light, @button-green-dark, @button-green-dark); } button.bad, .button.bad, .button.developer, .button.scary { // Red .gradient-two-color(@button-red-light, @button-red-dark, @button-red-dark); } .button { display: inline-block; &.prominent { padding: 8px 16px 12px; font-size: 16px; .box-shadow(0 3px rgba(0, 0, 0, 0.1), 0 -4px rgba(0, 0, 0, 0.1) inset); } &.add { // Green span { padding-left: 16px; background: url(../../img/impala/button-icons.png) no-repeat 0 3px; } &.prominent { span { padding-left: 24px; .sprite-pos(3, 64, 3px); } &.warning, &.caution { span { .sprite-pos(5, 64, 3px); } } &.disabled, &.concealed, &.caution.concealed { span { .sprite-pos(4, 64, 3px); } } } &.warning, &.caution { background: url(../../img/impala/warning-bg.png); color: #333; text-shadow: 0 -1px 0 rgba(255,255,255,.5); top: 0; span { .sprite-pos(2, 64, 3px); } } &.disabled, &.concealed, &.caution.concealed { top: 0; span { .sprite-pos(1, 64, 3px); } } } &.paypal { .gradient-two-color(#F8EAC4, #EEC546); color: rgb(51, 70, 118); text-shadow: 1px 1px #EDE8BF; font-style: italic; font-family: Verdana, @sans-stack; background-color: #EEC546; small { font-size: 0.7em; } em { color: rgb(90, 120, 168); } &.disabled em { color: #919497; } } &.contribute { // Blue &.prominent b { background: url(../../img/impala/button-icons.png) no-repeat; padding-left: 24px; margin-left: -4px; .sprite-pos(7, 64, 4px); } } &.developer, &.scary { // Red span { margin-left: -4px; padding-left: 24px; background: url(../../img/impala/button-icons.png) no-repeat; .sprite-pos(6, 64, 3px); } } &.watch:not(.watching) { // Orange background: #ea0; .gradient-two-color(#ea0, darken(#ea0, 10%)); } &.platform { display: none; } } .html-rtl { .button { &.add { span { background-position: 93px 3px; padding: 0 16px 0 0; } &.prominent { &.disabled, &.concealed, &.caution.concealed { span { .sprite-pos-right(4, 64, 3px); } } } &.warning, &.caution { span { .sprite-pos-right(2, 64, 3px); } } &.disabled, &.concealed, &.caution.concealed { span { .sprite-pos-right(1, 64, 3px); } } } &.contribute.prominent b { margin: 0 -4px 0 0; padding: 0 24px 0 4px; .sprite-pos-right(7, 64, 4px); } &.developer, &.scary { span { margin: 0 -4px 0 0; padding: 0 24px 0 0; } } } } .button:hover, .button:focus, .button:active, .button.selected { text-decoration: none; .box-shadow(0 1px rgba(0, 0, 0, 0.1), 0 -2px rgba(0, 0, 0, 0.1) inset, 0 0 100px rgba(255, 255, 255, 0.2) inset); } // Show install button for Android if not concealed. body.android.addon-details .button.platform.android:not(.concealed) { display: inline-block; } .install.clickHijack a * { pointer-events: none; } .button:active, .button.selected { .box-shadow(0 0px rgba(0, 0, 0, 0.1), 0 -2px rgba(0, 0, 0, 0.1) inset, 0 0 100px rgba(255, 255, 255, 0.2) inset); } .button:active, .button.selected, .button.prominent:active, .button.prominent.selected { top: 2px; &:before { /* `top: 2px` creates a 2px "deadzone" making the link unclickable. This effectively fills the deadzone. See bug 710284. */ content: ""; display: block; height: 2px; position: absolute; top: -2px; left: 0; width: 100%; } } .button.prominent:hover, .button.prominent:focus, .button.prominent:active, .button.prominent.selected { .box-shadow(0 3px rgba(0, 0, 0, 0.1), 0 -4px rgba(0, 0, 0, 0.1) inset, 0 0 100px rgba(255, 255, 255, 0.2) inset); } .button.prominent:active, .button.prominent.selected { .box-shadow(0 1px rgba(0, 0, 0, 0.1), 0 -4px rgba(0, 0, 0, 0.1) inset, 0 0 100px rgba(255, 255, 255, 0.2) inset); } .install-shell { .install { display: inline-block; } .warning { font-size: 12px; } .extra { margin-top: 8px; } .notavail, .notsupported { color: @error-red; display: block; font-size: 11px; margin: 0 0 4px; } .acr-incompat, .notsupported { color: @note-gray; } .notsupported span:before { content: "\0B7"; padding: 0 4px; } } .listing .notsupported span { display: block; margin-top: 4px; &:before { content: ""; } } .versions .notsupported { display: none; } .listing-grid { .hovercard { .install-button { margin: 0; } .button.disabled, .button.concealed { display: none !important; } .addon-summary { line-height: 16px; } } } .mac .button.mac, .linux .button.linux, .other .button.bsd, .other .button.solaris, .windows .button.windows { display: inherit; } .thunderbird .listing-grid .install-shell { display: none; } button[disabled], .button.disabled, .button.concealed, .button.caution.concealed { background: #c1c5ca; .gradient-two-color(#d1d4d7, #c1c5ca); color: #919497; .box-shadow(0 3px rgba(0, 0, 0, 0.05), 0 -4px rgba(0, 0, 0, 0.05) inset); text-shadow: 0 1px 0 rgba(255,255,255,.5); } button[disabled], .button.disabled, .button.concealed, .button.caution.concealed { cursor: default; pointer-events: none; } .button.CTA { min-width: 80px; padding: 25px; border: 0; border-radius: 6px; border-radius: .25em; box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2), inset 0 -1px 0 0 rgba(0, 0, 0, 0.3); cursor: pointer; color: #fff !important; background-color: #43a6e2 !important; background-color: #277ac1 !important; background-color: #81bc2e !important; background-color: #659324 !important; background-image: -webkit-linear-gradient(top, #43a6e2, #277ac1) !important; background-image: linear-gradient(to bottom, #43a6e2, #277ac1) !important; background-image: -webkit-linear-gradient(top, #81bc2e, #659324) !important; background-image: linear-gradient(to bottom, #81bc2e, #659324) !important; background-repeat: repeat-x !important; -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#81bc2e', endColorstr='#659324', GradientType=0)"; -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#43a6e2', endColorstr='#277ac1', GradientType=0)"; text-decoration: none; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); font-family: 'Open Sans', X-LocaleSpecific, sans-serif; -webkit-transition: all linear .25s; transition: all linear .25s; text-align: center; font-size: 25px; font-family: "Open Sans", X-LocaleSpecific, sans-serif; font-weight: normal; /* IE7 and Below */ *display: inline; *zoom: 1; }