html { behavior:accesskeys; }
 
/* hyperlinks */
a:link { text-decoration:underline; color:blue; cursor:pointer; behavior:hyperlink; }
a:link:hover { color:red; }
a:link:active { text-decoration:none; }
a:link:focus { color:orange; }
a:link:tab-focus { text-decoration:double-underline; }
 
 
/* edit box and numeric input*/
widget[type="text"],
input[type="text"],
input[type="number"],
input[type="decimal"],
input[type="currency"],
input[type="password"]
{ 
	font-family:system;
	color:windowtext;
	padding:3px; 
	height:1em; 
	width:1em; 
	background-image:url(theme:edit-normal); 
	background-repeat:stretch; 
	width: min-intrinsic;
	height: min-intrinsic;
	text-align: left;
	cursor:text;
	overflow:hidden;
	white-space: nowrap;
}
 
widget { color:windowtext; }
 
widget[type="text"],
input[type="text"]
{
	behavior:edit; 
}
 
widget[type="text"]:disabled,
input[type="text"]:disabled,
input[type="number"]:disabled,
input[type="decimal"]:disabled,
input[type="currency"]:disabled,
input[type="password"]:disabled
{ 
	background-image:url(theme:edit-disabled); 
	/*cursor:default;*/
}
 
input[type="hidden"] { display:none; }
 
input[type="password"]
{ 
	behavior:password; 
}
 
 
widget[type="number"],
input[type="number"]
{
	text-align: right;
	behavior:number; 
}
 
widget[type="number"][invalid],
input[type="number"][invalid]
{
	color:red;
}
 
widget[type="number"] > button.minus,
input[type="number"] > button.minus
{
	padding:0;
	transition:none;
	margin: 0 system-border-width system-border-width system-border-width;
	background-image:url(theme:v-spin-minus-normal); 
	background-repeat:stretch; 
}
 
widget[type="number"] > button.minus:hover,
input[type="number"] > button.minus:hover
{
	background-image:url(theme:v-spin-minus-hover); 
}
widget[type="number"] > button.minus:active,
input[type="number"] > button.minus:active
{
	background-image:url(theme:v-spin-minus-pressed); 
}
widget[type="number"] > button.minus:disabled,
input[type="number"] > button.minus:disabled
{
	background-image:url(theme:v-spin-minus-disabled); 
}
 
widget[type="number"] > button.plus,
input[type="number"] > button.plus
{
	padding:0;
	margin: system-border-width system-border-width 0 system-border-width;
	transition:none;
	background-image:url(theme:v-spin-plus-normal); 
	background-repeat:stretch; 
}
 
widget[type="number"] > button.plus:hover,
input[type="number"] > button.plus:hover
{
	background-image:url(theme:v-spin-plus-hover); 
}
 
widget[type="number"] > button.plus:active,
input[type="number"] > button.plus:active
{
	background-image:url(theme:v-spin-plus-pressed); 
}
 
widget[type="number"] > button.plus:disabled,
input[type="number"] > button.plus:disabled
{
	background-image:url(theme:v-spin-plus-disabled); 
}
 
input[type="decimal"]
{ 
	text-align: right;
	behavior:decimal; 
}
 
input[type="currency"]
{ 
	text-align: right;
	behavior:currency; 
}
 
input[type="decimal"][invalid],
input[type="currency"][invalid]
{
	color:red;
}
 
 
/* text button */
 
widget[type="button"], 
input[type="button"], 
button
{ 
    color:windowtext;
	padding:4px 8px; 
	display:inline-block;
	white-space: nowrap;
	behavior:button; 
	background-repeat:stretch; 
	background-image:url(theme:button-normal); 
	cursor:default;
}
 
widget[type="button"][role="default-button"], 
input[type="button"][role="default-button"], 
button[role="default-button"] 
{ 
	background-image:url(theme:button-defaulted); 
}
 
widget[type="button"]:hover, 
input[type="button"]:hover, button:hover
{ 
	background-image:url(theme:button-hover);  
	transition: blend;
}
 
widget[type="button"]:active, 
input[type="button"]:active, button:active
{ 
	background-image:url(theme:button-pressed);  
	padding:5px 7px 3px 9px;
}
 
widget[type="button"]:disabled, 
input[type="button"]:disabled, button[disabled] 
{ 
	background-image:url(theme:button-disabled);
}
widget[type="button"]:tab-focus, 
input[type="button"]:tab-focus, button:tab-focus 
{
  outline:1px dotted invert -4px; /* inside */
}
 
/* radio button */
input[type="radio"]
{ 
	padding:5px; 
	height:1em; 
	width:1em; 
	behavior:radio; 
	background-repeat:no-repeat; 
	background-position:50% 50%;
	background-image:url(theme:radio-normal);  
	cursor:default;
}
input[type="radio"]:hover
{ 
	background-image:url(theme:radio-hover);  
}
input[type="radio"]:active
{ 
	background-image:url(theme:radio-pressed);  
}
input[type="radio"]:disabled
{ 
	background-image:url(theme:radio-disabled);  
}
input[type="radio"]:checked
{ 
	background-image:url(theme:radio-checked-normal);  
}
input[type="radio"]:checked:hover
{ 
	background-image:url(theme:radio-checked-hover);  
}
input[type="radio"]:checked:active
{ 
	background-image:url(theme:radio-checked-pressed);  
}
input[type="radio"]:checked:disabled
{ 
	background-image:url(theme:radio-checked-disabled);  
}
 
input[type="radio"]:tab-focus 
{
  outline:1px dotted invert -3px; /* inside */
}
 
/* checkbox button */
input[type="checkbox"]
{ 
	padding:5px; 
	height:1em; 
	width:1em; 
	behavior:check; 
	background-repeat:no-repeat; 
	background-position:50% 50%;
	background-image:url(theme:check-normal);  
	cursor:default;
}
 
button[type="checkbox"]
{ 
	padding:4px 4px 4px system-small-icon-width; 
	behavior:check; 
	background-repeat:no-repeat; 
	background-position:1px 50%;
	background-image:url(theme:check-normal);  
	text-decoration:underline;
	cursor:pointer;
}
 
input[type="checkbox"]:hover,
button[type="checkbox"]:hover
{ 
	background-image:url(theme:check-hover);  
}
input[type="checkbox"]:active,
button[type="checkbox"]:active
{ 
	background-image:url(theme:check-pressed);  
}
input[type="checkbox"]:disabled,
button[type="checkbox"]:disabled
{ 
	background-image:url(theme:check-disabled);  
}
input[type="checkbox"]:checked,
button[type="checkbox"]:checked
{ 
	background-image:url(theme:check-checked-normal);  
}
input[type="checkbox"]:checked:hover,
button[type="checkbox"]:checked:hover
{ 
	background-image:url(theme:check-checked-hover);  
}
input[type="checkbox"]:checked:active,
button[type="checkbox"]:checked:active
{ 
	background-image:url(theme:check-checked-pressed);  
}
input[type="checkbox"]:checked:disabled,
button[type="checkbox"]:checked:disabled
{ 
	background-image:url(theme:check-checked-disabled);  
}
input[type="checkbox"]:tab-focus,
button[type="checkbox"]:tab-focus
{
  outline:1px dotted invert -3px; /* inside */
}
 
input[type="progress"],
widget[type="progress"]
{
  behavior:progress; 
  background-repeat:stretch; 
  background-image:url(theme:h-progress-back);  
 
  height: 1.2em;
  width: 8em;
  padding: 3px;
  
  foreground-repeat:stretch;  
  foreground-position:0% 50%;
  foreground-image:url(theme:h-progress-chunk);  
}
 
/* select (not dropdown) */
select[type="select"], widget[type="select"]
{ 
	overflow-x:hidden; 
	overflow-y:auto; 
	behavior:select; 
	padding:2px; 
	background-repeat:stretch; 
	background-image:url(theme:edit-normal); 
	width: max-intrinsic;
	height: max-intrinsic;
}
 
select[type="select"]:disabled, widget[type="select"]:disabled
{ 
	overflow:hidden; 
	background-image:url(theme:edit-disabled); 
}
 
 
optgroup > caption 
{ 
	padding:3px 3px; font-weight:bold; 
	color: graytext; 
}
 
option 
{ 
	padding:0px 3px; 
	color: windowtext;
	min-height:1em;
}
 
option:checked 
{ 
	background-color:threedface; color:windowtext;
}
 
widget:focus option:current, 
select:focus option:current 
{ 
	background-color:highlight; color:highlighttext; 
}
 
 
/* simple multiselect (without check boxes) */
 
select[type="select"][multiple=""] option, 
widget[type="select"][multiple=""] option
{
    padding-left:1em; 
	background-color:transparent; color:windowtext;
}
 
select[type="select"][multiple=""] option:checked, 
widget[type="select"][multiple=""] option:checked
{
    background-color:threedface; color:windowtext;
}
select[type="select"][multiple=""]:focus option:current, 
widget[type="select"][multiple=""]:focus option:current
{
    list-style-type:disc;
	display:list-item;
    background-color:highlight; color:highlighttext;
}
 
/* multiselect with check boxes */
 
select[type="select"][multiple="checks"] option, 
widget[type="select"][multiple="checks"] option
{
    padding: 2px 0px 2px system-small-icon-width; 
   	foreground-repeat:no-repeat; 
	foreground-position:4px 50%;
	foreground-image:url(theme:check-normal);  
	background-color:transparent; color:windowtext;
}
 
select[type="select"][multiple="checks"] option:checked, 
widget[type="select"][multiple="checks"] option:checked
{
	foreground-image:url(theme:check-checked-normal);  
	background-color:transparent; color:windowtext;
}
select[type="select"][multiple="checks"]:focus option:current, 
widget[type="select"][multiple="checks"]:focus option:current
{
    background-color:highlight; color:highlighttext; 
}
 
optgroup > option 
{ 
	padding:0px 19px; 
}
 
options
{
	padding-left:32px;
	foreground-repeat: no-repeat;
	foreground-position: 3px 3px;
	min-height:1em;
}
 
options:collapsed {	foreground-image:url(theme:tree-view-glyph-closed); }
options:expanded  {	foreground-image:url(theme:tree-view-glyph-open); }
 
/* all elements in <options> by default are non-visible */
options > *	{ display:none; }
 
/* elements in open options are visible */
options:expanded > * { display:block; }
 
/* options caption element, always visible */
options > :first-child
{
  padding:0 3px;
  display:block;
  margin-left:-16px;
}
options:current > :first-child
{ 
  background-color:threedlight; color:windowtext; 
}
 
widget:focus options:current > :first-child,
select:focus options:current > :first-child
{ 
  background-color:highlight; color:highlighttext; 
}
 
 
/* dropdown combobox */
widget[type="select-dropdown"],
select[type="select-dropdown"]
{	
	overflow:hidden; 
	behavior:dropdown-select;
	padding:0;
	flow:horizontal;  /* caption, button*/
	background-repeat:stretch; 
	background-image:url(theme:edit-normal); 
	width: max-intrinsic;
	height: max-intrinsic;
}
 
widget[type="select-dropdown"]:disabled,
select[type="select-dropdown"]:disabled
{ 
	background-image:url(theme:edit-disabled); 
}
 
/* caption portion of combobox */
widget[type="select-dropdown"] > caption,
select[type="select-dropdown"] > caption
{ 
    padding:1px 3px;
	margin:2px 0px 2px 2px; 
	overflow:hidden; 
	width:100%%; /* everything left from button */
	height:100%%; /* takes full height */
	vertical-align:middle;
	white-space: nowrap;
	/*background-color:window;*/
	color:windowtext; 
}
 
/* caption portion of combobox when select is in focus */
widget[type="select-dropdown"]:focus > caption,
select[type="select-dropdown"]:focus > caption
{ 
	background-color:highlight; color:highlighttext; 
}
 
/* popup select element */
widget[type="select-dropdown"] > select,
select[type="select-dropdown"] > select
{ 
	overflow-x:hidden; 
	overflow-y:auto; 
	padding:2px; 
	display:none; /* invisible normally */
	/* background-repeat:stretch; 
	   background-image:url(theme:edit-normal); 
	*/
    border:1px solid threedshadow;
	background-color: window; 
	behavior:select; 
	width: max-intrinsic;
	height: max-intrinsic;
}
 
/* dropdown button of the combobox */
widget[type="select-dropdown"] > button,
select[type="select-dropdown"] > button
{
	width: system-scrollbar-width;
	margin: system-border-width; /*1px 1px 1px 0px;*/ 
	padding:0; 
	height:100%%;
	background-repeat:stretch; 
	background-image:url(theme:combobox-button-normal);
	transition:none;
}
widget[type="select-dropdown"] > button:hover,
select[type="select-dropdown"] > button:hover
{
	background-image:url(theme:combobox-button-hover);
}
 
widget[type="select-dropdown"] > button:active,
select[type="select-dropdown"] > button:active
{
	background-image:url(theme:combobox-button-pressed);
}
 
widget[type="select-dropdown"] > button:disabled,
select[type="select-dropdown"] > button:disabled
{
	background-image:url(theme:combobox-button-disabled);
}
 
widget[type="select-dropdown"][editable] > caption,
select[type="select-dropdown"][editable] > caption
{ 
	behavior:edit; 
}
 
textarea, htmlarea
{
	width: max-intrinsic;
	height: max-intrinsic;
}
 
textarea, widget[type="textarea"]
{
  padding:3px; 
  background-image:url(theme:edit-normal); 
  background-repeat:stretch; 
  overflow-x:auto; 
  overflow-y:scroll; 
  cursor:text;
  white-space:prewrap;
  font-family: monospace;
  font-size: 10pt;
  behavior:textarea; 
}
 
textarea[wrap="off"]
{
   overflow-x:scroll; 
   overflow-y:scroll; 
   white-space:pre;
}
 
htmlarea, widget[type="htmlarea"]
{
	padding:3px; 
	background-image:url(theme:edit-normal); 
	background-repeat:stretch; 
    overflow-x:auto; 
	overflow-y:scroll; 
	cursor:text;
    behavior:htmlarea; 
}
 
 
textarea:disabled, htmlarea:disabled,
widget[type="textarea"]:disabled, widget[type="htmlarea"]:disabled
{
	background-image:url(theme:edit-disabled); 
    overflow:hidden; 
	cursor:default;
}
 
popup
{ 
    border:1px solid threedshadow;
	background-color: infobackground;
	font-family:system;
	color:infotext;
	padding:1px 2px; 
	display:none; /* invisible normally */
	width: max-intrinsic;
	height: max-intrinsic;
}
 
 
widget[type="hslider"],
input[type="hslider"]
{ 
	padding:2px; 
	height:min-intrinsic; 
	width:100px; 
	background-image:url(theme:h-trackbar-back); 
	background-repeat:stretch; 
	behavior:slider;
}
 
widget[type="hslider"] > .slider,
input[type="hslider"] > .slider
{ 
	foreground-image:url(theme:h-trackbar-thumb-normal); 
	foreground-repeat:stretch; 
}
 
widget[type="hslider"] > .slider:hover,
input[type="hslider"] > .slider:hover
{ 
	foreground-image:url(theme:h-trackbar-thumb-hover); 
}
 
widget[type="hslider"] > .slider:active,
input[type="hslider"] > .slider:active
{ 
	foreground-image:url(theme:h-trackbar-thumb-pressed); 
}
 
widget[type="hslider"]:disabled > .slider,
input[type="hslider"]:disabled > .slider
{ 
	foreground-image:url(theme:h-trackbar-thumb-disabled); 
}
 
widget[type="hslider"]:focus > .slider,
input[type="hslider"]:focus > .slider
{ 
 foreground-image:url(theme:h-trackbar-thumb-focus); 
}
 
widget[type="vslider"],
input[type="vslider"]
{ 
	padding:2px; 
	height:100px;
	width:min-intrinsic; 
	background-image:url(theme:v-trackbar-back); 
	background-repeat:stretch; 
	behavior:slider;
}
 
widget[type="vslider"] > .slider,
input[type="vslider"] > .slider
{ 
	foreground-image:url(theme:v-trackbar-thumb-normal); 
	foreground-repeat:stretch; 
}
 
widget[type="vslider"] > .slider:hover,
input[type="vslider"] > .slider:hover
{ 
	foreground-image:url(theme:v-trackbar-thumb-hover); 
}
 
widget[type="vslider"] > .slider:active,
input[type="vslider"] > .slider:active
{ 
	foreground-image:url(theme:v-trackbar-thumb-pressed); 
}
 
widget[type="vslider"]:disabled > .slider,
input[type="vslider"]:disabled > .slider
{ 
	foreground-image:url(theme:v-trackbar-thumb-disabled); 
}
 
widget[type="vslider"]:focus > .slider,
input[type="vslider"]:focus > .slider
{ 
 foreground-image:url(theme:v-trackbar-thumb-focus); 
}
 
widget[type="hslider"]:tab-focus,
input[type="hslider"]:tab-focus,
widget[type="vslider"]:tab-focus,
input[type="vslider"]:tab-focus
{ 
  outline:1px dotted invert -1px; 
}
 
widget[type="vscrollbar"],
input[type="vscrollbar"]
{
  behavior: scroll-bar;
  width:min-intrinsic;
  height:100%%;
}
 
widget[type="hscrollbar"],
input[type="hscrollbar"]
{
  behavior: scroll-bar;
  width:100%%;
  height:min-intrinsic;
}
 
frame 
{ 
  behavior: frame; 
  width:100%%; 
  height:100%%;
}
frameset 
{ 
  behavior: frame-set; 
  width:100%%; 
  height:100%%;
  border-spacing:3px;
  background-color:threedface;
}
 
 
menu:synthetic  /* builtin popup menu */
{
  font-family: system;
  behavior:menu; /*is a menu*/
  flow: vertical;
  display:none; 
  margin:0;  
  padding:1px;
  max-width: max-intrinsic;
  border:1px solid threedshadow;
  background-color: window;
  color:windowtext;
  margin:0 1px; /* to offset it from parent li */    
}
 
menu:synthetic menu /* secondary popup menu */
{
  max-width: max-intrinsic;
}
 
/* menu item in popup menus */
menu:synthetic li 
{  
  width:*;
  padding-left:24px; /* room for icon */
  padding-right:12px; /* room for the arrow */
  padding-top:4px; 
  padding-bottom:4px; 
  foreground-repeat: no-repeat;
  foreground-position: 2px 50%;
  color:windowtext;
}
 
menu:synthetic li:disabled { color:graytext; foreground-image: none; }
 
/* accesskey label (span) */
menu:synthetic li span.accesskey
{
  display:inline-block;
  margin-left:*; /* spring to attach it to the right */
  padding-left:1em;
  color:threedshadow;
}
 
menu:synthetic li:current span.accesskey
{
  color:#FFD700;
}
 
 
/* menu with subitems (popup) */
menu:synthetic li[popup]
{
  background-image:url(stock:arrow-right); /* that arrow */
  background-repeat: no-repeat;
  background-position: 100% 50%;
}
 
/* current menu item */
menu:synthetic li:current
{ 
  background-color:highlight; 
  color:highlighttext;  
}
 
/* menu separator */
menu:synthetic hr 
{
  margin:2px; 
}