/* Booking Form Container. */
#pin_meeting_booking_form_container
{
    margin-left:  auto;
    margin-right: auto;
    max-width:    700px;
    /* font-family: "Ubuntu", sans-serif; */
    font-size:    20px;
}

#pin_meeting_booking_form_container button
{
    /* font-family: "Ubuntu", sans-serif; */
}

.booking_form_input
{
    text-align: center;
    width: 100%;
    /* font-family: "Ubuntu", sans-serif; */
    /* font-size: 18px !important; */
    font-size: 1em;
    border-radius: 10px;
    padding: 10px;
}

.hidden
{
    display: none !important;
}

.center
{
    text-align: center;
}

/* Remove the Box Shadow around the Input elements. */
/* input, select
{
    box-shadow: none !important;
} */

/* Select dropdowns center the last option selected. */
select.booking_form_input
{
    text-align-last: center;
    color: #999;
}


/* Booking Form Input PLaceholder Colour. */
.booking_form_input::placeholder 
{
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    text-align: center;
    color: #999;
    opacity: 1; /* Firefox */
}

.booking_form_input:-ms-input-placeholder 
{ 
    /* Internet Explorer 10-11 */
    text-align: center;
    color: #999;
}

.booking_form_input::-ms-input-placeholder 
{ 
    /* Microsoft Edge */
    text-align: center;
    color: #999;
}

.booking_form_input.input_warning
{
    border-style: solid;
    border-width: 3px;
    border-color: red;
    border-radius: 10px;
}

.booking_form_input_warning_message
{
    font-weight: bold;
    color: red;
    padding-bottom: 10px;
    text-align: center;
}

.booking_form_input_container
{
    margin-bottom: 10px;
}

.booking_form_button_container
{
    text-align: center;
}

/* Booking Form Button. */
.booking_form_button
{
    box-sizing: border-box;
    background-color:#ff9521;
    border-style: none;
    border-radius: 50px;
    display: inline-flex;
    font-size: 1em;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    margin: 2px;
    color: white !important;
    /* text-transform: uppercase; */
    cursor: pointer;
}

.booking_form_button:disabled
{
    background-color: #b6b5b5;
}

.booking_form_button:hover
{
    /* background-color:rgb(37 38 50);; */

    background-color: rgb(255,125,0) !important;
}


/* Booking Form Button Highlight. */
.booking_form_button_highlight
{
    /* background-color: rgb(37 38 50); */

    background-color: rgb(255,125,0);
}
 
/* .booking_form_button_highlight:hover
{
    background-color: rgb(37 38 50);
} */


.booking_form_section_title
{
    text-align: center;
    margin-top: 40px;
    margin-bottom: 10px;
    /* text-transform: uppercase; */
    color: rgb(255,149,33);
    font-weight: bold;
    font-size: 1.5em !important;
    padding: 20px;
}

.booking_form_section_statement
{
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 10px;
}

.booking_form_section_warning
{
    font-weight: bold;
    color: red;
    margin-top: 10px;
    margin-bottom: 10px;
}

.booking_form_section_message
{    
    margin-top: 10px;
    margin-bottom: 10px;
}


.booking_form_card_fields_container
{
    display: flex;
    
    flex-wrap: wrap;
}

.booking_form_stripe_card_field_element_container
{
    text-align: center;
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding-top: .68em;
    padding-bottom: .68em;
    padding-left: .65em;
    padding-right: .65em;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    margin-bottom: 8px;
}

.booking_form_card_field_card_number
{
    min-width: 300px;
    width: 300px;
    flex: 1;
    margin-right: 8px;
}

.booking_form_card_field_card_expiry_date
{
    max-width: 96px;
    margin-right: 8px;
}

.booking_form_card_field_card_cvc
{
    max-width: 66px;
}


/* -----------------------------------------------------------------------------
                                Venue Information
   ----------------------------------------------------------------------------- 
*/

.booking_form_venue_information_row .field
{
    font-weight: bold;
}


/* -----------------------------------------------------------------------------
                                Payment Option
   ----------------------------------------------------------------------------- 
*/

.booking_form_payment_options_container
{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.booking_form_payment_option
{   
    width: 220px;
    height: 80px;
    border-radius: 5px;
}

.booking_form_payment_option img
{
    max-width: 100px;
    max-height: 100px;
}

/* 
.booking_form_payment_option_highlight
{

} */

.booking_form_payment_member_button
{
    background-color: rgb(37 38 50);
}

.booking_form_card_payment_method_option
{
    padding: 15px;
}

.booking_form_card_payment_method_option_title
{
    padding-bottom: 10px;
}

.booking_form_card_icons_container
{
    margin-bottom: 20px;
    text-align: center;
}

.booking_form_card_payment_icon
{
    height: 32px;
}

.booking_form_card_payment_info_icon
{
    height: 32px;
    margin-left: 1px;
    margin-right: 1px;
}

.booking_form_stripe_card_element_container
{
    /* font-family: "Ubuntu", sans-serif; */
    font-size: 18px !important;
    border-width: 1px;
    border-style: solid;
    border-color: #ddd;
    border-radius: 4px;
    padding: 13px;    
    height: 2.65em;
    margin-bottom: 9px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
}

.booking_form_voucher_code_button_container
{
    text-align: center;
}

.booking_form_payment_options_warning_message
{
    font-weight: bold;
    margin-bottom: 20px;
}

/*.booking_form_stripe_card_element_invalid
{
    color: red;
    font-weight: bold;
}*/

/* -----------------------------------------------------------------------------
                                Terms and Newsletter
   ----------------------------------------------------------------------------- 
*/

.booking_form_checkbox_container
{
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

.booking_form_checkbox
{
    accent-color: ghostwhite;
    display: inline-block;
    transform: scale(1.5);    
    margin-right: 15px !important;    
    opacity: 0.75;
}

.booking_form_checkbox_label_block
{
    margin-bottom: 10px;
}

.booking_form_checkbox_element
{
    display: inline-block;    
    vertical-align: top;
}

.booking_form_checkbox_label_container
{
    width: calc(100% - 45px);
}

.booking_form_terms_and_conditions_contents_container
{
    /* font-size: 0.75em; */
    text-align: left;
}

#booking_terms_and_conditions_warning
{
    text-align: center;
}

.book_form_terms_and_conditions_table
{
    display: table;
    text-align: left;
}

.book_form_terms_and_conditions_table_row
{
    display: table-row;    
}

.book_form_terms_and_conditions_table_cell_field
{
/*    display: table-cell;*/
    display: inline-block;
    font-weight: 700;
    margin-right: 10px;
    text-align: left;
/*    padding-top: 10px;*/
}

.book_form_terms_and_conditions_table_cell_text
{
    display: table-cell;
    text-align: left;
}


/* -----------------------------------------------------------------------------
                                Additional Paople
   ----------------------------------------------------------------------------- 
*/

.booking_form_additional_person_container
{
    text-align: center;
}

.booking_form_additional_people_numbers
{ 
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.booking_form_additional_person_button
{    
    width: 65px;
    cursor: pointer;
    font-weight: bold;
}

/* -----------------------------------------------------------------------------
                           Communication Preferences
   ----------------------------------------------------------------------------- 
*/

.booking_form_communication_options_container
{
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 30px;
}

.booking_form_communication_option
{
    display: inline-flex;    
}

.booking_form_communication_option label
{
    margin-bottom: 0px;
    margin-right: 15px;
    color: #5d5c5c;
}


/* -----------------------------------------------------------------------------
                                Total Amount 
   ----------------------------------------------------------------------------- 
*/

.booking_form_total_amount_table
{
    display: table;
    width: 100%;
}

.booking_form_total_amount_row
{
    display: table-row
}

.booking_form_total_amount_row_total
{
    display: table-row;
    font-weight: bold;
}

.booking_form_total_amount_column_field
{
    display: table-cell;
    width: 33%;
    text-align: left;
}

.booking_form_total_amount_column_unit
{
    display: table-cell;    
    text-align: center;
}

.booking_form_total_amount_column_total
{
    display: table-cell;  
    width: 33%;
    text-align: right;
}


/* -----------------------------------------------------------------------------
                               Book Button
   ----------------------------------------------------------------------------- 
*/

.booking_form_book_button
{
    background-color: #ff9521;
    height: 80px;
    font-size: 22px;
    line-height: 28px;
    width: 100%;
    max-width: 400px;
    cursor: pointer;
    border-radius: 50px;
}

.booking_form_book_button:hover
{
    background-color: rgb(37 38 50);
}


/* -----------------------------------------------------------------------------
                               Modal
   ----------------------------------------------------------------------------- 
*/


.modal 
{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transform: scaleX(1.1) scaleY(1.1);
    transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
}

.modal-content 
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 1rem 1.5rem;
    width: 50%;  /* 24rem; */
    border-radius: 30px;
    text-align: center;
    font-weight: bold;        
}


.modal-content-picture
{
    background-color:unset;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); 
    width: 100%;
/*    height: 75%;*/
    padding: 0px;
}

/*.modal-content-picture #booking_form_modal_body
{
    padding: 0px;
}*/

.close-button 
{
    float: right;
    width: 1.5rem;
    line-height: 1.5rem;
    text-align: center;
    cursor: pointer;
    border-radius: 0.25rem;
    background-color: lightgray;
}

.close-button:hover 
{
    background-color: darkgray;
}
    
.show-modal 
{
    opacity: 1;
    visibility: visible;
    transform: scaleX(1.0) scaleY(1.0);
    transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s;
}
	
 #booking_form_modal_body
 {
    padding: 1rem;
 }
    
 .booking_form_modal_footer
 {
    padding-top: 1rem;
 }
 
 #booking_form_modal_image_success
 {
    height: 32px;
 }
  
 .modal-content.processing
 {
    border-style: solid;
    border-color: #50a3da;
    border-width: 4px;
 }
 
 .modal-content.warning
 {
    border-style: solid;
    border-color: red;
    border-width: 4px;
 }
 
 .modal-content.success
 {
    border-style: solid;
    border-color: #3eb150;
    border-width: 4px;
 }
 

/* -----------------------------------------------------------------------------
                              Contents Modification
   ----------------------------------------------------------------------------- 
*/



.booking_form_event_information_table
{
    display: flex;
    text-align: left;
    flex-direction: column;
}

.booking_form_event_information_table_row
{
    margin-bottom: 10px;
}

.booking_form_event_information_table_cell
{
    display: table-cell;
    text-align: left;
}

.booking_form_event_information_table_cell_icon
{    
    text-align: center;    
    vertical-align: text-bottom;
    height: auto;
    max-width: 25px;
    margin-right: 8px;
    margin-bottom: 0px;
}

.booking_form_event_information_table_cell_text
{    
    text-align: left;
    padding-left: 4px;
    vertical-align: middle;
}

.booking_form_card_digital_wallet_container
{
    margin-bottom: 10px;
}

.booking_form_card_digital_wallet_question_container
{
    display: flex;    
    justify-content: center;
}


/* -----------------------------------------------------------------------------
                            Membership
   ----------------------------------------------------------------------------- 
*/


.booking_form_membership_container .no_option_message
{
    display: flex;
    margin-top: 20px;
    margin-bottom: 20px;    
    align-items: center;
    justify-content: center;
}

.booking_form_membership_container .no_option_message input
{
    margin-right: 10px;
    transform: scale(1.5);
}

.booking_form_membership_container .subscription_message
{
    margin-top: 20px;
    margin-bottom: 20px;
}

.booking_form_membership_container .booking_form_membership_product_row
{
    display: flex;
    justify-content: center;
    gap: 30px;
}

.booking_form_membership_container .booking_form_membership_product_row .description
{
    min-width: 200px;
}

.booking_form_membership_container .booking_form_membership_product_row .monthly,
.booking_form_membership_container .booking_form_membership_product_row .yearly
{
    min-width: 150px;
}

.booking_form_membership_container .booking_form_membership_product_row input
{
    margin-right: 10px;
    transform: scale(1.5);
}

.booking_form_membership_container .booking_form_membership_product_row .inline
{
    display: flex;
}