.booking_calendar_container {
    margin: 1em auto;
}
.booking_calendar {
    width: 100%;
    table-layout: fixed;
    border-spacing: 1px;
    border-collapse: separate;
}
.booking_calendar td {
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.booking_calendar thead td.booking_calendar_nav, .booking_calendar thead td.booking_calendar_header_month {
    border: 0;
}
.booking_calendar thead td {
    padding: 0.5em 0;
}
.booking_calendar thead td.booking_calendar_header_dow {
    background: #5c5c5c;
    color: #fff;
}
.booking_calendar td.no-current-month {
    opacity: 0.3;
}
.booking_calendar td.past-day {
    cursor: not-allowed;
}
.booking_calendar td.past-day span {
    opacity: 0.6;
}
.booking_calendar td.current-day {
    border-color: #999;
}
.booking_calendar td span {
    padding: 0.8em 0;
    display: inline-block;
}
.booking_calendar td span.available {

}

.booking_availability_modal .booking_availability_slot a {
    padding: 0.6em 0;
    margin: 0.2em;
    transition: all 0.2s ease-out;
}
.booking_availability_modal .booking_availability_slot a.booked {
    background: #00a65a;
    font-weight: bold;
}
.booking_availability_modal .booking_availability_slot a.not-booked {
    opacity: 0.7;
}
.booking_availability_modal .booking_availability_slot a.error {
    background: #b60000;
}
.booking_availability_modal .booking_form_container {
    border-top: 20px solid #eee;
    margin-top: 1em;
    padding-top: 1em;
}
.booking_availability_modal form {
    display: flex;
    flex-wrap: wrap;
}

.col-sm-6 .widget_booking .col-md-offset-2, .col-sm-4 .widget_booking .col-md-offset-2, .col-sm-3 .widget_booking .col-md-offset-2 {
    margin-left: 0% !important;
}
.col-sm-6 .widget_booking .col-md-8, .col-sm-4 .widget_booking .col-md-8, .col-sm-3 .widget_booking .col-md-8 {
    width: 100% !important;
}
.col-sm-3 .widget_booking .visible-xs {
    display: block !important;
}
.col-sm-3 .widget_booking .hidden-xs {
    display: none !important;
}