/* --------- Base ---------- */

body {
    color: #333;
}

p {
    margin: 0px 0px 1em 0px;
    padding: 0px;
    line-height: 1.5em;
}

h2 {
    border-top: 1px solid #bbb;
    padding-top: 0.5em;
}


/* --------- Notifications ---------- */

.alert-box {
    background: #ffc;
    border: 1px solid #c60;
    padding: 10px;
    margin: 0px 0px 1em 0px;
}

.alert-box h2 {
    color: #c60;
    border: 0px;
    margin: 0px 0px 1em 0px;
    padding: 0px;
    font-size: 1em;
    font-weight: bold;
}

.alert-box ul {
    list-style-type: square;
    padding: 0px 0px 0px 15px;
}

.alert-box ol {
    padding: 0px 0px 0px 15px;
}

.error-box {
    background: #fcc;
    border: 1px solid #900;
    padding: 10px;
    margin: 0px 0px 1em 0px;
}

.error-box h2 {
    color: #900;
    border: 0px;
    margin: 0px 0px 1em 0px;
    padding: 0px;
    font-size: 1em;
    font-weight: bold;
}

.error-box ul {
    list-style-type: square;
    padding: 0px 0px 0px 15px;
}

.error-box ol {
    padding: 0px 0px 0px 15px;
}

.confirm-box {
    background: #cfc;
    border: 1px solid #060;
    padding: 10px;
    margin: 0px 0px 1em 0px;
}

.confirm-box h2 {
    color: #060;
    border: 0px;
    margin: 0px 0px 1em 0px;
    padding: 0px;
    font-size: 1em;
    font-weight: bold;
}

.confirm-box ul {
    list-style-type: square;
    padding: 0px 0px 0px 15px;
}

.confirm-box ol {
    padding: 0px 0px 0px 15px;
}

.error-field {
    background: #ffeaea;
    border: 1px solid #e8e5dc;
    padding: 10px;
    margin: 0.25em 0px 1em 0px;
}

fieldset.error-field {
    background: #ffeaea;
    border: 1px solid #e8e5dc;
    padding: 0px 10px 10px 10px;
    margin: 0em 0px 1em 0px;
}

fieldset.error-field legend {
    background: #ffeaea;
    padding: 10px 10px 0px 10px;
    margin: 0px -11px 0px -11px;
    width: 100%;
    border: 1px solid #e8e5dc;
    border-bottom: 0px;
}

* html fieldset.error-field legend {
    padding: 10px;
    margin: 0px -18px 0px -18px;
}

*:first-child+html fieldset.error-field legend {
    padding: 10px;
    margin: 0px -16px 0px -18px;
}

.error {
    display: block;
    color: #820000;
    font-weight: bold;
    line-height: 2em;
}

fieldset .error {
    display: block;
    color: #820000;
    font-weight: bold;
    line-height: 2em;
    width: 635px;
}


/* --------- General --------- */

form {
    border: 0px;
    margin: 0px;
    padding: 0px;
}

fieldset,
legend {
    border: 0px;
    margin: 0px;
    padding: 0px;
}

legend {
    font-size: 1em;
    line-height: 1.5em;
    margin: 0px;
    padding: 0px;
    font-weight: bold;
    white-space: normal;
    width: 100%;
}

legend span {
    display: block;
    width: 100%;
    padding-bottom: 0.25em;
}

* html legend {
    margin: 0px 0px 0px -7px;
}

*:first-child+html legend {
    margin: 0px 0px 0px -7px;
}

label {
    font-size: 1em;
    line-height: 1.5em;
    margin: 0px;
    padding: 0px;
    font-weight: bold;
}

button {
    margin: 1em 0px 1em 0px;
    -webkit-padding-start: 5px;
    -webkit-padding-end: 5px;
    -webkit-padding-before: 2px;
    -webkit-padding-after: 2px;
}

fieldset {
    width: auto;
    margin: 0px 0px 1em 0px;
}

input[type="text"] {
    margin: 0px;
    padding: 0px;
    width: 25em;
}

fieldset label {
    font-weight: normal;
}

textarea {
    width: 25.6em;
}


/* --------- Name --------- */

fieldset.name textarea,
fieldset.name select {
    display: block;
    margin: 0px;
}

fieldset.name label {
    color: #666;
    font-size: 0.85em;
    line-height: 1.5em;
    color: #666;
}

fieldset.name legend label {
    font-size: 1em;
    color: #333;
}

fieldset.name p.name_first {
    float: left;
    margin-right: 0.25em;
}

*html fieldset.name p.name_first {
    float: left;
    margin-right: 0.15em;
}

*:first-child+html fieldset.name p.name_first {
    float: left;
    margin-right: 0.05em;
}

fieldset.name input {
    width: 12em;
}

fieldset.name p {
    margin: 0px;
    padding: 0.5em 0.5em 0px 0px;
}


/* --------- Email --------- */

p.email label {
    font-size: 1em;
    line-height: 1.5em;
    margin: 0px;
    padding: 0px;
    font-weight: bold;
}

p.email input {
    width: 25em;
}


/* --------- Phone --------- */

p.phone label {
    font-size: 1em;
    line-height: 1.5em;
    margin: 0px;
    padding: 0px;
    font-weight: bold;
}

p.phone input {
    width: 12em;
}


/* --------- Address --------- */

fieldset.address textarea,
fieldset.address select {
    display: block;
    margin: 0px;
}

fieldset.address label {
    color: #666;
    font-size: 0.85em;
    line-height: 1.5em;
    color: #666;
}

fieldset.address legend label {
    font-size: 1em;
    color: #333;
}

fieldset.address p {
    margin: 0px;
    padding: 0.5em 0.5em 0px 0px;
}

fieldset.address p.street_address input,
fieldset.address p.address_line2 input {
    width: 25em;
}

fieldset.address p.city {
    float: left;
    margin-right: 0.25em;
}

*html fieldset.address p.city {
    float: left;
    margin-right: 0px;
}

*:first-child+html fieldset.address p.city {
    float: left;
    margin-right: 0.05em;
}

fieldset.address p.city input,
fieldset.address p.state input {
    width: 12em;
}

fieldset.address p.zip {
    clear: left;
    float: left;
    margin-right: 0.25em;
}

*html fieldset.address p.zip {
    float: left;
    margin-right: 0px;
}

*:first-child+html fieldset.address p.zip {
    float: left;
    margin-right: 0.05em;
}

fieldset.address p.zip input {
    width: 12em;
}

fieldset.address p.country {
    float: left;
}

*html fieldset.address p.country {
    float: none;
}

*:first-child+html fieldset.address p.country {
    float: none;
}


/* --------- Comments --------- */

p.comments label {
    font-size: 1em;
    line-height: 1.5em;
    margin: 0px;
    padding: 0px;
    font-weight: bold;
}

p.comments textarea {
    width: 25.6em;
}

*html p.comments textarea {
    width: 25.1em;
}

*:first-child+html p.comments textarea {
    width: 25.1em;
}


/* --------- Bootstrap Radio and Checkbox Override --------- */

.checkbox input[type=checkbox],
.checkbox-inline input[type=checkbox],
.radio input[type=radio],
.radio-inline input[type=radio] {
    margin-left: 0;
}


/* --------- Radio Buttons --------- */

fieldset.radio legend {
    font-weight: bold;
}

fieldset.radio label {
    font-size: 1em;
    margin: 0px;
}

fieldset.radio p {
    margin: 0px;
    padding: 0.5em 0px 0px 0px;
    font-weight: bold;
}

fieldset.radio li {
    margin: 0px;
    padding: 0.5em 0px 0px 0px;
}

fieldset.radio_inline legend {
    font-weight: bold;
}

fieldset.radio_inline p {
    display: inline;
    margin: 0px;
    padding: 0.5em 1em 0px 0px;
    font-weight: bold;
}

fieldset.radio_inline {
    padding: 0px;
}

fieldset.radio_inline li {
    display: inline;
    padding: 0.5em 1em 0px 0px;
}

fieldset.radio_inline label {
    font-size: 1em;
    margin: 0px;
}


/* --------- Check Boxes --------- */

fieldset.checkbox legend {
    font-weight: bold;
}

fieldset.checkbox label {
    font-size: 1em;
    margin: 0px;
}

fieldset.checkbox p {
    margin: 0px;
    padding: 0.5em 0px 0px 0px;
    font-weight: bold;
}

fieldset.checkbox li {
    margin: 0px;
    padding: 0.5em 0px 0px 0px;
}

fieldset.checkbox_inline legend {
    font-weight: bold;
}

fieldset.checkbox_inline p {
    display: inline;
    margin: 0px;
    padding: 0.5em 1em 0px 0px;
    font-weight: bold;
}

fieldset.checkbox_inline {
    padding: 0px;
}

fieldset.checkbox_inline li {
    display: inline;
    padding: 0.5em 1em 0px 0px;
}

fieldset.checkbox_inline label {
    font-size: 1em;
    margin: 0px;
}


/* --------- Drop Down --------- */

fieldset.dropdown legend {
    display: none;
}

fieldset.dropdown p {
    margin: 0px;
    padding: 0.5em 0px 0px 0px;
    font-weight: bold;
}

fieldset.dropdown select {
    margin: 0.5em 0px 0px 0px;
    padding: 0px;
}


/* --------- Survey ---------- */

table.survey {
    width: 100%;
    margin: 1em 0px 1em 0px;
    border-collapse: collapse;
    line-height: 1.2em;
}

table.survey th {
    border: 1px solid #ddcf99;
    background: #f1e8ce;
    padding: 5px;
    text-align: center;
    vertical-align: middle;
}

table.survey td {
    border: 1px solid #ddcf99;
    background: #fff;
    padding: 5px;
    text-align: center;
    width: 50px;
}

table.survey td.question {
    text-align: left;
    font-weight: bold;
    width: 45%;
}

table.survey tr.alternate td {
    background: #f8f3e5;
}

table.survey label {
    display: block;
}


/* --------- Spam Filter --------- */

.hide {
    position: absolute;
    left: -1000em;
    width: 20em;
    text-align: left;
    color: #666;
    font-size: 0.85em;
    line-height: 1.5em;
    color: #666;
}


/* --------- Required Field and Help Link --------- */

abbr,
abbr[title],
abbr.required,
abbr.help {
    border: none;
    text-decoration: none;
}

abbr.required {
    color: #820000;
}

abbr.help {
    font-size: 0.85em;
    font-family: Arial, Helvetica, FreeSans, sans-serif;
    padding-left: 0.25em;
}

abbr.help a {
    text-decoration: none;
    border: 0px;
    vertical-align: 15%;
}

abbr.help a:hover {
    font-weight: bold;
}


/* --------- Confirmation Text --------- */

.confirmation {
    padding: 25px 10px;
    min-height: 200px;
}


/* --------- Responsive --------- */

@media (max-width: 640px) {
    input[type="text"] {
        margin: 0px;
        padding: 0px;
        width: 100%;
    }
    p {
        float: none !important;
        clear: both !important;
    }
    fieldset.name p {
        padding: 0.5em 0 0 0;
    }
    fieldset.name p.name_first {
        margin-right: 0;
    }
    fieldset.name input,
    p.email input,
    p.phone input,
    fieldset.address p.street_address input,
    fieldset.address p.address_line2 input,
    fieldset.address p.city input,
    fieldset.address p.state input,
    fieldset.address p.zip input,
    textarea,
    p.comments textarea {
        width: 100%;
    }
}
