:root {
    --bs-font-sans-serif: Helvetica,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    --bs-body-bg: #fafbfc;
    --bs-light-rgb: 255,255,255;
}
.row-lg {
    --bs-gutter-x: 3rem;
}
.modal {
    --bs-modal-border-color: transparent;
    --bs-modal-footer-border-color: #e7ecf2;
}

.card {
    box-shadow: 0 0 3px rgb(54 65 76 / 20%);
    border: none;
    transition: all 0.5s ease;
}
.card:hover {
    box-shadow: 0 10px 25px rgb(54 65 76 / 20%);
}
.card-body-top {
    position: relative;
}
.card-body-bottom {
    border-top: 1px solid #e7ecf2;
    padding: 0;
    margin: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
    padding-top: var(--bs-card-spacer-y);
    margin-top: 0;
}
.card-link {
    text-decoration: none;
}
hr {
    color: #e7ecf2;
    opacity: 1;
}
.price {
    color: #6c757d;
    font-weight: bold;
}
.responsive-img {
    width: 100%;
}
.form-label {
    font-weight: bold;
}
.form-group {
    margin-bottom: 1rem;
}
@media (min-width: 992px) {
    .col-sidebar {
        border-left: 1px solid #e7ecf2;
    }
}

.cart-img {
    width: 100%;
    height: 100%;
    display: block;
    background-size: cover;
    border-bottom-left-radius: var(--bs-border-radius);
    border-top-left-radius: var(--bs-border-radius);
}

.navbar {
    border-bottom: 1px solid var(--bs-border-color);
    --bs-navbar-padding-y: .75rem;
    background: #fff;
}
.navbar-logo {
    max-height: 3rem;
}

.navbar .nav-item {
    margin-left: 1rem;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link.active {
     color: var(--bs-primary);
}

.fc-event:not([href]) {
    opacity: 0.65;
}

.form-search {
    background: #fff;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    padding: 1rem 1rem 0;
}

@media(max-width: 991px) {
    .navbar-collapse {
        margin-top: 1rem;
    }
}

.fc .fc-toolbar-title {
    font-size: 1rem !important;
    font-weight: bold;
}
.fc .fc-toolbar {
    align-items: end !important;
}
.fc .fc-toolbar.fc-header-toolbar {
    margin-bottom: 1rem !important;
}

.tab-details {
    background: #fff;
    padding: 1rem;
    border: 1px solid var(--bs-border-color);
    border-top: none;
}

.bookings .booking {
    border-bottom: 1px solid var(--bs-border-color);
    margin-bottom: 1.5rem;
}
.bookings .booking:last-child {
    border-bottom: none;
}

.bookings-grid {
    font-size: .9rem;
}
.booking--time {
    color: var(--bs-gray);
    padding-right: var(--bs-gutter-y);
}
.booking--subject {
    font-size: .875em;
}