/***************************************************************************************************************************************************************
   CUPH Commons Form 1.1.0
***************************************************************************************************************************************************************/

/** Overall **/
form.fields .hide {
	display: none !important;
}
form.fields ul {
	list-style-type: none;
	margin: 0;
	position: relative;
	width: 100%;
}
form.fields li {
	display: block;
	margin: 0.1em 0;
	padding: 0.4em 0.25em 0.4em 0.75em;
	position: relative;
}

/** All fields **/
form.fields li label {
	display: block;
	padding: 0.3em 0 0.1em 0;
}

/** Top-level fields **/


/** Choices **/
form.fields div.choices {
	border: none;
}
form.fields div.choices div {
	clear: none;
	display: block;
	float: none;
	padding-left: 3em;
}
form.fields div.choices div input {
	float: left;
	height: 1.5em;
	line-height: 1.5em;
	margin-left: -20px;
	vertical-align: middle;
}
form.fields div.choices div label {
	clear: none;
	line-height: 1.25em;
	padding: 0;
}
form.fields li div.limited-choices {
	height: 10em;
	overflow: auto;
	position: relative;
	width: 99%;
}
form.fields li div.limited-choices div {
	margin-right: 10px;
}

form.fields div.choices div div.specify {
	margin: 0.25em 0;
	padding: 0;
}
form.fields div.choices div div.specify input {
	height: auto;
	line-height: auto;
	margin: 0;
}
form.fields div.choices div div.specify div {
	float: left;
	margin: 0;
	margin-right: 2px;
	padding: 0;
}
form.fields div.choices div div.specify div.text {
	margin-top: 1.2em;
}
form.fields div.choices div div.specify div.text-no-labels {
	margin-top: 0.2em;
}
form.fields div.choices div div.specify label {
	padding-bottom: 0.1em;
}

/** Multi-fields **/
form.fields li div {
	float: left;
	margin-right: 2px;
	padding-right: 2px;
}
form.fields li div.modifier {
	margin: 1em 1em 0 1em;
	padding-right: 1em;
	position: relative;
}
form.fields li.hide-labels div.modifier {
	margin-top: 0;
}
form.fields li div.modifier input {
	float: left;
	height: 1.75em;
	margin-right: 0.2em;
	vertical-align: middle;
}
form.fields li div.modifier label {
	clear: none;
	line-height: 1.75em;
	margin-left: 16px; /* approximate size of checkbox is 12px */
	padding: 0;
	vertical-align: middle;
}
form.fields li.hide-labels div.modifier label {
	display: block;
}
form.fields li div.text {
	margin-top: 1.2em;
}
form.fields li.hide-labels div.text {
	margin-top: 0.2em;
}
form.fields li div label {
	clear: both;
}
form.fields li.hide-labels div label {
	display: none;
}
form.fields li .hint {
	clear: both;
	display: block;
	margin: 0.1em 0 0.3em 0;
}

/** Field sizing and positioning **/
form.fields li div.left,
form.fields li div.right {
	width: 49%;
}
form.fields li div.left .medium, form.fields li div.right .medium {
	width: 98%;
}
form.fields li div.left select.medium, form.fields li div.right select.medium {
	width: 100%;
}
form.fields li .left {
	float: left;
}
form.fields li .right {
	float: right;
}
form.fields .third {
	width: 32% !important;
}
form.fields .half {
	width: 48% !important;
}
form.fields .full {
	width: 99% !important;
}
form.fields input.small, form.fields select.small {
	width: 25%;
}
form.fields input.medium, form.fields select.medium {
	width: 50%;
}
form.fields input.large, form.fields select.large, form.fields textarea {
	width: 99%;
}
form.fields textarea.small {
	height: 5.5em;
}
form.fields textarea.medium {
	height: 10em;
}
form.fields textarea.large {
	height: 20em;
}

/** Alignment **/
form.fields ul.align-left li label,
form.fields ul.align-justify li.align-left label {
	float: left;
	width: 25%;
}
form.fields ul.align-left li div label,
form.fields ul.align-justify li.align-left div label,
form.fields ul.align-left li.align-justify label {
	float: none;
	width: auto;
}

/** Buttons **/
form.fields li.buttons {
	clear: both;
	margin: 10px 0 20px 7px;
	padding: 0;
	text-align: center;
}
form.fields li.buttons input {
	cursor: pointer;
	margin-right: 5px;
}

/** Clearfix **/
* html form.fields li, * html form.fields div.choices div, * html form.fields li div.modifier {
	height: 1%;
}
form.fields li, form.fields div.choices div, form.fields li div.modifier {
	zoom: 1;
}
form.fields li:after, form.fields div.choices div:after, form.fields li div.modifier:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

