fieldset {
	padding: 1em;
}

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

/* make the noscript textarea sit below the iframe
*/
fieldset .recaptcha noscript textarea {
    display: block;
}

/* override the iframe's height="" - it seems a bit big
*/
fieldset .recaptcha iframe {
    height: 230px ! important;
}

fieldset .button.label,
fieldset .checkbox.label,
fieldset .contentbutton.label,
fieldset .date.label,
fieldset .file.label,
fieldset .image.label,
fieldset .multi.label,
fieldset .number.label,
fieldset .password.label,
fieldset .radio.label,
fieldset .recaptcha.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;
}

form .form_error_message {
	padding: 0.5em;
	border: 1px solid #ff0000;
	background-color: #ffdddd;
}

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 .date label,
fieldset .file label,
fieldset .image label,
fieldset .multi label,
fieldset .number label,
fieldset .password label,
fieldset .radio label,
fieldset .radiogroup label,
fieldset .recaptcha 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;
	margin-right: 0.5em;
}

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;
}
