/***** BOOKINGS PAGE *****/

/** FILTERS **/
.bookacti-filter-container          { display: inline-block; vertical-align: top; margin-right: 10px; }
.bookacti-filter-container input,
.bookacti-filter-container select,
.bookacti-filter-container button,
.bookacti-filter-container .button,
.bookacti-filter-container textarea { width: 150px; }
.bookacti-filter-title              { font-weight: bold; line-height: 2.5em; }
.bookacti-filter-content select[multiple]        { height: 66px; box-sizing: border-box; padding: 0; margin: 0; }
.bookacti-filter-content select[multiple] option { height: 22px; box-sizing: border-box; padding: 2px 4px; margin: 0; }

#bookacti-booking-id-filter-content input                { min-height: 32px; }
#bookacti-booking-id-filter-input-container              { margin-bottom: 2px; }
#bookacti-booking-group-id-filter-input-container        { display: flex; align-items: center; }
#bookacti-booking-group-id-filter-input-container:before { content: '\0021AA'; width: 10px; display: inline-block; font-style: italic; font-size: .8em; }
#bookacti-booking-filter-booking-group-id                { width: 140px; }

#bookacti-event-filter-container          { margin: 20px 0 0 0; }
#bookacti-event-filter-container a        { text-align: center; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; height: 32px; line-height: 32px; }
#bookacti-pick-event-filter-instruction   { vertical-align: middle; margin-left: 8px; }
#bookacti-pick-event-filter::before       { font-family: 'dashicons'; content: "\f508"; margin-right: 4px; font-size: 1.2em; vertical-align: top; position: relative; top: -1px; }
#bookacti-bookings-calendar-settings      { margin-left: 3px; vertical-align: text-bottom; cursor: pointer; color: #565d61; }
#bookacti-picked-events-actions-container { vertical-align: top; }

#bookacti-actions-filter-container input            { display: block; margin: auto; margin-bottom: 2px; overflow: hidden; text-overflow: ellipsis; }
#bookacti-actions-filter-container input:last-child { margin-bottom: 0; }

label[for="bookacti-booking-filter-dates-from"],
label[for="bookacti-booking-filter-dates-to"] { display: inline-block; vertical-align: middle; width: 40px; max-width: 40px; }
#bookacti-booking-filter-dates-from, #bookacti-booking-filter-dates-to { min-height: 32px; }
#bookacti-booking-filter-dates-from { margin-bottom: 2px; }
label[for="bookacti-booking-filter-dates-from"] + input#bookacti-booking-filter-dates-from,
label[for="bookacti-booking-filter-dates-to"] + input#bookacti-booking-filter-dates-to { display: inline-block; vertical-align: middle; width: 148px; max-width: 148px; }

#bookacti-booking-filter-customer,
#bookacti-booking-filter-customer + .select2 .select2-selection,
#bookacti-booking-filter-customer + .select2 .select2-selection__rendered,
#bookacti-booking-filter-customer + .select2 .select2-selection__arrow { min-height: 32px; line-height: 32px; }

.bookacti-filter-container:nth-of-type(1) .select2.select2-container { z-index: 50; }
.bookacti-filter-container:nth-of-type(2) .select2.select2-container { z-index: 45; }
.bookacti-filter-container:nth-of-type(3) .select2.select2-container { z-index: 40; }
.bookacti-filter-container:nth-of-type(4) .select2.select2-container { z-index: 35; }
.bookacti-filter-container:nth-of-type(5) .select2.select2-container { z-index: 30; }
.bookacti-filter-container:nth-of-type(6) .select2.select2-container { z-index: 25; }
.bookacti-filter-container:nth-of-type(7) .select2.select2-container { z-index: 20; }
.bookacti-filter-container:nth-of-type(8) .select2.select2-container { z-index: 15; }
.bookacti-filter-container:nth-of-type(9) .select2.select2-container { z-index: 10; }




/** BOOKING SYSTEM **/
#bookacti-booking-system-filter-container                                    { margin-top: 20px; }
#bookacti-booking-system-bookings-page .bookacti-booking-system-title        { display: none; }
#bookacti-bookings-container .bookacti-picked-events                         { display: none !important; }
#bookacti-booking-system-bookings-page .bookacti-calendar .bookacti-availability-container 
.bookacti-not-booked .bookacti-active-bookings-number                        { font-weight: normal; font-size: 1em; }
#bookacti-booking-system-bookings-page .bookacti-calendar .bookacti-available-places.bookacti-booked { background-color: rgba(255,128,0,0.4); }
#bookacti-booking-system-reschedule-container,
#bookacti-booking-system-reschedule-container .bookacti-booking-system-title { margin-bottom: 20px; }




/** BOOKINGS TOOLTIP **/
.bookacti-tooltips-container { margin-top: 20px; }
.bookacti-tooltip-mouseover { 
	z-index: 10000; 
	min-width: 320px;
	max-width: 480px;
	max-height: 480px;
	padding: 15px 10px 15px 20px; 
	box-sizing: border-box;
	
	background-color: #fff; 
	border: 1px solid #aaa; 
	border-radius: 3px; 
	-webkit-box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.18); 
	-moz-box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.18); 
	box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.18);
}

.bookacti-tooltip-mouseover .bookacti-tooltip-content { max-width: 450px; max-height: 450px; overflow: auto; padding-right: 10px; }
.bookacti-tooltip-mouseover .bookacti-tooltip-arrow {
	content: '';
	position: absolute;
	left: calc( 50% - 5px );
	width: 10px;
	height: 10px;
	-webkit-transform: rotate(45deg);
	-moz-transform:    rotate(45deg);
	-ms-transform:     rotate(45deg);
	-o-transform:      rotate(45deg);
	background-color: #fff;
}
.bookacti-tooltip-mouseover .bookacti-tooltip-arrow-top    { top: -6px; border-top: 1px solid #aaa; border-left: 1px solid #aaa; }
.bookacti-tooltip-mouseover .bookacti-tooltip-arrow-bottom { bottom: -6px; border-bottom: 1px solid #aaa; border-right: 1px solid #aaa; }

.bookacti-booking-list-tooltip.bookacti-tooltip-mouseover                           { max-height: 300px; }
.bookacti-booking-list-tooltip.bookacti-tooltip-mouseover .bookacti-tooltip-content { max-height: 270px; }

.bookacti-booking-list-tooltip .bookacti-column-status label,
.bookacti-booking-list-tooltip .bookacti-column-payment_status label { display: none; }




/** BOOKING LIST **/
#bookacti-booking-list-container { margin-bottom: 40px; }
#bookacti-booking-list-container .row-actions { display: none; position: static; }
#bookacti-booking-list-container tr.is-expanded .row-actions { display: block; }
#bookacti-booking-list-container .has-row-actions { position: relative; }
#bookacti-booking-list-container .column-quantity .sorting-indicator { display: inline-block; vertical-align: top; float: none; }
#bookacti-booking-list-container .column-quantity { width: 40px; white-space: nowrap; text-align: center; }
#bookacti-booking-list-container .column-payment_status,
#bookacti-booking-list-container .column-state { width: 50px; text-align: center; }
#bookacti-booking-list-container .column-event_title,
#bookacti-booking-list-container .column-activity_title,
#bookacti-booking-list-container .column-template_title,
#bookacti-booking-list-container .column-product,
#bookacti-booking-list-container .column-email,
#bookacti-booking-list-container .column-phone,
#bookacti-booking-list-container .column-start_date,
#bookacti-booking-list-container .column-end_date,
#bookacti-booking-list-container .column-creation_date  { width: 12%; }
#bookacti-booking-list-container .column-actions        { width: 250px; }
#bookacti-booking-list-container .column-avatar         { width: 32px; }
#bookacti-booking-list-container .column-avatar .avatar { width: 32px; height: 32px; }
#bookacti-booking-list-container th.column-avatar       { white-space: nowrap; }

@media screen and ( max-width: 1280px ) {
	#bookacti-booking-list-container .column-quantity { width: 30px; }
	#bookacti-booking-list-container .column-payment_status,
	#bookacti-booking-list-container .column-state    { width: 40px; }
	#bookacti-booking-list-container .column-actions  { width: 106px; }
}

#bookacti-booking-list-container .column-id .bookacti-booking-group-id::before { content: '\0021AA  '; }
#bookacti-booking-list-container .column-id .bookacti-booking-group-indicator,
#bookacti-booking-list-container .column-id .bookacti-booking-group-id,
.bookacti-user-booking-list-table .bookacti-column-booking_id .bookacti-booking-group-indicator,
.bookacti-user-booking-list-table .bookacti-column-booking_id .bookacti-booking-group-id         { display: block; font-size: 0.8em; font-style: italic; }
.bookacti-user-booking-list-table .bookacti-column-booking_id .bookacti-booking-group-id::before { content: '\0021AA  '; }

.bookacti-nb-selected      { margin-right: 8px; }
.rtl .bookacti-nb-selected { margin-left: 8px; }
.bookacti-select-all-container,
.bookacti-select-all,
.bookacti-unselect-all,
.bookacti-nb-selected { display: inline-block; vertical-align: middle !important; }

.wp-admin a.bookacti-show-booking-group-bookings.active,
.wp-admin a.bookacti-show-booking-group-bookings.active:hover { background-color: #3689b1; }
.wp-admin a.bookacti-show-booking-group-bookings.active:after { color: #fff; }
#bookacti-booking-list-container .bookacti-gouped-booking:not(.hidden) .check-column   { border-left: 2px solid #3689b1; }
#bookacti-booking-list-container .bookacti-gouped-booking:not(.hidden) .column-actions { border-right: 2px solid #3689b1; }
#bookacti-booking-list-container tbody#the-list > .bookacti-gouped-booking-last td,
#bookacti-booking-list-container tbody#the-list > .bookacti-gouped-booking-last th     { border-bottom: 2px solid #3689b1 !important; }
#bookacti-booking-list-container tbody#the-list > .bookacti-gouped-booking-first td,
#bookacti-booking-list-container tbody#the-list > .bookacti-gouped-booking-first th,
#bookacti-booking-list-container .bookacti-booking-group + tr.bookacti-gouped-booking:not(.hidden) td,
#bookacti-booking-list-container .bookacti-booking-group + tr.bookacti-gouped-booking:not(.hidden) th { border-top: 2px solid #3689b1; }
#bookacti-booking-list-container tbody#the-list > .bookacti-gouped-booking-first th.column-id,
#bookacti-booking-list-container .bookacti-booking-group + tr.bookacti-gouped-booking:not(.hidden) th.column-id { position: relative; }
#bookacti-booking-list-container tbody#the-list > .bookacti-gouped-booking-first th.column-id:before,
#bookacti-booking-list-container .bookacti-booking-group + tr.bookacti-gouped-booking:not(.hidden) th.column-id:before { content: 'group'; position: absolute; top: 0; left: 0; padding: 0 5px 2px 3px; font-size: 0.8em; font-style: italic; background-color: #3689b1; color: #fff; border-bottom-right-radius: 4px; }

.bookacti-payment-status.bookacti-tip,
.bookacti-booking-status.bookacti-tip     { padding: 0; }

.bookacti-payment-status-paid,
.bookacti-booking-status-booked,
.bookacti-booking-status-delivered        { color: #82c818; }
.bookacti-payment-status-owed,
.bookacti-booking-status-pending,
.bookacti-booking-status-in_cart          { color: #f89b2f; }
.bookacti-booking-status-cancelled,
.bookacti-booking-status-refunded,
.bookacti-booking-status-refund_requested,
.bookacti-booking-status-expired,
.bookacti-booking-status-removed          { color: #b81c23; }
.bookacti-payment-status-none             { color: #555; }

.bookacti-payment-status:before,
.bookacti-booking-status:before                   { font-size: 1.5em; font-weight: bold; white-space: nowrap; vertical-align: middle; vertical-align: middle; margin: 0; }
.bookacti-payment-status-none:before              { content: '\004b  '; font-family: 'booking_activities_icons'; }
.bookacti-booking-status-delivered::before        { content: '\0048  '; font-family: 'booking_activities_icons'; }
.bookacti-payment-status-paid:before,
.bookacti-booking-status-booked::before           { content: '\0049  '; font-family: 'booking_activities_icons'; }
.bookacti-payment-status-owed:before,
.bookacti-booking-status-pending::before          { content: '\0047  '; font-family: 'booking_activities_icons'; }
.bookacti-booking-status-cancelled::before        { content: '\004a  '; font-family: 'booking_activities_icons'; }
.bookacti-booking-status-refunded::before         { content: '\0041  '; font-family: 'booking_activities_icons'; }
.bookacti-booking-status-refund_requested::before { content: '\0042  '; font-family: 'booking_activities_icons'; }
.bookacti-booking-status-in_cart::before          { content: '\0045  '; font-family: 'booking_activities_icons'; }
.bookacti-booking-status-expired::before          { content: '\0046  '; font-family: 'booking_activities_icons'; }
.bookacti-booking-status-removed::before          { content: '\0044  '; font-family: 'booking_activities_icons'; }

#bookacti-booking-list .bookacti-refund-coupon-code { display: block; font-size: 0.8em; font-style: italic; white-space: nowrap; overflow-x: auto; }
.bookacti-refund-coupon-not-valid                   { text-decoration: line-through; }
#bookacti-booking-list-container .column-state .bookacti-loading-container { padding: 0; }
#bookacti-booking-list-container .column-state .bookacti-loading-text      { display: none; }

.wp-admin a.bookacti-booking-action, 
.wp-admin a.bookacti-booking-group-action              { width: 2em; height: 2em; padding: 0; text-align: center; }
.wp-admin a.bookacti-booking-action:after,
.wp-admin a.bookacti-booking-group-action:after        { font-family: 'dashicons'; }
.wp-admin a.bookacti-change-booking-status:after       { content: '\f464'; }
.wp-admin a.bookacti-change-booking-quantity:after     { content: '\f156'; }
.wp-admin a.bookacti-refund-booking:after              { content: '\f526'; }
.wp-admin a.bookacti-send-booking-notification:after   { content: '\f466'; }
.wp-admin a.bookacti-delete-booking:after              { content: '\f182'; }
.wp-admin a.bookacti-view-booking-order:after          { font-family: 'WooCommerce'; content: '\e03d'; }
.wp-admin a.bookacti-reschedule-booking:after          { content: '\f469'; }
.wp-admin a.bookacti-show-booking-group-bookings:after { content: '\f163'; }

a.bookacti-booking-group-action[disabled],
a.bookacti-booking-action[disabled]         { opacity: 0.4; pointer-events: none; }
a.bookacti-booking-group-action,
a.bookacti-booking-action                   { display: inline-block; word-spacing: 0; margin: 5px 0; vertical-align: middle; }
.wp-core-ui .button.bookacti-booking-group-action,
.wp-core-ui .button.bookacti-booking-action { margin: 5px 0; vertical-align: middle; }

.bookacti-booking-price-details-title { font-weight: 600; }


/* Shortcode Booking list */
.bookacti-user-booking-list             { width: 100%; margin-bottom: 20px; }
.bookacti-user-booking-list-table       { width: 100%; background-color: rgba( 255,255,255,0.5 ); border: none; border-collapse: collapse; border-radius: 5px; }
.bookacti-user-booking-list-table thead { background-color: rgba( 255,255,255,0.5 ); }
.bookacti-user-booking-list-table th,
.bookacti-user-booking-list-table td    { padding: 8px; text-align: center; border: none; }
.bookacti-user-booking-list-table tr td { border-top: 1px solid #e5e5e5; vertical-align: middle; }
.bookacti-user-booking-list-table .bookacti-column-events { text-align: left; }
.bookacti-user-booking-list-table .bookacti-booking-customer_avatar .avatar { width: 48px; height: 48px; }

.bookacti-user-booking-list-table .bookacti-booking-events-list                       { margin: 0; }
.bookacti-user-booking-list-table .bookacti-booking-events-list li:only-of-type       { list-style-type: none; }
.bookacti-user-booking-list-table .bookacti-booking-events-list li:not(:only-of-type) { margin-left: 18px; }

tr.bookacti-booking-list-selected-row                             { background-color: rgba( 65, 143, 182, 0.1 ); }
.striped>tbody>:nth-child(odd).bookacti-booking-list-selected-row { background-color: rgba( 65, 143, 182, 0.12 ); }

.bookacti-user-booking-list-table .bookacti-private-value::before { content: '<'; }
.bookacti-user-booking-list-table .bookacti-private-value::after  { content: '>'; }
.bookacti-user-booking-list-table .bookacti-private-value { font-style: italic; font-size: small; }
.bookacti-user-booking-list-table .bookacti-private-value { font-style: italic; font-size: small; }
.bookacti-user-booking-list-table .bookacti-empty-row { display: none; }




/** DIALOGS **/
/* BOOKING ACTIONS DIALOGS */
#bookacti-refund-amount-container,
#bookacti-refund-options-title, 
.bookacti-refund-option              { margin-bottom: 15px; }
.bookacti-refund-options             { display: table; }
.bookacti-refund-option              { display: table-row; }
.bookacti-refund-option-radio, 
.bookacti-refund-option-text         { display: table-cell; vertical-align: top; }
.bookacti-refund-option-text         { padding: 0 0 15px 15px; }
.bookacti-refund-option-label        { font-weight: bold; margin-right: 2px; }
.bookacti-refund-option-label span:first-of-type::after { content: ': '; }
.bookacti-refund-option-description  { font-size: 0.85em; font-style: italic; font-weight: normal; }
.bookacti-refund-option-label,
.bookacti-refund-option-description  { display: block; }
.bookacti-refund-option-warning      { display: block; margin-top: 10px; }
#bookacti-refund-message textarea    { display: block; width: 100%; }
.bookacti-refund-table               { margin: 20px 0; border: none; }
.bookacti-refund-table th            { padding: 5px 0; padding-inline-end: 20px; text-align: start; border: none; }
.bookacti-refund-table td            { padding: 5px 0; padding-inline-end: 20px; border: none; }

#bookacti-booking-notification-id-container label { margin-bottom: 10px; }
#bookacti-booking-notification-id                 { width: 100%; }



/***** RESPONSIVE DESIGN *****/

/* Wordpress breakpoint for responsive WP List Table */
@media screen and ( max-width: 782px ) {
	/* Backend booking list filters */
	#bookacti-bookings-filters-container              { width: 100%; text-align: center; }
	.bookacti-filter-title                            { text-align: left; }
	#wpbody .bookacti-filter-content select[multiple] { height: 75px; }
	
	/* Backend booking list */
	#bookacti-booking-list-container .column-state,
	#bookacti-booking-list-container .column-payment_status,
	#bookacti-booking-list-container .column-quantity,
	#bookacti-booking-list-container .column-avatar,
	#bookacti-booking-list-container .column-state.hidden ~ .column-primary .bookacti-booking-status,
	#bookacti-booking-list-container .column-payment_status.hidden ~ .column-primary .bookacti-payment-status { display: none !important; }
	#bookacti-booking-list-container .bookacti-booking-group-indicator,
	#bookacti-booking-list-container .bookacti-booking-group-id { display: inline; margin-left: 4px; }
	
	#bookacti-booking-list-container .bookacti-primary-data .bookacti-payment-status::before        { content: '$'; font-weight: 600; }
	#bookacti-booking-list-container .bookacti-primary-data .bookacti-payment-status::after         { font-size: smaller; vertical-align: super; }
	#bookacti-booking-list-container .bookacti-primary-data .bookacti-payment-status-good:after     { content: '\0049  '; font-family: 'booking_activities_icons'; }
	#bookacti-booking-list-container .bookacti-primary-data .bookacti-payment-status-warning:after  { content: '\0047  '; font-family: 'booking_activities_icons'; }
	#bookacti-booking-list-container .bookacti-primary-data .bookacti-payment-status-bad:after      { content: '\004a  '; font-family: 'booking_activities_icons'; }
	#bookacti-booking-list-container .bookacti-primary-data .bookacti-payment-status-disabled:after { content: '\004b  '; font-family: 'booking_activities_icons'; }
	
	#bookacti-booking-list-container tbody#the-list > .bookacti-gouped-booking:last-child:not(.hidden) td                       { border-bottom: none !important; }
	#bookacti-booking-list-container tbody#the-list > .bookacti-gouped-booking:last-child:not(.hidden):not(.is-expanded) td.column-primary,
	#bookacti-booking-list-container tbody#the-list > .bookacti-gouped-booking:last-child:not(.hidden) td.column-actions        { border-bottom: 2px solid #3689b1 !important; }
	#bookacti-booking-list-container tbody#the-list > .bookacti-gouped-booking:first-child:not(.hidden) td:not(.column-primary),
	#bookacti-booking-list-container .bookacti-booking-group + tr.bookacti-gouped-booking:not(.hidden) td:not(.column-primary)  { border-top: none; }
	#bookacti-booking-list-container .bookacti-gouped-booking:not(.hidden) td                                                   { border-right: 2px solid #3689b1; }
	
	/* Frontend booking list */
	.bookacti-user-booking-list-table tr td:not(:first-child)       { border: none; }
	.bookacti-user-booking-list-table thead                         { display: none; }
	.bookacti-user-booking-list-table td                            { display: block; text-align: right; padding: 4px 8px; border: none; }
	.bookacti-user-booking-list-table td.bookacti-empty-column      { display: none; }
	.bookacti-user-booking-list-table td:first-child                { text-align: center; font-weight: 700; }
	.bookacti-user-booking-list-table tr:first-child td:first-child { border-top: none; }
	.bookacti-user-booking-list-table td:first-child *              { display: inline-block; vertical-align: middle; }
	.bookacti-user-booking-list-table td:before                     { content: attr(data-column-label) ":"; float: left; margin-right: 6px; font-weight: 700; vertical-align: middle; }
	.bookacti-user-booking-list-table td:first-child:before         { content: ''; }
	.bookacti-user-booking-list-table td:first-child.bookacti-column-booking_id:before { content: '\2013'; float: none; width: auto; margin-right: 0; }
	.bookacti-user-booking-list-table td:first-child.bookacti-column-booking_id:after  { content: '\2013'; vertical-align: middle; }
	.bookacti-user-booking-list-table td.bookacti-column-booking_id .bookacti-booking-group-indicator        { display: inline-block; margin-left: 5px; }
	.rtl .bookacti-user-booking-list-table td.bookacti-column-booking_id .bookacti-booking-group-indicator   { margin-left: 0; margin-right: 5px; }
	.bookacti-user-booking-list-table td.bookacti-column-booking_id .bookacti-booking-group-indicator:before { content: '('; }
	.bookacti-user-booking-list-table td.bookacti-column-booking_id .bookacti-booking-group-indicator:after  { content: ')'; }
	.bookacti-user-booking-list-table td.bookacti-column-actions        { text-align: center; } /* Center booking actions */
	.bookacti-user-booking-list-table td.bookacti-column-actions:before { content: ''; }
	.bookacti-user-booking-list-table .bookacti-booking-grouped-events-list,
	.bookacti-user-booking-list-table .bookacti-booking-events-list li:not(:only-of-type) { margin: 0; }
	.bookacti-booking-list-tooltip .bookacti-column-status label,
	.bookacti-booking-list-tooltip .bookacti-column-payment_status label { display: inline; }
}

/* Smartphone only */
@media screen and ( max-width: 460px ) {
	#bookacti-event-filter-container a, 
	#bookacti-event-filter-container input,
	#bookacti-picked-events-actions-container { display: block; margin: auto; margin-bottom: 2px; width: 250px; }
	#bookacti-picked-events-actions-container { margin-top: 8px; }
}

/* Smartphone only */
@media screen and ( max-width: 360px ) {
	.bookacti-filter-container { display: block; margin: auto; width: 80%; }
	.bookacti-filter-content select, 
	.bookacti-filter-content input, 
	.bookacti-filter-content a { width: 100%; }
	#wpbody .bookacti-filter-content select[multiple] { height: 60px; }
}