
/*form rules*/
form {
    margin: 0px;
    padding: 0px;
}

form label {
    font-size: 85%;
    height: 19px;
    display: block;
    float: left;
}

form .element_wrapper {
    float: left;
    position: relative;
    left: 0px;
    top: 0px;
}

form.booking_form .element_wrapper{
    position:static; 
}

form label.check {
    margin: 0px 0px 0px 10px;
    float: left;
    width: auto;
}

form .check_group {
    float: left;
    width: 470px;
    margin: 0px 0px 20px 0px;
}

form .check_group.membership {
    width: 450px;
}

form .check_group .checkbox_wrapper,
form .radio_group .radio_wrapper {
    float: left;
}

form .check_group.membership .checkbox_wrapper {
    clear: both;
}

form input {
    float: left;
    background-color: #eaeaea;
    border: 1px solid #a2a2a2;
    height: 17px;
    font-size: 85%;
    color: #4d4d4d;
    padding: 2px 3px 0px 3px;
}

form input.form_checkbox {
    width: auto;
    height: auto;
    clear: both;
    margin: 8px 0px 0px 0px;
}

form input.error {
    border: 1px solid #ee3434;
}

.form_errors {
    color: #4f0707;
    font-size: 85%;
    font-weight: bold;
    margin: 7px 0px 0px 20px;
    display: block;
    background-color: #ffd1d1;
    border-top: 1px solid #f6afaf;
    border-bottom: 1px solid #f6afaf;
    margin: 0px 0px 5px 0px;
    padding: 5px 0px 5px 10px;
    list-style: none;
}

.form_errors li {
    border: none !important;
    padding: 2px !important;
    margin: 0px !important;
    background-color: #ffd1d1 !important;
}

.form_success {
    color: #5DC121;
    font-size: 85%;
    font-weight: bold;
    margin: 7px 0px 0px 20px;
    display: block;
    background-color: #e2FFD1 ;
    border-top: 1px solid #99CC00;
    border-bottom: 1px solid #99CC00;
    margin: 0px 0px 25px 0px;
    padding: 5px 0px 5px 10px;
    list-style: none;
}

.form_success li {
    border: none !important;
    padding: 2px !important;
    margin: 0px !important;
    background-color: #e2FFD1 !important;
}
/*end form rules*/

.hide_input {
    display: none;
}

.booking_form {
    margin: 0px 0px 20px 0px;
}

.booking_form label {
    width: 550px;
    height: auto;
    margin: 0px 5px 5px 0px;
    padding-top: 8px;
    clear: both;
    float: none;
}

.booking_form input {
    width: 550px;
    height: 24px;
    border: 1px solid #a6a6a6;
    background: #ffffff url('../images/form_input_bg.jpg') repeat-x left top;
    margin: 0px 0px 10px 0px;
    padding-top: 5px;
    font-size: 90%;
}

.booking_form .required_flag {
    margin-left:5px;
}

.booking_form .disclaimer {
    display: block;
    width: 395px;
    height: 10px;
    margin: 0px 0px 5px 0px;
    float: left;
    font-size: 80%;
}

.booking_form button {
    clear: both;
}

.booking_form .custom_checkbox {
    width: 18px;
    height: 18px;
    background: #ffffff url('../images/checkbox_bg.png') no-repeat left top;
    float: left;
    margin: 6px 0px 0px 0px;
    clear: both;
}

.booking_form .custom_checkbox.selected {
    background-position: left -28px;
}

.booking_form .custom_checkbox input.form_checkbox {
    width: 18px;
    height: 18px;
    outline: none;
    cursor: pointer;
    margin: 0px;
}

.booking_form .checkbox_wrapper label,
.booking_form .radio_wrapper label {
    width: auto;
    clear: none;
}

.booking_form .custom_radio {
    width: 18px;
    height: 18px;
    background: #ffffff url('../images/radio_bg.png') no-repeat left top;
    float: left;
    margin: 6px 0px 0px 0px;
    clear: both;
}

.booking_form .custom_radio.selected {
    background-position: left -28px;
}

.booking_form .custom_radio input.form_radio {
    width: 18px !important;
    height: 18px;
    outline: none;
    cursor: pointer;
    margin: 0px;
}

.booking_form .faux_file_input {
    position: relative;
    float: left;
    width: 405px;
}

.booking_form .faux_file_input input {
    z-index: 10;
    position: relative;
    float: right;
    width: auto !important;
    height: 31px;
    margin-right: 2px;
}

.booking_form .faux_file_input .faux_file_button {
    z-index: 5;
    width: 70px;
    height: 31px;
    position: absolute;
    display: block;
    top: 0px;
    right: 3px;
    margin: 0px;
}

.booking_form .faux_file_input .faux_file_button span {
    height: 22px;
    font-size: 95%;
    padding-top: 9px;
}

.booking_form .faux_file_input .faux_file_text {
    z-index: 5;
    width: 323px;
    height: 22px;
    position: absolute;
    display: block;
    top: 0px;
    right: 74px;
    border: 1px solid #a6a6a6;
    background: #ffffff url('../images/form_input_bg.jpg') repeat-x left top;
    padding: 7px 3px 0px 3px;
    font-size: 90%;
}