/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/* ===== global.css =====================================================
  == Styles that apply everywhere.
  ======================================================================= */

/* all localizable skin settings shall live here */
@import url("chrome://global/locale/intl.css");

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

/* ::::: XBL bindings ::::: */

checkbox {
  -moz-binding: url("chrome://global/content/bindings/checkbox.xml#checkbox-with-spacing");
}

radio {
  -moz-binding: url("chrome://global/skin/globalBindings.xml#radio-with-spacing");
}

menulist > menupopup {
  -moz-binding: url("chrome://global/content/bindings/popup.xml#popup-scrollbars");
}

progressmeter[mode="undetermined"] {
  -moz-binding: url("chrome://global/content/bindings/progressmeter.xml#progressmeter-undetermined");
}

toolbar[type="menubar"]:not([autohide="true"]):not(:-moz-lwtheme):-moz-system-metric(menubar-drag) {
  -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar-drag");
}

/* ::::: root elements ::::: */

window,
page,
dialog,
wizard,
prefwindow {
  -moz-appearance: window;
  background-color: -moz-Dialog;
  color: -moz-DialogText;
  font: message-box;
}

/* deprecated */
window.dialog {
  padding-top: 8px;
  padding-bottom: 10px;
  -moz-padding-start: 8px;
  -moz-padding-end: 10px;
}

/* ::::: alert icons :::::*/

.message-icon {
  list-style-image: url("moz-icon://stock/gtk-dialog-info?size=dialog");
}

.alert-dialog #info\.icon,
.alert-icon {
  list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=dialog");
}

.error-icon {
  list-style-image: url("moz-icon://stock/gtk-dialog-error?size=dialog");
}

.question-icon {
  list-style-image: url("moz-icon://stock/gtk-dialog-question?size=dialog");
}

.authentication-icon {
  list-style-image: url("chrome://global/skin/icons/Authentication.png");
}

/* ::::: iframe ::::: */

iframe {
  border: none;
  width: 100px;
  height: 100px;
  min-width: 10px;
  min-height: 10px;
}

/* ::::: statusbar ::::: */

statusbar {
  -moz-appearance: statusbar;
  border-top: 1px solid ThreeDLightShadow;
  border-left: 1px solid ThreeDShadow;
  border-right: 1px solid ThreeDHighlight;
  border-bottom: 1px solid ThreeDHighlight;
  background-color: -moz-Dialog;
  min-height: 22px;
}

statusbarpanel {
  -moz-appearance: statusbarpanel;
  -moz-box-align: center;
  -moz-box-pack: center;
  border-left: 1px solid ThreeDHighlight;
  border-top: 1px solid ThreeDHighlight;
  border-right: 1px solid ThreeDShadow;
  border-bottom: 1px solid ThreeDShadow;
  padding: 0 4px;
}

.statusbar-resizerpanel {
  -moz-box-align: end;
  -moz-box-pack: end;
  -moz-appearance: resizerpanel;
  padding: 0;
  border: none;
}

.statusbarpanel-iconic,
.statusbarpanel-iconic-text,
.statusbarpanel-menu-iconic {
  padding: 0 1px;
}

/* XXXBlake yeah, shoot me -- these don't belong here.  I'll move them later. */

sidebarheader {
  height: 25px;
  background-color: -moz-Dialog;
}

sidebarheader > label {
  -moz-padding-start: 4px;
}

.toolbar-focustarget {
  -moz-user-focus: ignore !important;
}

toolbar[mode="text"] .toolbarbutton-text {
  padding: 0 !important;
  margin: 3px 5px !important;
}

/* ::::: miscellaneous formatting ::::: */

:root:-moz-lwtheme,
[lwthemefooter="true"],
statusbarpanel:-moz-lwtheme {
  -moz-appearance: none;
}

sidebarheader:-moz-lwtheme {
  background: none;
}

:root:-moz-lwtheme-darktext {
  text-shadow: 0 -0.5px 1.5px white;
}

:root:-moz-lwtheme-brighttext {
  text-shadow: 1px 1px 1.5px black;
}

.inset {
  border: 1px solid ThreeDShadow;
  border-right-color: ThreeDHighlight;
  border-bottom-color: ThreeDHighlight;
  margin: 0 5px 5px;
}
  
.outset {
  border: 1px solid ThreeDShadow;
  border-left-color: ThreeDHighlight;
  border-top-color: ThreeDHighlight;
}

separator:not([orient="vertical"]) {
  height: 1.5em;
}
separator[orient="vertical"] {
  width: 1.5em;
}

separator.thin:not([orient="vertical"]) {
  height: 0.5em;
}  
separator.thin[orient="vertical"] {
  width: 0.5em;
}

separator.groove:not([orient="vertical"]) {
  border-top: 1px solid ThreeDShadow;
  border-bottom: 1px solid ThreeDHighlight;
  height: 0;
  margin-top: 0.4em;
  margin-bottom: 0.4em;
}
separator.groove[orient="vertical"] {
  border-left: 1px solid ThreeDShadow;
  border-right: 1px solid ThreeDHighlight;
  width: 0;
  margin-left: 0.4em;
  margin-right: 0.4em;
}

.small-margin {
  margin: 1px 2px;
}
    
.plain {
  -moz-appearance: none;
  margin: 0 !important;
  border: none;
  padding: 0;
}

description,
label {
  cursor: default;
  margin-top: 1px;
  margin-bottom: 2px;
  -moz-margin-start: 6px;
  -moz-margin-end: 5px;
}

description {
  margin-bottom: 4px;
}

label[disabled="true"] {
  color: GrayText;
}

.tooltip-label {
  margin: 0;
}

.header {
  font-weight: bold;
}

.monospace {
  font-family: monospace;
}

.indent {
  -moz-margin-start: 23px;
}

.box-padded {
  padding: 5px;
}

.spaced {
  margin: 3px 5px 4px;
}

.wizard-box {
  padding: 20px 44px 10px;
}

.text-link {
  color: -moz-nativehyperlinktext;
  border: 1px solid transparent;
  cursor: pointer;
}

.text-link:hover {
  text-decoration: underline;
}
  
.text-link:focus {
  border: 1px dotted -moz-DialogText;
}

/* :::::: notification :::::: */


/* I have no idea why this code doesn't work in notification.css */

notification :-moz-any(.notification-button, .messageCloseButton),
notification[value="translation"] :-moz-any(button, menulist) {
  -moz-appearance: none;
  background: hsla(0,0%,100%,.17);
  background-clip: padding-box;
  border: 1px solid hsla(0,0%,100%,.58);
  border-radius: 5px;
  color: white;
  margin: 0 5px;
  padding: 2px 12px;
  transition-property: color, border, box-shadow, background;
  transition-duration: 200ms;
}

notification[value="translation"] menulist {
  padding-top: 1px !important;
  padding-bottom: 1px !important;
}

notification :-moz-any(.notification-button, .messageCloseButton):not([disabled="true"]):hover,
notification[value="translation"] :-moz-any(button, menulist):not([disabled="true"]):hover {
  background-color: hsla(0,0%,100%,.47);
  text-shadow: 0px 1px hsla(0,0%,0%,.18);
}

notification :-moz-any(.notification-button, .messageCloseButton):not([disabled="true"]):active:hover,
notification[value="translation"] :-moz-any(button, menulist):not([disabled="true"]):active:hover,
notification[value="translation"] :-moz-any(button, menulist)[open="true"],
notification[value="translation"] :-moz-any(button, menulist)[open="true"]:hover,
notification[value="translation"] :-moz-any(button, menulist)[open="true"]:active:hover {
  background-color: hsla(0,0%,0%,.06);
  border-color: hsla(0,0%,0%,.19);
  color: hsla(0,0%,100%,.73);
}

/* Dropmarkers */

notification[value="translation"] menulist > .menulist-dropmarker {
  -moz-appearance: none;
  display: -moz-box;
  -moz-box-align: center;
  background-color: transparent;
  border: none;
  margin: auto;
  list-style-image: url(chrome://symbolic-icons/skin/dropmarker.svg);
  filter: url(chrome://browser/skin/symbolic-icons-colors.svg#white);
}

notification[value="translation"] button[type="menu"] .button-menu-dropmarker {
  -moz-appearance: none !important;
  -moz-margin-start: 10px;
  list-style-image: url(chrome://symbolic-icons/skin/dropmarker.svg);
  filter: url(chrome://browser/skin/symbolic-icons-colors.svg#white);
}

/* :::::: autoscroll popup ::::: */

.autoscroller {
  height: 28px;
  width: 28px;
  border: none;
  margin: -14px;
  padding: 0;
  background-image: url("chrome://global/skin/icons/autoscroll.png");
  background-color: transparent;
  background-position: right top;
  -moz-appearance: none;
}

.autoscroller[scrolldir="NS"] {
  background-position: right center;
}

.autoscroller[scrolldir="EW"] {
  background-position: right bottom;
}

/* :::::: Close button icons ::::: */

.close-icon {
  -moz-appearance: none;
  height: 16px;
  width: 16px;
  background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 16, 16, 0);
  background-position: center center;
  background-repeat: no-repeat;
}

.close-icon:hover {
  background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 32, 16, 16);
}

.close-icon:hover:active {
  background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 48, 16, 32);
}

/* about:addons */
#addons-page .button-link {
  box-shadow: none !important;
}

/* About dialog */
window#aboutDialog[title*="Mozilla Firefox"] #clientBox {
  background: inherit;
  color: -moz-DialogText;
}

/* Fix for some extensions */
/* FIXME */
toolbaritem .toolbarbutton-menubutton-button,
toolbaritem .toolbarbutton-menubutton-button:hover {
  background: transparent !important;
  border-width: 0 !important;
  box-shadow: none !important;
}
