
form{
	font-family:"Lucida Grande", Tahoma, Arial, sans-serif;
	font-size: 12px;
}
form p {
	width:90%;
	display: block;
	margin:0;
	padding:4px 5px 2px 9px;
	clear:both;
}
form p:after{
	content:"."; 
	display:block;
	height:0; 
	clear:both; 
	visibility:hidden;
}
* html form p{height: 1%;}

/* LABELS */
form label, form p span label.norm {
	line-height:150%;
	padding:6px 0 3px 0;
	border:none;
	color:#222;
	display:block;
	font-size:95%;
	font-weight:bold;	
	margin:0;
	clear:both;
}
label.choice {
	font-size:100%;
	display:block;
	line-height:1.5em;
	margin:-1.65em 0 0 25px;
	padding:.44em 0 .5em 0;
	width:88%;
}
.inline {
	display: inline !important;
	width: auto !important;
}
label.inline {
	padding-right: 15px;
}
input.radio.inline { vertical-align: bottom; }

.conditional {
	display: none;
	padding-left: 0;
	margin-left: 0;
}
p.conditional {
	padding-left: 9px;
}

fieldset {
	background: #f0f0f0;
	border: none;
	border-radius: 15px;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	padding-bottom: 20px;
	margin-bottom: 25px;
}
legend {
	border-radius: 15px;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	background: #f0f0f0;
	padding: 5px 15px;
	font-size: 125%;
	color: #333;
	margin-left: 20px;
	font-weight: bold;
}

form p span {
	margin:0 4px 0 0;
	padding:0 0 8px 0;
	color:#444;
	float: left;
}
form p span label {
	font-weight: normal;
	padding-top: 2px;
	color: #444;
}
form p span.left, form p span.right{
	width:47%;
	margin:0;
}
form p span.full input, 
form p span.full select, 
form p span.left input, 
form p span.right input,
form p span.left select,
form p span.right select{
	width:100%;
}
.left{
	float:left;
}
.right{
	float:right;
}
.clear{
	clear:both !important;
}

/* ----- FIELDS ----- */

input.text, input.file, textarea.textarea, select.select{
	margin:0;
	font-size:100%;
	color:#333;
	width: 50%;
}
input.text, textarea.textarea, select.select{
	border-top:1px solid #7c7c7c;
	border-left:1px solid #c3c3c3;
	border-right:1px solid #c3c3c3;
	border-bottom:1px solid #ddd;
	background:#fff url('fieldbg.gif') repeat-x top;
}
input.text, input.file{
	padding:2px 0 2px 0;
}
input.checkbox, input.radio{
	display:block;
	line-height:1.5em;
	margin:.6em 0 0 3px;
	width:13px;
	height:13px;
}
input.other{
	margin:0 0 0 25px;
}

textarea.textarea{
	font-family:"Lucida Grande", Tahoma, Arial, sans-serif;
}

select.select{
	font-family:"Lucida Grande", Tahoma, Arial, sans-serif;
	margin:1px 0;
	padding:1px 0 0 0;
}
select.select[class]{
	margin:0 0 1px;
	padding:1px 0 1px 0;
}
*:first-child+html select.select[class]{
	margin:1px 0;
}
.safari select.select{
	margin-bottom:1px;
	font-size:120% !important;
}

/* ----- BUTTONS ----- */

.buttons{
	clear:both;
	margin-top:10px;
	text-align: center;
	width: 100%;
	padding: 10px 0;
}
.buttons input{
	font-size:120%;
	margin-right: 5px;
}
.button, .button:hover {
	-moz-border-radius:1em;
	background: #b7b5b5 url('/data/images/button-grad.png') 0 0 repeat-x;
	border:1px solid #808080;
	color:#333;
	cursor:pointer;
	padding:3px 10px;
}
.button:active {
	background:#b7b5b5;
	border-color:#606060;
}


/* ----- SIZES ----- */

.third{
	width:32% !important;
}
.half{
	width:48% !important;
}
.full{
	width:100% !important;
}

input.small, select.small{
	width:25% !important;
}
input.medium, select.medium{
	width:50% !important;
}
input.large, select.large, textarea.textarea{
	width:100%;
}
input.tiny, select.tiny {
	width:20px !important;
}
input.date, input.dob {
	width: 100px !important;
}

textarea.small{
	height:5.5em;
}
textarea.medium{
	height:10em;
}
textarea.large{
	height:20em;
}

.disabled {
	background: #ececec !important;
}

/* ----- ERRORS ----- */

#errorwrap{
	width:99%;
	margin:0 auto;
	background:#fff;
	border:1px dotted red;
	margin-bottom:1em;
	text-align:center;
	padding:7px 0 5px 0;
	font-size:125%;
	color:#DF0000;
}
#errorwrap strong{
	background-color: #FFDFDF;
	padding:2px 3px;
	color:red;
}
form p.error, div.error {
	display:block !important;
	background-color: #FFDFDF !important;
}
form p.error label, form label.error {
	color:#DF0000 !important;
}
div.error {
	padding: 10px;
	border: 1px solid #df0000;
	margin: 10px auto;
}
/* ----- REQUIRED ----- */

form .req{
	float:none;
	color:red !important;
	font-weight:bold;
	margin:0;
}

/* ----- INSTRUCTIONS ----- */

form p.focused {
	background-color:#f9f9db;
}
form p.focused, form p:hover{
	position:relative;
}
form .instruct{
	position:absolute;
	top:0;
	left:0;
	z-index:1000;
	width:42%;
	margin:0 0 0 8px;
	padding:8px 10px 9px 10px;
	border:1px solid #e6e6e6;
	background:#f5f5f5;
	line-height:130%;
	font-size:80%;
	color:#444;
	visibility:hidden;
}
form .instruct small{
	font-size:105%;
}
form li.focused .instruct, form li:hover .instruct{
	left:100%; /* Prevent scrollbars for IE Instruct fix */
	visibility:visible;
}
