/* 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 ::::: */

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

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

/* ::::: Variables ::::: */
:root {
  --arrowpanel-padding: 10px;
  --arrowpanel-background: -moz-field;
  --arrowpanel-color: -moz-FieldText;
  --arrowpanel-border-color: ThreeDShadow;
}

/* ::::: 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;
  padding-inline-start: 8px;
  padding-inline-end: 10px;
}

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

.message-icon,
.alert-icon,
.error-icon,
.question-icon {
  width: 32px;
  height: 32px;
}

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

.alert-dialog #info\.icon,
.alert-icon {
  list-style-image: url("chrome://global/skin/icons/Warning.png");
}

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

.question-icon {
  list-style-image: url("chrome://global/skin/icons/Question.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;
}

statusbarpanel:not(.statusbar-resizerpanel):-moz-lwtheme {
  -moz-appearance: none;
  border-top-style: none;
  border-bottom-style: none;
  border-inline-start-style: none;
}

.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;
  -moz-appearance: toolbox;
  border-bottom: 1px solid ThreeDShadow;
  border-top: 1px solid ThreeDHighlight;
}

sidebarheader > label {
  padding-inline-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"] {
  -moz-appearance: none;
}

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

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

statusbar:-moz-lwtheme,
sidebarheader:-moz-lwtheme {
  -moz-appearance: none;
  background: none;
  border-style: none;
}

.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;
}

/* separators */
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;
  margin-inline-start: 6px;
  margin-inline-end: 5px;
}

description {
  margin-bottom: 4px;
}

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

label[disabled="true"]:-moz-system-metric(windows-classic) {
  color: ThreeDShadow;
  text-shadow: 1px 1px ThreeDHighlight;
}

.tooltip-label {
  margin: 0;
}

.header {
  font-weight: bold;
}

.monospace {
  font-family: monospace;
}

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

.box-padded {
  padding: 5px;
}

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

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

.text-link {
  color: -moz-nativehyperlinktext;
  cursor: pointer;
}

.text-link:hover {
  text-decoration: underline;
}

.text-link:-moz-focusring {
  outline: 1px dotted;
}

popupnotificationcontent {
  margin-top: .5em;
}

/* :::::: 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;
%ifdef XP_WIN
  background-position: right top;
%endif
  -moz-appearance: none;
}

.autoscroller[scrolldir="NS"] {
%ifdef XP_WIN
  background-position: right center;
%else
  background-position: left center;
%endif
}

.autoscroller[scrolldir="EW"] {
%ifdef XP_WIN
  background-position: right bottom;
%else
  background-position: left bottom;
%endif
}

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

.close-icon {
  list-style-image: url("chrome://global/skin/icons/close.png");
  -moz-image-region: rect(0, 20px, 20px, 0);
}

.close-icon:hover {
  -moz-image-region: rect(0, 40px, 20px, 20px);
}

.close-icon:hover:active {
  -moz-image-region: rect(0, 60px, 20px, 40px);
}

.close-icon > .button-icon,
.close-icon > .button-box > .button-icon,
.close-icon > .toolbarbutton-icon {
  width: 20px;
}

@media (-moz-os-version: windows-xp),
       (-moz-os-version: windows-vista),
       (-moz-os-version: windows-win7) {
  .close-icon {
    -moz-image-region: rect(0, 16px, 16px, 0);
  }

  .close-icon:hover {
    -moz-image-region: rect(0, 32px, 16px, 16px);
  }

  .close-icon:hover:active {
    -moz-image-region: rect(0, 48px, 16px, 32px);
  }

  .close-icon > .button-icon,
  .close-icon > .button-box > .button-icon,
  .close-icon > .toolbarbutton-icon {
    width: 16px;
  }
}

@media (min-resolution: 1.1dppx) {
  .close-icon {
    list-style-image: url("chrome://global/skin/icons/close@2x.png");
    -moz-image-region: rect(0, 40px, 40px, 0);
  }

  .close-icon:hover {
    -moz-image-region: rect(0, 80px, 40px, 40px);
  }

  .close-icon:hover:active {
    -moz-image-region: rect(0, 120px, 40px, 80px);
  }

  @media (-moz-os-version: windows-xp),
         (-moz-os-version: windows-vista),
         (-moz-os-version: windows-win7) {
    .close-icon {
      -moz-image-region: rect(0, 32px, 32px, 0);
    }

    .close-icon:hover {
      -moz-image-region: rect(0, 64px, 32px, 32px);
    }

    .close-icon:hover:active {
      -moz-image-region: rect(0, 96px, 32px, 64px);
    }
  }
}
