/*
    FORM STYLING
*/

/*--------------------------------------------------------------
    FORM STYLES
--------------------------------------------------------------*/
fieldset {
    clear: both;
    position:relative;
    width: 460px;
    margin: 0 auto; }

legend {
    font-weight: 700;
    margin-bottom: .5em; }

fieldset fieldset {margin: 0; }

fieldset fieldset legend {font-size: 1em; }

.formItem {
    clear: both;
    /*overflow: hidden; removed for help popups */
    padding: 4px 0 5px;
    width: 460px;
    margin: 0 auto; }

label {
    display: block;
    width: auto;
    font-weight: 400;
    text-align: right;
    float: left;
    padding: 4px 35px 0 0;
    position: relative;
    width: 140px;
    cursor: pointer; }


/* TEXT INPUT AND TEXT AREAS */
.formText input {
    width: 270px;
    padding: 10px 5px; }

.formTextarea textarea {padding: 0; }

.formText input,
.formTextarea textarea {
    vertical-align: top;
    font-family: Arial, sans-serif; }


/* RADIO AND CHECKBOXES INPUT */
.formRadio p {margin-bottom: .25em; }

.formRadio label,
.formCheckbox label {
    margin: 0 0 2px;
    position: relative;
    width:auto;
    text-align: left;
    padding: 5px 0 5px 20px;
    float: none; }

.formCheckbox {padding: 5px 0; }

.formCheckbox label {font-weight: 400; }

.formRadio input,
.formCheckbox input {
    margin: 0 7px 0 0;
    padding: 0;
    position: absolute;
    vertical-align: middle;
    left: 0;
    width: auto; }

.formCheckbox label {
    margin: 0;
    padding: 10px 0 10px 40px; }

.formCheckbox input {margin: 8px 7px 0 12px; }


/* SELECT INPUT */
.formSelect select {float: left; width: 200px; }


/* FORM CONTROLS
--------------------------------------------------------------*/
.formControls {
    margin: 0 0 1em 130px;
    padding: 0;
    overflow: hidden; }

.formControls .submit {float: left; }


/* FORM MESSAGES (comments)
--------------------------------------------------------------*/
.formMessage {
    border-style: solid;
    border-width: 1px;
    margin-bottom: 15px; }

.formMessage p {margin: 10px; }


/* FORM ERROR STYLING
--------------------------------------------------------------*/
.fieldRequired {
    display: inline-block;
    width: 14px;
    height: 14px;
    text-indent: 999em;
    background-position: 0 0;
    background-repeat: no-repeat;
    overflow:hidden; }

label .fieldRequired {
    position: absolute;
    top: 4px;
    right: 5px;
    display: block; }

.formCheckbox .fieldRequired, .formRadio .fieldRequired {
    position: static;
    display: inline-block;
    margin: 0 0 0 5px; }

.formCheckbox .formError, .formRadio .formError {margin-left: 0; }

.formErrorSummary {
    border-width: 3px;
    border-style: solid;
    padding: 15px; }

.formErrorSummary p {
    margin: 0;
    font-size: 1.5em; }

.formErrorSummary li {
    background: none;
    padding: 0; }

.formErrorSummary ol {margin: 5px 0 10px 30px; }
