.button,
button,
input[type=submit] {
  position: relative;
  font: bold 13px/1em "Trebuchet MS", sans-serif;
  padding: 6px 10px 7px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  cursor: pointer;
  background: #5784BF;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#669BE1), to(#5784BF));
  background-image: linear-gradient(#669BE1, #5784BF);
  background-image: -webkit-linear-gradient(#669BE1, #5784BF);
  text-shadow: 0 1px 0 rgba(0, 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;
  -moz-box-shadow: 0 1px rgba(0, 0, 0, 0.1), 0 -2px rgba(0, 0, 0, 0.1) inset;
  -webkit-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 {
  background: #489615;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#84c63c), to(#489615));
  background-image: linear-gradient(#84c63c, #489615);
  background-image: -webkit-linear-gradient(#84c63c, #489615);
}
button.bad,
.button.bad,
.button.developer,
.button.scary {
  background: #bc2b1a;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#f84b4e), to(#bc2b1a));
  background-image: linear-gradient(#f84b4e, #bc2b1a);
  background-image: -webkit-linear-gradient(#f84b4e, #bc2b1a);
}
.button {
  display: inline-block;
}
.button.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;
  -moz-box-shadow: 0 3px rgba(0, 0, 0, 0.1), 0 -4px rgba(0, 0, 0, 0.1) inset;
  -webkit-box-shadow: 0 3px rgba(0, 0, 0, 0.1), 0 -4px rgba(0, 0, 0, 0.1) inset;
}
.button.add span {
  padding-left: 16px;
  background: url(../../img/impala/button-icons.png) no-repeat 0 3px;
}
.button.add.prominent span {
  padding-left: 24px;
  background-position: 0 -189px;
}
.button.add.prominent.warning span,
.button.add.prominent.caution span {
  background-position: 0 -317px;
}
.button.add.prominent.disabled span,
.button.add.prominent.concealed span,
.button.add.prominent.caution.concealed span {
  background-position: 0 -253px;
}
.button.add.warning,
.button.add.caution {
  background: url(../../img/impala/warning-bg.png);
  color: #333;
  text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.5);
  top: 0;
}
.button.add.warning span,
.button.add.caution span {
  background-position: 0 -125px;
}
.button.add.disabled,
.button.add.concealed,
.button.add.caution.concealed {
  top: 0;
}
.button.add.disabled span,
.button.add.concealed span,
.button.add.caution.concealed span {
  background-position: 0 -61px;
}
.button.paypal {
  background-image: -webkit-gradient(linear, left bottom, left top, from(#F8EAC4), to(#EEC546));
  background-image: linear-gradient(#F8EAC4, #EEC546);
  background-image: -webkit-linear-gradient(#F8EAC4, #EEC546);
  color: #334676;
  text-shadow: 1px 1px #EDE8BF;
  font-style: italic;
  font-family: Verdana, "Helvetica Neue", Arial, sans-serif;
  background-color: #EEC546;
}
.button.paypal small {
  font-size: 0.7em;
}
.button.paypal em {
  color: #5a78a8;
}
.button.paypal.disabled em {
  color: #919497;
}
.button.contribute.prominent b {
  background: url(../../img/impala/button-icons.png) no-repeat;
  padding-left: 24px;
  margin-left: -4px;
  background-position: 0 -444px;
}
.button.developer span,
.button.scary span {
  margin-left: -4px;
  padding-left: 24px;
  background: url(../../img/impala/button-icons.png) no-repeat;
  background-position: 0 -381px;
}
.button.watch:not(.watching) {
  background: #ea0;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#ea0), to(#bb8600));
  background-image: linear-gradient(#ea0, #bb8600);
  background-image: -webkit-linear-gradient(#ea0, #bb8600);
}
.button.platform {
  display: none;
}
.html-rtl .button.add span {
  background-position: 93px 3px;
  padding: 0 16px 0 0;
}
.html-rtl .button.add.prominent.disabled span,
.html-rtl .button.add.prominent.concealed span,
.html-rtl .button.add.prominent.caution.concealed span {
  background-position: right -253px;
}
.html-rtl .button.add.warning span,
.html-rtl .button.add.caution span {
  background-position: right -125px;
}
.html-rtl .button.add.disabled span,
.html-rtl .button.add.concealed span,
.html-rtl .button.add.caution.concealed span {
  background-position: right -61px;
}
.html-rtl .button.contribute.prominent b {
  margin: 0 -4px 0 0;
  padding: 0 24px 0 4px;
  background-position: right -444px;
}
.html-rtl .button.developer span,
.html-rtl .button.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;
  -moz-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;
  -webkit-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;
}
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;
  -moz-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;
  -webkit-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;
}
.button:active:before,
.button.selected:before,
.button.prominent:active:before,
.button.prominent.selected: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;
  -moz-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;
  -webkit-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;
  -moz-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;
  -webkit-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;
}
.install-shell .warning {
  font-size: 12px;
}
.install-shell .extra {
  margin-top: 8px;
}
.install-shell .notavail,
.install-shell .notsupported {
  color: #C00000;
  display: block;
  font-size: 11px;
  margin: 0 0 4px;
}
.install-shell .acr-incompat,
.install-shell .notsupported {
  color: #999;
}
.install-shell .notsupported span:before {
  content: "\0B7";
  padding: 0 4px;
}
.listing .notsupported span {
  display: block;
  margin-top: 4px;
}
.listing .notsupported span:before {
  content: "";
}
.versions .notsupported {
  display: none;
}
.listing-grid .hovercard .install-button {
  margin: 0;
}
.listing-grid .hovercard .button.disabled,
.listing-grid .hovercard .button.concealed {
  display: none !important;
}
.listing-grid .hovercard .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;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#d1d4d7), to(#c1c5ca));
  background-image: linear-gradient(#d1d4d7, #c1c5ca);
  background-image: -webkit-linear-gradient(#d1d4d7, #c1c5ca);
  color: #919497;
  box-shadow: 0 3px rgba(0, 0, 0, 0.05), 0 -4px rgba(0, 0, 0, 0.05) inset;
  -moz-box-shadow: 0 3px rgba(0, 0, 0, 0.05), 0 -4px rgba(0, 0, 0, 0.05) inset;
  -webkit-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, 0.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: 0.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 0.25s;
  transition: all linear 0.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;
}
