
.error { border: 1px solid red; background: #ff9; padding: 0.25em 0.75em; color: #000; }
	div.error { clear: both;  }
	div span.error { clear: both; width: auto !important; display: block; }
	
	
	ol.form li .error { margin-left: 165px; margin-bottom: 2em; }
	ol.form li.textarea .error  { margin-left: 10px; margin-bottom: 2em; }

.message { border: 1px solid #000; background: #aabd6a; padding: 1em; color: #000; }


.formnote { font-style: italic; }

ol.form, 
ul.form { list-style: none; margin: 0; padding: 0;  }

ol.form li, 
ul.form li { clear: both; margin: 0 0 0.4em; padding: 0; }

ol.form li.indent, 
	ul.form li.indent,
	input.indent, 
	p.indent, 
	div.indent { margin-left: 155px; }

ol.form li.submit, 
	ul.form li.submit,
	p.submit, 
	div.submit { margin-top: 1em; padding-left: 155px; }

ol.form li.border_top, 
	ul.form li.border_top { 
		margin-top: 1em;
		padding-top: 1em;
		background: url("../../_img/dots_horizontal.gif") repeat-x top; 
}

ol.form li fieldset { float: left; }
	fieldset.date select	{ margin-right: 1em;  }

label { display: block; float: left; width: 145px; text-align: right; margin: 0 10px 0 0; }
input, select, textarea { font: 0.95em Verdana, Arial, Helvetica, sans-serif; margin-bottom: 0.1em; }
	ol.form select { max-width: 300px; } /* handle very long product names */


/* when you need to mimic the real thing: */
div.label	{ display: inline; float: left; width: 145px; text-align: right; margin: 0 10px 0 0;  }
div.input 	{ display: inline; float: left; }


.checkboxes input { display: inline; float: left; }
.checkboxes label {	
	width: 90%; /* because FF2 doesn't support inline-block */
	text-align: left;
/*	width: auto !important; */
	margin-left: 0.5em;
	margin-bottom: 1em;
}

.checkboxes label.nester {
	width: 145px !important; 
}


.checkboxes fieldset,
.radio fieldset {
	float: left;
}
.checkboxes fieldset label,
.radio fieldset label {
	float: none;
	display: inline;
	width: auto !important;
	margin-left: 0.5em;
	text-align: left;
}


.no_columns { }
	.no_columns label { float: none !important; width: auto; text-align: left; }
	
	.no_columns table td input	{ float: left !important; }
	.no_columns table td label  { float: left !important; }
		


.checkboxes table.inline, 
.radio table.inline {
	display: inline;
}

.radio table.inline label {   }
	.radio table.inline input { margin-bottom: 0; }
.radio label.main	{ 
	float: none; width: auto; text-align: left;
}

ol.form li.textarea label {
	float: none !important;
	width: auto !important;
	text-align: left !important;
}
	ol.form li.textarea textarea {
		width: 98%;
	}


/* Must separate these selectors from CSS 2.1, because combining them gags IE6 */
ol.form textarea,
ul.form textarea,
ol.form li input.text,
ul.form li input.text,
ol.form li input.text,
ul.form li input.text { 
	width: 195px; 
	padding: 0.2em; 
	color: #333;
	border-top: 1px solid #8e8e8e;
	border-right: 1px solid #cecece;
	border-bottom: 1px solid #e4e4e4;
	border-left: 1px solid #cecece;
	/* atomized BG styles to permit selective override in Required if so desired */
	background-image: url("../../_img/form_input_bg.png");
	background-position: right top;
	background-repeat: no-repeat;
	background-color: #fff;
}

input.state { width: 3em !important; }

/* including CSS 2.1 selectors for future-proofing - note fallback to inline CSS classes (below) */
ol.form li input[type=text],
ul.form li input[type=text],
ol.form li input[type=password],
ul.form li input[type=password] { 
	width: 195px; 
	padding: 0.2em; 
	color: #333;
	border-top: 1px solid #8e8e8e;
	border-right: 1px solid #cecece;
	border-bottom: 1px solid #e4e4e4;
	border-left: 1px solid #cecece;
	/* atomized BG styles to permit selective override in Required if so desired */
	background-image: url("../../_img/form_input_bg.png");
	background-position: right top;
	background-repeat: no-repeat;
	background-color: #fff;
}
ol.form li select,
ul.form li select {
	color: #333;
	border-top: 1px solid #8e8e8e;
	border-right: 1px solid #cecece;
	border-bottom: 1px solid #e4e4e4;
	border-left: 1px solid #cecece;

}


ol.form li.required label,
ul.form li.required label {
	font-weight: bold;
}


/* special handling - mainly checkout path */
ol.form li.shipping_option { margin-bottom: 2em; }
ol.form li.shipping_option label {
	width: auto;
	text-align: left;
	font-size: 1.2em;
	color: #808e49;
	text-transform: lowercase;
}

ol.form li .addl_instructions label { color: #808e49; }
ol.form li .addl_instructions textarea { width: 375px; }

div.checkout_payment_info label,
div.checkout_payment_info div.label {
	font-size: 1.2em;
	color: #808e49;
	text-transform: lowercase;
}




/* shopping cart */

table.cart th.quantity input, 
table.cart td.quantity input,
div.coupon_code input.text {	
	padding: 0.2em; 
	color: #333;
	border-top: 1px solid #8e8e8e;
	border-right: 1px solid #cecece;
	border-bottom: 1px solid #e4e4e4;
	border-left: 1px solid #cecece;
	background-image: url("../../_img/form_input_bg.png");
	background-position: right top;
	background-repeat: no-repeat;
	background-color: #fff;
}


/* product list */
input.qty {
	padding: 0.2em; 
	color: #333;
	border-top: 1px solid #8e8e8e;
	border-right: 1px solid #cecece;
	border-bottom: 1px solid #e4e4e4;
	border-left: 1px solid #cecece;
	background-image: url("../../_img/form_input_bg.png");
	background-position: right top;
	background-repeat: no-repeat;
	background-color: #fff;
}
