form {  /* set width in form, not fieldset (still takes up more room w/ fieldset width */
  margin: 0;
  padding: 0;
}

fieldset{margin:1em 0;border:none;border-top:1px solid #ccc;}

legend{margin:1em 0;padding:0 .5em;color:#036;background:transparent;font-size:13px;font-weight:bold;}

form label { 
	display: block;  /* block float the labels to left column, set a width */
	float: left; 
	width: 150px; 
	padding: 0; 
	margin: 5px 0 0; /* set top margin same as form input - textarea etc. elements */
	text-align: right; 
}

form fieldset label:first-letter {  /* use first-letter pseudo-class to underline accesskey, note that */
	text-decoration:none;    /* Firefox 1.07 WIN and Explorer 5.2 Mac don't support first-letter */
                                    /* pseudo-class on legend elements, but do support it on label elements */
                                    /* you could instead underline first letter on each element and accesskey */
                                    /* each input but doing only legends lessens cognitive load */
						/* changed to label first letter, opera broke after first letter legend */
}

form {
	font-weight:normal;
	margin-top:30px;
	margin-bottom:10px;
	padding:0px 7px;
	color:#000000;
	 /* if you bump up legend font size, not too large or it'll overwrite border on left */
                       /* be careful with padding, it'll shift the nice offset on top of border  */
}

form input, form textarea  {
	/* display: inline; inline display must not be set or will hide submit buttons in IE 5x mac */
	width:auto;      /* set width of form elements to auto-size, otherwise watch for wrap on resize */
	margin:5px 0 0 10px; /* set margin on left of form elements rather than right of
                              label aligns textarea better in IE */
}

.dropdown {margin:0px 0px 0px 0px;}

form input#reset {
	margin-left:0px; /* set margin-left back to zero on reset button (set above) */
}

textarea { overflow: auto; }

form small {
	display: block;
	margin: 0 0 5px 160px; /* instructions/comments left margin set to align w/ right column inputs */
	padding: 1px 3px;
	font-size: 88%;
}

form .required{font-weight:bold;} /* uses class instead of div, more efficient */

form br {
	clear:left; /* setting clear on inputs didn't work consistently, so brs added for degrade */
}