/** 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 ol li {
	zoom: 1;
	-ms-zoom: 1;}

form.vertical ol li label {
	display: inline;
	clear: right;
	float: left;}

form.vertical ol li input,
form.vertical ol li select {
	display: block;
	clear: left;}

form.vertical ol li input.checkbox,
form.vertical ol li input.radio {
	clear: none;
	float: left;}

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;
	padding: 0;
	margin: 0;
	clear: both;}


/** 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;
	float: none !important;}
