fieldset {
	padding: 1em;
}

fieldset .button,
fieldset .checkbox,
fieldset .contentbutton,
fieldset .file,
fieldset .image,
fieldset .multi,
fieldset .password,
fieldset .radio,
fieldset .reset,
fieldset .select,
fieldset .submit,
fieldset .text,
fieldset .textarea
{
	display: block;
	clear: left;
	border: 0;
	margin: 1px;
	/* when no label */
	margin-left: 12em;
}

fieldset .button.label,
fieldset .checkbox.label,
fieldset .contentbutton.label,
fieldset .file.label,
fieldset .image.label,
fieldset .multi.label,
fieldset .password.label,
fieldset .radio.label,
fieldset .reset.label,
fieldset .select.label,
fieldset .submit.label,
fieldset .text.label,
fieldset .textarea.label
{
	margin-left: 1px;
}

fieldset .error.label {
	/* border + margin swap values with above, to ensure rows align */
	border: 1px #fff;
	margin: 0;
}

fieldset .error_message {
       display: block;
       color: #ff0000;
}

fieldset .label .error_message {
       /* padding-left eq label width + padding-right */
       padding-left: 12em;
}

fieldset .error input,
fieldset .error textarea,
fieldset .error select {
       background-color: #ffdddd;
}

fieldset .button label,
fieldset .contentbutton label,
fieldset .checkbox label,
fieldset .file label,
fieldset .image label,
fieldset .multi label,
fieldset .password label,
fieldset .radio label,
fieldset .radiogroup label,
fieldset .select label,
fieldset .text label,
fieldset .textarea label
{
	display: inline;
	float: left;
	width: 11em;
	text-align: right;
	padding-right: 1em;
}

fieldset .radiogroup span label {
	/* undo the above style */
	float: none;
	width: auto;
	text-align: left;
	padding-right: 0;
}

fieldset .multi .elements {
	display: block;
	float: left;
}

fieldset .multi .elements label {
	display: block;
	width: auto;
	padding-right: 0.25em;
}

fieldset .multi input,
fieldset .multi select {
	display: block;
	float: left;
	margin-right: 0.5em;
}

fieldset.checkboxgroup,
fieldset.radiogroup
{
	margin: 0;
	margin-left: 12em;
	padding: 0;
	width: auto;
}

fieldset.radiogroup.label {
	border: 0;
	margin-left: 0em;
}

fieldset .comment .comment {
	/* when no label */
	display: block;
	margin-left: 0em;
}

fieldset .label .comment {
	display: block;
	margin-left: 12em;
}

/*** Alternative Layouts ***/

fieldset .notes {
	float: right;
	width: 30%;
	border: 1px dotted;
}

fieldset .multi.vertical input,
fieldset.checkboxgroup.vertical input,
fieldset.radiogroup.vertical input
{
	display: block;
	float: left;
	clear: left;
}

fieldset .multi.vertical select {
	display: block;
	float: left;
	clear: right;
}

fieldset.checkboxgroup.vertical label,
fieldset.radiogroup.vertical label
{
	display: block;
	clear: right;
}

fieldset.radiogroup.vertical .subgroup {
	float: left;
}

fieldset .fullwidth label
{
	display: block;
	float: left;
	width: auto;
	text-align: left;
}

fieldset .fullwidth .error_message {
       padding-left: 0em;
}

fieldset .fullwidth textarea
{
	display: block;
	clear: left;
	width: 30em;
}

fieldset .dojoeditor2 .RichTextEditable { /* Dojo::Editor2 */
	display: inline;
	float: left;
	background-color: #ffc;
	padding-bottom: 0.1em;
}
