@charset "utf-8";

.form{
	padding: 15px;
	max-width: 100%;
}

form ul{
	margin:0;
	padding:0;
	list-style-type:none;
	width:100%;
	font-size:100%;
}
form li{
	margin:0;
	padding:4px 5px 2px 9px;
	position:relative;
	clear:both;
}
form li:after, .buttons:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

* html form li, * html .buttons{height: 1%;}
form li, .buttons{display: block;}

form li div, form li span{
	margin:0 4px 0 0;
	padding:0 0 8px 0;
	color:#444;
}
form li span{
	float:left;
}

form li div.left{
	display:inline;
	float:left;
	width:47%;
}
form li div.right{
	display:inline;
	float:right;
	width:47%;
}

/* ----- FIELDS AND LABELS ----- */

label.desc{
	line-height:150%;
	padding:0 0 1px 0;
	border:none;
	color:#222;
	display:block;
	font-size:95%;
	font-weight:bold;
}
label.choice{
	font-size:100%;
	display:block;
	line-height:1.4em;
	margin:-1.55em 0 0 25px;
	padding:4px 0 5px 0;
	color:#222;
	width:90%;
}
form li div label, form li span label{
	margin:0;
	padding-top:3px;
	clear:both;
	font-size:9px;
	line-height:9px;
	color:#444;
	display:block;
}

input.text, input.file, textarea.textarea, select.select{
	margin:0;
	font-size:100%;
	color:#333;
}
input.text, textarea.textarea, .firefox select.select{
	border-top:1px solid #7c7c7c;
	border-left:1px solid #c3c3c3;
	border-right:1px solid #c3c3c3;
	border-bottom:1px solid #ddd;
}
input.text, input.file{
	padding:2px 0 2px 0;
}

input.checkbox, input.radio{
	display:block;
	line-height:1.4em;
	margin:6px 0 0 3px;
	width:13px;
	height:13px;
}
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;
	padding:1px 0 1px 0;
}
*:first-child+html select.select[class]{
	margin:1px 0;
}

/* ----- SIZES ----- */

.third{
	width:32% !important;
}
.half{
	width:48% !important;
}
.full{
	width:100% !important;
}

input.small, select.small{
	width:25%;
}
input.medium, select.medium{
	width:50%;
}
input.large, select.large, textarea.textarea{
	width:100%;
}

textarea.small{
	height:5.5em;
}
textarea.medium{
	height:10em;
}
textarea.large{
	height:20em;
}

/* ----- REQUIRED ----- */

form .req{
	float:none;
	color:red;
	font-weight:bold;
	margin:0;
	font-size: 0.7em;
}

/* ----- LABEL LAYOUT ----- */

.leftLabel li, .rightLabel li, li.leftLabel, li.rightLabel{
	width:74% !important;
	padding-top:9px;
}

.leftLabel .small, .rightLabel .small{
	width:17%;
}
.leftLabel .medium, .rightLabel .medium{
	width:35%;
}
.leftLabel .large, .leftLabel textarea.textarea,
.rightLabel .large, .rightLabel textarea.textarea,
.leftLabel .address, .rightLabel .address{
	width:64%;
}

* html .leftLabel .small, * html .rightLabel .small{
	width:23%;
}
* html .leftLabel .medium, * html .rightLabel .medium{
	width:55%;
}
* html .leftLabel .large, * html .leftLabel textarea.textarea,
* html .rightLabel .large, * html .rightLabel textarea.textarea{
	width:97%;
}

.leftLabel label.desc, .rightLabel label.desc{
	float:left;
	width:30%;
	margin:2px 15px 0 0;
}
.rightLabel label.desc{
	text-align:right;
}
.leftLabel .address, .rightLabel .address{
	float:left;
}

.leftLabel p.instruct, .rightLabel p.instruct{
	width:27%;
	margin-left:5px;
}
.leftLabel .altInstruct .instruct, .rightLabel .altInstruct .instruct{
	margin-left:30% !important;
	padding-left:15px;
	width:65%;
}

.leftLabel .buttons, .rightLabel .buttons{
	margin-left:15px;
}
.leftLabel .buttons input, .rightLabel .buttons input{
	margin-left:30%;
}

/* ----- BUTTONS ----- */

.buttons{
	clear:both;
	margin-top:10px;
}

.buttons a, .buttons button, a.button{
	float:left;margin:0 .7em 0 0;
	text-decoration:none;
	background-color:#f5f5f5;
	border:1px solid #dedede;
	border-right:1px solid #bbb;
	border-bottom:1px solid #BFBFBF;
	padding:5px 10px 6px 10px;
	display:block;
	cursor:pointer;
	font-size:100%;
	line-height:130%;
	color:#333;
	font-weight:bold;
}

.buttons button{
	width:auto;
	overflow:visible;
	font-weight:bold;
	height: auto;
	padding: 10px;
}

.buttons button img, .buttons a img, a.button img{
	margin:0 3px -3px 0 !important;
}

.buttons button:hover, .buttons a:hover, a.button:hover{
	background-color:#dff4ff;
	border:1px solid #A7CEDF;
	color:#336699;
}

.buttons a:active, a.button:active{
	background-color:#6299c5;
	border:1px solid transparent;
	color:#fff;
}

button.positive, a.positive{
	color:#529214;
}

a.positive:hover, button.positive:hover{
	background-color:#E9EFD1;
	border:1px solid #AACF81;
	color:#529214;
}

a.positive:active{
	background-color:#529214;
	border:1px solid transparent;
	color:#fff;
}

a.negative, button.negative{
	color:#d12f19;
}

a.negative:hover, button.negative:hover{
	background:#fbe3e4;
	border:1px solid #EF959B;
	color:#d12f19;
}

a.negative:active{
	background-color:#d12f19;
	border:1px solid transparent;
	color:#fff;
}

.form .opError{
  background-color: #ffd0d0;
}

.form .opOK{
  background-color: #d0ffd1;
}

/*#busy {
visibility: hidden;
}*/

li.yfld {
	min-height: 50px; 
	overflow: visible;
	border: 1px solid #f7da77; 
	background: #fff6bf;
	margin-bottom: 5px;
}

li.bfld {
	border: 1px solid #c2d7ef; 
	background: #dfefff; 
	margin-bottom: 5px;
}

span.req + span.rdesc {
	font-size: 0.7em;
}
