.CG_form input, .CG_form select, .CG_form textarea {
    font-family:arial,helvetica,'sans serif';
    font-size:13px;
}

.CG_form, .CG_form fieldset {
    width:550px;
    border:none;
    margin:0;
    padding:0;
    display:block;
    float:left;
}

.CG_form fieldset {
    width:100%;
    margin:0;
    padding:0;
}

.CG_form label {
    width:100%;
    margin:0;
    padding:0;
    display:block;
    float:left;
    position:relative;
    height:24px;
    line-height:24px;
    border-bottom:1px solid #eee;
    padding:4px 0;
    z-index:1;
}

.CG_form label strong {
    width:140px;
    display:block;
    float:left;
    position:relative;
}

.CG_form label input, .CG_form label textarea, .CG_form label select {
    width:250px;
    display:block;
    float:left;
    padding:3px 3px 4px 3px;
    border:1px solid #000;
    position:relative;
    z-index:1;
    margin:0;
}

.CG_form label input.CG_readonly {
    background:#f2f2f2;
    border:1px solid #e5e5e5;
}

.CG_form label select {

}

/* Field notes */
.CG_form label span {
    border-width:1px;
    display:block;
    font-size:11px;
    line-height:12px;
    padding:2px 4px;
    position:absolute;
    right:0;
    text-align:left;
    top:1px;
    width:135px;
    z-index:100;
}

/* Hints */
.CG_form label span.hint {
    font-weight:normal;
    top:8px;
    z-index:99;
}

.CG_form label span.hint_double {
    top:2px;
}

/* Text areas */
.CG_form label.CG_textarea {
    height:110px;
}

.CG_form label.CG_textarea textarea {
    height:100px;
}

.CG_form label.CG_textarea span {
    top:4px;
}

/* Buttons */
.CG_form .CG_form_buttons {
    display:block;
    float:left;
    clear:both;
    padding:0;
    width:390px;
    position:relative;
}

.CG_form .CG_form_buttons input {
    width:120px;
    cursor:pointer;
    left:270px;
    position:relative;
}

.CG_form_compact .CG_form_buttons input {
    left:180px;
}

.CG_form_rhs .CG_form_buttons input {
    left:109px;
}
/* Required fields */
.CG_form label.CG_required strong, .CG_required_note {
    background-image:url("/img/generic/CG_bullets_sprite.gif");
    background-repeat:no-repeat;
    background-position:right top;
}

.CG_required_note, .CG_field_note {
    background-position:left top;
    display:block;
    float:right;
    margin:0;
    padding-left:24px;
    position:relative;
    right:170px;
    text-align:right;
}

.lightbox-ad {
    display:block;
    float:left;
    clear:both;
    padding:10px 0 0 130px;
}

.CG_form fieldset.CG_hidden, .CG_form label.CG_hidden {
    display:none;
}

.CG_form_instruction {
    margin:0;
    padding:10px 0;
}

/* Character counter */
.CG_form p.char_counter {
    display:block;
    left:410px;
    position:absolute;
    top:80px;
    margin:0;
}

.CG_form p.char_counter strong {
    width:auto;
    font-size:24px;
    float:left;
    background-image:none;
    color:#999;
}

.CG_form p.char_counter em {
    display:block;
    float:left;
    font-size:10px;
    font-style:normal;
    font-weight:normal;
    line-height:11px;
    padding-left:4px;
    width:60px;
    color:#999;
}

/* Checkboxes */
.CG_form label.CG_checkbox strong {
    width:auto;
    font-weight:normal;
}

html>body .CG_form label.CG_checkbox strong {
    padding-left:3px;
}

.CG_form label.CG_checkbox input {
    width:auto;
    border:none;
}

html>body .CG_form label.CG_checkbox input {
    top:4px;
}

fieldset h3 {
    border-bottom:1px solid #CCCCCC;
    font-size:18px;
    margin:0;
    padding:20px 0 2px 4px;
    color:#333333;
}

fieldset.CG_checkbox_other {
    display:none;
}

.CG_form fieldset.CG_checkbox_table {
    padding-left:140px;
    border:1px solid #CCCCCC;
    border-width:1px 0;
    position:relative;
    width:410px;
}

form.CG_form_compact fieldset.CG_checkbox_table {
    padding-left:110px;
    border:none;
}

fieldset.CG_checkbox_table strong.CG_checkbox_table_heading {
    display:block;
    float:left;
    left:0;
    position:absolute;
    top:18px;
    width:140px;
}

html>body fieldset.CG_checkbox_table strong.CG_checkbox_table_heading {
    left:-140px;
    top:6px;
}

.CG_form fieldset.CG_checkbox_table label {
    width:200px;
}

form.CG_form_rhs fieldset.CG_checkbox_table {
    width:240px;
    padding-left:0;
}

form.CG_form_rhs fieldset.CG_checkbox_table label {
    width:120px
}

form.CG_form_rhs fieldset.CG_checkbox_table label strong {
    width:85px;
}

.CG_form fieldset.CG_radio_table label {
    width:100px;
}

/* No border */
.CG_form label.CG_noborder {
    border:none;
}

/* Hidden fieldsets while form is inactive */
fieldset.CG_inactive {
    display:none;
}

fieldset.CG_active {
    display:block;
}

/* Compact forms */
form.CG_form_compact, form.CG_form_compact fieldset {
    width:300px;
}

form.CG_form_compact label {
    width:300px;
    border:none;
    padding-bottom:12px;
    position:relative;
    clear:both;
}

form.CG_form_compact label strong {
    width:110px;
}

form.CG_form_compact label input, form.CG_form_compact label select {
    width:180px;
}

form.CG_form_compact label select {
    width:188px;
}

form.CG_form_compact .CG_required_note, form.CG_form_compact .CG_field_note {
    left:100px;
    top:-8px;
    float:left;
}

form.CG_form_compact label span.hint {
    width:75px;
    text-align:right;
    color:#999;
}

form.CG_form_compact label span.error {
    font-family:"Trebuchet MS";
    font-size:11px;
    font-weight:normal;
    height:auto;
    padding:0 0 1px 1px;
    right:2px;
    top:27px;
    width:185px;
}

form.CG_form_compact .CG_form_buttons {
    width:300px;
    padding-bottom:10px;
}

form.CG_form_compact label.CG_readonly input {
    border-color:1px solid #FFCC00;
}

form.CG_form_compact fieldset.CG_checkbox_table strong.CG_checkbox_table_heading {
    width:110px;
}

html>body form.CG_form_compact fieldset.CG_checkbox_table strong.CG_checkbox_table_heading {
    left:-110px;
}

/* Right hand side forms */

.CG_form_rhs, .CG_form_rhs fieldset {
    width:240px;
}

.CG_form_rhs p.CG_required_note {
    right:0;
}

.CG_form_rhs label {
    border:none;
}

.CG_form_rhs label strong {
    left:4px;
    margin-bottom:-24px;
    width:234px;
    color:#999999;
    font-weight:normal;
}

.CG_form_rhs label.CG_required strong {
    background:none;
}

.CG_form_rhs label.CG_required strong.hidden {
    z-index:0;
}

html>body .CG_form_rhs label.CG_required strong.hidden {
    display:none;
}

.CG_form_rhs label input, .CG_form_rhs label textarea {
    background:transparent;
    width:234px;
}

.CG_form_rhs label input.CG_input_active, .CG_form_rhs label textarea.CG_input_active, .CG_form_rhs label input.CG_input_focus, .CG_form_rhs label textarea.CG_input_focus {
    background-color:#ffffff;
}

html>body .CG_form_rhs label.CG_required {
    padding-bottom:10px;
}

.CG_form_rhs label.CG_required input {
    background-image:url("/img/generic/CG_bullets_sprite.gif");
    background-repeat:no-repeat;
    background-position:218px 5px;
}

.CG_form_rhs label.CG_textarea {
    padding-bottom:14px;
}

.CG_form_rhs label.CG_textarea strong {
    line-height:13px;
    margin-bottom:-34px;
    padding-top:4px;
}

.CG_form_rhs label.CG_checkbox {
    height:18px;
    padding-bottom:4px;
}

.CG_form_rhs label.CG_checkbox strong {
    top:-2px;
    left:0;
    color:#333;
}

.CG_form_rhs label span, .CG_form_rhs label span.hint, .CG_form_rhs label span.hint_double {
    clear:both;
    float:left;
    font-size:10px;
    height:10px;
    left:0;
    line-height:11px;
    padding:0;
    position:relative;
    right:auto;
    top:0;
    width:242px;
}

.CG_form_rhs label span.error {
    font-family:trebuchet MS;
    font-weight:normal;
    height:auto;
    padding:0 0 1px 1px;
    top:-13px;
    width:239px;
    margin-bottom:-15px;
}

.CG_form_rhs label.CG_required_select span.error {
    top:-5px;
}

.CG_form_rhs .CG_form_buttons {
    padding:10px 0 25px 0;
    width:240px;
}

.CG_form_rhs p.char_counter {
    left:160px;
    top:109px;
    width:82px;
}

.CG_form_rhs label.CG_textarea p.char_counter strong {
    margin:0;
    line-height:14px;
    font-size:14px;
    font-weight:bold;
}

.CG_form_rhs p.char_counter em {
    text-align:right;
    width:45px;
    padding-top:6px;
}