
#genform { 
    margin:1em 0em;
    color:#666666;
}

#genform h3 { 
    margin:1em 0px 8px 0px; 
    border-bottom:1px solid #e6e6e6;
    color:#2d2d2d;
    font-size:18px; 
}

#genform h3 small,
#genform h4 small { 
    display:block;
    font-weight:normal;
}


#genform fieldset { 
    margin:27px 0px 27px 0px;
    border-width:0;
    border-top:1px solid #fff;
    border-bottom:1px solid #e6e6e6;
    padding:0px 0px 17px 0px; /*bottom padding assumes a margin of 10px on the last element*/
}

#genform fieldset fieldset { 
    margin:2px 0 0 0;
    border:0;
    padding:0;
}

#genform fieldset fieldset*:first-child { 
    margin-top:auto;
}


#genform h4,
#genform legend { 
    color:#0061c4;
    font-size:14px; 
    font-weight:bold;
}

#genform legend { position:relative; left:-7px; }
#genform div:not(#gtie8) legend { left:0px; }

#t_primary #genform h4 + *,
#t_primary #genform legend + * { 
    margin-top:27px;
}

#t_primary #genform fieldset fieldset legend + *,
#t_primary #genform fieldset.date legend + *  { 
    margin-top:auto;
}

#genform h5,
#genform label,
#genform fieldset.date legend,
#genform fieldset fieldset legend { 
    display:block;
    margin:0px 0px 8px 0px;
    padding:0px; 
    color:#5a5955;
    font-size:14px; 
    font-weight:bold;
}

#genform label small,
#genform span.label small,
#genform .checks h5 small { 
    font-size:0.85em;
    font-weight:normal;
}

#genform div { 
    margin-top:2px;
}

#genform div p { 
    margin:8px 0px;
}

#genform input,#genform select,#genform textarea { 
    vertical-align:top; /* aligned to top in all browsers, harder to align all to bottom */
    margin-bottom:10px;
    outline:none;
    border:1px solid #8e8e8e; 
    border-right-color:#e1e1e1;
    border-bottom-color:#e1e1e1;
    border-radius: 2px;
    box-shadow:inset 1px 0px 1px #8e8e8e;
    padding:6px;
    color:#2d2d2d;
    font-size:14px;
    background-color:rgba(0,0,0,0);
}

#genform .wide,
#genform select,
#genform textarea { width:300px; }
#genform fieldset.date select { width:auto; }
#genform input[type="tel"] { width:100px; }
#genform input[size] { width:auto; } /* is size semantic? What if I want it to match the max length? */

#genform input:focus,
#genform select:focus,
#genform textarea:focus { 
    background-color:#fefbcd;
}

#genform h5 em,
#genform legend em,
#genform label em { 
    display:inline-block;
    width:7px;
    overflow:hidden;
    background:transparent url('/images/chrome/required.gif') 0px 4px no-repeat;
    text-indent:7px;
}

#genform optgroup  { 
    font-style:normal;
}


#genform textarea { 
    height:150px;
    resize:none;
}

#genform .bigtextarea textarea { 
    width:100%;
    resize:vertical;
}

#genform fieldset fieldset.checks { 
    margin:2px 0 0 0;
    border:0;
    padding:0;
}

#genform .checks input[type="checkbox"],
#genform .checks input[type="radio"] { 
    position:absolute;
    -webkit-appearance:none;
       -moz-appearance:none;
    width:35px;
    height:35px;
    margin:0px;
    border:0px;
    padding:0px;

}

#genform .checks ul { margin:0px 0px 10px 0px;padding:0;list-style-type:none; }
#genform .checks li { position: relative; overflow: hidden; margin-top:10px; } /* also update #genform #genform_columns li:first-child if this changes */

#genform .checks label { 
    position: relative;
    vertical-align:top;
    display:inline-block;
    min-height:24px;
    overflow:hidden;
    margin:0px 0px 4px 0px; 
    padding-top:8px;
}


#genform .checks li:first-child { margin-top:0px; }
#genform .checks li input:first-child + label { padding-left:40px; }

#genform .checks #genform_other { clear:both; width:auto; }
#genform .checks #genform_other input[type="text"] { width:150px; }

div:not(#gtie8) .checks li input:first-child { opacity:0; }

div:not(#gtie8) .checks li input:first-child + label:after  { 
    position: absolute;
    top: 0;
    left: -133px;
    content: url('/images/chrome/checks_sprite_diagonal.png');
}

div:not(#gtie8) .checks li input[type=radio]:first-child + label:after  { content: url('/images/chrome/radios_sprite_diagonal.png'); }

/* Checked styles */
div:not(#gtie8) .checks li input[type=radio]:first-child:checked + label:after  { top: -33px; left: -100px; }

div:not(#gtie8) .checks li input[type=checkbox]:first-child:checked + label:after  {  top: -33px; left: -100px; }

div:not(#gtie8) .checks li input[type=radio]:first-child:hover:checked + label:after,
div:not(#gtie8) .checks li input[type=radio]:first-child:focus:checked + label:after,
div:not(#gtie8) .checks li input[type=radio]:first-child:active:checked + label:after  {  top: -99px; left: -34px; }

div:not(#gtie8) .checks li input[type=checkbox]:first-child:hover:checked + label:after,
div:not(#gtie8) .checks li input[type=checkbox]:first-child:focus:checked + label:after,
div:not(#gtie8) .checks li input[type=checkbox]:first-child:active:checked + label:after  {  top: -99px; left: -34px; }


/* Hover, Focus, & Active styles */
div:not(#gtie8) .checks li input[type=radio]:first-child:hover + label:after,
div:not(#gtie8) .checks li input[type=radio]:first-child:focus + label:after,
div:not(#gtie8) .checks li input[type=radio]:first-child:active + label:after  {  top: -66px; left: -67px; }

div:not(#gtie8) .checks li input[type=checkbox]:first-child:hover + label:after,
div:not(#gtie8) .checks li input[type=checkbox]:first-child:focus + label:after,
div:not(#gtie8) .checks li input[type=checkbox]:first-child:active + label:after  {  top: -66px; left: -67px; }


/* disabled */

div:not(#gtie8) .checks li input[type=radio][disabled]:first-child:hover + label:after,
div:not(#gtie8) .checks li input[type=radio][disabled]:first-child:focus + label:after,
div:not(#gtie8) .checks li input[type=radio][disabled]:first-child:active + label:after  { top: 0; left: -133px; }

div:not(#gtie8) .checks li input[type=checkbox][disabled]:first-child:hover + label:after,
div:not(#gtie8) .checks li input[type=checkbox][disabled]:first-child:focus + label:after,
div:not(#gtie8) .checks li input[type=checkbox][disabled]:first-child:active + label:after  { top: 0; left: -133px; }

div:not(#gtie8) .checks li input[type=radio][disabled]:first-child:hover:checked + label:after,
div:not(#gtie8) .checks li input[type=radio][disabled]:first-child:focus:checked + label:after,
div:not(#gtie8) .checks li input[type=radio][disabled]:first-child:active:checked + label:after  { top: -33px; left: -100px; }

div:not(#gtie8) .checks li input[type=checkbox][disabled]:first-child:hover:checked + label:after,
div:not(#gtie8) .checks li input[type=checkbox][disabled]:first-child:focus:checked + label:after,
div:not(#gtie8) .checks li input[type=checkbox][disabled]:first-child:active:checked + label:after {  top: -33px; left: -100px; }


/* inline check boxes */

.checks_inline ul {
    display: inline-block;
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.checks_inline li {
    display: inline-block;
    margin-right: 10px;
}


/* fake label and output for non-writable data display */
#genform .label { 
    display:block;
    margin:0px 0px 8px 0px;
    padding:0px; 
    color:#5a5955;
    font-size:14px; 
    font-weight:bold;
}

#genform .output { 
    display:block;
    vertical-align:top;
    margin-bottom:10px;
    outline:none;
    padding:6px;
    color:#2d2d2d;
    font-size:14px;
    background-color:rgba(0,0,0,0);
}

#genform #recaptcha_widget_div { margin-top:27px; }


/* button styles */
#genform div.actions  { 
    margin-top:27px;
    padding-bottom:17px;
    text-align:right;
}
#genform .formbutton { 
    height: auto;
}

#genform div div.actions  { 

}
#genform .button_reset { 
    display:none;
}

#genform .formbutton  { 
    cursor: pointer;
    margin:1px 0px 0px 0px;
    box-shadow:inset 0 0 1px rgba(255,255,255,0.4);
    border:1px solid #436338;
    border-radius: 3px;
    padding:6px 10px;
    background:#669f01 url('/images/chrome/go_sprite.gif') -20px -1px no-repeat ;
    color:#fff  !important;
    font-weight:bold;
    text-transform:uppercase;
    vertical-align:baseline;
}

#genform .formbutton:hover,
#genform .formbutton:focus  { 
    background-color: #70af01;
    background-position:-20px -33px;
}



/* Disabled */

/* there are also disabled styles listed in v4_global.css */

#genform .checks li input[disabled]:first-child + label,
input[readonly],
#genform .readonly  { 
    opacity:0.5;
    filter: alpha(opacity = 50);
}

/* Error messages */
.errorform { 
    border-left: solid 3px #d32939;
    margin: 10px;
    padding: 10px;
    background-color: #fbe9eb;
    color: #d32939;
    font-weight: bold;
}
.errorform p { 
    color:#e00;
    font-size:1.2em;
}
.errorform dl { 
    color:#000;
}
.errormessage { 
    color:#e00;
    font-weight: bold;
}


