menubar, menupopup, popup
  {
    background-color      : Menu;
  }

menu, menuitem  
  {
    font                  : menu;
    color                 : MenuText;
    vertical-align        : middle;
  }

menuitem 
  {
    padding               : 0px !important; 
    cursor                : default !important;    
  }

menu[disabled="true"], menuitem[disabled="true"],
menu[menuactive="true"][disabled="true"],
menuitem[menuactive="true"][disabled="true"]
  {
	  color                 : GrayText;
  }

menuitem[default="true"]
  {
    font-weight           : bold;
  }  
  
/* XXX menupopups have to have a color explicitly specified. this is a bug */
menupopup, popup 
  {
    border-left           : 1px solid ThreeDLightShadow;
    border-top            : 1px solid ThreeDLightShadow;
    border-right          : 1px solid ThreeDDarkShadow;
    border-bottom         : 1px solid ThreeDDarkShadow;
  }

.popup-internal-box
  {
    border-left           : 1px solid ThreeDHighlight;
    border-top            : 1px solid ThreeDHighlight;
    border-right          : 1px solid ThreeDShadow;
    border-bottom         : 1px solid ThreeDShadow;
    padding               : 1px;
  }  
  
menupopup > menu,
menupopup > menuitem
  {
    max-width             : 20em; /* should move to content */
    min-width             : 14em; /* should move to content */
    margin                : 0px;
  }

popup > menu,
popup > menuitem
  {
    max-width             : 20em; /* should move to content */
    min-width             : 8em; /* should move to content */
    margin                : 0px;
  }

menuseparator 
  {
    border-top            : 1px solid ThreeDShadow;
    border-bottom         : 1px solid ThreeDHighlight;
    margin                : 2px 0px 2px 0px;
    cursor                : default !important;
  }

menubar > menu 
  {
    padding               : 2px 5px 2px 7px;
    margin                : 0px 0px 1px 0px;
    border                : 1px solid transparent;
  }

menubar > menu[menuactive="true"] 
  {
    border-left           : 1px solid ThreeDHighlight;
    border-top            : 1px solid ThreeDHighlight;
    border-right          : 1px solid ThreeDShadow;
    border-bottom         : 1px solid ThreeDShadow;
  }

menubar > menu[menuactive="true"][open="true"] 
  {
    border-left           : 1px solid ThreeDShadow;
    border-top            : 1px solid ThreeDShadow;
    border-right          : 1px solid ThreeDHighlight;
    border-bottom         : 1px solid ThreeDHighlight;
    padding               : 3px 4px 1px 8px;
  }

menupopup > menu[menuactive="true"],
menupopup > menuitem[menuactive="true"],
popup > menu[menuactive="true"],
popup > menuitem[menuactive="true"]
  {
    background-color      : Highlight;
    color                 : HighlightText;
  }

/** 
 * Atomic sub-parts of standard menus
 **/
.menu-right 
  {
    margin                : 0px 4px 0px 6px;
    width                 : 8px;
    text-align            : center;
    list-style-image      : url("chrome://global/skin/menu-arrow.gif");
  }

.menu-iconic-left 
  {
    color                 : inherit;
    margin                : 0px 4px 0px 3px;
    width                 : 16px;
    text-align            : center;
    list-style-image      : inherit;
  }

.menubar-left 
  {
    color                 : inherit;
    margin                : 0px 2px 0px 0px;
  }

.menu-iconic-text, .menu-iconic-accel, .menu-text, .menu-accel
  {
    color                 : inherit;
  }

.menu-iconic-text
  {
    margin                : 2px 2px 2px 0px;
  }

.menu-text 
  {
    margin                : 2px 2px 2px 23px;
  }

.menu-accel 
  {
    margin                : 2px 14px 2px 6px;
  }

.menu-iconic-accel 
  {
    margin                : 2px 14px 2px 4px;
  }

.menubar-text 
  {
    color                 : inherit;
    margin-right          : 2px;
  }

menuitem[checked="true"] 
  {
    list-style-image      : url("chrome://global/skin/menu-check.gif");
  }

menuitem[checked="true"][menuactive="true"]
  {
  	list-style-image	  : url("chrome://global/skin/menu-check-hover.gif");
  }

menuitem[checked="true"][disabled="true"] 
  {
    list-style-image      : url("chrome://global/skin/menu-check-disabled.gif");
  }

menuitem[checked="true"][type="radio"] 
  {
    list-style-image      : url("chrome://global/skin/menu-radio.gif");
  }

menuitem[checked="true"][type="radio"][disabled="true"] 
  {
    list-style-image      : url("chrome://global/skin/menu-radio-disabled.gif");
  }

menuitem[checked="true"][type="radio"][menuactive="true"] 
  {
    list-style-image      : url("chrome://global/skin/menu-radio-hover.gif");
  }

.menu-right[disabled="true"] 
  {
    list-style-image      : url("chrome://global/skin/menu-arrow-disabled.gif");
  }

.menu-right[menuactive="true"][disabled="true"] 
  {
    list-style-image      : url("chrome://global/skin/menu-arrow-disabled.gif");
  }

.menu-right[menuactive="true"] 
  {
    list-style-image      : url("chrome://global/skin/menu-arrow-hover.gif");
  }

/** Tooltips (tooltip <popup> element)
 *  class="tooltip"
 **/
.tooltip
  {
    border                : 1px solid WindowFrame;
    padding               : 2px;
    max-width             : 40em;
    background-color      : InfoBackground;
    color                 : InfoText;
    font                  : message-box;
  }

.tooltip > .popup-internal-box
  {
  	border                : 0px;
  	padding               : 0px;
  }

#TOOLTIP-tooltipText
  {
    margin                : 0px;
  }
  
/*
 * Autorepeatbutton
 */
.autorepeatbutton-up 
  {
    list-style-image      : url("chrome://global/skin/scroll-up.gif")
  }

.autorepeatbutton-down 
  {
    list-style-image      : url("chrome://global/skin/scroll-down.gif")
  }

autorepeatbutton 
  {
    margin                : 1px 2px 2px 1px;
    border                : 1px solid transparent;
    padding               : 1px;
    height                : 1em;  
    text-align            : center;
    vertical-align        : middle;
  }

autorepeatbutton:hover 
  {
    margin                : 1px;
    border                : 1px inset ThreeDFace;
    padding               : 2px 1px 1px 2px;
  }

