form.generic fieldset {
	clear: both;
	margin: 1em;
}

form.generic div.field {
	height: 40px;
	line-height: 40px;
}
form.generic div.field.expand {
	height: auto;
}

/*form.generic p {
	width: 55%;
	display: inline-block;
	text-indent: 2em;
}*/

form.generic label {
	float: left;
	clear: left;
	width: 20%;
	height: 40px;
	line-height: 40px;
	margin-right: 0.5em;
	
	text-align: right;
	font-size: 80%;
	font-weight: bold;
}

form.generic label.double {
	height: 35px;
	line-height: 18px;
	padding-top: 5px;
}


form.generic label.optional, form.generic .field.optional label {
	font-weight: normal;
}

form.generic label.inline {
	width: auto !important;
	float: none;
	clear: none;
	font-weight: normal;
}

form.generic label.block {
	width: auto !important;
	height: auto !important;
	float: none;
	clear: none;
	font-weight: normal;
	display: block;
	text-align: left;
	line-height: 2em;
}

form.generic input.text {
	margin: 5px;
	width: 35%;
	height: 24px;
	line-height: 24px;
	font-size: 18px;
	padding: 0 5px;
}

form.generic select {
	margin: 5px;
	width: 35%;
	height: 30px;
	line-height: 25px;
	font-size: 18px;
	padding: 0 5px;
}

form.generic textarea {
	margin: 5px;
	width: 35%;
	height: 5em;
	font-size: 14px;
	padding: 5px;
}

form.generic span.optional, form.generic span.error, form.generic span.required {
	height: 35px;
	line-height: 35px;
	font-size: 90%;
	margin-left: 1em;
}

form.generic span.error {
	color: red;
	font-weight: bold;
	font-size: 80%;
	line-height: 40px;
}

form.generic span.error.double {
	display: block;
	line-height: 12px;
	padding-top: 8px;
	float: right;
	width: 35%;
	height: 32px;
}

form.generic .field.textarea span.error {
	display: block;
	margin: 0;
}

form.generic span.optional {
	font-style: italic;
	color: #555;
}

form.generic span.required {
	font-style: italic;
	color: #DDD;
}

form.generic div.field.submit {
	height: auto;
}

form.generic input.submit {
	height: 35px;
	line-height: 29px;
	margin: 38px 20% 3px;
	
	font-size: 90%;
	font-weight: bold;
}

form.generic input.submit.inline {
	margin:0;
}

form.generic input.button {
	height: 35px;
	line-height: 29px;
	margin: 3px;
	
	font-size: 90%;
	font-weight: bold;
}

form.generic span.tip {
	height: 25px;
	line-height: 25px;

	font-size: 80%;
	color: #555;
}

form.generic div.optiongrid {
	width: 400px;
	margin-left: 20%;
	padding-left: 5px;
}

form.generic div.optiongrid label {
	width: 150px !important;
	height: 30px;
	line-height: 30px;
	float: none;
	clear: none;
	font-weight: normal;
	float: left;
	text-align: left;
}


form.generic p.hint {
	color:#999;
	font-size:80%;
	line-height: 1em;
	margin-left:20%;
	padding-left: 1em;
	margin-top:0;
	text-indent:0;
	width:70%;
}

form.generic p.hint.error {
	color: #FF0000;
	font-weight: bold;
}

form.generic .field.nolabel p.hint
{
	margin-left: 0;
}

form.generic p.status, p.status {
	background-color: #D9DB56;
	border: 1px solid #757116;
	padding: 1em;
	font-weight: bold;
	width: auto;
	display: block;
	text-indent: 0;
}

form.generic p.status.invalid, p.status.invalid {
	background-color: #FF7373;
	border-color: #A60000;
}

.field.invalid input.text, input.text.invalid {
	border: 1px solid #F00;
}

.field.invalid textarea, textarea.invalid {
	border: 1px solid #F00;
}

form.generic ul.errors {
	color: #F00;
}
