/***** GLOBAL *****/

.badp-tooltip-submit-button { cursor: pointer; }

/** CALENDAR **/
.bookacti-calendar .badp-has-background-image,
.badp-waterfall-timepicker-options li.badp-has-background-image { background-size: cover; background-position: center; }

/** THIS FIXES THE MULTIMONTH SCROLLBAR BUG TRIGGERS AN INFINITE LOOP: https://github.com/fullcalendar/fullcalendar/issues/7581
.fc-daygrid-event-harness-abs { display: none; }
*/

/* Overlapping events */
.bookacti-calendar .fc-view.fc-timegrid.bookacti-events-overlap .fc-timegrid-event-harness.bookacti-picked-event-container { z-index: 50 !important; }

.bookacti-calendar .fc-view.fc-timegrid.bookacti-events-overlap .bookacti-tiny-event:not(.bookacti-wide-event) .bookacti-event-time-end { display:none; }
.bookacti-calendar .fc-view.fc-timegrid.bookacti-events-overlap .bookacti-tiny-event.bookacti-wide-event .fc-event-time:after { content: '\000A0'; }
.bookacti-calendar .fc-view.fc-timegrid.bookacti-events-overlap .bookacti-tiny-event .fc-event-time,
.bookacti-calendar .fc-view.fc-timegrid.bookacti-events-overlap .bookacti-tiny-event .fc-event-title-container,
.bookacti-calendar .fc-view.fc-timegrid.bookacti-events-overlap .bookacti-tiny-event .fc-event-title { display: inline; padding: 0; line-height: 1.15em; }

.bookacti-events-overlap .bookacti-availability-container                                 { right: auto; left: 0; }
.bookacti-events-overlap .bookacti-availability-container .bookacti-available-places      { border-radius: 0 3px 0 0; }
.rtl .bookacti-events-overlap .bookacti-availability-container                            { right: 0; left: auto; }
.rtl .bookacti-events-overlap .bookacti-availability-container .bookacti-available-places { border-radius: 3px 0 0 0; }


/** List views **/
.bookacti-calendar .fc-list-event                           { cursor: pointer; }
.bookacti-calendar .fc-list-event.bookacti-event-hidden     { display: none; }
.bookacti-calendar .fc-list-event-time                      { text-transform: lowercase; vertical-align: middle; }
.bookacti-calendar .fc-list-event .fc-event-title-container { display: inline-block; }
.bookacti-calendar .fc-list-event .fc-list-event-title      { position: relative; overflow: hidden; }
.bookacti-calendar .fc-list-event-graphic                   { padding-left: 0 !important; padding-right: 0 !important; width: 25px !important; text-align: center; vertical-align: middle; }

.bookacti-calendar .fc-list-event.bookacti-picked-event .fc-list-event-dot,
.bookacti-calendar .fc-list-event.bookacti-selected-event .fc-list-event-dot             { border-width: 9px; border-radius: 9px; vertical-align: middle; transition: all 0.3s; }
.bookacti-calendar .fc-list-event .fc-list-event-dot::after                              { content:''; font-size: 0; background: rgba(255,255,255,0.25); color: #fff; text-align: center; height: 14px; width: 14px; border-radius: 7px; line-height: 14px; position: relative; top: -7px; left: -7px; }
.bookacti-calendar .fc-list-event.bookacti-picked-event .fc-list-event-dot::after,
.bookacti-calendar .fc-list-event.bookacti-selected-event .fc-list-event-dot::after      { content:'\0049'; font-family: 'booking_activities_icons'; font-size: 11px; line-height: 15px; display: block; transition: font-size 0.3s; }
.rtl .bookacti-calendar .fc-list-event.bookacti-picked-event .fc-list-event-dot::after,
.rtl .bookacti-calendar .fc-list-event.bookacti-selected-event .fc-list-event-dot::after { left: auto; right: -7px; }
#bookacti-template-calendar .fc-list-event.bookacti-picked-event .fc-list-event-title a::before { content: '\f344'; font-family: 'dashicons'; margin: 0 5px 0 2px; }
#bookacti-template-calendar .fc-list-event.bookacti-picked-event:not(.bookacti-selected-event) .fc-list-event-dot        { border-width: 5px; border-radius: 5px; }
#bookacti-template-calendar .fc-list-event.bookacti-picked-event:not(.bookacti-selected-event) .fc-list-event-dot::after { content: none; }
#bookacti-template-calendar .fc-list-event.bookacti-selected-event { box-shadow: none; }

.bookacti-calendar .fc-list-empty .bookacti-loading-container           { margin: 15px; }
.bookacti-calendar .fc-list-event .bookacti-availability-container      { bottom: 0; right: 0; }
.rtl .bookacti-calendar .fc-list-event .bookacti-availability-container { right: auto; left: 0; }

.bookacti-calendar tr.fc-list-event.badp-has-background-image:not(.bookacti-picked-event):hover td { background-color: rgba( 255,255,255,.2 ); }
.bookacti-calendar .fc-list-event:hover .fc-list-event-dot { opacity: .75; }
.bookacti-calendar .fc-list-event.bookacti-picked-event td,
.bookacti-calendar.fc .fc-list-event:hover td              { background-color: rgba( 255,255,255,.5 ); }
.bookacti-calendar .fc-list-event td                       { line-height: 2em; }
.bookacti-calendar .fc-event.fc-list-event:focus:before,
.bookacti-calendar .fc-event.fc-list-event:focus:after     { content: none; }

.bookacti-calendar .fc-list-day.badp-empty-list-day { display: none; }
.bookacti-calendar .fc-list-sticky .fc-list-day > * { z-index: 6; }


/** WATERFALL **/
.badp-display-table-row	{ display: table-row; }
.badp-display-none		{ display: none; }

.bookacti-booking-system .badp-waterfall-title	{ padding-right: 15px; }
.bookacti-booking-system .badp-waterfall-title,
.bookacti-booking-system .badp-waterfall-field	{ display: table-cell; vertical-align: middle; }

.badp-waterfall-step:not(.badp-display-none) > *              { padding-bottom: 20px; }
.badp-waterfall-step:not(.badp-display-none):last-of-type > * { padding-bottom: 0; }

.ui-datepicker { z-index: 3999999 !important; }

/* Align availability div on the right */
.badp-waterfall-timepicker-option .ui-menu-item-wrapper,
.badp-waterfall-timepicker-field .ui-selectmenu-button					{ display: flex; flex-flow: row wrap; align-items: center; }
.badp-waterfall-timepicker-option .ui-menu-item-wrapper					{ width: 100%; }
.badp-waterfall-timepicker-option .ui-menu-item-wrapper.ui-state-active { margin: 0; border: none; }

.badp-waterfall-timepicker-option .badp-timepicker-align-right			{ margin-left: auto; }
.badp-waterfall-timepicker-option .badp-timepicker-align-left,			
.badp-waterfall-timepicker-option .badp-timepicker-align-right			{ display: inline-block; }
.badp-waterfall-timepicker-option .bookacti-availability-container		{ display: inline-block; position: static; vertical-align: middle; }
.badp-waterfall-timepicker-option .bookacti-availability-container>span	{ display: inline-block; padding: 4px; line-height: 1em; border-radius: 3px; }
.badp-waterfall-timepicker-option .bookacti-available-places			{ margin-left: 10px; }
.badp-waterfall-timepicker-option .badp-timepicker-group-of-events		{ flex-basis: 100%; margin: -2px 0; font-size: 0.75em; font-style: italic; }

#bookacti-reschedule-booking-dialog .badp-waterfall-step:not(.badp-display-none)		{ margin-bottom: 10px; display: block; }
#bookacti-reschedule-booking-dialog .badp-waterfall-title								{ display: inline-block; width: 150px; font-weight: bold; }
#bookacti-reschedule-booking-dialog .badp-waterfall-field								{ display: inline-block; vertical-align: middle; }

input[type='text'].badp-waterfall-datepicker                                 { border: 1px solid #a5a5a5; border-radius: 0;}
input[type='text'].badp-waterfall-datepicker, 
.badp-waterfall-timepicker-field .ui-selectmenu-button                       { vertical-align: middle; padding: 0.4em 1em; width: 200px; height: 40px; box-sizing: border-box; cursor: pointer; }
.badp-waterfall-timepicker-field .ui-selectmenu-button .badp-selectmenu-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: calc(100% - 20px); }
.badp-waterfall-timepicker-field .ui-selectmenu-button .ui-selectmenu-text   { display: none; }
.badp-waterfall-datepicker.ui-state-hover,
.badp-waterfall-datepicker.ui-state-hover::placeholder { color: #fff; }