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

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

/* ::::: Variables ::::: */
.panel-arrowcontent {
  --panel-arrowcontent-padding: 10px;
  --panel-arrowcontent-background: -moz-field;
  --panel-arrowcontent-color: -moz-FieldText;
  --panel-arrowcontent-border: 1px solid ThreeDShadow;
}

/* ::::: menupopup ::::: */

menupopup,
panel {
  border: 3px solid transparent;
  -moz-border-top-colors   : ThreeDLightShadow ThreeDHighlight ThreeDFace;
  -moz-border-left-colors  : ThreeDLightShadow ThreeDHighlight ThreeDFace;
  -moz-border-right-colors : ThreeDDarkShadow  ThreeDShadow    ThreeDFace;
  -moz-border-bottom-colors: ThreeDDarkShadow  ThreeDShadow    ThreeDFace;
  padding: 0px;
  min-width: 1px;
  background: Menu;
  color: MenuText;
}

menupopup {
  -moz-appearance: menupopup;
}

menupopup > menu > menupopup {
 /* align submenus */
  -moz-margin-start: -3px;
  margin-top: -3px;
}

panel[type="arrow"] {
  -moz-appearance: none;
  background: transparent;
  border: none;
}

panel[type="arrow"][side="top"],
panel[type="arrow"][side="bottom"] {
  margin-left: -20px;
  margin-right: -20px;
}

panel[type="arrow"][side="left"],
panel[type="arrow"][side="right"] {
  margin-top: -20px;
  margin-bottom: -20px;
}

.panel-arrowcontent {
  padding: var(--panel-arrowcontent-padding);
  color: var(--panel-arrowcontent-color);
  background: var(--panel-arrowcontent-background);
  background-clip: padding-box;
  border: var(--panel-arrowcontent-border);
  margin: 4px;
}

%ifdef XP_WIN
@media (-moz-os-version: windows-xp),
       (-moz-os-version: windows-vista),
       (-moz-os-version: windows-win7) {
%endif
.panel-arrowcontent {
  border-radius: 4px;
}
%ifdef XP_WIN
}
%endif

.panel-arrow[side="top"],
.panel-arrow[side="bottom"] {
  list-style-image: url("chrome://global/skin/arrow/panelarrow-vertical-themed.svg");
  position: relative;
  margin-left: 10px;
  margin-right: 10px;
}

.panel-arrow[side="top"] {
  margin-bottom: -5px;
}

.panel-arrow[side="bottom"] {
  transform: scaleY(-1);
  margin-top: -5px;
}

.panel-arrow[side="left"],
.panel-arrow[side="right"] {
  list-style-image: url("chrome://global/skin/arrow/panelarrow-horizontal-themed.svg");
  position: relative;
  margin-top: 10px;
  margin-bottom: 10px;
}

.panel-arrow[side="left"] {
  margin-right: -5px;
}

.panel-arrow[side="right"] {
  transform: scaleX(-1);
  margin-left: -5px;
}

%ifdef XP_WIN
@media (-moz-windows-default-theme) {
  .panel-arrowcontent {
    --panel-arrowcontent-border: 1px solid hsla(210,4%,10%,.2);
    box-shadow: 0 0 4px hsla(210,4%,10%,.2);
  }

  .panel-arrow[side="top"],
  .panel-arrow[side="bottom"] {
    list-style-image: url("chrome://global/skin/arrow/panelarrow-vertical.svg");
  }

  .panel-arrow[side="left"],
  .panel-arrow[side="right"] {
    list-style-image: url("chrome://global/skin/arrow/panelarrow-horizontal.svg");
  }
}
%endif

/* ::::: tooltip ::::: */

tooltip {
  -moz-appearance: tooltip;
  margin-top: 21px;
  border: 1px solid InfoText;
  padding: 2px 3px;
  max-width: 40em;
  background-color: InfoBackground;
  color: InfoText;
  font: message-box;
}

tooltip[titletip="true"] {
 /* See bug 32157 comment 128
  * margin: -2px 0px 0px -3px;
  */
  max-width: none;
}

/* rules for popups associated with menulists */

menulist > menupopup {
  -moz-appearance: none;
  border-width: 1px;
  -moz-border-top-colors: -moz-FieldText;
  -moz-border-right-colors: -moz-FieldText;
  -moz-border-bottom-colors: -moz-FieldText;
  -moz-border-left-colors: -moz-FieldText;
  padding: 0px;
  min-width: 0px;
  background-color: -moz-Field;
}
