xul|textbox,
xul|editor,
xul|colorpicker,
xul|menulist,
xul|datepicker,
xul|timepicker {
	border: 1px solid silver;
	margin:	1px;
	background-color: #ffffff;
	color: black;
	display: inline-block;
}

xul|textbox,
xul|editor {
	outline: none; /* removes browser native outline when focused */
}

xul|editor {
	height:	200px;
	width:	600px;
}

xul|textbox {
	width:	180px;
}

xul|textbox[type=number] {
	width: 44px;
}

xul|textbox[type=number] xul|textbox::input {
	text-align: right;
}

xul|textbox[type=search] xul|textbox::button {
	background: url(media/textbox_search.png) no-repeat 0px 1px;
}

xul|textbox[multiline=true] {
	height:	60px;
}

xul|textbox::placeholder {
	padding-left:1px;
	font-style:	italic;
}

xul|textbox::input,
xul|colorpicker::input,
xul|menulist::input,
xul|datepicker::input,
xul|timepicker::input {
	background:	transparent;
	vertical-align: top;
	padding:0;
	margin: 1px;
	color: inherit;
	outline: none; /* removes browser native outline when focused */
}

xul|textbox::button,
xul|colorpicker::button,
xul|menulist::button,
xul|datepicker::button,
xul|timepicker::button {
	position:absolute;
	right: 0;
	width:	15px;
	height: 15px;
	margin: 1px;
	font-size: 1px;
	background-repeat: no-repeat;
	background-position: 0px 0px;
}

xul|colorpicker::button:hover,
xul|menulist::button:hover,
xul|datepicker::button:hover {
	background-position: 0px -15px;
}

xul|colorpicker::button:active,
xul|menulist::button:active,
xul|datepicker::button:active {
	background-position: 0px -30px;
}

xul|colorpicker:disabled xul|colorpicker::button,
xul|menulist:disabled xul|menulist::button,
xul|datepicker:disabled xul|datepicker::button {
	background-position: 0px -45px;
}

/* datepicker */
xul|datepicker {
	width:	90px;
}

xul|datepicker::button {
	background-image: url(media/datepicker.gif);
}

/* colopicker */
xul|colorpicker {
	width:	90px;
}

xul|colorpicker::button {
	background-image: url(media/colorpicker.gif);
}

/* menulist */
xul|menulist {
	width:	90px;
}

xul|menulist::button {
	background-image: url(media/menulist.gif);
}

/* timpicker */
xul|timepicker {
	width: 70px;
}

/* scale */
xul|scale {
	display: inline-block;
	box-sizing: content-box;
	margin:	1px;
}

xul|scale::button:active {
	z-index: 1;
}

/* scale: horizontal */
xul|scale[orient=horizontal] {
	height:	19px;
	width:	200px;
	padding-left: 6px;
	padding-right: 7px;
}

xul|scale[orient=horizontal] xul|scale::bar {
	width: 100%;
	height: 19px;
	background: url(media/scale_bar_horizontal.gif) repeat-x center;
}

xul|scale[orient=horizontal] xul|scale::button {
	height:	21px;
	width:	12px;
	margin-left: -5px;
	background: url(media/scale_button_down.gif) no-repeat 0px 0px;
}

xul|scale[orient=horizontal] xul|scale::button:hover {
	background-position: 0px -21px;
}

xul|scale[orient=horizontal] xul|scale::button:active {
	background-position: 0px -42px;
}

xul|scale[orient=horizontal].xul|scale:disabled xul|scale::button {
	background-position: 0px -63px;
}

/* scale: vertical */
xul|scale[orient=vertical] {
	height:	200px;
	width:	19px;
	padding-top: 6px;
	padding-bottom: 7px;
}

xul|scale[orient=vertical] xul|scale::bar {
	width: 19px;
	height: 100%;
	background: url(media/scale_bar_vertical.gif) repeat-y center;
}

xul|scale[orient=vertical] xul|scale::button {
	height:	12px;
	width:	21px;
	margin-top: -5px;
	background: url(media/scale_button_down.gif) no-repeat 0px 0px;
}

xul|scale[orient=vertical] xul|scale::button:hover {
	background-position: 0px -21px;
}

xul|scale[orient=vertical] xul|scale::button:active {
	background-position: 0px -42px;
}

xul|scale[orient=vertical].xul|scale:disabled xul|scale::button {
	background-position: 0px -63px;
}

/* radio / radiogroup */
xul|radiogroup {
	display: inline-block;
	margin: 1px;
}

xul|radio,
xul|checkbox {
	display: inline-block;
	cursor:	default;
}

/* checkbox */
xul|checkbox {
	margin: 1px;
}

xul|radio::label,
xul|checkbox::label {
	margin-left: 20px;
	margin-right: 4px;
	vertical-align:	baseline;
}

xul|radio::input,
xul|checkbox::input {
	float: left;
	height:	16px;
	width:	16px;
	vertical-align:	baseline;
	line-height: 16px;
	margin: 2px;
	background-image: url(media/controls.gif);
	background-repeat: no-repeat;
}

xul|checkbox::input {
	background-position: 0 -32px;
}

xul|checkbox:hover xul|checkbox::input {
	background-position: -16px -32px;
}

xul|checkbox:disabled xul|checkbox::input {
	background-position: -32px -32px;
}

xul|checkbox:checked xul|checkbox::input {
	background-position: 0px -48px;
}

xul|checkbox:hover:checked xul|checkbox::input {
	background-position: -16px -48px;
}

xul|checkbox:disabled:checked xul|checkbox::input {
	background-position: -32px -48px;
}

xul|radio::input {
	background-position: 0 0;
}

xul|radio:hover xul|radio::input {
	background-position: -16px 0;
}

xul|radiogroup:disabled xul|radio::input,
xul|radio:disabled xul|radio::input {
	background-position: -32px 0;
}

xul|radio:selected xul|radio::input {
	background-position: 0px -16px;
}

xul|radio:hover:selected xul|radio::input {
	background-position: -16px -16px;
}

xul|radiogroup:disabled xul|radio:selected xul|radio::input,
xul|radio:disabled:selected xul|radio::input {
	background-position: -32px -16px;
}

/* */
xul|datepicker xul|datepicker-pane,
xul|colorpicker xul|colorpicker-pane {
	position:	absolute;
	display:	block;
	margin-left: 0;
}
xul|datepicker xul|datepicker-pane xul|menupopup::shadow-bottom,
xul|datepicker xul|datepicker-pane xul|menupopup::shadow-right,
xul|colorpicker xul|colorpicker-pane xul|menupopup::shadow-bottom,
xul|colorpicker xul|colorpicker-pane xul|menupopup::shadow-right {
	display: block;
}

xul|colorpicker::gateway,
xul|menulist::gateway,
xul|datepicker::gateway {
	margin-left: -1px;
}

xul|textbox::field,
xul|colorpicker::field,
xul|timepicker::field,
xul|datepicker::field,
xul|menulist::field {
	position:relative;
	padding-right: 17px;
	padding-left:1px;
	height: 17px;
}

xul|textbox::field {
	padding-right: 1px;
}

xul|textbox[type=number] xul|textbox::field,
xul|textbox[type=search] xul|textbox::field {
	padding-right: 19px;
}
xul|textbox[type=number] xul|textbox::input {
	padding-right: 2px;
}

xul|textbox[multiline=true] xul|textbox::field {
	height: 100%;
}

/* states */
xul|textbox:focus,
xul|editor:focus,
xul|colorpicker:focus,
xul|menulist:focus,
xul|datepicker:focus,
xul|timepicker:focus {
	border-color: #7F9DB9;
	border-width: 2px;
	margin:	0;
}

xul|checkbox:focus,
xul|radiogroup:focus,
xul|scale:focus {
	border: dotted 1px #7F9DB9;
	margin: 0;
}

xul|textbox:disabled,
xul|editor:disabled,
xul|colorpicker:disabled,
xul|menulist:disabled,
xul|datepicker:disabled,
xul|timepicker:disabled {
	background-color: rgb(235, 235, 228);
}

xul|textbox:disabled,
xul|editor:disabled,
xul|colorpicker:disabled,
xul|menulist:disabled,
xul|datepicker:disabled,
xul|timepicker:disabled,
xul|checkbox:disabled,
xul|radiogroup:disabled xul|radio,
xul|radio:disabled {
	cursor: default;
	color: #808080;
}