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

/** GLOBAL **/

/* Select2 */
.bookacti-user-selectbox	{ width: 100%; }
.select2-dropdown			{ z-index: 3999999 !important; }

/* Radio box */
.bookacti-custom-radio-button		{ display: inline-block; margin: 0 0.5em 0.5em 0; }
.bookacti-custom-radio-button input { display: none; }
.bookacti-custom-radio-button label {
	display: inline-block;
	padding: 0.8em 1.2em;
	cursor: pointer;
	border-radius: 0.25em;
	border: 1px solid rgba( 0, 0, 0, 0.1 );
	background: #f5f5f5;
	box-shadow: inset 0 -2px 0 rgba( 0, 0, 0, 0.22 );
	transition: 0.3s;
	-webkit-user-select: none;
	   -moz-user-select: none;
		-ms-user-select: none;
			user-select: none;
}
.bookacti-custom-radio-button label:hover {
	background: #efefef;
	color: #101010;
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.32);
}
.bookacti-custom-radio-button label:active {
	-webkit-transform: translateY( 2px );
			transform: translateY( 2px );
	box-shadow: inset 0px -1px 0 rgba(0, 0, 0, 0.22);
}
@media ( max-width: 40em ) {
	.bookacti-custom-radio-button		{ margin: 0.5em 0.5em 0 0; }
	.bookacti-custom-radio-button label { padding: 0.5em 1em; }
}
.bookacti-custom-radio-button input:checked + label			{ background: #52b7e9; color: #fff; }
.bookacti-custom-radio-button input:checked + label:hover	{ background: #1e8cbe; }
.bookacti-custom-radio-button::before				{ content: attr(data-separator); margin-right: 0.5em; }
.bookacti-custom-radio-button:first-child::before	{ content: none; }

/* Tooltip */
.bookacti-form-field-label label,
.bookacti-tip-icon			{ display: inline-block; vertical-align: middle; margin: 0; }
.bookacti-tip-icon			{ padding-left: 5px; }
.bookacti-tip-icon:before	{ content:'\0043'; font-family: 'booking_activities_icons'; color: #565d61; font-weight: normal; font-size: 14px; cursor: help; vertical-align: middle; }

/* Custom Scrollbar */
.bookacti-custom-scrollbar::-webkit-scrollbar				{ width: 4px; height: 4px; }
.bookacti-custom-scrollbar::-webkit-scrollbar-track 		{ background: #f1f1f1; border-radius: 5px; }
.bookacti-custom-scrollbar::-webkit-scrollbar-thumb 		{ background: #A5A5A5; border-radius: 5px; }
.bookacti-custom-scrollbar::-webkit-scrollbar-thumb:hover	{ background: #418FB6; }

/* Booking System */
.bookacti-booking-system-container			{ width: 100%; }

.bookacti-notices							{ display: none; }
.bookacti-notices > ul						{ margin: 30px 0; padding: 10px 30px; border-left: 4px solid dodgerblue; box-shadow: 0 1px 1px 0 rgba(0,0,0,.1); background-color: rgba(255,255,255,.5); border-radius: 0 5px 5px 0; }
.bookacti-notices ul.bookacti-error-list	{ border-left-color: red; }
.bookacti-notices ul.bookacti-warning-list	{ border-left-color: #ffb900; }
.bookacti-notices ul.bookacti-success-list	{ border-left-color: green; }

.bookacti-picked-events-list,
.bookacti-picked-events-list li:last-child { margin-bottom: 0; }
.bookacti-picked-events-list.bookacti-custom-scrollbar,
.bookacti-booking-events-list.bookacti-custom-scrollbar { max-height: 200px; overflow: auto; }

/* Choose group dialog */
.bookacti-group-of-events-list			{ display: none; list-style-type: none; border-left: 1px solid rgba(0,0,0,0.2); padding-left: 10px; margin: 5px 2px 10px 25px; max-height: 200px; white-space: nowrap; overflow: auto; font-size: small; }
.bookacti-groups-of-events-list > div	{ margin-top: 15px; }
.bookacti-group-of-events-option label	{ display: inline; margin: 0; padding-left: 10px; }
.bookacti-group-availability			{ font-size: 0.8em; font-style: italic; }
.bookacti-group-of-events-option input	{ display: inline-block; margin: 0; }
.bookacti-group-of-events-option input[name="group_of_events"][disabled] + label { opacity: 0.5; }
.bookacti-group-of-events-list .bookacti-booking-event-duration	{ font-size: smaller; font-style: italic; }
.bookacti-group-of-events-list .bookacti-booking-event-title	{ font-weight: 600; }

@media screen and ( max-width: 540px ) {
	.ui-dialog.ui-widget.bookacti-dialog { max-width: 460px; }
}

@media screen and ( max-width: 460px ) {
	.ui-dialog.ui-widget.bookacti-dialog { max-width: 400px; }
	.ui-dialog.bookacti-dialog .ui-dialog-content.ui-widget-content	{ padding: .5em; }
	.ui-dialog.bookacti-dialog .ui-dialog-titlebar.ui-widget-header	{ padding: .4em; }
	.ui-dialog.bookacti-dialog .ui-dialog-titlebar .ui-dialog-title	{ white-space: normal; }
	.bookacti-group-of-events-list { margin: 5px 0px 10px 5px; }
}

@media screen and ( max-width: 400px ) {
	.ui-dialog.ui-widget.bookacti-dialog { max-width: 360px; }
}
@media screen and ( max-width: 320px ) {
	.ui-dialog.ui-widget.bookacti-dialog { max-width: 320px; }
}



/** BOOKINGS **/
.bookacti-bookings-dialog { display: none; }



/** CALENDAR **/
.bookacti-calendar { width: 100%; }
.bookacti-calendar .fc-unthemed td.fc-today	{ background: rgba( 220, 193, 6, 0.1 ); }
.bookacti-calendar table, 
.bookacti-calendar tr, 
.bookacti-calendar th, 
.bookacti-calendar td { margin: 0; padding: 0; overflow: visible; }
.bookacti-calendar .fc-time { text-transform: lowercase; }

/* Header */
.bookacti-calendar .fc-toolbar { margin-bottom: 0; }
.bookacti-calendar .fc-toolbar .fc-center, .fc-toolbar .fc-right, .fc-toolbar .fc-left { margin-bottom: 1em; }
.bookacti-picked-events-list-title	{ font-weight: bolder; }

/* Events */
.bookacti-calendar .fc-event	{ overflow: hidden; }
.bookacti-calendar .fc-event:not(.bookacti-event-unavailable) { cursor: pointer; }
.bookacti-event-unavailable		{ opacity: 0.5; }
.bookacti-picked-event .fc-bg	{ opacity: 0.5; transition: opacity 0.2s; }
.bookacti-picked-event			{ border-width: 2px; z-index: 15 !important; transition: border 0.2s; }

.bookacti-calendar .fc-basic-view .fc-event .fc-title		{ display: block; }
.bookacti-calendar .fc-basic-view .fc-content-skeleton tr	{ background-color: transparent !important; }

.fc-popover .fc-widget-content { max-height: 300px; overflow-y: auto; }

	/* Small events */
	.bookacti-calendar .fc-agenda-view .bookacti-small-event .fc-title,
	.bookacti-calendar .fc-agenda-view .bookacti-small-event .fc-time									{ display: inline; }
	.bookacti-calendar .fc-agenda-view .bookacti-small-event:not(.bookacti-wide-event) .fc-time span	{ display: none; }
	.bookacti-calendar .fc-agenda-view .bookacti-small-event:not(.bookacti-wide-event) .fc-time:before { content: attr(data-start); }
	.bookacti-calendar .fc-agenda-view .bookacti-small-event:not(.bookacti-wide-event) .fc-time:after	{ content: "\000A0-\000A0"; }
	.bookacti-calendar .fc-agenda-view .bookacti-small-event .fc-content								{ white-space: nowrap; }
	.bookacti-calendar .fc-agenda-view .bookacti-small-event .fc-title									{ font-size: .85em; padding: 0; }
	.bookacti-calendar .fc-agenda-view .bookacti-small-event.bookacti-wide-event .fc-title				{ padding-left: 5px; }
	
	/* Tiny events */
	.bookacti-calendar .fc-agenda-view .bookacti-tiny-event .fc-title,
	.bookacti-calendar .fc-agenda-view .bookacti-tiny-event .fc-time															{ display: inline; }
	.bookacti-calendar .fc-agenda-view .bookacti-tiny-event:not(.bookacti-wide-event) .bookacti-available-places-unit-name,
	.bookacti-calendar .fc-agenda-view .bookacti-tiny-event:not(.bookacti-wide-event) .bookacti-available-places-avail-particle	{ display: none; }
	.bookacti-calendar .fc-agenda-view .bookacti-tiny-event .bookacti-availability-container									{ height: 100%; }
	.bookacti-calendar .fc-agenda-view .bookacti-tiny-event .bookacti-available-places											{ height: 100%; display: block; border-radius: 0; }
	
	/* Narrow events */
	.bookacti-calendar .fc-agenda-view .bookacti-narrow-event.bookacti-tiny-event .fc-time:before,
	.bookacti-calendar .fc-agenda-view .bookacti-narrow-event.bookacti-tiny-event .fc-time:after,
	.bookacti-narrow-event .bookacti-available-places-unit-name,
	.bookacti-narrow-event .bookacti-available-places-avail-particle { display: none; }
	
	
/* Availability */
.bookacti-availability-container  { 
	white-space: nowrap;
	display: block;
	position: absolute;
	bottom: 0;
	right: -2px;
	z-index: 5;
	overflow: hidden;
}
.bookacti-availability-container .bookacti-available-places { 
	padding: 2px 3px;
	background-color: #000;
	color: #fff;
	text-align: right;
	font-size: 0.85em;
}
.bookacti-availability-container span								{ -webkit-border-radius: 3px 0 0 3px; border-radius: 3px 0 0 3px; }
.bookacti-availability-container .bookacti-bookings					{ padding: 1px 0 1px 1px; }
.bookacti-availability-container .bookacti-total-availability		{ padding: 1px 1px 1px 0; }
.bookacti-availability-container .bookacti-active-bookings-number,
.bookacti-availability-container .bookacti-available-places-number	{ font-weight: bold; font-size: larger; }

.bookacti-available-places.bookacti-booked, 
.bookacti-available-places.bookacti-not-booked		{ background-color: rgba(0, 0, 0, 0.4); }
.bookacti-available-places.bookacti-full, 
.bookacti-available-places.bookacti-no-availability	{ background-color: rgba(255, 0, 0, 0.4); }

.bookacti-events-overlap .bookacti-availability-container		{ right: auto; left: -2px; }
.bookacti-events-overlap .bookacti-availability-container span	{ -webkit-border-radius: 0 3px 3px 0; border-radius: 0 3px 3px 0; }

/* Loading */
.bookacti-loading-overlay	{ position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: rgba( 0, 0, 0, 0.6 ); z-index: 10; overflow: hidden; }
.bookacti-loading-content	{ position: relative; top: 50%; left: 50%; margin: -60px 0 0 -60px; z-index: 10; }
.bookacti-loading-box		{ -webkit-border-radius: 6px; border-radius: 6px; width: 120px; height: 120px; background: rgba( 0, 0, 0, 0.6 ); text-align: center; }
.bookacti-loading-image		{ box-sizing: border-box; padding: 25px 0 20px 0; width: 100%; }
.bookacti-loader			{ width: 32px; height: 32px; vertical-align: middle; }
.bookacti-loading-text		{ color: #fff; font-size: 0.8em; }
.bookacti-loading-alt		{ width: fit-content; margin: 30px auto; }
.bookacti-loading-alt-text	{ margin-left: 10px; vertical-align: middle; font-size: 0.9em; }

.bookacti-form-field-name-submit .bookacti-loading-alt { margin-bottom: 0; }




/** RESPONSIVE DESIGN **/

/* Smartphone only */
@media screen and ( max-width: 480px ){
	/* Calendar */
	.bookacti-calendar .fc-today-button { display: none; }
}