fieldset {
    margin-top: 1em;
    position: relative;
    padding: 0 10px;
}
fieldset.first {
    margin-top: 0;
}
fieldset legend {
    position: relative;
    left: -0.85ex;
}
.iField {
    float: left;
    height: 4.25em;
    padding-top: 1ex;
    padding-right: 1ex;
}
.iField label {
    display: block;
}
.iField .help {
    font-size: 85%;
    color: #999999;
}
span.asterisk {
    color: red;
}
.iField span.asterisk {
    display: none;
}
.iField.required span.asterisk {
    display: inline;
}

p.asterisk_legend {
    text-align: right;
    padding-bottom: 0;
    margin-bottom: 0;
}

.iField.checkbox,
.iField.radio {
    height: auto;
    padding-top: 0;
    padding-right: 3ex;
}

.options,
.iField.checkbox input,
.iField.radio input {
    float: left;
}

.options h3, .options h4 {
    clear: left;
}

.checkboxes {
    overflow-y: scroll;
    height: 150px;
    width: 100%;
}

.checkboxes label {
    white-space: pre;
}

.iField.checks,
.iField.area {
    height: auto;
    padding-bottom: 1.4em;
}

.messages.error, .error_messages {
    margin: 1ex 0;
    padding: 1ex;
    border: 1px dotted red;
}
.messages.error, .error_messages,
.iField.error {
    background: #ffcccc;
}
.iField.error .help {
    color: #990000;
}

div.subset {
    float: left;
    width: 100%;
}

.iField.phone.nanp input {
    width: 8em;
}

.hidden {
    display: none;
}
