/** FORM STYLING **/

/** GENERAL FORM DEFINITIONS **/
form {
	line-height: 1em; }

form ol {
	list-style: none;
	margin: 0;
	padding: 0;}

form ol li {
	zoom: 1;
	-ms-zoom: 1;}

form ol li ol li, form ol li ul li {
	margin-bottom: 0;
	padding: 0 !important;}

form ol li:after, form.horizontal ol:after {
	content: '.';
	height: 0;
	display: block;
	visibility: hidden;
	clear: both;}

form ol li ol li, form ol li ul li {
	margin-bottom: auto;}


/** HORIZONTAL FORM STYLE **/
form.horizontal ol {
	zoom: 1;
	-ms-zoom: 1;}

form.horizontal ol li {
	float: left;}

form.horizontal ol li label {
	display: inline;}


/** VERTICAL FORM STYLE **/
form.vertical li {
	margin-bottom: 1em;}

form.vertical ol li label {
	display: block;
	clear: both;
	float: none;}

form.vertical ol li label.horizontal {
	display: inline;
	clear: none;}

form.vertical ol li ol li label {
	display: inline;}


/** OFFSET FORM STYLE **/
form.offset ol li {
	position: relative;
	padding-left: 15em;}

form.offset ol li label {
	position: absolute;
	left: 0; /* Position the label back to the left */ } 

form.offset ol li ol li, form.offset ol li ul li {
	position: static;
	left: 0;}

form.offset ol li ol li label, form.offset ol li ul li label {
	position: static;
	left: 0;}


/** HELP TEXTS **/
form ol li .help {
	list-style: none;
	padding: 0;
	margin: 0;}

form.vertical ol li .help {
	display: block; 
	clear: both;}


/** FORM ERRORS **/
form ul.error_list {
	display: block;
	list-style: none;
	margin: 1em 0;
	border: 1px solid #F00;
	/*background-color: #FAA;*/
	padding: 10px;
	clear: both;}

form div.success-message {
	border: 1px solid #0A0;
	/*background-color: #AFA;*/
	padding: 10px;}

form div.success-message p {
	margin-bottom: 1em;}

form .error_list li, form .success-message li {
	margin-bottom: 0.5em;
}


/** SPECIFIC FORM ELEMENTS **/
form input.checkbox, form input[type="checkbox"], form input.radio, form input[type="radio"] {
	width: auto;}

form ol ul, form ol ol {
	list-style: none;
	padding-left: 0;
	margin-left: 0;}

form ol ol li label, form ol ul li label {
	display: inline !important;}


/** ADDITIONAL STYLES **/
fieldset {
	padding-top: 1em;
	margin-top: 1.5em;
	border: 0;}

legend {
	font-weight: bold;}
