.calender-card table{
    border-collapse: separate;
    border-spacing: 0;
}
.calender-card .fc-view-container .fc-past{
    background-color: transparent;
    position: relative;
}
.calender-card .fc-view-container .fc-past::after{
    content: " ";
    width: 30px;
    height: 30px;
    background-color: #ccc;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-radius: 50%;
    z-index: -1;

}
.calender-card .fc table td, .calender-card .fc table th{
    border: none;
    font-size: 1.6rem;
} 
.calender-card .fc-left h2{
    font-size: 1.6rem;
    padding-left: 0;
}
.calender-modal-wrap .heading-block{
    border-bottom: none;
}
.calender-modal-wrap.modal-dialog{
    max-width: 783px !important;
    /* width: 100% !important; */
    width: auto !important;
}
.calender-modal-wrap .modal-title{
    font-size: 2.4rem;
}
.calender-modal-wrap .heading-block, .calender-modal-wrap .modal-body, .calender-modal-wrap .modal-footer, .calender-modal-wrap .calender-card{
   padding: 0;
}
.calender-modal-wrap .close{
    margin: 0;
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 111;

}
.calender-modal-wrap .modal-content{
    padding: 13px;
    position: relative;
    z-index: 99999;
}
.calender-modal-wrap .fc-icon-left-single-arrow, .calender-modal-wrap .fc-icon-right-single-arrow{
    position: relative;
}
.calender-modal-wrap .fc-icon-right-single-arrow:after, .calender-modal-wrap .fc-icon-left-single-arrow:after{
    background: none;
    top: 0;
    font-size: 30px;
    display: none;
   
}
.calender-modal-wrap .fc-icon-left-single-arrow{
    background: url("../images/left-arrow-calender.svg") no-repeat center;
    width: 20px;
    height: 20px;
}
.calender-modal-wrap .fc-icon-right-single-arrow{
    background: url("../images/right-arrow-calender.svg") no-repeat center;
    width: 20px;
    height: 20px;
}
.calender-modal-wrap .fc-toolbar{
    margin-bottom: 10px;
}
.calender-modal-wrap .fc-unthemed .fc-today{
    background-color: transparent;
    position: relative;
}
.calender-modal-wrap .fc-unthemed .fc-today::after{
    position: absolute;
    content: " ";
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #CDF0FF;
    z-index: -1;
}
.calender-modal-wrap .booking-information{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.upcomming-sessions.cards-block{
    position: relative;
    overflow: hidden;
    width: 100%;
  }
  .calendar-container #prev, .calendar-container #next{
    position: absolute;
    top: -43px;
    right: 30px;
    cursor: pointer;
    background: url("../images/left-arrow.svg") no-repeat center;
    background-size:16px;
  }
  .calendar-container #prev:hover, .calendar-container #next:hover{
    background-color: #055096;
    transition: all 0.3s;
  }
  .calendar-container #prev:hover::after, .calendar-container #next:hover::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("../images/left-arrow.svg") no-repeat center;
    background-size: contain;
    filter: invert(100%) brightness(1000%);
    z-index: 1;
    background-size: 16px;
  }
  
  .calendar-container #next{
    right: -18px;
    background: url("../images/left-arrow.svg") no-repeat center;
    transform: rotate(180deg);
  }
  .upcomming-sessions.cards-block .days-container{
    width: auto;
    gap: 4px;
  }
  .upcomming-sessions.cards-block h2{
    margin-bottom: 20px;
  }
  .upcomming-sessions.cards-block .days-container .day{
    width: 46px;
    padding: 4px 2px;
    border: 1px solid #F6F6F6;
    font-size: 11px;
    /* min-height: 53px; */
  }
  .modal-content.blockSlotWrap{
    padding: 30px;
  }
  @media all and (min-width:512px){
    .upcomming-sessions.cards-block .days-container .day {
        width: 62px;
        padding: 10px;
    }
    .calendar-container #prev, .calendar-container #next {
        right: 45px;
    }
    .calendar-container #next {
        right: -3px;
    }
  }

@media all and (min-width:768px){
    .calender-modal-wrap .booking-information{
        flex-direction: row;
    }
    .calender-modal-wrap .calender-card::after{
        position: absolute;
        content: " ";
        top: 0;
        bottom: 0;
        right: -30px;
        border-right: 1px dashed #A7A7A7;
    }
    .calendar-container #prev, .calendar-container #next {
        right: 94px;
    }
    .calendar-container #next {
        right: 42px;
    }
}
.calender-modal-wrap .calender-content{
    max-width: 379px;

}
.admin-block.availability-wrap .calender-modal-wrap .calender-content{
    /* width: 253px; */
    width: auto !important;
}
.calender-modal-wrap [type="radio"]:not(:checked) + label:before {
    display: none;
}
.calender-modal-wrap .time-content{
    max-width: 272px;
    width: 100%;
    margin-top: 13px;
}
.calender-modal-wrap .sl-appointment-time-holder{
    height: 204px;
    overflow: auto;
}
.calender-modal-wrap .sl-timeslots{
    gap: 16px;
    padding-right: 10px;
}
.calender-modal-wrap .time-slot-booking{
    width: 100%;
}
.calender-modal-wrap .selected-date{
    display: inline-block;
    font-size: 1.6rem;
    font-family: "MuseoSansCyrl700", sans-serif;
    margin-bottom: 16px !important;
}
.calender-modal-wrap .booking-time-detail{
    padding: 15px 12px !important;
    border: 1px solid #A7A7A7 !important;
    border-radius: 12px !important;
    font-size: 1.6rem !important;
    font-family: "MuseoSansCyrl400", sans-serif;
}
.calender-modal-wrap [type="radio"]:checked + label:before, .calender-modal-wrap [type="radio"]:not(:checked) + label:before, .calender-modal-wrap [type="radio"]:checked + label:after{
    display: none;
}
.calender-modal-wrap .next-step .booking-time-detail.active-time{
    background-color: #CDF0FF !important;
}
.time-slot-booking .confirm-btn{
    display: none;
}
.time-slot-booking.active .confirm-btn{
    display: block;
}
 .calender-modal-wrap .time-slot-booking{
    display: flex;
    align-items: center;
    gap: 8px;
 }
 .calender-modal-wrap .time-slot-booking .confirm-btn{
    padding: 13px 12px;
    min-width: 134px;
 }
 .calender-modal-wrap .calender-content .card{
    margin-bottom: 0px;
 }
.calender-modal-wrap .sl-timeslots .sl-radio{
    padding: 0;
}
.calender-modal-wrap .fc-basic-view .fc-day-number, .calender-modal-wrap .fc-basic-view .fc-week-number{
    padding: 0;
}
.calender-modal-wrap .fc-view-container{
    margin-left: -9px;
}
.calender-modal-wrap .fc-state-default.fc-corner-right{
    right: 9px;
}
.calender-modal-wrap .fc-widget-header{
    position: relative;
}
.calender-modal-wrap .fc-widget-header::after{
    content: " ";
    position: absolute;
    bottom: 7px;
    left: 0;
    right: 0;
    margin: 0 auto;
    background-color: #F6F6F6;
    height: 2px;
    width: 100%;
}
.calender-modal-wrap .calender-card{
    position: relative;
}

.calender-modal-wrap .heading-block{
    margin-bottom: 40px;
}

.calender-modal-wrap .fc-state-default.fc-corner-right, .calender-modal-wrap .fc-state-default.fc-corner-left{
    top: 10px;
    border: 0;
}



.calendar-container {
    text-align: center;
    max-width: 504px;
    /* margin: 0 auto; */
    position: relative;
}

.calendar-nav {
    display: flex;
    /* justify-content: center;
    align-items: center; */
    margin-top: 20px;
}

.upcomming-sessions .arrow-btn {
    background-color: #fff;
    border: 1px solid #055096;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 18px;
    margin: 0 10px;
    border-radius: 8px;
}

.upcomming-sessions .days-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
}

.upcomming-sessions .day {
    width: 80px;
    text-align: center;
    padding: 10px;
    border: 1px solid transparent;
    cursor: pointer;
}

.day.has-booking {
    background-color: #f0f8ff;
    border-color: #007bff;
    color: #007bff;
    font-weight: bold;
}

.bookings-container {
    margin-top: 20px;
    text-align: left;
}

.booking {
    padding: 10px;
    border-bottom: 1px solid #ccc;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.join-session-btn {
    background-color: #007bff;
    color: #fff;
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
}
@media all and (min-width:1400px){
    .upcomming-sessions.cards-block .days-container .day {
        width: auto;
        padding: 4px;
        border: 1px solid #F6F6F6;
        font-size: 12px;
        min-height: 0;
        min-width: 50px;
    }
    .calendar-container #prev, .calendar-container #next {
        right: 52px;
    }
    .calendar-container #next {
        right: 5px;
    }
}
@media all and (min-width:1600px){
    .upcomming-sessions.cards-block .days-container .day {
        width: 50px;
        padding: 5px;
    }
}
@media all and (min-width:1800px){
    .upcomming-sessions.cards-block .days-container .day {
        width: 62px;
        padding: 10px;
    }
}
.modal-content.reschedulePopup .calender-card .fc-view-container .fc-past::after {
    width: 30px;
    height: 30px;
}
.modal-content.reschedulePopup .fc-state-default.fc-corner-left {
    left: 25px;
    padding: 0;
}
@media all and (min-width:768px){
.modal-dialog.bookingDetailModal{
    width: auto !important;
}
.calender-modal-wrap .sl-appointment-time-holder{
    height: 288px;
}
}
.admin-block.availability-wrap .calender-modal-wrap .calender-card::after{
    border: 0;
}
@media all and (min-width:512px){
    .modal-content.reschedulePopup .fc-state-default.fc-corner-left {
        left: -7px;
    }
    .fc-state-default.fc-corner-right {
        right: 15px;
    }
    .calender-modal-wrap .calender-content {
        max-width: 379px;
        width: 379px;
    }
    .admin-block.availability-wrap .calender-modal-wrap .calender-content {
        /* width: 379px; */
        width: auto !important;
        margin: 0 auto;
    }
    .calender-card .fc-view-container .fc-past::after ,.calender-modal-wrap .fc-unthemed .fc-today::after , .calender-card .fc-day.active-time::before {
        width: 40px;
        height: 40px;
    }
}
@media all and (min-width:1024px){
    .modal-content.reschedulePopup {
        padding: 30px;
    }
    .modal-content.reschedulePopup h5,  .modal-content.reschedulePopup h2{
        margin-left: 20px !important;
    }
}