.service_booking_availability .flatpickr-calendar {
    margin-left: auto;
    margin-right: auto;
    margin-top: 5px;
    margin-bottom: 5px;
}

.service_booking_availability {
    text-align: center;
}

#service_select_time_container {
    margin-top: 20px;
}

.service_quantity_container {
    text-align: center;
}

.service_quantity {
    display: inline-block;
    max-width: 49%;
    padding: 10px 5px;
    vertical-align:top;
}

.service_booking_availability label {
    font-weight: normal;
}

.service_booking_availability {
    padding: 20px;
    background-color: white;
    border: 1px solid #cacaca;
}

.service_description_container {
    margin-top: 30px;
    position: relative;
}

.service_icon {
    position: absolute;
    top: 3px;
    left: 3px;
    max-height: 30px;

}

.service_title {
    padding-top: 10px;
    position: relative;
    text-align: center;

}

.service_confirm_booking_btn {
    width: 100%;
    border: 1px solid #a7a7a7;
    color: #2a2a2a;
    padding: 10px;
    text-transform: uppercase;
    font-size: 1.25em;
    line-height: 1.0666666667em;
    background-color: transparent;
    display: block;
    left: 0;
    right: 0;
    margin: 30px auto;
    cursor: pointer;
}

#te_notes {
    height: 120px;
}

#contact-details-container {
    margin-top: 20px;
    margin-bottom: 10px;
}

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

#service_payment {
    text-align: center;
}

.service_terms {
    text-align: left;
}

label.error {
    font-weight: normal;
    font-size: 12px;
    color: red;
}

#service_availability_error {
    color: red;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}

#conditions_accepted-error, #privacy_policy_accepted-error {
    display: none;
    width: 100%
}

#service_select_time_container, #service_quantity_container {
    margin-bottom: 20px;
}

#service_booking_form .sp-arrow:after, #service_booking_form .sp-arrow:before {
    background-color: #929292;
}

#service_quantity_container {
    display: none;
}

#service_select_time {
    text-align: center;
    text-align-last: center;
}

.service_booking_availability .flatpickr-months .flatpickr-month {
    height: 31px;
}

#service_price_details {
    display: none;
    padding-top: 10px;
    padding-bottom: 10px;
    margin: 15px;
    border-top: 1px solid #cbcbcb;
    border-bottom: 1px solid #cbcbcb;
    font-size: 25px;
    color: #6d6d6d;
}

/*
#service_loader_layer {
    display: none;
    position: absolute;
    background-color: transparent;
    z-inde: 15000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
*/

.service_booking_container .col-xs-1,
.service_booking_container .col-sm-1,
.service_booking_container .col-md-1,
.service_booking_container .col-lg-1,
.service_booking_container .col-xs-2,
.service_booking_container .col-sm-2,
.service_booking_container .col-md-2,
.service_booking_container .col-lg-2,
.service_booking_container .col-xs-3,
.service_booking_container .col-sm-3,
.service_booking_container .col-md-3,
.service_booking_container .col-lg-3,
.service_booking_container .col-xs-4,
.service_booking_container .col-sm-4,
.service_booking_container .col-md-4,
.service_booking_container .col-lg-4,
.service_booking_container .col-xs-5,
.service_booking_container .col-sm-5,
.service_booking_container .col-md-5,
.service_booking_container .col-lg-5,
.service_booking_container .col-xs-6,
.service_booking_container .col-sm-6,
.service_booking_container .col-md-6,
.service_booking_container .col-lg-6,
.service_booking_container .col-xs-7,
.service_booking_container .col-sm-7,
.service_booking_container .col-md-7,
.service_booking_container .col-lg-7,
.service_booking_container .col-xs-8,
.service_booking_container .col-sm-8,
.service_booking_container .col-md-8,
.service_booking_container .col-lg-8,
.service_booking_container .col-xs-9,
.service_booking_container .col-sm-9,
.service_booking_container .col-md-9,
.service_booking_container .col-lg-9,
.service_booking_container .col-xs-10,
.service_booking_container .col-sm-10,
.service_booking_container .col-md-10,
.service_booking_container .col-lg-10,
.service_booking_container .col-xs-11,
.service_booking_container .col-sm-11,
.service_booking_container .col-md-11,
.service_booking_container .col-lg-11,
.service_booking_container .col-xs-12,
.service_booking_container .col-sm-12,
.service_booking_container .col-md-12,
.service_booking_container .col-lg-12 {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.service_booking_container label{
    padding-bottom: 2px !important;
}

.service_booking_container .form-control{
    border-radius: 0 !important;
    -webkit-appearance: none;
}

/*SPINNER*/
.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 64px;
    height: 64px;
}

.lds-ellipsis div {
    position: absolute;
    top: 27px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #7b7b7b;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
    left: 6px;
    animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
    left: 6px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
    left: 26px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
    left: 45px;
    animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}

@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(19px, 0);
    }
}

/*ENDSPINNER*/
.toueng-fullscreen-loader {
    color:black;
    background-color: rgba(202, 202, 202, 0.5);
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 25000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.toueng-centered-spinner {
    width: 80px;
    height: 80px;
    margin-left: auto;
    position: relative;
    margin-right: auto;
    top: 50%;
    transform: translateY(-40px);
    text-align: center;

}

.toueng-centered-spinner i {
    vertical-align: middle;
    line-height: 80px;
    font-size: 36px;
}

.toueng-centered-msg {
    width: 50%;
    margin-left: auto;
    position: relative;
    margin-right: auto;
    top: 20%;
    text-align: center;
}
.secure-payment{
    margin-top:15px;
    margin-bottom:15px;
    max-width:100%;
}
#card-carderror {
    color:red;
    font-weight:bold;
    text-align:center;
}
#card-cardholder {
    font-family: Source Code Pro, Consolas, Menlo, monospace;
    font-size: 16px;
    font-weight: 500;
    width: 100%;
    color: #32325d;
    background-color: transparent;
}
#card-cardholder::placeholder {
    color: #CFD7DF
}
#toueng_creditcard_container .gs-fgroup {
    margin-bottom: 0;
}
.service_booking_availability .flatpickr-day,.service_booking_availability .flatpickr-day.nextMonthDay {
    background-color:green;
    color: white;
    font-weight: bold;
}
.service_booking_availability .flatpickr-day.selected, .service_booking_availability .flatpickr-day.nextMonthDay.selected {
    background-color: blue !important;
    border-color: transparent !important;
}
.service_booking_availability .flatpickr-day:hover, .service_booking_availability .flatpickr-day.nextMonthDay:hover {
    background-color: #00ac00;
}

.service_booking_availability .flatpickr-day.flatpickr-disabled, .service_booking_availability .flatpickr-day.flatpickr-disabled:hover{
    background-color: #bebebe;
    color: white;
    font-weight: bold;
}
.passenger_row_separator {
    width:99%;
    height:2px;
    background-color: #999999;
    border-color:#999999;
}
#extraContactsContainer {
    display:none;
}
#service_availability_details{
    font-weight: bold;
    font-style: italic;
}
.day-not-available {
    background-color: #b10000 !important;
}
.availability-legend{
    text-align:left;
    margin-bottom:15px;
}
.legend-square {
    height:10px;
    width:10px;
    border: 1px solid gray;
    display:inline-block;
}
.legend-square-available {
    background-color: #00ac00;
}
.legend-square-not-available {
    background-color: #b10000;
}
#confirm_booking_error_message {
    margin-top:10px;
    border: 1px solid #630000;
    padding: 10px;
    color: red;
    display:none;
}
