/** this should only contain XUL dialog and document window widget defaults. Defaults for widgets of
    a particular application should be in that application's style sheet.
	For example style definitions for navigator can be found in navigator.css

   THIS FILE IS LOCKED DOWN.  YOU ARE NOT ALLOWED TO MODIFY IT WITHOUT FIRST HAVING YOUR
   CHANGES REVIEWED BY hyatt@netscape.com.
**/

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */
@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */
@namespace xbl url("http://www.mozilla.org/xbl"); /* namespace for XBL elements */

* {
  -moz-user-focus: ignore;
  display: -moz-box;
}

/* hide the content, but don't destroy the frames.  Make sure this
comes before any rules involving "hidden"  */
*[collapsed="true"], *[moz-collapsed="true"] {
  visibility: collapse;
}

/* The rule for hidden comes AFTER the rule for collapsed.  That way if
both are specified on an element, the hidden rule wins. */
/* hide the content and destroy the frame */
*[hidden="true"] {
  display: none;
}

/* ::::::::::
   :: Rules for 'hiding' portions of the chrome for special
   :: kinds of windows (not JUST browser windows) with toolbars
   ::::: */

window[chromehidden~="menubar"] .chromeclass-menubar,
window[chromehidden~="directories"] .chromeclass-directories,
window[chromehidden~="status"] .chromeclass-status,
window[chromehidden~="extrachrome"] .chromeclass-extrachrome,
window[chromehidden~="location"] .chromeclass-location,
window[chromehidden~="location"][chromehidden~="toolbar"] .chromeclass-toolbar,
window[chromehidden~="toolbar"] .chromeclass-toolbar-additional
{
  display: none;
}

/****** elements that have no visual representation ******/

script, data,
xbl|children,
commands, commandset, command,
broadcasterset, broadcaster, observes,
keyset, key, toolbarpalette, toolbarset,
template, rule, conditions, action, 
bindings, binding, content, member, triple,
treechildren, treeitem, treeseparator, treerow, treecell {
  display: none;
}

/********** focus rules **********/

button,
checkbox,
colorpicker[type="button"],
menulist,
radiogroup,
tree,
browser,
editor,
iframe {
  -moz-user-focus: normal;
}

menulist[editable] {
  -moz-user-focus: ignore;
}

treecol,
treerows,
radio {
  -moz-user-focus: none;
}

/******** window & page ******/

window, 
page {
  overflow: -moz-hidden-unscrollable;
  -moz-box-orient: vertical;
}

/******** box *******/

vbox {
  -moz-box-orient: vertical;
}

bbox {
  -moz-box-align: baseline;
}

/********** button **********/

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

button[type="menu"] {
  -moz-binding: url("chrome://global/content/bindings/button.xml#menu");
}

button[type="menu-button"] {
  -moz-binding: url("chrome://global/content/bindings/button.xml#menu-button");
}

/********** toolbarbutton **********/

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

toolbarbutton[type="menu"] {
  -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu");
}

toolbarbutton[orient] {
  -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu-orient");
}

toolbarbutton[type="menu-button"] {
  -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu-button");
}

dropmarker[type="menu-button"] {
  -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#dropmarker");
}

/******** browser, editor, iframe ********/

browser,
editor,
iframe {
  display: inline;
}

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

browsermessage {
  -moz-binding: url("chrome://global/content/bindings/browser.xml#browsermessage"); 
}

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

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

iframe {
  -moz-binding: url("chrome://global/content/bindings/general.xml#iframe");
}

/********** image **********/

image {
  -moz-binding: url("chrome://global/content/bindings/general.xml#image");
}

/********** checkbox **********/

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

/********** radio **********/

radiogroup {
  -moz-binding: url("chrome://global/content/bindings/radio.xml#radiogroup");
  -moz-box-orient: vertical;
}

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

/******** groupbox *********/

groupbox {
  -moz-binding: url("chrome://global/content/bindings/groupbox.xml#groupbox");
  display: -moz-groupbox;
}

caption {
  -moz-binding: url("chrome://global/content/bindings/groupbox.xml#caption");
}

.groupbox-body {
  -moz-box-pack: inherit;
  -moz-box-align: inherit;
  -moz-box-orient: vertical;
}

/******* toolbar *******/

toolbox { 
  -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbox");
  -moz-box-orient: vertical;
}
  
toolbar {
  -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar");
}

#ifdef XP_MACOSX
toolbar[type="menubar"] {
  min-height: 0 !important;
  border: 0 !important;
}
#endif

toolbarseparator {
  -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration");
}

toolbarspacer {
  -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration");
  display: inline;
}

toolbarspring {
  -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration");
  -moz-box-flex: 1000;
  display: inline;
}

toolbarpaletteitem {
  -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbarpaletteitem");
}

toolbarpaletteitem[place="palette"] {
  -moz-box-orient: vertical;
  -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbarpaletteitem-palette");
}

/********* menubar ***********/

menubar {
  -moz-binding: url("chrome://global/content/bindings/toolbar.xml#menubar");
}

/********* menu ***********/

menubar > menu {
  -moz-binding: url("chrome://global/content/bindings/menu.xml#menu-menubar");
}

menubar > menu.menu-iconic {
  -moz-binding: url("chrome://global/content/bindings/menu.xml#menu-menubar-iconic");
}

menu {
  -moz-binding: url("chrome://global/content/bindings/menu.xml#menu");
}
  
menu.menu-iconic {
  -moz-binding: url("chrome://global/content/bindings/menu.xml#menu-iconic");
}

/********* menuitem ***********/

menuitem {
  -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem");
}

menuitem.menuitem-iconic {
  -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic");
}

menuitem[type="checkbox"],
menuitem[type="radio"] {
  -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic");
}

menuitem.menuitem-non-iconic {
  -moz-binding: url("chrome://global/content/bindings/menu.xml#menubutton-item");
}

/********* menuseparator ***********/

menuseparator {
  -moz-binding: url("chrome://global/content/bindings/menu.xml#menuseparator");
}

/********* popup & menupopup ***********/

/* <popup> is deprecated.  Only <menupopup> and <tooltip> are still valid. */ 

popup,
menupopup {
  -moz-binding: url("chrome://global/content/bindings/popup.xml#popup");
  -moz-box-orient: vertical;
  display: none;
}

popup,
menupopup,
tooltip {
  z-index: 2147483647; 
}

menupopup[menugenerated="true"],
popup[menugenerated="true"],
tooltip[menugenerated="true"] {
  display: -moz-popup;
}

tooltip {
  -moz-binding: url("chrome://global/content/bindings/popup.xml#tooltip");
  display: -moz-popup;
  margin-top: 21px;
}

#ifdef XP_MACOSX
.statusbar-resizerpanel {
  display: none;
}
#else
window[sizemode="maximized"] statusbarpanel.statusbar-resizerpanel {
  visibility: collapse;
}
#endif

/********** floating popups **********/

/*
titlebar {
  -moz-binding: url("chrome://global/content/bindings/popup.xml#titlebar");  
}  

resizer[resizerdirection="right"] {
  -moz-binding: url("chrome://global/content/bindings/popup.xml#ew-resizer");
}  

resizer[resizerdirection="bottom"] {
  -moz-binding: url("chrome://global/content/bindings/popup.xml#ns-resizer");
}  

resizer[resizerdirection="bottomright"] {
  -moz-binding: url("chrome://global/content/bindings/popup.xml#diag-resizer");  
}  

floatingwindow {
  -moz-binding: url("chrome://global/content/bindings/popup.xml#floater-normal");
  -moz-box-orient: vertical;
  display: none;
  z-index: 2147483647; 
}

floatingwindow[docked="left"] {
  -moz-binding: url("chrome://global/content/bindings/popup.xml#floater-dock-left");
}

button.popupClose {
  -moz-binding: url("chrome://global/content/bindings/popup.xml#close-button") !important;
}  
*/
/******** grid **********/

grid {
  display: -moz-grid;
}

rows, 
columns {
  display: -moz-grid-group;
}

row,
column {
  display: -moz-grid-line;
}

rows {
  -moz-box-orient: vertical;
}

column {
  -moz-box-orient: vertical;
}

/******** listbox **********/

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

listcols, listcol {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listbox-base");
}

listhead {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listhead");
}

listrows {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listrows");
}

listitem {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem");
}

listitem[type="checkbox"] {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-checkbox");
}

listheader {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listheader");
  -moz-box-ordinal-group: 2147483646;
}

listcell {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell");
}

listcell[type="checkbox"] {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-checkbox");
}

.listitem-iconic {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-iconic");
}

listitem[type="checkbox"].listitem-iconic {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-checkbox-iconic");
}

.listcell-iconic {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-iconic");
}

listcell[type="checkbox"].listcell-iconic {
  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-checkbox-iconic");
}

listbox {
  display: -moz-grid;
}

listbox[rows] {
  height: auto;
}

listcols, listhead, listrows, listboxbody {
  display: -moz-grid-group;
}

listcol, listitem, listheaditem {
  display: -moz-grid-line;
}

listbox {
  -moz-user-focus: normal;
  -moz-box-orient: vertical;
  min-width: 0px;
  min-height: 0px;
  width: 200px;
  height: 200px;
}

listhead, listrows, listboxbody {
  -moz-user-focus: none;
}

listhead {
  -moz-box-orient: vertical;
}

listrows {
  -moz-box-orient: vertical;
  -moz-box-flex: 1;
}

listboxbody {
  -moz-box-orient: vertical;
  -moz-box-flex: 1;
  overflow: auto;
  min-height: 0px;
}

listcol {
  -moz-box-orient: vertical;
  min-width: 16px;
}

listcell {
  -moz-box-align: center;
}

/******** tree ******/

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

treecols {
  -moz-binding: url("chrome://global/content/bindings/tree.xml#treecols");
}

treecol {
  -moz-binding: url("chrome://global/content/bindings/tree.xml#treecol");
  -moz-box-ordinal-group: 2147483646;
}

treecol.treecol-image {
  -moz-binding: url("chrome://global/content/bindings/tree.xml#treecol-image");
}

tree > treechildren {
  display: -moz-box;
  -moz-binding: url("chrome://global/content/bindings/tree.xml#treebody");
  -moz-user-focus: none;
  -moz-user-select: none;
  -moz-box-flex: 1;
}

treerows {
  -moz-binding: url("chrome://global/content/bindings/tree.xml#treerows");
}

treecolpicker {
  -moz-binding: url("chrome://global/content/bindings/tree.xml#columnpicker");
}

tree {
  -moz-box-orient: vertical;
  -moz-user-select: none;
  min-width: 0px;
  min-height: 0px;
  width: 10px;
  height: 10px;
}

tree[hidecolumnpicker="true"] > treecols > treecolpicker {
  display: none;
}

treecol {
  min-width: 16px;
}

treecol[hidden="true"] {
  visibility: collapse;
  display: -moz-box;
}

/********** deck & stack *********/

deck {
  display: -moz-deck;
  -moz-binding: url("chrome://global/content/bindings/general.xml#deck");
}

stack, bulletinboard {
  display: -moz-stack;
}

/********** tabbox *********/

tabbox {
  -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabbox");
  -moz-box-orient: vertical;
}

tabs {
  -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabs");
  -moz-box-orient: horizontal;
}

tabs[closebutton="true"] {
  -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabs-closebutton");
}

tab {
  -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tab");
  -moz-box-align: center;
  -moz-box-pack: center;
}

tabpanels {
  -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabpanels");
  display: -moz-deck;
}

/********** progressmeter **********/

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

/********** basic rule for anonymous content that needs to pass box properties through
 ********** to an insertion point parent that holds the real kids **************/

 .box-inherit {
   -moz-box-orient: inherit;
   -moz-box-pack: inherit;
   -moz-box-align: inherit;
   -moz-box-direction: inherit;
}

/********** label **********/

spacer {
  display: inline;
}

description {
  -moz-binding: url("chrome://global/content/bindings/text.xml#text-base");
}

label {
  -moz-binding: url("chrome://global/content/bindings/text.xml#text-label");
}

label.text-link {
  -moz-binding: url("chrome://global/content/bindings/text.xml#text-link");
  -moz-user-focus: normal;
}

label[control] {
  -moz-binding: url("chrome://global/content/bindings/text.xml#label-control");
}

/********** textbox **********/

textbox {
  -moz-binding: url("chrome://global/content/bindings/textbox.xml#textbox");
  -moz-user-select: text;
}

textbox[multiline="true"] {
  -moz-binding: url("chrome://global/content/bindings/textbox.xml#textarea");
}

html|*.textbox-input {
  -moz-appearance: none !important;
  text-align: inherit;
}

html|*.textbox-textarea {
  -moz-appearance: none !important;
}

.textbox-input-box {
  -moz-binding: url("chrome://global/content/bindings/textbox.xml#input-box");
}

textbox[type="timed"] {
  -moz-binding: url("chrome://global/content/bindings/textbox.xml#timed-textbox");
}

/********** autocomplete textbox **********/

/* thunderbird and Nvu don't use the new toolkit's autocomplete widget yet.... */

#ifdef MOZ_THUNDERBIRD
#define AUTOCOMPLETE_OLD_STYLE
#elifdef MOZ_STANDALONE_COMPOSER
#define AUTOCOMPLETE_OLD_STYLE
#endif

#ifdef AUTOCOMPLETE_OLD_STYLE

textbox[type="autocomplete"] {
  -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete");
}

.autocomplete-result-popup {
  -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-result-popup");
}

.autocomplete-history-popup {
  -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-history-popup");
}

.autocomplete-tree {
  -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-tree");
}

.autocomplete-treebody {
  -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-treebody");
}

.autocomplete-treerows {
  -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-treerows");
}

.autocomplete-history-dropmarker {
  -moz-binding: url("chrome://global/content/autocomplete.xml#history-dropmarker");
}

#else

textbox[type="autocomplete"] {
  -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete");
}

popup[type="autocomplete"] {
  -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-result-popup");
  display: -moz-popup !important;
}

.autocomplete-tree {
  -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-tree");
}

.autocomplete-treebody {
  -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-treebody");
}

.autocomplete-treerows {
  -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-treerows");
}

.autocomplete-history-dropmarker {
  display: none;
}

.autocomplete-history-dropmarker[enablehistory="true"] {
  display: -moz-box;
  -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#history-dropmarker");
}

#endif



/* the C++ implementation of widgets is too eager to make popups visible.
   this causes problems (bug 120155 and others), thus this workaround: */
popup[type="autocomplete"][hidden="true"] {
  visibility: hidden;
}

/* The following rule is here to fix bug 96899 (and now 117952).  
   Somehow trees create a situation
   in which a popupset flows itself as if its popup child is directly within it
   instead of the placeholder child that should actually be inside the popupset.
   This is a stopgap measure, and it does not address the real bug.  */
.autocomplete-result-popupset {
  max-width: 0px;
  width: 0 !important;
}

/********** colorpicker **********/

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

colorpicker[type="button"] {
  -moz-binding: url("chrome://global/content/bindings/colorpicker.xml#colorpicker-button");
}

.colorpickertile {
  -moz-binding: url("chrome://global/content/bindings/colorpicker.xml#colorpickertile");
}

/********** menulist **********/

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

menulist[editable] {
  -moz-binding: url("chrome://global/content/bindings/menulist.xml#menulist-editable");
}

html|*.menulist-editable-input {
  -moz-appearance: none !important;
}

menulist > menupopup > menuitem {
  -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic-noaccel");
}

dropmarker[type="menu"] {
  -moz-binding: url("chrome://global/content/bindings/general.xml#dropmarker");
}

/********** splitter **********/

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

grippy {
  -moz-binding: url("chrome://global/content/bindings/splitter.xml#grippy");
}

.tree-splitter {
  width: 0px;
  max-width: 0px;
  -moz-box-ordinal-group: 2147483646;
}

/********** scrollbar **********/

/* Scrollbars are never flipped even if BiDI kicks in. */
scrollbar {
  direction: ltr;
}

thumb 
{
  -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#thumb);
}

scrollbar, scrollbarbutton, slider, thumb {
  -moz-user-select: none;
}

scrollbar[value="hidden"] {
  visibility: hidden;
}

/******** scrollbox ********/

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

arrowscrollbox {
  -moz-binding: url("chrome://global/content/bindings/scrollbox.xml#arrowscrollbox");
}

autorepeatbutton {
  -moz-binding: url("chrome://global/content/bindings/scrollbox.xml#autorepeatbutton");
}

/********** statusbar **********/

statusbar 
{
  -moz-binding: url("chrome://global/content/bindings/general.xml#statusbar");
#ifdef XP_MACOSX
  padding-right: 14px;
#endif
}

statusbarpanel {
  -moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel");
}

.statusbarpanel-iconic {
  -moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel-iconic");
}

.statusbarpanel-iconic-text {
  -moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel-iconic-text");
}

.statusbarpanel-menu-iconic {
  -moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel-menu-iconic");
}

/********** spinbuttons ***********/

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

spinbuttons image.up {
  -moz-binding: url("chrome://global/content/bindings/spinbuttons.xml#upbutton");
}

spinbuttons image.down {
  -moz-binding: url("chrome://global/content/bindings/spinbuttons.xml#downbutton");
}

/********** stringbundle **********/

stringbundleset {
  -moz-binding: url("chrome://global/content/bindings/stringbundle.xml#stringbundleset");
  visibility: collapse;
}

stringbundle {
  -moz-binding: url("chrome://global/content/bindings/stringbundle.xml#stringbundle");
  visibility: collapse;
}

/********** dialog **********/

dialog {
  -moz-binding: url("chrome://global/content/bindings/dialog.xml#dialog");
  -moz-box-orient: vertical;
}

dialogheader {
  -moz-binding: url("chrome://global/content/bindings/dialog.xml#dialogheader");
}

/********* page ************/

page {
  -moz-box-orient: vertical;
}

/********** wizard **********/

wizard {
  -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard");
  -moz-box-orient: vertical;
  width: 40em;
  height: 30em;
}

wizardpage {
  -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizardpage");
  -moz-box-orient: vertical;
  overflow: auto;
}

.wizard-header {
  -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard-header");
}

.wizard-buttons {
  -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard-buttons");
}

/********** expander ********/

expander {
  -moz-binding: url("chrome://global/content/bindings/expander.xml#expander");
  -moz-box-orient: vertical;
}
