fieldset {
    padding: 0em;
    border: none;
}

fieldset .button,
fieldset .checkbox,
fieldset .contentbutton,
fieldset .date,
fieldset .file,
fieldset .image,
fieldset .multi,
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:12.6em;
    font-weight: bold;
}

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

/* override the iframe's height="" - it's 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 .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: 13em;
}

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 .password label,
fieldset .radio label,
fieldset .radiogroup label,
fieldset .checkboxgroup label,
div .checkboxgroup label,
fieldset .recaptcha label,
fieldset .select label,
fieldset .text label,
fieldset .textarea label
{
    display: inline;
    float: left;
    width: 12em;
    text-align: right;
    padding-right: 1em;
}

fieldset .radiogroup span label,
div .checkboxgroup span label,
fieldset .checkboxgroup span label,
fieldset .radiogroup span label {
    /* undo the above style */
    display: block;
    float: left;
    border: 0px solid green;
    width: 90px;
    text-align: left;
    padding-right: 0;
    margin-left: 0px;
}

div .checkboxgroup label {
    font-weight: bold;
}
div .checkboxgroup span {
    display: block;
    float: left;
    width: 200px;
    border: 0px solid green;
}
div .checkboxgroup span span {
    display: block;
    clear: left;
    border: 0px solid yellow;
}

div .checkboxgroup span label {
    float: left;
    border: 0px solid green;
    font-weight: normal;
}

fieldset .multi .elements {
    display: block;
    float: left;
    margin-left: 10px;
}

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: 8em;
    padding: 0;
    width: auto;
    font-weight: bold;
}

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,
div .checkboxgroup .vertical input,
fieldset.radiogroup .vertical input
{
    display: block;
    float: left;
    clear: left;
    margin-right: 0.5em;
    border: 0px solid green;
}
input.vertical
{
    display: block;
    float: left;
    margin-right: 0.5em;
    border: 0px solid green;
}


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

fieldset.checkboxgroup .vertical label,
fieldset.radiogroup .vertical label
{
    display: block;
    clear: right;
    font-weight: normal;
    margin: 0;
}

fieldset.radiogroup .vertical .subgroup,
div.checkboxgroup .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;
}

/* add an asterisk at the end of the label for required fields */
fieldset .constraint_required label:after {
    content: '*';
    color: red;
}

fieldset input {
    width: 250px;
}

fieldset input.submit {
    border:1px solid #808080;
    font-weight:bold;
    margin: 6px .2em;
    padding: 3px 8px 3px 8px;
    width: auto;
}
