/* General */

html,
body
{
    font-size: 100%;
    margin: 0;
    padding: 0;
}

body,
input,
textarea,
td
{
    font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
}

body
{
    background: #EFEFDF;
}

.page_container
{
    margin: 0 auto;
    width: 981px;
}

.page_container a
{
    text-decoration: none;
}

.page_content_wrapper
{
    background: url(http://www.hawaiipolicyportal.org/uploads/images/middle_panel_bg.gif) repeat-y top left;
    clear: both;
    margin: 13px 0 20px 2px;
}

.content_background_bumper
{
    display: block;
}

.page_content
{
    margin: 0;
    padding: 0 15px;
    position: relative;
}

/* Basics */

.clear
{
    clear: both;
}

.clear_left
{
    clear: left;
}

.odd
{
    background: #EFEFDF;
}

.column
{
    float: left;
    margin-left: 45px;
    width: 400px;
}

.column.first
{
    margin-left: 0;
}

.page_content .column h2
{
    margin-top: .25em;
}

.lone_link
{
    padding: .25em 0;
}

.lone_link a
{
    background-image: url(../images/lone_link.gif);
    background-repeat: no-repeat;
    font-size: .875em;
    height: 19px;
    padding: 4px 0 4px 28px;
}

.lone_link a:active { background-position: left top; }
.lone_link a:hover  { background-position: left -23px; }

/* Forms */

form
{
    margin: 0;
}

form .left_captions input,
form .top_captions input
{
    padding: 2px 1px;
    width: 200px;
}

form .left_captions input,
form .top_captions input,
form textarea
{
    background-color: #fff;
    border-left: 2px solid #aaa;
    border-top: 2px solid #aaa;
    border-bottom: 2px solid #eee;
    border-right: 2px solid #eee;
}

input,
textarea
{
    font-size: .75em;
    margin: 0;
}

textarea
{
    display: block;
    margin-top: .75em;
    padding-top: 2px;
    padding-left: 2px;
    width: 330px;
    height: 185px;
}

.field
{
    clear: left;
    margin-top: .75em;
}

.field .field
{
    margin-top: 0;
    margin-left: 0;
}

.field_set
{
    margin-top: 10px;
}

.field label,
.field .label
{
    font-size: .75em;
    font-weight: bold;
    line-height: 1.3;
    padding-right: 1em;
}

.field label.inline
{
    display: inline;
    padding-right: .5em;
}

.field .explanation
{
    color: #888;
    font-size: .689em;
    margin: .75em 0;
}

.left_captions .explanation
{
    margin-left: 10.192em;
}

.top_captions .field
{
    margin-top: .75em;
}

.top_captions label,
.top_captions .label
{
    clear: both;
    display: block;
    float: none;
    text-align: left;
}

.left_captions label,
.left_captions .label
{
    float: left;
    padding-top: 3px;
    width: 8.3em; /* 100px */
}

.top_captions.textarea label
{
    margin-bottom: .75em;
}

.right_aligned_captions label,
.right_aligned_captions .label
{
    text-align: right;
}

.indented_captions label,
.indented_captions .label
{
    text-indent: 1.25em;
}

.checkboxes
{
    margin: .5em 0;
}

.checkboxes .field.checkbox
{
    margin-left: -8px;
    padding: 8px;
}

.field.checkbox
{
    clear: both;
    margin-top: 0;
    padding: .2em 0;
    position: relative;
}

.field.checkbox input,
.checkbox_with_explanation .field input
{
    float: left;
    margin: 0 .5em 0 0;
    width: 14px;
}

.field.checkbox label
{
    float: left;
    font-weight: normal;
}

.checkbox_with_explanation
{
    margin: .1em 0;
}

.checkbox_with_explanation .field label
{
    float: left;
    font-weight: normal;
    padding-top: 0;
    width: 500px;
}

.checkbox_with_explanation .field .explanation
{
    clear: left;
    margin: .3em 0 0 0;
    padding: 0 0 0 20px;
}

.checkbox_with_explanation.odd
{
    background: transparent;
}

.checkbox_with_explanation.even .field
{
    background-color: #efefdf;
    margin-right: -6px;
    margin-left: -8px;
    padding: 5px 0 0 8px;
}

.checkbox_with_explanation.even .field .explanation
{
    padding-bottom: 8px;
}

.field.radio
{
    clear: left;
}

.after_textarea
{
    margin-top: 1.5em;
}

.selects label,
.selects select
{
    float: left;
}

.selects label
{
    padding-top: 3px;
    width: 175px;
}

.selects select
{
    margin-top: 1px;
}

/* Buttons */

.buttons
{
    clear: both;
    margin: .75em 0 0 0;
}

.buttons.centered
{
    margin: 0 0 1em 0;
    text-align: center;
}

/* Notifications and Errors */

.message
{
    border-style: solid;
    border-width: 2px;
    clear: both;
    font-size: .814em;
    font-weight: bold;
    margin: 1em 0 .5em 0;
    padding: 6px 8px 5px 8px;
    background: #dcf8aa;
    border-color: #72b400;
    color: #060;
}

.errors
{
    background: #fff5ca url(../images/warning.gif) 8px 8px no-repeat;
    border: 2px solid #ffd154;
    margin: .75em 0 1em 0;
    padding: 12px 0 10px 50px;
}

.page_content .errors h2
{
    color: #000;
    font-size: 1em;
    font-weight: bold;
    margin: 0 0 1em 0;
}

.page_content .errors ul
{
    margin: 0 0 0 15px;
    padding: 0;
}

.page_content .errors li
{
    font-size: .75em;
    line-height: 1.5;
    margin: 0 0 6px 0;
    padding: 0;
}

.fieldWithErrors
{
    background: transparent;
    border: 0;
    color: #bb2f3c;
    margin-top: 6px;
    margin-bottom: 8px;
    padding: 0;
}

.left_captions .fieldWithErrors label
{
    padding-top: 5px;
}

.fieldWithErrors input,
.fieldWithErrors textarea
{
    border: solid 2px #bb2f3c;
    font-weight: normal;
    padding: 3px 1px;
}

.value,
.value *
{
    font-size: 12px !important;
    line-height: 1.6;
}

.values .field .field
{
    font-size: .75em;
    line-height: 1.6;
}

.values .label
{
    font-size: 100%;

}

.values.top_captions .label
{
    margin-bottom: .5em;
}

.values.left_captions .label
{
    line-height: 1.7;
    margin-top: 0;
    padding-top: 0;
    width: 11.205em; /* 135px * .083 */
}

.value
{

}

.value p
{
    margin: .5em 0 .5em 148px;
}

.field.required input
{
    background-image: url(../images/required_marker.gif);
    background-position: top right;
    background-repeat: no-repeat;
    padding-right: 20px;
}

.field.required .fieldWithErrors input
{
    background-image: url(../images/required_marker_error.gif);
    padding-right: 20px;
}

form .left_captions .field.required input,
form .top_captions .field.required input
{
    width: 180px;
}

/* Top */

.page_top
{
    background: url(http://www.hawaiipolicyportal.org/uploads/images/header.gif) center top no-repeat;
    height: 170px;
    margin: 11px 0 0 1px;
    padding-top: 6px;
    position: relative;
}

.top_background_bumper
{
    position: absolute;
    bottom: 0;
    left: -1px;
}

#menuwrapper.logged_in
{
    left: 30px;
    padding-left: 130px;
}

.page_top ul li.logged_in_user span
{
    color: #000;
    padding: 0 0 0 16px;
}

/* Page Bottom */

.page_bottom
{
    background: #323232 url(http://www.hawaiipolicyportal.org/uploads/images/footer_bg.gif) top left repeat-x;
    height: 125px;
    margin: 0 2px 14px 2px;
    padding: 0 15px 0 19px;
}

.page_bottom ul
{
    margin: 0 0 0 -8px;
    padding: 30px 0 0 0;
}

.page_bottom ul li
{
    border-right: 1px solid #fff;
    float: left;
    font-size: .689em;
    list-style: none;
    margin: 0;
    padding: 0;
}

.page_bottom ul li.last
{
    border-right: 0;
}

.page_bottom ul li a
{
    color: #D4D4C6;
    padding: 1px 7px 0 7px;
}

.page_bottom ul li a:hover
{
    background-color: #D76E08;
    color: #fff;
}

.page_bottom ul li ul
{
    display: none;
}

.page_bottom p.copyright
{
    clear: left;
    color: #D76E08;
    font-size: .689em;
    margin-top: 8px;
}

/* Content */

.page_content a:link,
.page_content a:active,
.page_content a:visited
{
    color: #318baa;
    font-weight: bold;
}

.page_content a:hover
{
    color: #D76E08;
}

.page_content h1
{
    color: #62625C;
    font-weight: normal;
    letter-spacing: 2px;
    margin: -10px 0 .25em 0;
    text-transform: uppercase;
}

.page_content h2
{
    color: #62625C;
    font-size: 1.188em;
    font-weight: normal;
    margin: 1.25em 0 .5em 0;
}

.page_content h3
{
    font-size: 1.064em;
    margin: 1.25em 0 0 0;
}


.page_content p
{
    font-size: .75em;
    line-height: 1.8;
}

.page_content table
{
    border-collapse: collapse;
}

.page_content th,
.page_content td
{
    vertical-align: top;
}

.page_content th
{
    text-align: left;
}

.page_content td
{
    padding: .5em;
}

.page_content ol li
{
    font-size: .75em;
    margin: .5em 0;
}

/* Lists */

.bills
{
    border: 2px solid #d7d7c7;
    margin: 1em 0 0 0;
    padding: 0;
}

.bills li
{
    font-size: .814em;
    list-style: none;
    margin: 0;
}

.bills li a
{
    display: block;
    padding: .75em .5em;
}

/* Tables */

table.testimonials,
table.updates
{
    margin-left: -.5em;
    margin-bottom: .75em;
    width: 100%;
}

table.testimonials th,
table.updates th
{
    font-size: .875em;
    padding: 0 .5em .5em .5em;
}

table.testimonials .name,
table.updates .name
{
    width: 15em;
}

table.testimonials .date,
table.updates .date
{
    text-align: left;
    width: 135px;
}

table.testimonials td.date,
table.updates td.date
{
    color: #555;
}

table.testimonials td,
table.updates td
{
    font-size: .75em;
}

/* Blocks */

.admin_links
{
    background: #EFEFDF;
    margin: 0 -10px 1em -13px;
    padding: .25em .25em .25em 15px;
}

.admin_links li
{
    display: inline;
    font-size: .875em;
    list-style: none;
    margin: 0 1em 0 0;
    padding: 0;
}

.admin_links li a
{
    padding: .45em 0 .4em 0;
}

.admin_links li a:hover
{
    background: #EFEFDF;
}

.bill_details
{
    background-color: #EFEFDF;
    padding: .25em 1.25em 1em 1.25em;
    margin-left: -1.25em;
}

.bill_details .field .field
{
    font-family: Georgia, Times, 'Times New Roman', serif;
}

.bill_details .field .field .label
{
    font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
    position: relative;
}

.bill_details .value p
{
    margin-left: 144px;
}

.page_content .column .bill_details h2
{
    font-size: .938em;
    font-weight: bold;
    margin: 1.5em 0 .75em 0;
}

.page_content .column .bill_details table
{
    margin-left: -6px;
}

.page_content .column .bill_details .date
{
    width: 110px;
}

.page_content .column .bill_details th
{
    font-size: .75em;
    padding-bottom: .25em;
}

.page_content .column .bill_details td
{
    font-size: .689em;
}

/* Pages */

.page_container.login .page_content .buttons
{
    margin-left: 7.056em; /* 110px * .063 */
}

.page_container.login .page_content .password_link
{
    display: block;
    font-size: .75em;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 9.296em; /* 112px * .083 */
}

.page_container.login.reset_password .page_content label
{
    width: 10.79em; /* 125px * .083 */
}

.page_container.login.reset_password .page_content .buttons
{
    margin-left: 8.631em; /* 137px * .063 */
}

.page_container.login .page_content .password_link
{
    display: block;
    font-size: .75em;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 9.296em; /* 112px * .083 */
}

.page_container.testimony .column.first
{
    width: 385px;
}

.page_container.testimony.show .page_content .values.left_captions.testimony
{
    margin-bottom: 1.25em;
}

.page_container.testimony.show .page_content .values.left_captions.testimony .label
{
    margin-left: -8.881em; /* 107px * .083 */
    padding-top: 0;
    width: 7.47em; /* 95px * .083 */
}

.page_container.testimony.show .page_content .values.left_captions.testimony .field .field
{
    margin-left: 8.881em; /* 107px * .083 */
}

.page_container.testimony.new .page_content .column.first .left_captions .field .field input
{
    width: 240px;
}

.page_container.testimony.new .page_content .column.first .left_captions .field .field input#testimony_phone
{
    width: 260px;
}

.page_container.testimony.new .page_content .column.first .left_captions label
{
    width: 7.885em; /* 95px * .083 */
}

.page_container.testimony.new .page_content .buttons
{
    margin-left: 6.741em; /* 107px * .063 */
}

.page_container.testimony.new .page_content textarea
{
    float: left;
    margin-top: .25em;
    width: 260px;
}

.page_container.bill .page_content .column
{
    margin: .5em 0;
    width: 370px;
}

.page_container.bill .page_content .column textarea
{
    margin-bottom: .5em;
}

.page_container.bill .page_content .left_captions .field .field #bill_name  { width: 312px; }
.page_container.bill .page_content .left_captions .field .field #bill_url   { width: 450px; }

.page_container.bill .page_content .left_captions label
{
    width: 10.79em; /* 130px * .083 */
}

.page_container.bill .page_content .buttons
{
    margin-left: 8.883em; /* 141px * .063 */
}

.page_container.bill .page_content .left_captions .field .explanation
{
    margin-left: 12.922em; /* 142px * .091 */
}

.page_container.bill.show .page_content .values.left_captions .label
{
    padding-top: 1px;
    width: 11.205em; /* 125px * .083 */
}

.page_container.user.list .page_content table
{
    margin: 0 0 .5em 0;
    width: 100%;
}

.page_container.user.list .page_content table td
{
    font-size: .75em;
}

.page_container.user.list .page_content table th
{
    font-size: .814em;
    padding: .5em;
}

.page_container.user.list .page_content table .name
{
    width: 180px;
}

.page_container.user.edit .page_content .left_captions label
{
    width: 9.296em; /* 112px * .083 */
}

.page_container.user.edit .page_content .left_captions .explanation
{
    margin-left: 11.375em; /* 128px * .091 */
}

.page_container.user.edit .page_content .checkbox label
{
    width: 16.6em; /* 200px * .083 */
}

.page_container.user.new .page_content .left_captions label
{
    width: 11.62em; /* 140px * .083 */
}

.page_container.user.new .page_content .left_captions .explanation
{
    margin-left: 13.832em; /* 152px * .091 */
}

.page_container.user.new .page_content .buttons
{
    margin-left: 9.576em; /* 152px * .063 */
}

.page_container.user.pay .page_content
{
    position: relative;
}

.page_container.user.pay .page_content .explanation
{
    padding-bottom: 8px;
}

.page_container.user.pay .page_content .explanation a
{
    outline: 0;
}

.page_container.user.pay .page_content .accepted_cards
{
    display: block;
    margin-top: 5px;
}

.page_container.user.pay .page_content #user_payment_verification
{
    width: 30px;
}

.page_container.user.pay .page_content #cvv_explanation
{
    position: absolute;
    top: 100px;
    left: 380px;
    width: 240px;
}

.page_container.user.pay .page_content #cvv_explanation img
{
    display: block;
    margin-left: 20px;
}

.page_container.user.pay .page_content #cvv_explanation p
{
    font-size: .689em;
    line-height: 1.4;
    margin: 10px 0;
}

.page_container.user.pay .page_content #user_payment_zip
{
    width: 45px;
}

.page_container.user.pay .page_content .buttons
{
    margin-top: 20px;
    margin-left: 7.056em; /* 112px * .063 */
}

.page_container.bill_update .page_content .buttons
{
    margin-left: 112px;
}

.page_container.bill_update .page_content .rss_update
{
    border-top: 2px solid #e4e4e4;
    margin-top: 18px;
    padding-top: 20px;
}

.page_container.user.list .page_content table
{
    margin-left: -.5em;
}
