/* 

******* FORMS - Modify as needed ******* 

Constants:
#DEFAULT_FLDSIZE = 17.95em
#HOR_INDENT = 12em
#HOR_INDENT_LVL2 = 12em

*/

form { 
	margin:0; 
	padding:0;
}
	fieldset {
		margin:0;
		border:0;
	}
		fieldset fieldset { margin:0.5em 0 0 0; }
		legend { display:none; }
	
/* areas containing buttons and the buttons/links themselves */

fieldset.actions,
div.actions {
	clear:both;
	margin:0;
	padding:10px;
	overflow:hidden;
}
.actions .submit { 
	float:left; 
}
.actions a.button								{ background-position:0 -96px; }
.actions a.button span 							{ background-position:100% -96px; }

.actions a.cancel,
.actions a.action { 
	position:relative;
	top:6px;
	float:right;
	margin-right:1.25em;
	font-weight:bold;
	text-decoration:none;
}

	
/* labels and fields (in general: grouping a label and a form field)  */

input,
textarea,
select {
	font-size:1em;
	font-family:Arial, sans-serif;
	color:#000;
	vertical-align:middle;
}
select { margin:-0.05em 0 0.25em 0; }
input.text,
input.password,
input.file,
textarea {
	width:20.35em; /* #DEFAULT_FLDSIZE */
}
/* labeled fields */
input.labeled,
textarea.labeled { color:#999; }
/* disabled/readonly fields */
form .readonly,
form .disabled { opacity:0.4; }
	form .readonly  .readonly,
	form .disabled  .disabled { opacity:1; }
select { 
	width:21em; /* #DEFAULT_FLDSIZE + 0.65em */
}
.field_slider select {
	width:auto;
}
	/* option { padding:0.12em 3px; } FF menu...? */
	
div.field {
	position:relative;
	margin:0;
	padding:4px 10px;
}
div.field:after {
	content:".";
	display:block;
	clear:both;
	visibility:hidden;
	height:0;
}
div.divider {
	padding:10px;
	border-bottom:1px solid #fff;
}
div.slider div {
	float:left;
	font-weight:bold;
}

div.slider div label {
	display:inline;
	margin:0;
	font-weight:normal;
}

div.slider .text {
	display:block;
}

	label,
	span.label,
	body .vertical label,
	body .vertical span.label {
		width:auto;
		float:none;
		display:block;
		margin:0 0 0.12em 0;
		font-weight:bold;
	}
	label em,
	span.label em {
		background:none;
		font-style:normal;
		font-weight:normal;
	}
	label strong,
	span.label strong {
		color:#00a5d4;
		font-weight:normal;
	}
		/* reset labels within */
		span.label label,		
		body .vertical span.label label {
			display:inline;
			margin:0;
		}
	.labeled_value label {
		position:absolute;
		left:-3000em;
	}
	
/* form fields/menus of various widths */
/* Note: SELECT is generally about 0.65 ems longer than INPUT/TEXTAREA of the same class */

input.digit { width:1.75em; }
select.digit { width:2.4em; }
input.short { width:3.5em; }
select.short { width:5.15em; }
input.medium,
textarea.medium { width:8.55em; }
select.medium { width:9.2em; }
input.long,
textarea.long { width:15em; }
select.long { width:15.65em; }
input.extended,
textarea.extended { width:30.7em; }
select.extended { width:31.35em; }
input.auto,
textarea.auto,
select.auto { width:auto; }
input.full,
textarea.full { width:98.5%; }
select.full { width:99.85%; }
	
/* radios/checkboxes and lists of them */

input.radio { margin:0 0.25em 0.25em 0; }
input.checkbox { margin:0 0.25em 0.25em 0; }
	
div.field ul.optionlist,
body .vertical div.field ul.optionlist,
body .horizontal div.vertical ul.optionlist {
	margin:0;
	list-style:none;
}
	div.field ul.optionlist li.option {
		position:relative;
		margin:0; 
		padding:0 0 0 1.75em;
	}
		div.field ul.optionlist li.option .radio,
		div.field ul.optionlist li.option .checkbox {
			position:absolute;
			left:0; top:0;
		}
		div.field ul.optionlist li.option p { margin:0; }
		/*  reset labels within */
		div.field ul.optionlist label {
			float:none;
			display:inline;
			width:auto;
			margin:0;
			font-weight:normal;
		}
		
	div.field ul.optionlist li.extended {
	    display:none;    
	}
	
	div.field ul.optionlist.extended li.extended {
	    display:block;
	}
	
/* horizontal optionlist */
div.field ul.horizontal li.option {
	display:inline;
	margin:0;
	padding:0 0.75em 0 0;
}
	body div.field ul.horizontal li.option .radio,
	body div.field ul.horizontal li.option .checkbox { position:static; }

/* horizontal float ptionlist */
div.field ul.horizontal_float li.option {
	display:block;
	float:left;
	width:1em;
	margin:0;
	padding:0 0.75em 0 0;
	text-align:center;
}
	div.field ul.horizontal_float li.option input {
		display:block;
	}
	
	div.field ul.horizontal_float li.option .radio, 
	div.field ul.horizontal_float li.option .checkbox {
		position:static;
		top:auto;
		left:auto;
		margin:0;
	}


/* horizontal form layout variation */

.horizontal label,
.horizontal span.label,
.vertical .horizontal label,
.vertical .horizontal span.label {
	width:12em; /* #HOR_INDENT */
	float:left;
	padding:0 0.75em 0 0;
}
	/* reset labels within */
	.horizontal span.label label,
	.vertical .horizontal span.label label {
		width:auto;
		float:none; 
		padding:0;
		display:inline;
	}
.horizontal div.field ul.optionlist,
fieldset div.horizontal ul.optionlist,
.vertical .horizontal div.field ul.optionlist { 
	margin-left:12.75em; /* #HOR_INDENT + 0.75em */
} 

/* one level deeper (standard fieldsets within optionlists, optionlists within optionlists) */

div.field ul.optionlist fieldset label,
div.field ul.optionlist fieldset span.label {
	width:auto;
	float:none;
	display:block;
	margin:0 0 0.12em 0;
}
	/* reset labels within */
	div.field ul.optionlist fieldset span.label label {
		display:inline;
		margin:0;
	}
body div.field .horizontal .vertical ul.optionlist {
	margin:0 0 0.25em 0;
	list-style:none;
}
	body div.field ul.horizontal li.option .radio,
	body div.field ul.horizontal li.option .checkbox { position:static; }
/* horizontal variation */
div.field ul.optionlist .horizontal label,
div.field ul.optionlist .horizontal span.label {
	width:12em; /* #HOR_INDENT_LVL2 */
	float:left;
	padding:0 0.75em 0 0;
}
	/* reset labels within */
	div.field div.field ul.optionlist label,
	div.field ul.optionlist .horizontal span.label label {
		float:none;
		display:inline;
		width:auto;
		margin:0;
		padding:0;
	}
	
	
	
			
/* comments and explanations */
	
label em {
	/* 'required'/'optional' note */
	color:#999;
	font-style:normal;
}
	
/* confirmation and error notes */		

.error_notification,
.confirmation {
	clear:both;	
	margin:0 0 1em 0; 
	padding:0.5em 10px;
	color:#ff0000;
}
.confirmation { 
	color:#090;
}
form .error_notification,
form .confirmation { margin:0 -5px 1em -5px; } 
	.error_notification strong,
	.confirmation strong { display:block; }
	.error_notification strong {
		color:#ff7800;
	}
	.error_notification label {
		display:inline;
		float:none;
		width:auto;
		margin:0;
		padding:0;
		text-decoration:underline;
		cursor:pointer;
	}
	.error_notification label:hover { color:#000; }
/* next to, or around the form fields */
div.error {
	padding:2px 4px 0 4px;
	background:url("../images/error_bg.gif") #fff000;
	border:1px solid #ffcc00;
	color:#c00;
}	
	div.error em { color:#c00; }
	div.error input,
	div.error select,
	div.error textarea { 
		border-color:#c00; 
		color:#c00;
	}
/* a list of what went wrong next to, or below the form fields */
ul.error_list {
	color:#c00;
	list-style:disc outside;
}



			
/* help icons and popups */

a.help img { 
	margin:-0.225em 0 0 0;
	border:0;
	vertical-align:middle; 
}
.help_content {
	position:absolute;
	left:-3000em;
	width:1px;
}
#help_popuplayer {
	position:absolute;
	left:-3000em;
	width:20em;
	margin:-1px 0 0 20px;
	padding:10px;
	background:#fff;
	border:1px solid #000;
	color:#000;
	font-size:1.2em;
}

/* calendar popups */

a.calendar img { 
	margin:-0.225em 0 0 0;
	border:0;
	vertical-align:middle; 
}
#calendar_popuplayer {
	position:absolute;
	left:-3000em;
	width:20em;
	margin:-1px 0 0 20px;
	padding:10px;
	background:#fff;
	border:1px solid #000;
	color:#000;
	font-size:1.2em;
}

