WordPress Online Booking and Scheduling Plugin – Bookly - Version 18.7

Version Description

Download this release

Release Info

Developer Ladela
Plugin Icon 128x128 WordPress Online Booking and Scheduling Plugin – Bookly
Version 18.7
Comparing to
See all releases

Code changes from version 18.6 to 18.7

Files changed (67) hide show
  1. backend/Backend.php +14 -5
  2. backend/components/cloud/recharge/amounts/auto/templates/selector.php +1 -1
  3. backend/components/dashboard/appointments/Ajax.php +6 -6
  4. backend/components/dialogs/appointment/edit/Ajax.php +16 -14
  5. backend/components/dialogs/appointment/edit/resources/js/ng-appointment.js +7 -5
  6. backend/components/dialogs/appointment/edit/templates/edit.php +1 -1
  7. backend/components/dialogs/payment/templates/details.php +1 -1
  8. backend/components/dialogs/queue/resources/js/queue-dialog.js +1 -1
  9. backend/components/dialogs/sms/templates/_settings.php +3 -3
  10. backend/components/dialogs/staff/edit/Ajax.php +9 -0
  11. backend/components/dialogs/staff/edit/Dialog.php +1 -0
  12. backend/components/dialogs/staff/edit/proxy/Packages.php +16 -0
  13. backend/components/dialogs/staff/edit/resources/js/staff-edit-dialog.js +18 -3
  14. backend/components/dialogs/staff/edit/resources/js/staff-services.js +32 -4
  15. backend/components/dialogs/table_settings/templates/dialog.php +1 -1
  16. backend/components/gutenberg/bookly_form/Block.php +1 -0
  17. backend/components/gutenberg/bookly_form/resources/js/booking-form-block.js +1 -1
  18. backend/components/settings/Inputs.php +39 -0
  19. backend/components/settings/resources/js/settings-controls.js +30 -0
  20. backend/components/support/Buttons.php +1 -1
  21. backend/components/support/templates/buttons.php +1 -1
  22. backend/modules/appearance/Page.php +4 -0
  23. backend/modules/appearance/resources/js/appearance.js +20 -0
  24. backend/modules/appointments/Ajax.php +2 -2
  25. backend/modules/calendar/Ajax.php +60 -44
  26. backend/modules/calendar/Page.php +164 -60
  27. backend/modules/calendar/proxy/Pro.php +15 -0
  28. backend/modules/calendar/resources/css/event-calendar.min.css +1 -0
  29. backend/modules/calendar/resources/css/fullcalendar.min.css +0 -5
  30. backend/modules/calendar/resources/js/calendar-common.js +269 -186
  31. backend/modules/calendar/resources/js/calendar.js +136 -79
  32. backend/modules/calendar/resources/js/event-calendar.min.js +1 -0
  33. backend/modules/calendar/resources/js/fc-multistaff-view.js +0 -160
  34. backend/modules/calendar/resources/js/fullcalendar.min.js +0 -9
  35. backend/modules/calendar/templates/calendar.php +98 -55
  36. backend/modules/{cloud_purchases → cloud_billing}/Ajax.php +2 -2
  37. backend/modules/{cloud_purchases → cloud_billing}/Page.php +5 -5
  38. backend/modules/{cloud_purchases/resources/js/cloud-purchases.js → cloud_billing/resources/js/cloud-billing.js} +0 -0
  39. backend/modules/{cloud_purchases → cloud_billing}/templates/index.php +1 -1
  40. backend/modules/cloud_products/Ajax.php +59 -8
  41. backend/modules/cloud_products/Page.php +22 -3
  42. backend/modules/cloud_products/resources/js/cloud-products.js +133 -24
  43. backend/modules/cloud_products/templates/_action_btn.php +19 -0
  44. backend/modules/cloud_products/templates/{_activation.php → _activation_modal.php} +0 -0
  45. backend/modules/cloud_products/templates/_price.php +31 -0
  46. backend/modules/cloud_products/templates/_unsubscribe_modal.php +25 -0
  47. backend/modules/cloud_products/templates/index.php +17 -22
  48. backend/modules/cloud_sms/Ajax.php +1 -1
  49. backend/modules/cloud_zapier/Ajax.php +27 -0
  50. backend/modules/cloud_zapier/Page.php +75 -0
  51. backend/modules/cloud_zapier/resources/js/zapier.js +28 -0
  52. backend/modules/cloud_zapier/templates/index.php +50 -0
  53. backend/modules/debug/Ajax.php +32 -9
  54. backend/modules/debug/lib/QueryBuilder.php +12 -9
  55. backend/modules/messages/Ajax.php +2 -2
  56. backend/modules/messages/resources/js/message.js +1 -1
  57. backend/modules/payments/Ajax.php +6 -6
  58. backend/modules/payments/resources/js/payments.js +2 -2
  59. backend/modules/services/Page.php +2 -0
  60. backend/modules/settings/Page.php +3 -0
  61. backend/modules/settings/resources/js/settings.js +1 -1
  62. backend/modules/settings/templates/_calendarForm.php +3 -0
  63. backend/modules/shop/Ajax.php +1 -1
  64. backend/modules/staff/Page.php +2 -0
  65. backend/modules/staff/templates/index.php +1 -0
  66. backend/resources/bootstrap/css/bootstrap.min.css +1 -1
  67. backend/resources/bootstrap/js/bootstrap.min.js +1 -1
backend/Backend.php CHANGED
@@ -14,10 +14,11 @@ abstract class Backend
14
  */
15
  public static function registerHooks()
16
  {
 
 
17
  add_action( 'admin_menu', array( __CLASS__, 'addAdminMenu' ) );
18
 
19
- add_action( 'all_admin_notices', function () {
20
- $bookly_page = isset ( $_REQUEST['page'] ) && strncmp( $_REQUEST['page'], 'bookly-', 7 ) === 0;
21
  if ( $bookly_page ) {
22
  // Subscribe notice.
23
  Components\Notices\Subscribe::render();
@@ -43,6 +44,11 @@ abstract class Backend
43
 
44
  return $tests;
45
  }, 10, 1 );
 
 
 
 
 
46
  }
47
 
48
  /**
@@ -84,7 +90,7 @@ abstract class Backend
84
  $appearance = __( 'Appearance', 'bookly' );
85
  $settings = __( 'Settings', 'bookly' );
86
  $products = __( 'Products', 'bookly' );
87
- $purchases = __( 'Purchases', 'bookly' );
88
 
89
  add_submenu_page( 'bookly-menu', $dashboard, $dashboard, $required_capability,
90
  Modules\Dashboard\Page::pageSlug(), function () { Modules\Dashboard\Page::render(); } );
@@ -158,11 +164,14 @@ abstract class Backend
158
  case Lib\Cloud\Account::PRODUCT_SMS_NOTIFICATIONS:
159
  Modules\CloudSms\Page::addBooklyCloudMenuItem( $product );
160
  break;
 
 
 
161
  }
162
  }
163
  }
164
- add_submenu_page( 'bookly-cloud-menu', $purchases, $purchases, $required_capability,
165
- Modules\CloudPurchases\Page::pageSlug(), function () { Modules\CloudPurchases\Page::render(); } );
166
  add_submenu_page( 'bookly-cloud-menu', $settings, $settings, $required_capability,
167
  Modules\CloudSettings\Page::pageSlug(), function () { Modules\CloudSettings\Page::render(); } );
168
  }
14
  */
15
  public static function registerHooks()
16
  {
17
+ $bookly_page = isset ( $_REQUEST['page'] ) && strncmp( $_REQUEST['page'], 'bookly-', 7 ) === 0;
18
+
19
  add_action( 'admin_menu', array( __CLASS__, 'addAdminMenu' ) );
20
 
21
+ add_action( 'all_admin_notices', function () use ( $bookly_page ) {
 
22
  if ( $bookly_page ) {
23
  // Subscribe notice.
24
  Components\Notices\Subscribe::render();
44
 
45
  return $tests;
46
  }, 10, 1 );
47
+
48
+ // Disable emoji in IE11
49
+ if ( $bookly_page && strpos( $_SERVER['HTTP_USER_AGENT'], 'Trident/7.0' ) !== false ) {
50
+ Lib\Utils\Common::disableEmoji();
51
+ }
52
  }
53
 
54
  /**
90
  $appearance = __( 'Appearance', 'bookly' );
91
  $settings = __( 'Settings', 'bookly' );
92
  $products = __( 'Products', 'bookly' );
93
+ $billing = __( 'Billing', 'bookly' );
94
 
95
  add_submenu_page( 'bookly-menu', $dashboard, $dashboard, $required_capability,
96
  Modules\Dashboard\Page::pageSlug(), function () { Modules\Dashboard\Page::render(); } );
164
  case Lib\Cloud\Account::PRODUCT_SMS_NOTIFICATIONS:
165
  Modules\CloudSms\Page::addBooklyCloudMenuItem( $product );
166
  break;
167
+ case Lib\Cloud\Account::PRODUCT_ZAPIER:
168
+ Modules\CloudZapier\Page::addBooklyCloudMenuItem( $product );
169
+ break;
170
  }
171
  }
172
  }
173
+ add_submenu_page( 'bookly-cloud-menu', $billing, $billing, $required_capability,
174
+ Modules\CloudBilling\Page::pageSlug(), function () { Modules\CloudBilling\Page::render(); } );
175
  add_submenu_page( 'bookly-cloud-menu', $settings, $settings, $required_capability,
176
  Modules\CloudSettings\Page::pageSlug(), function () { Modules\CloudSettings\Page::render(); } );
177
  }
backend/components/cloud/recharge/amounts/auto/templates/selector.php CHANGED
@@ -21,7 +21,7 @@ use Bookly\Backend\Components\Controls\Buttons;
21
  <h6 class="my-2 mx-4 text-muted small"><?php esc_html_e( 'Select amount of Auto-Recharge', 'bookly' ) ?></h6>
22
  <?php foreach ( $recharges as $recharge ) : ?>
23
  <div class="dropdown-divider m-0"></div>
24
- <button type="button" class="dropdown-item" data-recharge-data=<?php echo json_encode( $recharge ) ?>>
25
  <?php if ( in_array( 'best_offer', $recharge['tags'] ) ) : ?>
26
  <span class="bookly-js-best-offer badge badge-warning"><small><strong><?php esc_html_e( 'best offer', 'bookly' ) ?></strong></small></span>
27
  <?php endif ?>
21
  <h6 class="my-2 mx-4 text-muted small"><?php esc_html_e( 'Select amount of Auto-Recharge', 'bookly' ) ?></h6>
22
  <?php foreach ( $recharges as $recharge ) : ?>
23
  <div class="dropdown-divider m-0"></div>
24
+ <button type="button" class="dropdown-item text-wrap" data-recharge-data=<?php echo json_encode( $recharge ) ?>>
25
  <?php if ( in_array( 'best_offer', $recharge['tags'] ) ) : ?>
26
  <span class="bookly-js-best-offer badge badge-warning"><small><strong><?php esc_html_e( 'best offer', 'bookly' ) ?></strong></small></span>
27
  <?php endif ?>
backend/components/dashboard/appointments/Ajax.php CHANGED
@@ -44,17 +44,17 @@ class Ajax extends Lib\Base\Ajax
44
  }
45
 
46
  $records = Lib\Entities\CustomerAppointment::query( 'ca' )
47
- ->select( 'DATE(ca.created) AS created, COUNT(1) AS quantity, p.paid AS revenue, ca.status, p.id' )
48
  ->leftJoin( 'Payment', 'p', 'p.id = ca.payment_id' )
49
- ->whereBetween( 'ca.created', $start->format( 'Y-m-d' ), $end->format( 'Y-m-d' ) )
50
- ->groupBy( 'DATE(ca.created), p.id, ca.status' )
51
  ->fetchArray();
52
 
53
  $custom_statuses = (array) Lib\Proxy\CustomStatuses::getAll();
54
  // Consider payment for all appointments only 1 time
55
  $payment_ids = array();
56
  foreach ( $records as $record ) {
57
- $created = $record['created'];
58
  $quantity = $record['quantity'];
59
  $status = $record['status'];
60
  if ( in_array( $record['id'], $payment_ids ) ) {
@@ -71,8 +71,8 @@ class Ajax extends Lib\Base\Ajax
71
  }
72
  $data['totals']['total'] += $quantity;
73
  $data['totals']['revenue'] += $revenue;
74
- $data['days'][ $created ]['total'] += $quantity;
75
- $data['days'][ $created ]['revenue'] += $revenue;
76
  }
77
  $data['totals']['revenue'] = Lib\Utils\Price::format( $data['totals']['revenue'] );
78
 
44
  }
45
 
46
  $records = Lib\Entities\CustomerAppointment::query( 'ca' )
47
+ ->select( 'DATE(ca.created_at) AS created_at, COUNT(1) AS quantity, p.paid AS revenue, ca.status, p.id' )
48
  ->leftJoin( 'Payment', 'p', 'p.id = ca.payment_id' )
49
+ ->whereBetween( 'ca.created_at', $start->format( 'Y-m-d' ), $end->format( 'Y-m-d' ) )
50
+ ->groupBy( 'DATE(ca.created_at), p.id, ca.status' )
51
  ->fetchArray();
52
 
53
  $custom_statuses = (array) Lib\Proxy\CustomStatuses::getAll();
54
  // Consider payment for all appointments only 1 time
55
  $payment_ids = array();
56
  foreach ( $records as $record ) {
57
+ $created_at = $record['created_at'];
58
  $quantity = $record['quantity'];
59
  $status = $record['status'];
60
  if ( in_array( $record['id'], $payment_ids ) ) {
71
  }
72
  $data['totals']['total'] += $quantity;
73
  $data['totals']['revenue'] += $revenue;
74
+ $data['days'][ $created_at ]['total'] += $quantity;
75
+ $data['days'][ $created_at ]['revenue'] += $revenue;
76
  }
77
  $data['totals']['revenue'] = Lib\Utils\Price::format( $data['totals']['revenue'] );
78
 
backend/components/dialogs/appointment/edit/Ajax.php CHANGED
@@ -494,7 +494,15 @@ class Ajax extends Lib\Base\Ajax
494
  ->findOne();
495
 
496
  $ca_customers = array();
497
- if ( ! $appointment ) {
 
 
 
 
 
 
 
 
498
  // Create appointment.
499
  $appointment = new Lib\Entities\Appointment();
500
  $appointment
@@ -508,17 +516,11 @@ class Ajax extends Lib\Base\Ajax
508
  ->setInternalNote( $internal_note )
509
  ->setExtrasDuration( $max_extras_duration )
510
  ->save();
511
- } else {
512
- foreach ( $appointment->getCustomerAppointments( true ) as $ca ) {
513
- $ca_customer = $ca->getFields();
514
- $ca_customer['ca_id'] = $ca->getId();
515
- $ca_customer['extras'] = json_decode( $ca_customer['extras'], true );
516
- $ca_customer['custom_fields'] = json_decode( $ca_customer['custom_fields'], true );
517
- $ca_customers[] = $ca_customer;
518
- }
519
  }
520
 
521
  if ( $appointment->getId() ) {
 
 
522
  // Save customer appointments.
523
  $ca_list = $appointment->saveCustomerAppointments( array_merge( $ca_customers, array( $customer ) ), $series->getId() );
524
  // Google Calendar.
@@ -550,7 +552,7 @@ class Ajax extends Lib\Base\Ajax
550
  }
551
  $response['success'] = true;
552
  $response['queue'] = array( 'all' => $queue, 'changed_status' => array() );
553
- $response['data'] = array( 'staffId' => $staff_id ); // make FullCalendar refetch events
554
  } else {
555
  // Single appointment.
556
  $appointment = new Lib\Entities\Appointment();
@@ -614,7 +616,7 @@ class Ajax extends Lib\Base\Ajax
614
  }
615
 
616
  $response['success'] = true;
617
- $response['data'] = self::_getAppointmentForFC( $staff_id, $appointment->getId() );
618
  $response['queue'] = array( 'all' => $queue, 'changed_status' => $queue_changed_status );
619
  } else {
620
  $response['errors'] = array( 'db' => __( 'Could not save appointment in database.', 'bookly' ) );
@@ -886,18 +888,18 @@ class Ajax extends Lib\Base\Ajax
886
  }
887
 
888
  /**
889
- * Get appointment for FullCalendar.
890
  *
891
  * @param integer $staff_id
892
  * @param int $appointment_id
893
  * @return array
894
  */
895
- private static function _getAppointmentForFC( $staff_id, $appointment_id )
896
  {
897
  $query = Lib\Entities\Appointment::query( 'a' )
898
  ->where( 'a.id', $appointment_id );
899
 
900
- $appointments = Calendar\Page::buildAppointmentsForFC( $staff_id, $query );
901
 
902
  return $appointments[0];
903
  }
494
  ->findOne();
495
 
496
  $ca_customers = array();
497
+ if ( $appointment ) {
498
+ foreach ( $appointment->getCustomerAppointments( true ) as $ca ) {
499
+ $ca_customer = $ca->getFields();
500
+ $ca_customer['ca_id'] = $ca->getId();
501
+ $ca_customer['extras'] = json_decode( $ca_customer['extras'], true );
502
+ $ca_customer['custom_fields'] = json_decode( $ca_customer['custom_fields'], true );
503
+ $ca_customers[] = $ca_customer;
504
+ }
505
+ } else {
506
  // Create appointment.
507
  $appointment = new Lib\Entities\Appointment();
508
  $appointment
516
  ->setInternalNote( $internal_note )
517
  ->setExtrasDuration( $max_extras_duration )
518
  ->save();
 
 
 
 
 
 
 
 
519
  }
520
 
521
  if ( $appointment->getId() ) {
522
+ // Online meeting
523
+ Lib\Proxy\Shared::syncOnlineMeeting( array(), $appointment, $service );
524
  // Save customer appointments.
525
  $ca_list = $appointment->saveCustomerAppointments( array_merge( $ca_customers, array( $customer ) ), $series->getId() );
526
  // Google Calendar.
552
  }
553
  $response['success'] = true;
554
  $response['queue'] = array( 'all' => $queue, 'changed_status' => array() );
555
+ $response['data'] = array( 'resourceId' => $staff_id ); // make EventCalendar refetch events
556
  } else {
557
  // Single appointment.
558
  $appointment = new Lib\Entities\Appointment();
616
  }
617
 
618
  $response['success'] = true;
619
+ $response['data'] = self::_getAppointmentForCalendar( $staff_id, $appointment->getId() );
620
  $response['queue'] = array( 'all' => $queue, 'changed_status' => $queue_changed_status );
621
  } else {
622
  $response['errors'] = array( 'db' => __( 'Could not save appointment in database.', 'bookly' ) );
888
  }
889
 
890
  /**
891
+ * Get appointment for Event Calendar
892
  *
893
  * @param integer $staff_id
894
  * @param int $appointment_id
895
  * @return array
896
  */
897
+ private static function _getAppointmentForCalendar( $staff_id, $appointment_id )
898
  {
899
  $query = Lib\Entities\Appointment::query( 'a' )
900
  ->where( 'a.id', $appointment_id );
901
 
902
+ $appointments = Calendar\Page::buildAppointmentsForCalendar( $staff_id, $query );
903
 
904
  return $appointments[0];
905
  }
backend/components/dialogs/appointment/edit/resources/js/ng-appointment.js CHANGED
@@ -67,7 +67,8 @@
67
  },
68
  loadData : function() {
69
  var deferred = $q.defer();
70
- if (!ds.loaded) {
 
71
  jQuery.get(
72
  ajaxurl,
73
  { action : 'bookly_get_data_for_appointment_form', csrf_token : BooklyL10nAppDialog.csrf_token },
@@ -78,12 +79,12 @@
78
  if (data.staff.length) {
79
  ds.form.staff = data.staff[0];
80
  }
81
-
82
  if (data.customers === false) {
83
  ds.data.customers = [];
84
  ds.data.customers_remote = true;
85
  // Init select2 remote.
86
- jQuery('#bookly-appointment-dialog-select2').select2({
87
  theme: 'bootstrap4',
88
  dropdownParent: '#bookly-tbs',
89
  allowClear: false,
@@ -137,7 +138,7 @@
137
  jQuery(this).select2('close');
138
  });
139
  } else {
140
- jQuery('#bookly-appointment-dialog-select2').select2({
141
  theme: 'bootstrap4',
142
  dropdownParent: '#bookly-tbs',
143
  allowClear: false,
@@ -717,7 +718,8 @@
717
  $scope.$watch('form.date', function(newDate) {
718
  if (newDate !== null) {
719
  checkAppointmentErrors();
720
- $scope.onRepeatChange();
 
721
  }
722
  }, false);
723
 
67
  },
68
  loadData : function() {
69
  var deferred = $q.defer();
70
+ if (!ds.loaded || BooklyL10nAppDialog.refreshed === true) {
71
+ BooklyL10nAppDialog.refreshed = false;
72
  jQuery.get(
73
  ajaxurl,
74
  { action : 'bookly_get_data_for_appointment_form', csrf_token : BooklyL10nAppDialog.csrf_token },
79
  if (data.staff.length) {
80
  ds.form.staff = data.staff[0];
81
  }
82
+ let $select2 = jQuery('#bookly-appointment-dialog-select2').off();
83
  if (data.customers === false) {
84
  ds.data.customers = [];
85
  ds.data.customers_remote = true;
86
  // Init select2 remote.
87
+ $select2.select2({
88
  theme: 'bootstrap4',
89
  dropdownParent: '#bookly-tbs',
90
  allowClear: false,
138
  jQuery(this).select2('close');
139
  });
140
  } else {
141
+ $select2.select2({
142
  theme: 'bootstrap4',
143
  dropdownParent: '#bookly-tbs',
144
  allowClear: false,
718
  $scope.$watch('form.date', function(newDate) {
719
  if (newDate !== null) {
720
  checkAppointmentErrors();
721
+ $scope.onRepeatChangeTimes();
722
+ $scope.form.repeat.monthly.day = newDate.format('D');
723
  }
724
  }, false);
725
 
backend/components/dialogs/appointment/edit/templates/edit.php CHANGED
@@ -109,7 +109,7 @@ use Bookly\Lib\Entities\CustomerAppointment;
109
  </label>
110
 
111
  <span ng-show="form.customers.length > 5" ng-click="form.expand_customers_list = !form.expand_customers_list" role="button">
112
- <i class="far fa-fw" ng-class="{'fa-angle-down':!form.expand_customers_list, 'fa-angle-up':form.expand_customers_list}"></i>
113
  </span>
114
  <p class="text-success" ng-show=form.service my-slide-up="form.service.capacity_min > 1 && form.service.capacity_min > dataSource.getTotalNumberOfPersons()">
115
  <?php esc_html_e( 'Minimum capacity', 'bookly' ) ?>: {{form.service.capacity_min}}
109
  </label>
110
 
111
  <span ng-show="form.customers.length > 5" ng-click="form.expand_customers_list = !form.expand_customers_list" role="button">
112
+ <i class="fas fa-fw" ng-class="{'fa-angle-down':!form.expand_customers_list, 'fa-angle-up':form.expand_customers_list}"></i>
113
  </span>
114
  <p class="text-success" ng-show=form.service my-slide-up="form.service.capacity_min > 1 && form.service.capacity_min > dataSource.getTotalNumberOfPersons()">
115
  <?php esc_html_e( 'Minimum capacity', 'bookly' ) ?>: {{form.service.capacity_min}}
backend/components/dialogs/payment/templates/details.php CHANGED
@@ -22,7 +22,7 @@ $can_edit = Common::isCurrentUserSupervisor() || Common::isCurrentUserStaff();
22
  <tr>
23
  <td><?php echo esc_html( $payment['customer'] ) ?></td>
24
  <td>
25
- <div><?php esc_html_e( 'Date', 'bookly' ) ?>: <?php echo DateTime::formatDateTime( $payment['created'] ) ?></div>
26
  <div><?php esc_html_e( 'Type', 'bookly' ) ?>: <?php echo Entities\Payment::typeToString( $payment['type'] ) ?></div>
27
  <div><?php esc_html_e( 'Status', 'bookly' ) ?>: <?php echo Entities\Payment::statusToString( $payment['status'] ) ?></div>
28
  </td>
22
  <tr>
23
  <td><?php echo esc_html( $payment['customer'] ) ?></td>
24
  <td>
25
+ <div><?php esc_html_e( 'Date', 'bookly' ) ?>: <?php echo DateTime::formatDateTime( $payment['created_at'] ) ?></div>
26
  <div><?php esc_html_e( 'Type', 'bookly' ) ?>: <?php echo Entities\Payment::typeToString( $payment['type'] ) ?></div>
27
  <div><?php esc_html_e( 'Status', 'bookly' ) ?>: <?php echo Entities\Payment::statusToString( $payment['status'] ) ?></div>
28
  </td>
backend/components/dialogs/queue/resources/js/queue-dialog.js CHANGED
@@ -16,7 +16,7 @@ jQuery(function ($) {
16
  $template.clone().show().html()
17
  .replace(/{{icon}}/g, notification.gateway == 'sms' ? 'fas fa-sms' : 'far fa-envelope')
18
  .replace(/{{recipient}}/g, encodeHTML(notification.data.name))
19
- .replace(/{{address}}/g, encodeHTML(notification.address))
20
  .replace(/{{description}}/g, encodeHTML(notification.name))
21
  .replace(/{{index}}/g, index)
22
  );
16
  $template.clone().show().html()
17
  .replace(/{{icon}}/g, notification.gateway == 'sms' ? 'fas fa-sms' : 'far fa-envelope')
18
  .replace(/{{recipient}}/g, encodeHTML(notification.data.name))
19
+ .replace(/{{address}}/g, encodeHTML(typeof notification.address === 'string' ? notification.address : notification.address.join(', ')))
20
  .replace(/{{description}}/g, encodeHTML(notification.name))
21
  .replace(/{{index}}/g, index)
22
  );
backend/components/dialogs/sms/templates/_settings.php CHANGED
@@ -32,7 +32,7 @@ $service_dropdown_data = \Bookly\Lib\Utils\Common::getServiceDataForDropDown( 's
32
  </div>
33
  <div class="col-auto pl-0">
34
  <ul class="bookly-js-services"
35
- data-icon-class="fas fa-tags"
36
  data-txt-select-all="<?php esc_attr_e( 'All services', 'bookly' ) ?>"
37
  data-txt-all-selected="<?php esc_attr_e( 'All services', 'bookly' ) ?>"
38
  data-txt-nothing-selected="<?php esc_attr_e( 'No service selected', 'bookly' ) ?>"
@@ -117,7 +117,7 @@ $service_dropdown_data = \Bookly\Lib\Utils\Common::getServiceDataForDropDown( 's
117
  <div>
118
  <select class="form-control custom-select" name="notification[settings][at_hour]">
119
  <?php foreach ( range( 0, 23 ) as $hour ) : ?>
120
- <option value="<?php echo $hour ?>"><?php echo \Bookly\Lib\Utils\DateTime::buildTimeString( $hour * HOUR_IN_SECONDS, false ) ?></option>
121
  <?php endforeach ?>
122
  </select>
123
  </div>
@@ -148,7 +148,7 @@ $service_dropdown_data = \Bookly\Lib\Utils\Common::getServiceDataForDropDown( 's
148
  <div>
149
  <select class="form-control custom-select" name="notification[settings][before_at_hour]">
150
  <?php foreach ( range( 0, 23 ) as $hour ) : ?>
151
- <option value="<?php echo $hour ?>"><?php echo \Bookly\Lib\Utils\DateTime::buildTimeString( $hour * HOUR_IN_SECONDS, false ) ?></option>
152
  <?php endforeach ?>
153
  </select>
154
  </div>
32
  </div>
33
  <div class="col-auto pl-0">
34
  <ul class="bookly-js-services"
35
+ data-icon-class="far fa-dot-circle"
36
  data-txt-select-all="<?php esc_attr_e( 'All services', 'bookly' ) ?>"
37
  data-txt-all-selected="<?php esc_attr_e( 'All services', 'bookly' ) ?>"
38
  data-txt-nothing-selected="<?php esc_attr_e( 'No service selected', 'bookly' ) ?>"
117
  <div>
118
  <select class="form-control custom-select" name="notification[settings][at_hour]">
119
  <?php foreach ( range( 0, 23 ) as $hour ) : ?>
120
+ <option value="<?php echo $hour ?>"><?php echo \Bookly\Lib\Utils\DateTime::formatTime( $hour * HOUR_IN_SECONDS ) ?></option>
121
  <?php endforeach ?>
122
  </select>
123
  </div>
148
  <div>
149
  <select class="form-control custom-select" name="notification[settings][before_at_hour]">
150
  <?php foreach ( range( 0, 23 ) as $hour ) : ?>
151
+ <option value="<?php echo $hour ?>"><?php echo \Bookly\Lib\Utils\DateTime::formatTime( $hour * HOUR_IN_SECONDS ) ?></option>
152
  <?php endforeach ?>
153
  </select>
154
  </div>
backend/components/dialogs/staff/edit/Ajax.php CHANGED
@@ -69,6 +69,14 @@ class Ajax extends Lib\Base\Ajax
69
  wp_send_json_success( $response );
70
  }
71
 
 
 
 
 
 
 
 
 
72
  /**
73
  * Update staff from POST request.
74
  */
@@ -376,6 +384,7 @@ class Ajax extends Lib\Base\Ajax
376
  self::$staff = Lib\Entities\Staff::query()->where( 'wp_user_id', get_current_user_id() )->findOne();
377
  switch ( $action ) {
378
  case 'getStaffData':
 
379
  case 'updateStaff':
380
  return self::$staff->isLoaded();
381
  case 'getStaffSchedule':
69
  wp_send_json_success( $response );
70
  }
71
 
72
+ /**
73
+ * Get staff count.
74
+ */
75
+ public static function getStaffCount()
76
+ {
77
+ wp_send_json_success( array( 'count' => Lib\Entities\Staff::query()->count() ) );
78
+ }
79
+
80
  /**
81
  * Update staff from POST request.
82
  */
384
  self::$staff = Lib\Entities\Staff::query()->where( 'wp_user_id', get_current_user_id() )->findOne();
385
  switch ( $action ) {
386
  case 'getStaffData':
387
+ case 'getStaffCount':
388
  case 'updateStaff':
389
  return self::$staff->isLoaded();
390
  case 'getStaffSchedule':
backend/components/dialogs/staff/edit/Dialog.php CHANGED
@@ -85,6 +85,7 @@ class Dialog extends Lib\Base\Component
85
  ),
86
  'services' => array(
87
  'capacity_error' => esc_attr__( 'Min capacity should not be greater than max capacity.', 'bookly' ),
 
88
  ),
89
  'createStaff' => esc_attr__( 'Create staff', 'bookly' ),
90
  'editStaff' => esc_attr__( 'Edit staff', 'bookly' ),
85
  ),
86
  'services' => array(
87
  'capacity_error' => esc_attr__( 'Min capacity should not be greater than max capacity.', 'bookly' ),
88
+ 'hideTip' => get_user_meta( get_current_user_id(), 'bookly_packages_hide_staff_services_tip', true ),
89
  ),
90
  'createStaff' => esc_attr__( 'Create staff', 'bookly' ),
91
  'editStaff' => esc_attr__( 'Edit staff', 'bookly' ),
backend/components/dialogs/staff/edit/proxy/Packages.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class Packages
8
+ *
9
+ * @package Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy
10
+ *
11
+ * @method static void renderStaffServicesTip()
12
+ */
13
+ abstract class Packages extends Lib\Base\Proxy
14
+ {
15
+
16
+ }
backend/components/dialogs/staff/edit/resources/js/staff-edit-dialog.js CHANGED
@@ -30,9 +30,24 @@ jQuery(function ($) {
30
 
31
  $('#bookly-js-new-staff')
32
  .on('click', function () {
33
- if (BooklyStaffEditDialogL10n.proRequired == '1' && $staffCount.html() > 0) {
34
- booklyAlert({error: [BooklyStaffEditDialogL10n.limitation]});
35
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  } else {
37
  staff_id = 0;
38
  editStaff(staff_id);
30
 
31
  $('#bookly-js-new-staff')
32
  .on('click', function () {
33
+ if (BooklyStaffEditDialogL10n.proRequired == '1') {
34
+ $.ajax({
35
+ url : ajaxurl,
36
+ type : 'POST',
37
+ data : {
38
+ action : 'bookly_get_staff_count',
39
+ csrf_token: BooklyStaffEditDialogL10n.csrfToken
40
+ },
41
+ dataType : 'json',
42
+ success : function (response) {
43
+ if (response.data.count > 0) {
44
+ booklyAlert({error: [BooklyStaffEditDialogL10n.limitation]});
45
+ } else {
46
+ staff_id = 0;
47
+ editStaff(staff_id);
48
+ }
49
+ }
50
+ })
51
  } else {
52
  staff_id = 0;
53
  editStaff(staff_id);
backend/components/dialogs/staff/edit/resources/js/staff-services.js CHANGED
@@ -135,20 +135,48 @@
135
  });
136
 
137
  $('.bookly-js-service-checkbox').on('change', function () {
138
- var $this = $(this),
139
  $service = $this.closest('li'),
140
- $inputs = $service.find('input:not(:checkbox)');
 
141
 
142
  $inputs.attr('disabled', !$this.is(':checked'));
143
 
144
  // Handle package-service connections
145
  if ($(this).is(':checked') && $service.data('service-type') == 'package') {
146
- $('li[data-service-type="simple"][data-service-id="' + $service.data('sub-service') + '"] .bookly-js-service-checkbox', $services_form).prop('checked', true).trigger('change');
 
 
 
 
 
 
147
  $('.bookly-js-capacity-min', $service).val($('li[data-service-type="simple"][data-service-id="' + $service.data('sub-service') + '"] .bookly-js-capacity-min', $services_form).val());
148
  $('.bookly-js-capacity-max', $service).val($('li[data-service-type="simple"][data-service-id="' + $service.data('sub-service') + '"] .bookly-js-capacity-max', $services_form).val());
149
  }
150
  if (!$(this).is(':checked') && $service.data('service-type') == 'simple') {
151
- $('li[data-service-type="package"][data-sub-service="' + $service.data('service-id') + '"] .bookly-js-service-checkbox', $services_form).prop('checked', false).trigger('change');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  }
153
  });
154
 
135
  });
136
 
137
  $('.bookly-js-service-checkbox').on('change', function () {
138
+ let $this = $(this),
139
  $service = $this.closest('li'),
140
+ $inputs = $service.find('input:not(:checkbox)'),
141
+ $modal = $('#bookly-packages-tip');
142
 
143
  $inputs.attr('disabled', !$this.is(':checked'));
144
 
145
  // Handle package-service connections
146
  if ($(this).is(':checked') && $service.data('service-type') == 'package') {
147
+ let $checkboxes = $('li[data-service-type="simple"][data-service-id="' + $service.data('sub-service') + '"] .bookly-js-service-checkbox:not(:checked)', $services_form);
148
+ if ($checkboxes.length) {
149
+ $checkboxes.prop('checked', true).trigger('change');
150
+ if (obj.options.l10n.hideTip !== '1') {
151
+ $modal.booklyModal();
152
+ }
153
+ }
154
  $('.bookly-js-capacity-min', $service).val($('li[data-service-type="simple"][data-service-id="' + $service.data('sub-service') + '"] .bookly-js-capacity-min', $services_form).val());
155
  $('.bookly-js-capacity-max', $service).val($('li[data-service-type="simple"][data-service-id="' + $service.data('sub-service') + '"] .bookly-js-capacity-max', $services_form).val());
156
  }
157
  if (!$(this).is(':checked') && $service.data('service-type') == 'simple') {
158
+ let $checkboxes = $('li[data-service-type="package"][data-sub-service="' + $service.data('service-id') + '"] .bookly-js-service-checkbox:checked', $services_form);
159
+ if ($checkboxes.length) {
160
+ $checkboxes.prop('checked', false).trigger('change');
161
+ if (obj.options.l10n.hideTip !== '1') {
162
+ $modal.booklyModal();
163
+ }
164
+ }
165
+ }
166
+ });
167
+
168
+ $('#bookly-packages-tip').on('hide.bs.modal', function () {
169
+ if ($(this).find('.bookly-js-dont-show-packages-tip:checked').length) {
170
+ obj.options.l10n.hideTip = '1';
171
+ $.ajax({
172
+ type : 'POST',
173
+ url : ajaxurl,
174
+ data : {
175
+ action : 'bookly_packages_hide_staff_services_tip',
176
+ csrf_token: obj.options.get_staff_services.csrf_token
177
+ },
178
+ dataType: 'json',
179
+ });
180
  }
181
  });
182
 
backend/components/dialogs/table_settings/templates/dialog.php CHANGED
@@ -28,7 +28,7 @@ use Bookly\Backend\Components\Controls\Elements;
28
  <div id="bookly-table-settings-template" class="hidden">
29
  <li class="mb-1">
30
  <div class="row">
31
- <div class="col-1"><?php Elements::renderReorder() ?></i></div>
32
  <div class="col-9">{{title}}</div>
33
  <div class="col-2 text-center">
34
  <div class="custom-control custom-checkbox">
28
  <div id="bookly-table-settings-template" class="hidden">
29
  <li class="mb-1">
30
  <div class="row">
31
+ <div class="col-1"><?php Elements::renderReorder() ?></div>
32
  <div class="col-9">{{title}}</div>
33
  <div class="col-2 text-center">
34
  <div class="custom-control custom-checkbox">
backend/components/gutenberg/bookly_form/Block.php CHANGED
@@ -28,6 +28,7 @@ class Block extends Lib\Base\Block
28
  ),
29
  'selectLocation' => __( 'Select location', 'bookly' ),
30
  'selectCategory' => __( 'Select category', 'bookly' ),
 
31
  'any' => __( 'Any', 'bookly' ),
32
  'formFields' => __( 'Form fields', 'bookly' ),
33
  'location' => __( 'Default value for location', 'bookly' ),
28
  ),
29
  'selectLocation' => __( 'Select location', 'bookly' ),
30
  'selectCategory' => __( 'Select category', 'bookly' ),
31
+ 'selectService' => __( 'Select service', 'bookly' ),
32
  'any' => __( 'Any', 'bookly' ),
33
  'formFields' => __( 'Form fields', 'bookly' ),
34
  'location' => __( 'Default value for location', 'bookly' ),
backend/components/gutenberg/bookly_form/resources/js/booking-form-block.js CHANGED
@@ -100,7 +100,7 @@
100
  ;
101
  options['locations'] = [{value: '', label: BooklyFormL10n.selectLocation}];
102
  options['categories'] = [{value: '', label: BooklyFormL10n.selectCategory}];
103
- options['services'] = [{value: '', label: BooklyFormL10n.any}];
104
  options['staff'] = [{value: '', label: BooklyFormL10n.any}];
105
 
106
  function getOptions(data) {
100
  ;
101
  options['locations'] = [{value: '', label: BooklyFormL10n.selectLocation}];
102
  options['categories'] = [{value: '', label: BooklyFormL10n.selectCategory}];
103
+ options['services'] = [{value: '', label: BooklyFormL10n.selectService}];
104
  options['staff'] = [{value: '', label: BooklyFormL10n.any}];
105
 
106
  function getOptions(data) {
backend/components/settings/Inputs.php CHANGED
@@ -1,6 +1,8 @@
1
  <?php
2
  namespace Bookly\Backend\Components\Settings;
3
 
 
 
4
  /**
5
  * Class Inputs
6
  * @package Bookly\Backend\Components\Settings
@@ -127,4 +129,41 @@ class Inputs
127
  )
128
  );
129
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  }
1
  <?php
2
  namespace Bookly\Backend\Components\Settings;
3
 
4
+ use Bookly\Lib;
5
+
6
  /**
7
  * Class Inputs
8
  * @package Bookly\Backend\Components\Settings
129
  )
130
  );
131
  }
132
+
133
+ /**
134
+ * Render text with copy.
135
+ *
136
+ * @param string $option_name
137
+ * @param string $label
138
+ * @param string|null $help
139
+ */
140
+ public static function renderTextCopy( $option_name, $label, $help = null )
141
+ {
142
+ $version = Lib\Plugin::getVersion();
143
+ $resources = plugins_url( 'backend\components\settings\resources', Lib\Plugin::getMainFile() );
144
+
145
+ wp_enqueue_script( 'bookly-settings-controls.js', $resources . '/js/settings-controls.js', array( 'jquery' ), $version );
146
+
147
+ $control = strtr(
148
+ '<span id="{name}" style="cursor: text">{value}</span>
149
+ <a href="#{name}" class="far fa-copy fa-fw text-secondary text-decoration-none ml-auto" title="{title}"></a>
150
+ <small class="text-muted ml-auto" style="display:none">{copied}</small>',
151
+
152
+ array(
153
+ '{name}' => esc_attr( $option_name ),
154
+ '{value}' => esc_attr( get_option( $option_name ) ),
155
+ '{title}' => esc_attr( __( 'Copy to clipboard', 'bookly' ) ),
156
+ '{copied}' => esc_attr( __( 'copied', 'bookly' ) )
157
+ )
158
+ );
159
+
160
+ echo strtr(
161
+ '<div class="form-group bookly-js-copy-to-clipboard">{label}<div class="form-control d-flex align-items-center" style="opacity:1;cursor:default">{control}</div>{help}</div>',
162
+ array(
163
+ '{label}' => $label != '' ? sprintf( '<label for="%s">%s</label>', $option_name, $label ) : '',
164
+ '{help}' => $help != '' ? sprintf( '<small class="form-text text-muted">%s</small>', $help ) : '',
165
+ '{control}' => $control,
166
+ )
167
+ );
168
+ }
169
  }
backend/components/settings/resources/js/settings-controls.js ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(function ($) {
2
+ 'use strict';
3
+
4
+ $('.bookly-js-copy-to-clipboard')
5
+ .find('label, span').on('click', function () {
6
+ let range = document.createRange();
7
+ range.selectNodeContents($(this).closest('div').find('span').get(0));
8
+ let sel = window.getSelection();
9
+ sel.removeAllRanges();
10
+ sel.addRange(range);
11
+ }).end()
12
+ .find('a').on('click', function (e) {
13
+ e.preventDefault();
14
+ const text = $($(this).attr('href')).html();
15
+ const $temp = $('<input/>');
16
+ const $button = $(this);
17
+ const $copied = $button.next('small');
18
+ $('body').append($temp);
19
+ $temp.val(text).select();
20
+ document.execCommand('copy');
21
+ $temp.remove();
22
+ $button.hide();
23
+ $copied.show();
24
+ setTimeout(function () {
25
+ $copied.hide();
26
+ $button.show();
27
+ }, 1000);
28
+ })
29
+ ;
30
+ });
backend/components/support/Buttons.php CHANGED
@@ -53,7 +53,7 @@ class Buttons extends Lib\Base\Component
53
  $current_user = wp_get_current_user();
54
 
55
  $messages = Lib\Entities\Message::query( 'm' )
56
- ->select( 'm.created, m.subject, m.seen' )
57
  ->sortBy( 'm.seen, m.message_id' )
58
  ->order( 'DESC' )
59
  ->limit( 10 )
53
  $current_user = wp_get_current_user();
54
 
55
  $messages = Lib\Entities\Message::query( 'm' )
56
+ ->select( 'm.created_at, m.subject, m.seen' )
57
  ->sortBy( 'm.seen, m.message_id' )
58
  ->order( 'DESC' )
59
  ->limit( 10 )
backend/components/support/templates/buttons.php CHANGED
@@ -28,7 +28,7 @@ use Bookly\Lib\Utils;
28
  </button>
29
  <div class="dropdown-menu dropdown-menu-right" aria-labelledby="bookly-bell">
30
  <?php foreach ( $messages as $message ) : ?>
31
- <a class="dropdown-item" href="<?php echo $messages_link ?>"><?php echo Utils\DateTime::formatDate( $message['created'] ) . ': ';
32
  if ( $message['seen'] ) :
33
  echo esc_html( $message['subject'] );
34
  else:
28
  </button>
29
  <div class="dropdown-menu dropdown-menu-right" aria-labelledby="bookly-bell">
30
  <?php foreach ( $messages as $message ) : ?>
31
+ <a class="dropdown-item" href="<?php echo $messages_link ?>"><?php echo Utils\DateTime::formatDate( $message['created_at'] ) . ': ';
32
  if ( $message['seen'] ) :
33
  echo esc_html( $message['subject'] );
34
  else:
backend/modules/appearance/Page.php CHANGED
@@ -78,6 +78,10 @@ class Page extends Lib\Base\Component
78
  'utils' => is_rtl() ? '' : plugins_url( 'intlTelInput.utils.js', Lib\Plugin::getDirectory() . '/frontend/resources/js/intlTelInput.utils.js' ),
79
  'country' => get_option( 'bookly_cst_phone_default_country' ),
80
  ),
 
 
 
 
81
  ) );
82
 
83
  // Initialize steps (tabs).
78
  'utils' => is_rtl() ? '' : plugins_url( 'intlTelInput.utils.js', Lib\Plugin::getDirectory() . '/frontend/resources/js/intlTelInput.utils.js' ),
79
  'country' => get_option( 'bookly_cst_phone_default_country' ),
80
  ),
81
+ 'toUseTheCart' => sprintf(
82
+ __( 'To use the cart, disable integration with WooCommerce <a href="%s">here</a>.', 'bookly' ),
83
+ Lib\Utils\Common::escAdminUrl( \Bookly\Backend\Modules\Settings\Page::pageSlug(), array( 'tab' => 'woo_commerce' ) )
84
+ ),
85
  ) );
86
 
87
  // Initialize steps (tabs).
backend/modules/appearance/resources/js/appearance.js CHANGED
@@ -8,6 +8,7 @@ jQuery(function($) {
8
  $bookly_show_step_extras = $('#bookly-show-step-extras'),
9
  $bookly_show_step_repeat = $('#bookly-show-step-repeat'),
10
  $bookly_show_step_cart = $('#bookly-show-step-cart'),
 
11
  // Service step.
12
  $staff_name_with_price = $('#bookly-staff-name-with-price'),
13
  $service_duration_with_price = $('#bookly-service-duration-with-price'),
@@ -67,6 +68,25 @@ jQuery(function($) {
67
  $selects = $('#bookly-appearance').find('select[data-default]')
68
  ;
69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  $checkboxes.each(function () {
71
  $(this).data('default', $(this).prop('checked'));
72
  });
8
  $bookly_show_step_extras = $('#bookly-show-step-extras'),
9
  $bookly_show_step_repeat = $('#bookly-show-step-repeat'),
10
  $bookly_show_step_cart = $('#bookly-show-step-cart'),
11
+ $bookly_show_step_cart_popover = $('#bookly_cart_enabled-popover'),
12
  // Service step.
13
  $staff_name_with_price = $('#bookly-staff-name-with-price'),
14
  $service_duration_with_price = $('#bookly-service-duration-with-price'),
68
  $selects = $('#bookly-appearance').find('select[data-default]')
69
  ;
70
 
71
+ $bookly_show_step_cart_popover
72
+ .booklyPopover({
73
+ trigger: 'manual',
74
+ container: $bookly_show_step_cart_popover,
75
+ content : BooklyL10n.toUseTheCart,
76
+ html : true,
77
+ placement: 'bottom',
78
+ template: '<div class="bookly-popover"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
79
+ })
80
+ .hover(
81
+ function () {
82
+ $bookly_show_step_cart_popover.booklyPopover('show');
83
+ },
84
+ function () {
85
+ setTimeout(function () {
86
+ $bookly_show_step_cart_popover.booklyPopover('hide');
87
+ }, 4000);
88
+ }
89
+ );
90
  $checkboxes.each(function () {
91
  $(this).data('default', $(this).prop('checked'));
92
  });
backend/modules/appointments/Ajax.php CHANGED
@@ -123,7 +123,7 @@ class Ajax extends Lib\Base\Ajax
123
  ca.extras_multiply_nop,
124
  ca.rating,
125
  ca.rating_comment,
126
- COALESCE(ca.created, a.created) as created_date,
127
  a.start_date,
128
  a.staff_any,
129
  a.online_meeting_provider,
@@ -173,7 +173,7 @@ class Ajax extends Lib\Base\Ajax
173
  if ( $filter['created_date'] != 'any' ) {
174
  list ( $start, $end ) = explode( ' - ', $filter['created_date'], 2 );
175
  $end = date( 'Y-m-d', strtotime( $end ) + DAY_IN_SECONDS );
176
- $query->whereBetween( 'COALESCE(ca.created, a.created)', $start, $end );
177
  }
178
 
179
  if ( $filter['staff'] != '' ) {
123
  ca.extras_multiply_nop,
124
  ca.rating,
125
  ca.rating_comment,
126
+ COALESCE(ca.created_at, a.created_at) AS created_date,
127
  a.start_date,
128
  a.staff_any,
129
  a.online_meeting_provider,
173
  if ( $filter['created_date'] != 'any' ) {
174
  list ( $start, $end ) = explode( ' - ', $filter['created_date'], 2 );
175
  $end = date( 'Y-m-d', strtotime( $end ) + DAY_IN_SECONDS );
176
+ $query->whereBetween( 'COALESCE(ca.created_at, a.created_at)', $start, $end );
177
  }
178
 
179
  if ( $filter['staff'] != '' ) {
backend/modules/calendar/Ajax.php CHANGED
@@ -18,7 +18,7 @@ class Ajax extends Page
18
  }
19
 
20
  /**
21
- * Get data for FullCalendar.
22
  */
23
  public static function getStaffAppointments()
24
  {
@@ -29,12 +29,10 @@ class Ajax extends Page
29
  } else {
30
  $staff_members = array( Lib\Entities\Staff::query()->findOne() );
31
  }
32
- $result = array();
33
- $one_day = new \DateInterval( 'P1D' );
34
- $start_date = new \DateTime( self::parameter( 'start' ) );
35
- $end_date = new \DateTime( self::parameter( 'end' ) );
36
- // FullCalendar sends end date as 1 day further.
37
- // $end_date->sub( $one_day );
38
 
39
  if ( Lib\Utils\Common::isCurrentUserSupervisor() ) {
40
  $staff_ids = explode( ',', self::parameter( 'staff_ids' ) );
@@ -52,10 +50,10 @@ class Ajax extends Page
52
  $special_days[ $day['staff_id'] ][ $day['date'] ][] = $day;
53
  }
54
 
55
- if ( ! Lib\Config::locationsActive() || self::parameter( 'location_ids' ) ) {
56
  foreach ( $staff_members as $staff ) {
57
  /** @var Lib\Entities\Staff $staff */
58
- $result = array_merge( $result, self::_getAppointmentsForFC( $staff->getId(), $start_date, $end_date ) );
59
 
60
  // Schedule.
61
  $items = $staff->getScheduleItems();
@@ -72,7 +70,7 @@ class Ajax extends Page
72
  $last_end->setTime( 24, 0 );
73
  }
74
  // Do the loop.
75
- while ( $day <= $end_date ) {
76
  $start = $last_end->format( 'Y-m-d H:i:s' );
77
  // Check if $day is Special Day for current staff.
78
  if ( isset( $special_days[ $staff->getId() ][ $day->format( 'Y-m-d' ) ] ) ) {
@@ -80,10 +78,10 @@ class Ajax extends Page
80
  $end = $sp_days[0]['date'] . ' ' . $sp_days[0]['start_time'];
81
  if ( $start < $end ) {
82
  $result[] = array(
83
- 'start' => $start,
84
- 'end' => $end,
85
- 'rendering' => 'background',
86
- 'staffId' => $staff->getId(),
87
  );
88
  }
89
  // Breaks.
@@ -92,15 +90,15 @@ class Ajax extends Page
92
  'Y-m-d H:i:s',
93
  strtotime( $sp_day['date'] ) + Lib\Utils\DateTime::timeToSeconds( $sp_day['break_start'] )
94
  );
95
- $break_end = date(
96
  'Y-m-d H:i:s',
97
  strtotime( $sp_day['date'] ) + Lib\Utils\DateTime::timeToSeconds( $sp_day['break_end'] )
98
  );
99
- $result[] = array(
100
- 'start' => $break_start,
101
- 'end' => $break_end,
102
- 'rendering' => 'background',
103
- 'staffId' => $staff->getId(),
104
  );
105
  }
106
  $end_time = explode( ':', $sp_days[0]['end_time'] );
@@ -113,10 +111,10 @@ class Ajax extends Page
113
  $end = $day->format( 'Y-m-d ' . $item->getStartTime() );
114
  if ( $start < $end ) {
115
  $result[] = array(
116
- 'start' => $start,
117
- 'end' => $end,
118
- 'rendering' => 'background',
119
- 'staffId' => $staff->getId(),
120
  );
121
  }
122
  $last_end = clone $day;
@@ -129,23 +127,23 @@ class Ajax extends Page
129
  'Y-m-d H:i:s',
130
  $day->getTimestamp() + Lib\Utils\DateTime::timeToSeconds( $break['start_time'] )
131
  );
132
- $break_end = date(
133
  'Y-m-d H:i:s',
134
  $day->getTimestamp() + Lib\Utils\DateTime::timeToSeconds( $break['end_time'] )
135
  );
136
- $result[] = array(
137
- 'start' => $break_start,
138
- 'end' => $break_end,
139
- 'rendering' => 'background',
140
- 'staffId' => $staff->getId(),
141
  );
142
  }
143
  } else {
144
  $result[] = array(
145
- 'start' => $last_end->format( 'Y-m-d H:i:s' ),
146
- 'end' => $day->format( 'Y-m-d 24:00:00' ),
147
- 'rendering' => 'background',
148
- 'staffId' => $staff->getId(),
149
  );
150
  $last_end = clone $day;
151
  $last_end->setTime( 24, 0 );
@@ -155,12 +153,12 @@ class Ajax extends Page
155
  $day->add( $one_day );
156
  }
157
 
158
- if ( $last_end->format( 'H' ) != 24 ) {
159
  $result[] = array(
160
- 'start' => $last_end->format( 'Y-m-d H:i:s' ),
161
- 'end' => $last_end->format( 'Y-m-d 24:00:00' ),
162
- 'rendering' => 'background',
163
- 'staffId' => $staff->getId(),
164
  );
165
  }
166
  }
@@ -181,22 +179,40 @@ class Ajax extends Page
181
  }
182
 
183
  /**
184
- * Get appointments for FullCalendar.
185
  *
186
  * @param integer $staff_id
187
  * @param \DateTime $start_date
188
  * @param \DateTime $end_date
189
  * @return array
190
  */
191
- private static function _getAppointmentsForFC( $staff_id, \DateTime $start_date, \DateTime $end_date )
192
  {
193
  $query = Lib\Entities\Appointment::query( 'a' )
194
  ->where( 'st.id', $staff_id )
195
- ->whereLt( 'DATE(a.start_date)', $end_date->format( 'Y-m-d' ) )
196
- ->whereRaw( 'DATE(DATE_ADD(a.end_date, INTERVAL IF(ca.extras_consider_duration, a.extras_duration, 0) SECOND)) >= \'%s\'', array( $start_date->format( 'Y-m-d' ) ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
 
198
  Proxy\Shared::prepareAppointmentsQueryForFC( $query, $staff_id, $start_date, $end_date );
199
 
200
- return self::buildAppointmentsForFC( $staff_id, $query );
201
  }
202
  }
18
  }
19
 
20
  /**
21
+ * Get data for Event Calendar
22
  */
23
  public static function getStaffAppointments()
24
  {
29
  } else {
30
  $staff_members = array( Lib\Entities\Staff::query()->findOne() );
31
  }
32
+ $result = array();
33
+ $one_day = new \DateInterval( 'P1D' );
34
+ $start_date = new \DateTime( substr( self::parameter( 'start' ), 0, 19 ) );
35
+ $end_date = new \DateTime( substr( self::parameter( 'end' ), 0, 19 ) );
 
 
36
 
37
  if ( Lib\Utils\Common::isCurrentUserSupervisor() ) {
38
  $staff_ids = explode( ',', self::parameter( 'staff_ids' ) );
50
  $special_days[ $day['staff_id'] ][ $day['date'] ][] = $day;
51
  }
52
 
53
+ if ( self::parameter( 'service_ids' ) && ( ! Lib\Config::locationsActive() || self::parameter( 'location_ids' ) ) ) {
54
  foreach ( $staff_members as $staff ) {
55
  /** @var Lib\Entities\Staff $staff */
56
+ $result = array_merge( $result, self::_getAppointmentsForCalendar( $staff->getId(), $start_date, $end_date ) );
57
 
58
  // Schedule.
59
  $items = $staff->getScheduleItems();
70
  $last_end->setTime( 24, 0 );
71
  }
72
  // Do the loop.
73
+ while ( $day < $end_date ) {
74
  $start = $last_end->format( 'Y-m-d H:i:s' );
75
  // Check if $day is Special Day for current staff.
76
  if ( isset( $special_days[ $staff->getId() ][ $day->format( 'Y-m-d' ) ] ) ) {
78
  $end = $sp_days[0]['date'] . ' ' . $sp_days[0]['start_time'];
79
  if ( $start < $end ) {
80
  $result[] = array(
81
+ 'start' => $start,
82
+ 'end' => $end,
83
+ 'display' => 'background',
84
+ 'resourceId' => $staff->getId(),
85
  );
86
  }
87
  // Breaks.
90
  'Y-m-d H:i:s',
91
  strtotime( $sp_day['date'] ) + Lib\Utils\DateTime::timeToSeconds( $sp_day['break_start'] )
92
  );
93
+ $break_end = date(
94
  'Y-m-d H:i:s',
95
  strtotime( $sp_day['date'] ) + Lib\Utils\DateTime::timeToSeconds( $sp_day['break_end'] )
96
  );
97
+ $result[] = array(
98
+ 'start' => $break_start,
99
+ 'end' => $break_end,
100
+ 'display' => 'background',
101
+ 'resourceId' => $staff->getId(),
102
  );
103
  }
104
  $end_time = explode( ':', $sp_days[0]['end_time'] );
111
  $end = $day->format( 'Y-m-d ' . $item->getStartTime() );
112
  if ( $start < $end ) {
113
  $result[] = array(
114
+ 'start' => $start,
115
+ 'end' => $end,
116
+ 'display' => 'background',
117
+ 'resourceId' => $staff->getId(),
118
  );
119
  }
120
  $last_end = clone $day;
127
  'Y-m-d H:i:s',
128
  $day->getTimestamp() + Lib\Utils\DateTime::timeToSeconds( $break['start_time'] )
129
  );
130
+ $break_end = date(
131
  'Y-m-d H:i:s',
132
  $day->getTimestamp() + Lib\Utils\DateTime::timeToSeconds( $break['end_time'] )
133
  );
134
+ $result[] = array(
135
+ 'start' => $break_start,
136
+ 'end' => $break_end,
137
+ 'display' => 'background',
138
+ 'resourceId' => $staff->getId(),
139
  );
140
  }
141
  } else {
142
  $result[] = array(
143
+ 'start' => $last_end->format( 'Y-m-d H:i:s' ),
144
+ 'end' => $day->format( 'Y-m-d 24:00:00' ),
145
+ 'display' => 'background',
146
+ 'resourceId' => $staff->getId(),
147
  );
148
  $last_end = clone $day;
149
  $last_end->setTime( 24, 0 );
153
  $day->add( $one_day );
154
  }
155
 
156
+ if ( $last_end->format( 'Ymd' ) != $day->format( 'Ymd' ) ) {
157
  $result[] = array(
158
+ 'start' => $last_end->format( 'Y-m-d H:i:s' ),
159
+ 'end' => $last_end->format( 'Y-m-d 24:00:00' ),
160
+ 'display' => 'background',
161
+ 'resourceId' => $staff->getId(),
162
  );
163
  }
164
  }
179
  }
180
 
181
  /**
182
+ * Get appointments for Event Calendar
183
  *
184
  * @param integer $staff_id
185
  * @param \DateTime $start_date
186
  * @param \DateTime $end_date
187
  * @return array
188
  */
189
+ private static function _getAppointmentsForCalendar( $staff_id, \DateTime $start_date, \DateTime $end_date )
190
  {
191
  $query = Lib\Entities\Appointment::query( 'a' )
192
  ->where( 'st.id', $staff_id )
193
+ ->whereLt( 'a.start_date', $end_date->format( 'Y-m-d H:i:s' ) )
194
+ ->whereRaw( 'DATE_ADD(a.end_date, INTERVAL IF(ca.extras_consider_duration, a.extras_duration, 0) SECOND) >= \'%s\'', array( $start_date->format( 'Y-m-d H:i:s' ) ) );
195
+
196
+ $service_ids = array_filter( explode( ',', self::parameter( 'service_ids' ) ) );
197
+
198
+ if ( !empty( $service_ids ) && !in_array( 'all', $service_ids ) ) {
199
+ $raw_where = array();
200
+ if ( in_array( 'custom', $service_ids ) ) {
201
+ $raw_where[] = 'a.service_id IS NULL';
202
+ }
203
+
204
+ $service_ids = array_filter( $service_ids, 'is_numeric' );
205
+ if ( !empty( $service_ids ) ) {
206
+ $raw_where[] = 'a.service_id IN (' . implode( ',', $service_ids ) . ')';
207
+ }
208
+
209
+ if ( $raw_where ) {
210
+ $query->whereRaw( implode( ' OR ', $raw_where ), array() );
211
+ }
212
+ }
213
 
214
  Proxy\Shared::prepareAppointmentsQueryForFC( $query, $staff_id, $start_date, $end_date );
215
 
216
+ return self::buildAppointmentsForCalendar( $staff_id, $query );
217
  }
218
  }
backend/modules/calendar/Page.php CHANGED
@@ -15,30 +15,99 @@ class Page extends Lib\Base\Ajax
15
  public static function render()
16
  {
17
  self::enqueueStyles( array(
18
- 'module' => array( 'css/fullcalendar.min.css', ),
19
  'backend' => array( 'bootstrap/css/bootstrap.min.css' ),
20
  ) );
21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  self::enqueueScripts( array(
23
  'backend' => array(
24
  'bootstrap/js/bootstrap.min.js' => array( 'jquery' ),
25
  'js/alert.js' => array( 'jquery' ),
26
  'js/dropdown.js' => array( 'jquery' ),
27
  ),
28
- 'module' => array(
29
- 'js/fullcalendar.min.js' => array( 'bookly-moment.min.js' ),
30
- 'js/fc-multistaff-view.js' => array( 'bookly-fullcalendar.min.js' ),
31
- 'js/calendar-common.js' => array( 'bookly-fc-multistaff-view.js' ),
32
- 'js/calendar.js' => array( 'bookly-calendar-common.js', 'bookly-dropdown.js' ),
33
- ),
 
34
  ) );
35
 
36
  $slot_length_minutes = get_option( 'bookly_gen_time_slot_length', '15' );
37
  $slot = new \DateInterval( 'PT' . $slot_length_minutes . 'M' );
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  wp_localize_script( 'bookly-calendar.js', 'BooklyL10n', array(
40
  'csrf_token' => Lib\Utils\Common::getCsrfToken(),
 
41
  'slotDuration' => $slot->format( '%H:%I:%S' ),
 
 
 
 
42
  'mjsTimeFormat' => Lib\Utils\DateTime::convertFormat( 'time', Lib\Utils\DateTime::FORMAT_MOMENT_JS ),
43
  'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
44
  'dateRange' => Lib\Utils\DateTime::dateRangeOptions(),
@@ -46,9 +115,11 @@ class Page extends Lib\Base\Ajax
46
  'week' => __( 'Week', 'bookly' ),
47
  'day' => __( 'Day', 'bookly' ),
48
  'month' => __( 'Month', 'bookly' ),
49
- 'allDay' => __( 'All Day', 'bookly' ),
 
50
  'delete' => __( 'Delete', 'bookly' ),
51
  'are_you_sure' => __( 'Are you sure?', 'bookly' ),
 
52
  'recurring_appointments' => array(
53
  'active' => (int) Lib\Config::recurringAppointmentsActive(),
54
  'title' => __( 'Recurring appointments', 'bookly' ),
@@ -63,51 +134,20 @@ class Page extends Lib\Base\Ajax
63
  ),
64
  ) );
65
 
66
- // Staff.
67
- if ( Lib\Config::proActive() ) {
68
- if ( Lib\Utils\Common::isCurrentUserSupervisor() ) {
69
- $staff_members = Lib\Entities\Staff::query()
70
- ->whereNot( 'visibility', 'archive' )
71
- ->sortBy( 'position' )
72
- ->find()
73
- ;
74
- $staff_dropdown_data = Lib\Proxy\Pro::getStaffDataForDropDown();
75
- } else {
76
- $staff_members = Lib\Entities\Staff::query()
77
- ->where( 'wp_user_id', get_current_user_id() )
78
- ->whereNot( 'visibility', 'archive' )
79
- ->find()
80
- ;
81
- $staff_dropdown_data = array(
82
- 0 => array(
83
- 'name' => '',
84
- 'items' => empty ( $staff_members ) ? array() : array( $staff_members[0]->getFields() )
85
- )
86
- );
87
- }
88
- } else {
89
- $staff = Lib\Entities\Staff::query()->findOne();
90
- $staff_members = $staff ? array( $staff ) : array();
91
- $staff_dropdown_data = array(
92
- 0 => array(
93
- 'name' => '',
94
- 'items' => empty ( $staff_members ) ? array() : array( $staff_members[0]->getFields() )
95
- )
96
- );
97
- }
98
  $refresh_rate = get_user_meta( get_current_user_id(), 'bookly_calendar_refresh_rate', true );
 
99
 
100
- self::renderTemplate( 'calendar', compact( 'staff_members', 'staff_dropdown_data', 'refresh_rate' ) );
101
  }
102
 
103
  /**
104
- * Build appointments for FullCalendar.
105
  *
106
  * @param integer $staff_id
107
  * @param Lib\Query $query
108
  * @return mixed
109
  */
110
- public static function buildAppointmentsForFC( $staff_id, Lib\Query $query )
111
  {
112
  $one_participant = '<div>' . str_replace( "\n", '</div><div>', get_option( 'bookly_cal_one_participant' ) ) . '</div>';
113
  $many_participants = '<div>' . str_replace( "\n", '</div><div>', get_option( 'bookly_cal_many_participants' ) ) . '</div>';
@@ -179,8 +219,7 @@ class Page extends Lib\Base\Ajax
179
  ->leftJoin( 'Service', 's', 's.id = a.service_id' )
180
  ->leftJoin( 'Category', 'ct', 'ct.id = s.category_id' )
181
  ->leftJoin( 'Staff', 'st', 'st.id = a.staff_id' )
182
- ->leftJoin( 'StaffService', 'ss', 'ss.staff_id = a.staff_id AND ss.service_id = a.service_id' )
183
- ->groupBy( 'a.id' );
184
 
185
  if ( Lib\Config::groupBookingActive() ) {
186
  $query->addSelect( 'COALESCE(ss.capacity_max,9999) AS service_capacity' );
@@ -192,7 +231,33 @@ class Page extends Lib\Base\Ajax
192
  $query->addSelect( 'c.country, c.state, c.postcode, c.city, c.street, c.street_number, c.additional_address' );
193
  }
194
 
195
- $appointments = $query->fetchArray();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
 
197
  foreach ( $appointments as $key => $appointment ) {
198
  $codes = $default_codes;
@@ -211,6 +276,31 @@ class Page extends Lib\Base\Ajax
211
  if ( $appointment['staff_any'] ) {
212
  $codes['{staff_name}'] .= $postfix_any;
213
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  // Display customer information only if there is 1 customer. Don't confuse with number_of_persons.
215
  if ( $appointment['number_of_persons'] == $appointment['total_number_of_persons'] ) {
216
  $participants = 'one';
@@ -232,31 +322,45 @@ class Page extends Lib\Base\Ajax
232
  }
233
  // Status.
234
  $codes['{status}'] = Lib\Entities\CustomerAppointment::statusToString( $appointment['appointment_status'] );
 
 
 
235
  } else {
236
  $participants = 'many';
237
  $template = $many_participants;
 
238
  }
239
 
 
 
 
 
 
240
  $codes = Proxy\Shared::prepareAppointmentCodesData( $codes, $appointment, $participants );
241
 
242
  $appointments[ $key ] = array(
243
- 'id' => $appointment['id'],
244
- 'start' => $appointment['start_date'],
245
- 'end' => $appointment['end_date'],
246
- 'title' => ' ',
247
- 'desc' => strtr( $template, $codes ),
248
- 'color' => $appointment['service_color'],
249
- 'staffId' => $staff_id,
250
- 'series_id' => (int) $appointment['series_id'],
251
- 'package_id' => (int) $appointment['package_id'],
252
- 'waitlisted' => (int) $appointment['on_waiting_list'],
253
- 'staff_any' => (int) $appointment['staff_any'],
 
 
 
 
 
254
  );
255
  if ( $appointment['duration'] * $appointment['units'] >= DAY_IN_SECONDS && $appointment['start_time_info'] ) {
256
- $appointments[ $key ]['header_text'] = sprintf( '%s - %s', $appointment['start_time_info'], $appointment['end_time_info'] );
257
  }
258
  }
259
 
260
- return $appointments;
261
  }
262
- }
15
  public static function render()
16
  {
17
  self::enqueueStyles( array(
18
+ 'module' => array( 'css/event-calendar.min.css'),
19
  'backend' => array( 'bootstrap/css/bootstrap.min.css' ),
20
  ) );
21
 
22
+ if ( Lib\Config::proActive() ) {
23
+ if ( Lib\Utils\Common::isCurrentUserSupervisor() ) {
24
+ $staff_members = Lib\Entities\Staff::query()
25
+ ->whereNot( 'visibility', 'archive' )
26
+ ->sortBy( 'position' )
27
+ ->find()
28
+ ;
29
+ $staff_dropdown_data = Lib\Proxy\Pro::getStaffDataForDropDown();
30
+ } else {
31
+ $staff_members = Lib\Entities\Staff::query()
32
+ ->where( 'wp_user_id', get_current_user_id() )
33
+ ->whereNot( 'visibility', 'archive' )
34
+ ->find()
35
+ ;
36
+ $staff_dropdown_data = array(
37
+ 0 => array(
38
+ 'name' => '',
39
+ 'items' => empty ( $staff_members ) ? array() : array( $staff_members[0]->getFields() )
40
+ )
41
+ );
42
+ }
43
+ } else {
44
+ $staff = Lib\Entities\Staff::query()->findOne();
45
+ $staff_members = $staff ? array( $staff ) : array();
46
+ $staff_dropdown_data = array(
47
+ 0 => array(
48
+ 'name' => '',
49
+ 'items' => empty ( $staff_members ) ? array() : array( $staff_members[0]->getFields() )
50
+ )
51
+ );
52
+ }
53
+
54
  self::enqueueScripts( array(
55
  'backend' => array(
56
  'bootstrap/js/bootstrap.min.js' => array( 'jquery' ),
57
  'js/alert.js' => array( 'jquery' ),
58
  'js/dropdown.js' => array( 'jquery' ),
59
  ),
60
+ 'module' => $staff_members
61
+ ? array(
62
+ 'js/event-calendar.min.js',
63
+ 'js/calendar-common.js' => array( 'bookly-event-calendar.min.js' ),
64
+ 'js/calendar.js' => array( 'bookly-calendar-common.js', 'bookly-dropdown.js' ),
65
+ )
66
+ : array(),
67
  ) );
68
 
69
  $slot_length_minutes = get_option( 'bookly_gen_time_slot_length', '15' );
70
  $slot = new \DateInterval( 'PT' . $slot_length_minutes . 'M' );
71
 
72
+ $hidden_days = array();
73
+ $min_time = '00:00:00';
74
+ $max_time = '24:00:00';
75
+ $scroll_time = '08:00:00';
76
+ // Find min and max business hours
77
+ $min = $max = null;
78
+ foreach ( Lib\Config::getBusinessHours() as $day => $bh ) {
79
+ if ( $bh['start'] === null ) {
80
+ if ( Lib\Config::showOnlyBusinessDaysInCalendar() ) {
81
+ $hidden_days[] = $day;
82
+ }
83
+ continue;
84
+ }
85
+ if ( $min === null || $bh['start'] < $min ) {
86
+ $min = $bh['start'];
87
+ }
88
+ if ( $max === null || $bh['end'] > $max ) {
89
+ $max = $bh['end'];
90
+ }
91
+ }
92
+ if ( $min !== null ) {
93
+ $scroll_time = $min;
94
+ if ( Lib\Config::showOnlyBusinessHoursInCalendar() ) {
95
+ $min_time = $min;
96
+ $max_time = $max;
97
+ } else if ( $max > '24:00:00' ) {
98
+ $min_time = Lib\Utils\DateTime::buildTimeString( Lib\Utils\DateTime::timeToSeconds( $max ) - DAY_IN_SECONDS );
99
+ $max_time = $max;
100
+ }
101
+ }
102
+
103
  wp_localize_script( 'bookly-calendar.js', 'BooklyL10n', array(
104
  'csrf_token' => Lib\Utils\Common::getCsrfToken(),
105
+ 'hiddenDays' => $hidden_days,
106
  'slotDuration' => $slot->format( '%H:%I:%S' ),
107
+ 'slotMinTime' => $min_time,
108
+ 'slotMaxTime' => $max_time,
109
+ 'scrollTime' => $scroll_time,
110
+ 'locale' => Lib\Config::getLocale(),
111
  'mjsTimeFormat' => Lib\Utils\DateTime::convertFormat( 'time', Lib\Utils\DateTime::FORMAT_MOMENT_JS ),
112
  'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
113
  'dateRange' => Lib\Utils\DateTime::dateRangeOptions(),
115
  'week' => __( 'Week', 'bookly' ),
116
  'day' => __( 'Day', 'bookly' ),
117
  'month' => __( 'Month', 'bookly' ),
118
+ 'list' => __( 'List', 'bookly' ),
119
+ 'noEvents' => __( 'No appointments for selected period.', 'bookly' ),
120
  'delete' => __( 'Delete', 'bookly' ),
121
  'are_you_sure' => __( 'Are you sure?', 'bookly' ),
122
+ 'filterStaffWithEvents' => Lib\Config::showOnlyStaffWithAppointmentsInCalendarDayView(),
123
  'recurring_appointments' => array(
124
  'active' => (int) Lib\Config::recurringAppointmentsActive(),
125
  'title' => __( 'Recurring appointments', 'bookly' ),
134
  ),
135
  ) );
136
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  $refresh_rate = get_user_meta( get_current_user_id(), 'bookly_calendar_refresh_rate', true );
138
+ $services_dropdown_data = Lib\Utils\Common::getServiceDataForDropDown();
139
 
140
+ self::renderTemplate( 'calendar', compact( 'staff_members', 'staff_dropdown_data', 'services_dropdown_data', 'refresh_rate' ) );
141
  }
142
 
143
  /**
144
+ * Build appointments for Event Calendar.
145
  *
146
  * @param integer $staff_id
147
  * @param Lib\Query $query
148
  * @return mixed
149
  */
150
+ public static function buildAppointmentsForCalendar( $staff_id, Lib\Query $query )
151
  {
152
  $one_participant = '<div>' . str_replace( "\n", '</div><div>', get_option( 'bookly_cal_one_participant' ) ) . '</div>';
153
  $many_participants = '<div>' . str_replace( "\n", '</div><div>', get_option( 'bookly_cal_many_participants' ) ) . '</div>';
219
  ->leftJoin( 'Service', 's', 's.id = a.service_id' )
220
  ->leftJoin( 'Category', 'ct', 'ct.id = s.category_id' )
221
  ->leftJoin( 'Staff', 'st', 'st.id = a.staff_id' )
222
+ ->leftJoin( 'StaffService', 'ss', 'ss.staff_id = a.staff_id AND ss.service_id = a.service_id' );
 
223
 
224
  if ( Lib\Config::groupBookingActive() ) {
225
  $query->addSelect( 'COALESCE(ss.capacity_max,9999) AS service_capacity' );
231
  $query->addSelect( 'c.country, c.state, c.postcode, c.city, c.street, c.street_number, c.additional_address' );
232
  }
233
 
234
+ $appointments = array();
235
+
236
+ foreach ( $query->fetchArray() as $appointment ) {
237
+ if ( ! isset( $appointments[ $appointment['id'] ] ) ) {
238
+ $appointments[ $appointment['id'] ] = $appointment;
239
+ }
240
+ $appointments[ $appointment['id'] ]['customers'][] = array(
241
+ 'client_name' => $appointment['client_name'],
242
+ 'number_of_persons' => $appointment['number_of_persons'],
243
+ 'appointment_status' => $appointment['appointment_status'],
244
+ );
245
+ }
246
+
247
+ $status_codes = array(
248
+ Lib\Entities\CustomerAppointment::STATUS_APPROVED => 'success',
249
+ Lib\Entities\CustomerAppointment::STATUS_CANCELLED => 'danger',
250
+ Lib\Entities\CustomerAppointment::STATUS_REJECTED => 'danger',
251
+ );
252
+ $cancelled_statuses = array(
253
+ Lib\Entities\CustomerAppointment::STATUS_CANCELLED,
254
+ Lib\Entities\CustomerAppointment::STATUS_REJECTED,
255
+ );
256
+ $pending_statuses = array(
257
+ Lib\Entities\CustomerAppointment::STATUS_CANCELLED,
258
+ Lib\Entities\CustomerAppointment::STATUS_REJECTED,
259
+ Lib\Entities\CustomerAppointment::STATUS_PENDING,
260
+ );
261
 
262
  foreach ( $appointments as $key => $appointment ) {
263
  $codes = $default_codes;
276
  if ( $appointment['staff_any'] ) {
277
  $codes['{staff_name}'] .= $postfix_any;
278
  }
279
+
280
+ // Customers for popover.
281
+ $popover_customers = '';
282
+ $overall_status = isset( $appointment['customers'][0] ) ? $appointment['customers'][0]['appointment_status'] : '';
283
+
284
+ foreach ( $appointment['customers'] as $customer ) {
285
+ $status_color = 'secondary';
286
+ if ( isset( $status_codes[ $customer['appointment_status'] ] ) ) {
287
+ $status_color = $status_codes[ $customer['appointment_status'] ];
288
+ }
289
+ if ( $customer['appointment_status'] != $overall_status && ( ! in_array( $customer['appointment_status'], $cancelled_statuses ) || ! in_array( $overall_status, $cancelled_statuses ) ) ) {
290
+ if ( in_array( $customer['appointment_status'], $pending_statuses ) && in_array( $overall_status, $pending_statuses ) ) {
291
+ $overall_status = Lib\Entities\CustomerAppointment::STATUS_PENDING;
292
+ } else {
293
+ $overall_status = '';
294
+ }
295
+ }
296
+ if ( $customer['number_of_persons'] > 1 ) {
297
+ $number_of_persons = '<span class="badge badge-info mr-1"><i class="far fa-fw fa-user"></i>×' . $customer['number_of_persons'] . '</span>';
298
+ } else {
299
+ $number_of_persons = '';
300
+ }
301
+ $popover_customers .= '<div class="d-flex"><div class="text-muted flex-fill">' . $customer['client_name'] . '</div><div class="text-nowrap">' . $number_of_persons . '<span class="badge badge-' . $status_color . '">' . Lib\Entities\CustomerAppointment::statusToString( $customer['appointment_status'] ) . '</span></div></div>';
302
+ }
303
+
304
  // Display customer information only if there is 1 customer. Don't confuse with number_of_persons.
305
  if ( $appointment['number_of_persons'] == $appointment['total_number_of_persons'] ) {
306
  $participants = 'one';
322
  }
323
  // Status.
324
  $codes['{status}'] = Lib\Entities\CustomerAppointment::statusToString( $appointment['appointment_status'] );
325
+
326
+ $tooltip = '<i class="fas fa-fw fa-circle mr-1" style="color:%s"></i><span>{service_name}</span>' . $popover_customers . '<span class="d-block text-muted">{appointment_time} - %s</span>';
327
+
328
  } else {
329
  $participants = 'many';
330
  $template = $many_participants;
331
+ $tooltip = '<i class="fas fa-fw fa-circle mr-1" style="color:%s"></i><span>{service_name}</span>' . $popover_customers . '<span class="d-block text-muted">{appointment_time} - %s</span>';
332
  }
333
 
334
+ $tooltip = sprintf( $tooltip,
335
+ $appointment['service_color'],
336
+ ( $appointment['duration'] * $appointment['units'] >= DAY_IN_SECONDS && $appointment['start_time_info'] ?$appointment['end_time_info'] : Lib\Utils\DateTime::formatTime( $appointment['end_date'] ) )
337
+ );
338
+
339
  $codes = Proxy\Shared::prepareAppointmentCodesData( $codes, $appointment, $participants );
340
 
341
  $appointments[ $key ] = array(
342
+ 'id' => $appointment['id'],
343
+ 'start' => $appointment['start_date'],
344
+ 'end' => $appointment['end_date'],
345
+ 'title' => ' ',
346
+ 'color' => $appointment['service_color'],
347
+ 'resourceId' => $staff_id,
348
+ 'extendedProps' => array(
349
+ 'tooltip' => strtr( $tooltip, $codes ),
350
+ 'desc' => strtr( $template, $codes ),
351
+ 'staffId' => $staff_id,
352
+ 'series_id' => (int) $appointment['series_id'],
353
+ 'package_id' => (int) $appointment['package_id'],
354
+ 'waitlisted' => (int) $appointment['on_waiting_list'],
355
+ 'staff_any' => (int) $appointment['staff_any'],
356
+ 'overall_status' => $overall_status,
357
+ ),
358
  );
359
  if ( $appointment['duration'] * $appointment['units'] >= DAY_IN_SECONDS && $appointment['start_time_info'] ) {
360
+ $appointments[ $key ]['extendedProps']['header_text'] = sprintf( '%s - %s', $appointment['start_time_info'], $appointment['end_time_info'] );
361
  }
362
  }
363
 
364
+ return array_values( $appointments );
365
  }
366
+ }
backend/modules/calendar/proxy/Pro.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Modules\Calendar\Proxy;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class Pro
8
+ * @package Bookly\Backend\Modules\Calendar\Proxy
9
+ *
10
+ * @method static void renderServicesFilterOption()
11
+ */
12
+ abstract class Pro extends Lib\Base\Proxy
13
+ {
14
+
15
+ }
backend/modules/calendar/resources/css/event-calendar.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .ec-flex{display:flex}.ec-body.ec-month, .ec-days, .ec-day, .ec-day-title, .ec-resource{flex:1 1 0%;min-width:0;max-width:100%}.ec{display:flex;flex-direction:column}.ec ::-webkit-scrollbar{background:#fff}.ec ::-webkit-scrollbar-thumb{border:4px solid #fff;box-shadow:none;background:#dadce0;border-radius:8px;min-height:40px}.ec :hover::-webkit-scrollbar-thumb{background:#bdc1c6}.ec-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1em}.ec-toolbar > * > :not(:first-child){margin-left:.75em}.ec-title{margin:0}.ec-button{background-color:#fff;border:1px solid #ced4da;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem}.ec-button:not(:disabled){color:#212529;cursor:pointer}.ec-button:not(:disabled):hover, .ec-button.ec-active{background-color:#ececec;border-color:#b1bbc4}.ec-button-group{display:inline-block}.ec-button-group .ec-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.ec-button-group .ec-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.ec-icon{display:inline-block;width:1em}.ec-icon.ec-prev:after, .ec-icon.ec-next:after{content:'';position:relative;width:.5em;height:.5em;border-top:2px solid #212529;border-right:2px solid #212529;display:inline-block}.ec-icon.ec-prev:after{transform:rotate(-135deg) translate(-2px, 2px)}.ec-icon.ec-next:after{transform:rotate(45deg) translate(-2px, 2px)}.ec-header, .ec-body, .ec-days, .ec-day{border:1px solid #dadce0}.ec-header{display:flex;flex-shrink:0}.ec-header.ec-with-scroll:after{content:'';overflow-y:scroll;visibility:hidden;flex-shrink:0}.ec-header .ec-resource{flex-direction:column}.ec-header .ec-resource .ec-days{border-top-style:solid}.ec-header .ec-day{min-height:24px;line-height:24px;text-align:center}.ec-body{position:relative;overflow-x:hidden;overflow-y:auto}.ec-body:not(.ec-list){border-top:none}.ec-month.ec-body{flex-basis:auto}.ec-sidebar{flex:0 0 auto;width:auto;max-width:100%;padding:0 4px 0 8px}.ec-content{display:flex}.ec-month.ec-body .ec-content{flex-direction:column;height:100%}.ec-list.ec-body .ec-content{flex-direction:column}.ec-resource{display:flex}.ec-days{display:flex;border-style:none none solid}.ec-days:last-child{border-bottom:none}.ec-day{border-style:none none none solid}.ec-month.ec-body .ec-days, .ec-resource .ec-days{flex:1 0 auto}.ec-month.ec-body .ec-day{min-height:5em}.ec-month .ec-day:first-child{border-left:none}.ec-month .ec-day-head{text-align:right;padding:4px}.ec-list .ec-day{flex:1 0 auto;border-style:solid none;padding:8px 14px;font-weight:bold;position:sticky;top:0}.ec-list .ec-day:first-child{border-top:none}.ec-list .ec-day-side{float:right}.ec-day.ec-today{background-color:#fcf8e3}.ec-day.ec-other-month .ec-day-head{opacity:.3}.ec-day.ec-highlight{background-color:#e5f7fe}.ec-events{position:relative;margin:0 6px 0 0}.ec-event{position:absolute;display:flex;flex-direction:column;padding:2px;color:#fff;box-sizing:border-box;box-shadow:0 0 1px 0 #dadce0;background-color:#039be5;border-radius:3px;font-size:.85em;line-height:1.5;font-weight:400}.ec-month .ec-event, .ec-list .ec-event{position:static}.ec-list .ec-event{flex:1 0 auto;padding:8px 14px;color:inherit;background-color:transparent;border-radius:0;font-size:1em;flex-direction:row;align-items:baseline}.ec-event-time{overflow:hidden;white-space:nowrap;margin-bottom:1px;flex-shrink:0}.ec-list .ec-event-time{width:23ch;margin:0;text-overflow:ellipsis}.ec-list .ec-event-dot{display:inline-block;border-radius:50%;border:6px solid #039be5;margin:0 14px 0 10px}.ec-event-title{position:sticky;top:0;overflow:hidden}.ec-bg-events{position:relative}.ec-bg-event{position:absolute;background-color:#dadce0;opacity:0.3;width:100%}.ec-list .ec-no-events{text-align:center;padding:5em 0}.ec-hidden-times{visibility:hidden;overflow-y:hidden;height:0}.ec-time, .ec-line{height:24px}.ec-time{position:relative;line-height:24px;top:-12px;text-align:right;white-space:nowrap}.ec-lines{width:8px}.ec-line:not(:first-child):after{content:'';position:absolute;width:100%;border-bottom:1px solid #dadce0}.ec-body:not(.ec-compact) .ec-line:nth-child(even):after{border-bottom-style:dotted}
backend/modules/calendar/resources/css/fullcalendar.min.css DELETED
@@ -1,5 +0,0 @@
1
- /*!
2
- * FullCalendar v2.4.0 Stylesheet
3
- * Docs & License: http://fullcalendar.io/
4
- * (c) 2015 Adam Shaw
5
- */.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}body .fc{font-size:1em}.fc-unthemed .fc-divider,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed .fc-popover .fc-header .fc-close{color:#666}.fc-unthemed .fc-today{background:#fcf8e3}.fc-highlight{background:#bce8f1;opacity:.3;filter:alpha(opacity=30)}.fc-bgevent{background:#8fdf82;opacity:.3;filter:alpha(opacity=30)}.fc-nonbusiness{background:#d7d7d7}.fc-icon{display:inline-block;width:1em;height:1em;line-height:1em;font-size:1em;text-align:center;overflow:hidden;font-family:"Courier New",Courier,monospace;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fc-icon:after{position:relative;margin:0 -1em}.fc-icon-left-single-arrow:after{content:"\02039";font-weight:700;font-size:200%;top:-7%;left:3%}.fc-icon-right-single-arrow:after{content:"\0203A";font-weight:700;font-size:200%;top:-7%;left:-3%}.fc-icon-left-double-arrow:after{content:"\000AB";font-size:160%;top:-7%}.fc-icon-right-double-arrow:after{content:"\000BB";font-size:160%;top:-7%}.fc-icon-left-triangle:after{content:"\25C4";font-size:125%;top:3%;left:-2%}.fc-icon-right-triangle:after{content:"\25BA";font-size:125%;top:3%;left:2%}.fc-icon-down-triangle:after{content:"\25BC";font-size:125%;top:2%}.fc-icon-x:after{content:"\000D7";font-size:200%;top:6%}.fc button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;height:2.1em;padding:0 .6em;font-size:1em;white-space:nowrap;cursor:pointer}.fc button::-moz-focus-inner{margin:0;padding:0}.fc-state-default{border:1px solid}.fc-state-default.fc-corner-left{border-top-left-radius:4px;border-bottom-left-radius:4px}.fc-state-default.fc-corner-right{border-top-right-radius:4px;border-bottom-right-radius:4px}.fc button .fc-icon{position:relative;top:-.05em;margin:0 .2em;vertical-align:middle}.fc-state-default{background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);color:#333;text-shadow:0 1px 1px rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.fc-state-active,.fc-state-disabled,.fc-state-down,.fc-state-hover{color:#333;background-color:#e6e6e6}.fc-state-hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.fc-state-active,.fc-state-down{background-color:#ccc;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.fc-state-disabled{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);box-shadow:none}.fc-button-group{display:inline-block}.fc .fc-button-group>*{float:left;margin:0 0 0 -1px}.fc .fc-button-group>:first-child{margin-left:0}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{padding:2px 4px}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-popover .fc-header .fc-close{cursor:pointer}.fc-ltr .fc-popover .fc-header .fc-title,.fc-rtl .fc-popover .fc-header .fc-close{float:left}.fc-ltr .fc-popover .fc-header .fc-close,.fc-rtl .fc-popover .fc-header .fc-title{float:right}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-popover .fc-header .fc-close{font-size:.9em;margin-top:2px}.fc-popover>.ui-widget-header+.ui-widget-content{border-top:0}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-clear{clear:both}.fc-bg,.fc-bgevent-skeleton,.fc-helper-skeleton,.fc-highlight-skeleton{position:absolute;top:0;left:0;right:0}.fc-bg{bottom:0}.fc-bg table{height:100%}.fc table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-helper-skeleton{z-index:5}.fc-row .fc-content-skeleton td,.fc-row .fc-helper-skeleton td{background:0 0;border-color:transparent;border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-helper-skeleton tbody td{border-top:0}.fc-scroller{overflow-y:scroll;overflow-x:hidden}.fc-scroller>*{position:relative;width:100%;overflow:hidden}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.3;border-radius:3px;border:1px solid #3a87ad;background-color:#3a87ad;font-weight:400}.fc-event,.fc-event:hover,.ui-widget .fc-event{color:#fff;text-decoration:none}.fc-event.fc-draggable,.fc-event[href]{cursor:pointer}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-bg{z-index:1;background:#fff;opacity:.25;filter:alpha(opacity=25)}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:3}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-h-event .fc-resizer{top:-1px;bottom:-1px;left:-1px;right:-1px;width:5px}.fc-ltr .fc-h-event .fc-start-resizer,.fc-ltr .fc-h-event .fc-start-resizer:after,.fc-ltr .fc-h-event .fc-start-resizer:before,.fc-rtl .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-end-resizer:after,.fc-rtl .fc-h-event .fc-end-resizer:before{right:auto;cursor:w-resize}.fc-ltr .fc-h-event .fc-end-resizer,.fc-ltr .fc-h-event .fc-end-resizer:after,.fc-ltr .fc-h-event .fc-end-resizer:before,.fc-rtl .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-start-resizer:after,.fc-rtl .fc-h-event .fc-start-resizer:before{left:auto;cursor:e-resize}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-day-grid-event .fc-resizer{left:-3px;right:-3px;width:7px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-toolbar{text-align:center;margin-bottom:1em}.fc-toolbar .fc-left{float:left}.fc-toolbar .fc-right{float:right}.fc-toolbar .fc-center{display:inline-block}.fc .fc-toolbar>*>*{float:left;margin-left:.75em}.fc .fc-toolbar>*>:first-child{margin-left:0}.fc-toolbar h2{margin:0}.fc-toolbar button{position:relative}.fc-toolbar .fc-state-hover,.fc-toolbar .ui-state-hover{z-index:2}.fc-toolbar .fc-state-down{z-index:3}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active{z-index:4}.fc-toolbar button:focus{z-index:5}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}.fc-basicDay-view .fc-content-skeleton,.fc-basicWeek-view .fc-content-skeleton{padding-top:1px;padding-bottom:1em}.fc-basic-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:0 2px}.fc-basic-view td.fc-day-number,.fc-basic-view td.fc-week-number span{padding-top:2px;padding-bottom:2px}.fc-basic-view .fc-week-number{text-align:center}.fc-basic-view .fc-week-number span{display:inline-block;min-width:1.25em}.fc-ltr .fc-basic-view .fc-day-number{text-align:right}.fc-rtl .fc-basic-view .fc-day-number{text-align:left}.fc-day-number.fc-other-month{opacity:.3;filter:alpha(opacity=30)}.fc-agenda-view .fc-day-grid{position:relative;z-index:2}.fc-agenda-view .fc-day-grid .fc-row{min-height:3em}.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton{padding-top:1px;padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.ui-widget td.fc-axis{font-weight:400}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-bgevent-skeleton,.fc-time-grid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-time-grid .fc-bgevent-skeleton{z-index:3}.fc-time-grid .fc-highlight-skeleton{z-index:4}.fc-time-grid .fc-content-skeleton{z-index:5}.fc-time-grid .fc-helper-skeleton{z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-slats .ui-widget-content{background:0 0}.fc-time-grid .fc-highlight-container{position:relative}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-time-grid .fc-bgevent-container,.fc-time-grid .fc-event-container{position:relative}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-v-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event{overflow:hidden}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:"\000A0-\000A0"}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event .fc-resizer:after{content:"="}
 
 
 
 
 
backend/modules/calendar/resources/js/calendar-common.js CHANGED
@@ -1,248 +1,326 @@
1
  (function ($) {
2
 
3
- var Calendar = function($container, options) {
4
- var obj = this;
5
  jQuery.extend(obj.options, options);
6
 
7
- // settings for fullcalendar.
8
- var settings = {
9
- firstDay: obj.options.l10n.datePicker.firstDay,
10
- allDayText: obj.options.l10n.allDay,
11
- buttonText: {
12
- today: obj.options.l10n.today,
13
- month: obj.options.l10n.month,
14
- week: obj.options.l10n.week,
15
- day: obj.options.l10n.day
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  },
17
- axisFormat: obj.options.l10n.mjsTimeFormat,
18
  slotDuration: obj.options.l10n.slotDuration,
19
- // Text/Time Customization.
20
- timeFormat: obj.options.l10n.mjsTimeFormat,
21
- monthNames: obj.options.l10n.datePicker.monthNames,
22
- monthNamesShort: obj.options.l10n.datePicker.monthNamesShort,
23
- dayNames: obj.options.l10n.datePicker.dayNames,
24
- dayNamesShort: obj.options.l10n.datePicker.dayNamesShort,
25
- allDaySlot: false,
26
- eventBackgroundColor: '#d7d7d7',
27
- // Agenda Options.
28
- displayEventEnd: true,
29
- // Event Dragging & Resizing.
30
- editable: false,
31
- // Event Data.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  eventSources: [{
33
  url: ajaxurl,
34
- data: {
35
- action: 'bookly_get_staff_appointments',
36
- csrf_token: obj.options.l10n.csrf_token,
37
- staff_ids: function () {
38
- if (obj.options.is_backend && obj.options.getCurrentStaffId() == 0) {
39
- return obj.options.getStaffMemberIds();
40
- } else {
41
- return [obj.options.getCurrentStaffId()];
42
- }
43
- },
44
- location_ids: function() {
45
- if (obj.options.is_backend) {
46
- return obj.options.getLocationIds();
47
- } else {
48
- return ['all'];
49
- }
50
- }
51
  }
52
  }],
53
- eventAfterRender: function (calEvent, $calEventList, calendar) {
54
- let getZIndex = function (e) {
55
- var z = document.defaultView.getComputedStyle(e).getPropertyValue('z-index');
56
- if (isNaN(z)) return getZIndex(e.parentNode);
57
- else return z;
58
- };
59
- if (calEvent.rendering !== 'background') {
60
- $calEventList.each(function () {
61
- var $calEvent = $(this),
62
- origHeight = $calEvent.outerHeight(),
63
- z_index = getZIndex($calEvent[0]);
64
- // Mouse handlers.
65
- $calEvent
66
- .on('mouseenter', function () {
67
- $calEvent.css({'z-index': 64, bottom: '', 'min-height': origHeight, height: ''});
68
- }).on('mouseleave', function () {
69
- $calEvent.css({'z-index': z_index, height: origHeight});
70
- })
71
- .removeClass('fc-short');
72
- });
73
  }
74
  },
75
- // Clicking & Hovering.
76
- dayClick: function (date, jsEvent, view) {
77
- var staff_id, visible_staff_id;
78
- if (view.type == 'multiStaffDay') {
79
- var cell = view.coordMap.getCell(jsEvent.pageX, jsEvent.pageY),
80
- staffMembers = view.opt('staffMembers');
81
- staff_id = staffMembers[cell.col].id;
82
- visible_staff_id = 0;
83
- } else {
84
- staff_id = visible_staff_id = obj.options.getCurrentStaffId();
85
  }
86
- showAppointmentDialog(
87
- null,
88
- staff_id,
89
- date,
90
- function (event) {
91
- if (event == 'refresh') {
92
- $container.fullCalendar('refetchEvents');
93
- } else {
94
- if (visible_staff_id == event.staffId || visible_staff_id == 0) {
95
- if (event.start !== null) {
96
- if (event.id) {
97
- // Create event in calendar.
98
- $container.fullCalendar('renderEvent', event);
99
- } else {
100
- $container.fullCalendar('refetchEvents');
101
- }
102
- }
103
- } else {
104
- // Switch to the event owner tab.
105
- jQuery('li[data-staff_id=' + event.staffId + ']').click();
106
- }
107
- }
108
 
109
- if (locationChanged) {
110
- $container.fullCalendar('refetchEvents');
111
- locationChanged = false;
112
- }
113
- }
114
- );
115
- },
116
- // Event Rendering.
117
- eventRender: function (calEvent, $event, view) {
118
- if (calEvent.rendering !== 'background') {
119
- var $body = $event.find('.fc-title');
120
- if (calEvent.desc) {
121
- $body.append(calEvent.desc);
122
- }
123
 
124
- var $time = $event.find('.fc-time');
125
- if (calEvent.header_text !== undefined) {
126
- $time.html(calEvent.header_text);
127
- }
128
- if (obj.options.l10n.recurring_appointments.active == '1' && calEvent.series_id) {
129
- $time.prepend(
130
- $('<a class="bookly-fc-icon fas fa-fw fa-link"></a>')
131
- .attr('title', obj.options.l10n.recurring_appointments.title)
132
- .on('click', function (e) {
133
- e.stopPropagation();
134
- $(document.body).trigger('recurring_appointments.series_dialog', [calEvent.series_id, function (event) {
135
- // Switch to the event owner tab.
136
- jQuery('li[data-staff_id=' + event.staffId + ']').click();
137
- }]);
138
- })
139
- );
140
- }
141
- if (obj.options.l10n.waiting_list.active == '1' && calEvent.waitlisted > 0) {
142
- $time.prepend(
143
- $('<span class="bookly-fc-icon far fa-fw fa-list-alt"></span>')
144
- .attr('title', obj.options.l10n.waiting_list.title)
145
- );
146
- }
147
- if (obj.options.l10n.packages.active == '1' && calEvent.package_id > 0) {
148
- $time.prepend(
149
- $('<span class="bookly-fc-icon far fa-fw fa-calendar-alt" style="padding:0 2px;"></span>')
150
- .attr('title', obj.options.l10n.packages.title)
151
- .on('click', function (e) {
152
- e.stopPropagation();
153
- if (obj.options.l10n.packages.active == '1' && calEvent.package_id) {
154
- $(document.body).trigger('bookly_packages.schedule_dialog', [calEvent.package_id, function () {
155
- $container.fullCalendar('refetchEvents');
156
- }]);
157
- }
158
- })
159
- );
160
- }
161
- $time.prepend(
162
- $('<a class="bookly-fc-icon far fa-fw fa-trash-alt"></a>')
163
- .attr('title', obj.options.l10n.delete)
164
  .on('click', function (e) {
165
  e.stopPropagation();
166
- // Localize contains only string values
167
- if (obj.options.l10n.recurring_appointments.active == '1' && calEvent.series_id) {
168
- $(document.body).trigger('recurring_appointments.delete_dialog', [$container, calEvent]);
169
- } else {
170
- $('#bookly-delete-dialog').data('calEvent', calEvent).booklyModal('show');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
171
  }
172
  })
173
  );
174
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  },
176
- eventClick: function (calEvent, jsEvent, view) {
 
 
 
 
177
  var visible_staff_id;
178
- if (view.type == 'multiStaffDay') {
179
  visible_staff_id = 0;
180
  } else {
181
- visible_staff_id = calEvent.staffId;
182
  }
183
 
184
  showAppointmentDialog(
185
- calEvent.id,
186
  null,
187
  null,
188
  function (event) {
189
  if (event == 'refresh') {
190
- $container.fullCalendar('refetchEvents');
191
  } else {
192
- if (event.start !== null) {
193
- if (visible_staff_id == event.staffId || visible_staff_id == 0) {
 
 
 
194
  // Update event in calendar.
195
- jQuery.extend(calEvent, event);
196
- $container.fullCalendar('updateEvent', calEvent);
197
  } else {
198
  // Switch to the event owner tab.
199
- jQuery('li[data-staff_id=' + event.staffId + ']').click();
200
  }
201
  }
202
  }
203
 
204
  if (locationChanged) {
205
- $container.fullCalendar('refetchEvents');
206
  locationChanged = false;
207
  }
208
  }
209
  );
210
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  loading: function (isLoading) {
212
  if (isLoading) {
213
- $('.bookly-fc-loading').show();
 
 
 
 
 
 
214
  } else {
 
215
  obj.options.refresh();
216
  }
217
  },
218
- eventAfterAllRender: function () {
219
- $('.bookly-fc-loading').hide();
 
 
 
 
 
 
 
220
  }
221
  };
222
 
223
- // Init fullcalendar
224
- $container.fullCalendar($.extend({}, settings, obj.options.fullcalendar));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
225
 
226
- // Init date picker for fast navigation in FullCalendar.
227
- $('.fc-toolbar .fc-center h2').daterangepicker({
 
 
228
  parentEl : '.bookly-js-calendar',
229
  singleDatePicker: true,
230
  showDropdowns : true,
231
  autoUpdateInput : false,
232
  locale : obj.options.l10n.datePicker
233
  }).on('apply.daterangepicker', function (ev, picker) {
234
- $container.fullCalendar('gotoDate', picker.startDate.toDate());
235
- if ($container.fullCalendar('getView').type != 'agendaDay' &&
236
- $container.fullCalendar('getView').type != 'multiStaffDay') {
237
- $container.find('.fc-day').removeClass('bookly-fc-day-active');
238
- $container.find('.fc-day[data-date="' + picker.startDate.format('YYYY-MM-DD') + '"]').addClass('bookly-fc-day-active');
239
  }
 
240
  });
241
 
242
  /**
243
  * On delete appointment click.
244
  */
245
- $('#bookly-delete-dialog').off().on('click', '#bookly-delete', function (e) {
246
  var $modal = $(this).closest('.bookly-modal'),
247
  calEvent = $modal.data('calEvent'),
248
  ladda = Ladda.create(this);
@@ -251,18 +329,18 @@
251
  type : 'POST',
252
  url : ajaxurl,
253
  data : {
254
- 'action' : 'bookly_delete_appointment',
255
- 'csrf_token' : obj.options.l10n.csrf_token,
256
- 'appointment_id': calEvent.id,
257
- 'notify' : $('#bookly-delete-notify', $modal).prop('checked') ? 1 : 0,
258
- 'reason' : $('#bookly-delete-reason', $modal).val()
259
  },
260
  dataType : 'json',
261
  xhrFields : {withCredentials: true},
262
  crossDomain: 'withCredentials' in new XMLHttpRequest(),
263
  success : function (response) {
264
  ladda.stop();
265
- $container.fullCalendar('removeEvents', calEvent.id);
266
  $modal.booklyModal('hide');
267
  if (response.data && response.data.queue && response.data.queue.length) {
268
  $(document.body).trigger('bookly.queue_dialog', [response.data.queue]);
@@ -270,6 +348,9 @@
270
  }
271
  });
272
  });
 
 
 
273
  };
274
 
275
  var locationChanged = false;
@@ -278,11 +359,13 @@
278
  });
279
 
280
  Calendar.prototype.options = {
281
- fullcalendar: {},
282
  getCurrentStaffId: function () { return -1; },
283
  getStaffMemberIds: function () { return []; },
284
- getLocationIds: function () { return []; },
285
- refresh: function () {},
 
 
286
  l10n: {},
287
  is_backend: true
288
  };
1
  (function ($) {
2
 
3
+ let Calendar = function($container, options) {
4
+ let obj = this;
5
  jQuery.extend(obj.options, options);
6
 
7
+ // Special locale for moment
8
+ moment.locale('bookly', {
9
+ months: obj.options.l10n.datePicker.monthNames,
10
+ monthsShort: obj.options.l10n.datePicker.monthNamesShort,
11
+ weekdays: obj.options.l10n.datePicker.dayNames,
12
+ weekdaysShort: obj.options.l10n.datePicker.dayNamesShort,
13
+ meridiem : function (hours, minutes, isLower) {
14
+ return hours < 12
15
+ ? obj.options.l10n.datePicker.meridiem[isLower ? 'am' : 'AM']
16
+ : obj.options.l10n.datePicker.meridiem[isLower ? 'pm' : 'PM'];
17
+ },
18
+ });
19
+
20
+ // Settings for Event Calendar
21
+ let settings = {
22
+ view: 'timeGridWeek',
23
+ views: {
24
+ dayGridMonth: {
25
+ dayHeaderFormat: function (date) {
26
+ return moment(date).locale('bookly').format('ddd');
27
+ },
28
+ displayEventEnd: true
29
+ },
30
+ timeGridDay: {
31
+ dayHeaderFormat: function (date) {
32
+ return moment(date).locale('bookly').format('dddd');
33
+ }
34
+ },
35
  },
36
+ hiddenDays: obj.options.l10n.hiddenDays,
37
  slotDuration: obj.options.l10n.slotDuration,
38
+ slotMinTime: obj.options.l10n.slotMinTime,
39
+ slotMaxTime: obj.options.l10n.slotMaxTime,
40
+ scrollTime: obj.options.l10n.scrollTime,
41
+ flexibleSlotTimeLimits: true,
42
+ slotLabelFormat: function (date) {
43
+ return moment(date).locale('bookly').format(obj.options.l10n.mjsTimeFormat);
44
+ },
45
+ eventTimeFormat: function (date) {
46
+ return moment(date).locale('bookly').format(obj.options.l10n.mjsTimeFormat);
47
+ },
48
+ dayHeaderFormat: function (date) {
49
+ return moment(date).locale('bookly').format('ddd, D');
50
+ },
51
+ listDayFormat: function (date) {
52
+ return moment(date).locale('bookly').format('dddd');
53
+ },
54
+ firstDay: obj.options.l10n.datePicker.firstDay,
55
+ locale: obj.options.l10n.locale.replace('_', '-'),
56
+ buttonText: {
57
+ today: obj.options.l10n.today,
58
+ dayGridMonth: obj.options.l10n.month,
59
+ timeGridWeek: obj.options.l10n.week,
60
+ timeGridDay: obj.options.l10n.day,
61
+ resourceTimeGridDay: obj.options.l10n.day,
62
+ listWeek: obj.options.l10n.list
63
+ },
64
+ noEventsContent: obj.options.l10n.noEvents,
65
  eventSources: [{
66
  url: ajaxurl,
67
+ extraParams: function () {
68
+ return {
69
+ action: 'bookly_get_staff_appointments',
70
+ csrf_token: obj.options.l10n.csrf_token,
71
+ staff_ids: obj.options.is_backend && obj.options.getCurrentStaffId() == 0
72
+ ? obj.options.getStaffMemberIds()
73
+ : [obj.options.getCurrentStaffId()]
74
+ ,
75
+ location_ids: obj.options.is_backend
76
+ ? obj.options.getLocationIds()
77
+ : ['all'],
78
+ service_ids: obj.options.is_backend
79
+ ? obj.options.getServiceIds()
80
+ : ['all']
81
+ };
 
 
82
  }
83
  }],
84
+ eventBackgroundColor: '#d7d7d7',
85
+ eventMouseEnter: function(arg) {
86
+ if (arg.event.display === 'auto' && arg.view.type !== 'listWeek') {
87
+ let $event = $(arg.el)
88
+ let $popover = $event.find('.bookly-ec-popover');
89
+ let offset = $event.offset();
90
+ let top = Math.max($popover.outerHeight() + 40, Math.max($event.closest('.ec-body').offset().top, offset.top) - $(document).scrollTop());
91
+ $popover.css('top', (top - $popover.outerHeight() - 4) + 'px')
92
+ $popover.css('left', (offset.left + 2) + 'px')
 
 
 
 
 
 
 
 
 
 
 
93
  }
94
  },
95
+ eventContent: function (arg) {
96
+ if (arg.event.display === 'background') {
97
+ return '';
 
 
 
 
 
 
 
98
  }
99
+ let event = arg.event;
100
+ let props = event.extendedProps;
101
+ let nodes = [];
102
+ let $time = $('<div class="ec-event-time"/>');
103
+ let $title = $('<div class="ec-event-title"/>');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
 
105
+ $time.append(props.header_text || arg.timeText);
106
+ nodes.push($time.get(0));
107
+ if (arg.view.type === 'listWeek') {
108
+ let dot = $('<div class="ec-event-dot"></div>').css('border-color', event.backgroundColor);
109
+ nodes.push($('<div/>').append(dot).get(0));
110
+ }
111
+ $title.append(props.desc || '');
112
+ nodes.push($title.get(0));
 
 
 
 
 
 
113
 
114
+ switch (props.overall_status) {
115
+ case 'pending':
116
+ $time.addClass('text-muted');
117
+ $title.addClass('text-muted');
118
+ break;
119
+ case 'rejected':
120
+ case 'cancelled':
121
+ $time.addClass('text-muted').wrapInner('<s>');
122
+ $title.addClass('text-muted');
123
+ break;
124
+ }
125
+
126
+ const $buttons = $('<div class="mt-2 d-flex"/>');
127
+ $buttons.append($('<button class="btn btn-success btn-sm mr-1">').append('<i class="far fa-fw fa-edit">'));
128
+ if (obj.options.l10n.recurring_appointments.active == '1' && props.series_id) {
129
+ $buttons.append(
130
+ $('<a class="btn btn-default btn-sm mr-1">').append('<i class="fas fa-fw fa-link">')
131
+ .attr('title', obj.options.l10n.recurring_appointments.title)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  .on('click', function (e) {
133
  e.stopPropagation();
134
+ $(document.body).trigger('recurring_appointments.series_dialog', [props.series_id, function () {
135
+ calendar.refetchEvents();
136
+ }]);
137
+ })
138
+ );
139
+ }
140
+ if (obj.options.l10n.waiting_list.active == '1' && props.waitlisted > 0) {
141
+ $buttons.append(
142
+ $('<a class="btn btn-default btn-sm mr-1">').append('<i class="far fa-fw fa-list-alt">')
143
+ .attr('title', obj.options.l10n.waiting_list.title)
144
+ );
145
+ }
146
+ if (obj.options.l10n.packages.active == '1' && props.package_id > 0) {
147
+ $buttons.append(
148
+ $('<a class="btn btn-default btn-sm mr-1">').append('<i class="far fa-fw fa-calendar-alt">')
149
+ .attr('title', obj.options.l10n.packages.title)
150
+ .on('click', function (e) {
151
+ e.stopPropagation();
152
+ if (obj.options.l10n.packages.active == '1' && props.package_id) {
153
+ $(document.body).trigger('bookly_packages.schedule_dialog', [props.package_id, function () {
154
+ calendar.refetchEvents();
155
+ }]);
156
  }
157
  })
158
  );
159
  }
160
+ $buttons.append(
161
+ $('<a class="btn btn-danger btn-sm text-white">').append('<i class="far fa-fw fa-trash-alt">')
162
+ .attr('title', obj.options.l10n.delete)
163
+ .on('click', function (e) {
164
+ e.stopPropagation();
165
+ // Localize contains only string values
166
+ if (obj.options.l10n.recurring_appointments.active == '1' && props.series_id) {
167
+ $(document.body).trigger('recurring_appointments.delete_dialog', [calendar, arg.event]);
168
+ } else {
169
+ $('#bookly-delete-dialog').data('calEvent', arg.event).booklyModal('show');
170
+ }
171
+ })
172
+ );
173
+
174
+ if (arg.view.type !== 'listWeek') {
175
+ $buttons.addClass('border-top pt-2 justify-content-end');
176
+ let $popover = $('<div class="bookly-popover bs-popover-top bookly-ec-popover">')
177
+ let $arrow = $('<div class="arrow" style="left:8px;">');
178
+ let $body = $('<div class="popover-body">');
179
+ $body.append(props.tooltip).append($buttons).css({minWidth: '200px'});
180
+ $popover.append($arrow).append($body);
181
+ nodes.push($popover.get(0));
182
+ } else {
183
+ $title.append($buttons);
184
+ }
185
+
186
+ return {domNodes: nodes};
187
  },
188
+ eventClick: function (arg) {
189
+ if (arg.event.display === 'background') {
190
+ return;
191
+ }
192
+ arg.jsEvent.stopPropagation();
193
  var visible_staff_id;
194
+ if (arg.view.type === 'resourceTimeGridDay') {
195
  visible_staff_id = 0;
196
  } else {
197
+ visible_staff_id = obj.options.getCurrentStaffId();
198
  }
199
 
200
  showAppointmentDialog(
201
+ arg.event.id,
202
  null,
203
  null,
204
  function (event) {
205
  if (event == 'refresh') {
206
+ calendar.refetchEvents();
207
  } else {
208
+ if (event.start === null) {
209
+ // Task
210
+ calendar.removeEvent(event.id);
211
+ } else {
212
+ if (visible_staff_id == event.resourceId || visible_staff_id == 0) {
213
  // Update event in calendar.
214
+ calendar.updateEvent(event);
 
215
  } else {
216
  // Switch to the event owner tab.
217
+ jQuery('li > a[data-staff_id=' + event.resourceId + ']').click();
218
  }
219
  }
220
  }
221
 
222
  if (locationChanged) {
223
+ calendar.refetchEvents();
224
  locationChanged = false;
225
  }
226
  }
227
  );
228
  },
229
+ dateClick: function (arg) {
230
+ let staff_id, visible_staff_id;
231
+ if (arg.view.type === 'resourceTimeGridDay') {
232
+ staff_id = arg.resource.id;
233
+ visible_staff_id = 0;
234
+ } else {
235
+ staff_id = visible_staff_id = obj.options.getCurrentStaffId();
236
+ }
237
+ addAppointmentDialog(arg.date, staff_id, visible_staff_id);
238
+ },
239
+ noEventsClick: function (arg) {
240
+ let staffId = obj.options.getCurrentStaffId();
241
+ addAppointmentDialog(arg.view.activeStart, staffId, staffId);
242
+ },
243
  loading: function (isLoading) {
244
  if (isLoading) {
245
+ BooklyL10nAppDialog.refreshed = true;
246
+ if (dateSetFromDatePicker) {
247
+ dateSetFromDatePicker = false;
248
+ } else {
249
+ calendar.setOption('highlightedDates', []);
250
+ }
251
+ $('.bookly-ec-loading').show();
252
  } else {
253
+ $('.bookly-ec-loading').hide();
254
  obj.options.refresh();
255
  }
256
  },
257
+ viewDidMount: function (view) {
258
+ calendar.setOption('highlightedDates', []);
259
+ obj.options.viewChanged(view);
260
+ },
261
+ theme: function (theme) {
262
+ theme.button = 'btn btn-default';
263
+ theme.buttonGroup = 'btn-group';
264
+ theme.active = 'active';
265
+ return theme;
266
  }
267
  };
268
 
269
+ function addAppointmentDialog(date, staffId, visibleStaffId) {
270
+ showAppointmentDialog(
271
+ null,
272
+ staffId,
273
+ moment(date),
274
+ function (event) {
275
+ if (event == 'refresh') {
276
+ calendar.refetchEvents();
277
+ } else {
278
+ if (visibleStaffId == event.resourceId || visibleStaffId == 0) {
279
+ if (event.start !== null) {
280
+ if (event.id) {
281
+ // Create event in calendar.
282
+ calendar.addEvent(event);
283
+ } else {
284
+ calendar.refetchEvents();
285
+ }
286
+ }
287
+ } else {
288
+ // Switch to the event owner tab.
289
+ jQuery('li[data-staff_id=' + event.resourceId + ']').click();
290
+ }
291
+ }
292
+
293
+ if (locationChanged) {
294
+ calendar.refetchEvents();
295
+ locationChanged = false;
296
+ }
297
+ }
298
+ );
299
+ }
300
+
301
+ let dateSetFromDatePicker = false;
302
 
303
+ let calendar = new window.EventCalendar($container.get(0), $.extend(true, {}, settings, obj.options.calendar));
304
+
305
+ // Init date picker for fast navigation in Event Calendar.
306
+ $('.ec-toolbar .ec-title', $container).daterangepicker({
307
  parentEl : '.bookly-js-calendar',
308
  singleDatePicker: true,
309
  showDropdowns : true,
310
  autoUpdateInput : false,
311
  locale : obj.options.l10n.datePicker
312
  }).on('apply.daterangepicker', function (ev, picker) {
313
+ dateSetFromDatePicker = true;
314
+ if (calendar.view.type !== 'timeGridDay' && calendar.view.type !== 'resourceTimeGridDay') {
315
+ calendar.setOption('highlightedDates', [picker.startDate.toDate()]);
 
 
316
  }
317
+ calendar.setOption('date', picker.startDate.toDate());
318
  });
319
 
320
  /**
321
  * On delete appointment click.
322
  */
323
+ $('#bookly-delete-dialog').off().on('click', '#bookly-delete', function () {
324
  var $modal = $(this).closest('.bookly-modal'),
325
  calEvent = $modal.data('calEvent'),
326
  ladda = Ladda.create(this);
329
  type : 'POST',
330
  url : ajaxurl,
331
  data : {
332
+ action : 'bookly_delete_appointment',
333
+ csrf_token : obj.options.l10n.csrf_token,
334
+ appointment_id: calEvent.id,
335
+ notify : $('#bookly-delete-notify', $modal).prop('checked') ? 1 : 0,
336
+ reason : $('#bookly-delete-reason', $modal).val()
337
  },
338
  dataType : 'json',
339
  xhrFields : {withCredentials: true},
340
  crossDomain: 'withCredentials' in new XMLHttpRequest(),
341
  success : function (response) {
342
  ladda.stop();
343
+ calendar.removeEvent(calEvent.id);
344
  $modal.booklyModal('hide');
345
  if (response.data && response.data.queue && response.data.queue.length) {
346
  $(document.body).trigger('bookly.queue_dialog', [response.data.queue]);
348
  }
349
  });
350
  });
351
+
352
+ // Export calendar
353
+ this.ec = calendar;
354
  };
355
 
356
  var locationChanged = false;
359
  });
360
 
361
  Calendar.prototype.options = {
362
+ calendar: {},
363
  getCurrentStaffId: function () { return -1; },
364
  getStaffMemberIds: function () { return []; },
365
+ getServiceIds: function () { return []; },
366
+ getLocationIds: function () { return []; },
367
+ refresh: function () {},
368
+ viewChanged: function () {},
369
  l10n: {},
370
  is_backend: true
371
  };
backend/modules/calendar/resources/js/calendar.js CHANGED
@@ -1,51 +1,92 @@
1
  jQuery(function ($) {
2
 
3
- let $fullCalendar = $('.bookly-js-calendar'),
4
- $tabs = $('ul.bookly-js-calendar-tabs > li > a'),
 
5
  $staffFilter = $('#bookly-js-staff-filter'),
 
6
  $locationsFilter = $('#bookly-js-locations-filter'),
7
- firstHour = new Date().getHours(),
8
  $gcSyncButton = $('#bookly-google-calendar-sync'),
9
  $ocSyncButton = $('#bookly-outlook-calendar-sync'),
10
- staffMembers = [], // Do not override staffMembers, it is used as a reference
11
  staffIds = getCookie('bookly_cal_st_ids'),
 
12
  locationIds = getCookie('bookly_cal_location_ids'),
13
  tabId = getCookie('bookly_cal_tab_id'),
14
  lastView = getCookie('bookly_cal_view'),
15
- views = 'month,agendaWeek,agendaDay,multiStaffDay',
 
 
 
 
16
  calendarTimer = null;
17
 
18
- if (views.indexOf(lastView) == -1) {
19
- lastView = 'multiStaffDay';
20
- }
21
-
22
  /**
23
  * Init tabs.
24
  */
25
- $tabs.on('click', function (e) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  e.preventDefault();
27
- $tabs.removeClass('active');
28
  $(this).addClass('active');
29
  let staff_id = $(this).data('staff_id');
30
  setCookie('bookly_cal_tab_id', staff_id);
31
  if (staff_id == 0) {
32
- $('.fc-agendaDay-button').hide();
33
- $('.fc-multiStaffDay-button').show();
34
- $fullCalendar.fullCalendar('changeView', 'multiStaffDay');
35
- $fullCalendar.fullCalendar('refetchEvents');
 
 
 
36
  } else {
37
- $('.fc-multiStaffDay-button').hide();
38
- $('.fc-agendaDay-button').show();
39
- let view = $fullCalendar.fullCalendar('getView');
40
- if (view.type == 'multiStaffDay') {
41
- $fullCalendar.fullCalendar('changeView', 'agendaDay');
42
- }
43
- $fullCalendar.fullCalendar('refetchEvents');
44
  }
45
  });
46
- $tabs.filter('[data-staff_id=' + tabId + ']').addClass('active');
47
- if ($tabs.filter('.active').length === 0) {
48
- $tabs.eq(0).addClass('active').parent().show();
49
  }
50
 
51
  /**
@@ -54,27 +95,24 @@ jQuery(function ($) {
54
  $staffFilter.booklyDropdown({
55
  onChange: function (values, selected, all) {
56
  let ids = [];
57
- staffMembers.length = 0;
58
  this.booklyDropdown('getSelectedExt').forEach(function (item) {
59
  ids.push(item.value);
60
- staffMembers.push({id: item.value, name: encodeHTML(item.name)});
61
  });
 
62
  setCookie('bookly_cal_st_ids', ids);
63
  if (all) {
64
- $tabs.filter('[data-staff_id!=0]').parent().toggle(selected);
65
  } else {
66
  values.forEach(function (value) {
67
- $tabs.filter('[data-staff_id=' + value + ']').parent().toggle(selected);
68
  });
69
  }
70
- if ($tabs.filter(':visible.active').length === 0) {
71
- $tabs.filter(':visible:first').triggerHandler('click');
72
- } else if ($tabs.filter('.active').data('staff_id') === 0) {
73
- let view = $fullCalendar.fullCalendar('getView');
74
- if (view.type === 'multiStaffDay') {
75
- view.displayView($fullCalendar.fullCalendar('getDate'));
76
- }
77
- $fullCalendar.fullCalendar('refetchEvents');
78
  }
79
  }
80
  });
@@ -87,10 +125,30 @@ jQuery(function ($) {
87
  }
88
  // Populate staffMembers.
89
  $staffFilter.booklyDropdown('getSelectedExt').forEach(function (item) {
90
- staffMembers.push({id: item.value, name: encodeHTML(item.name)});
91
- $tabs.filter('[data-staff_id=' + item.value + ']').parent().show();
92
  });
93
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  /**
95
  * Init locations filter.
96
  */
@@ -98,11 +156,7 @@ jQuery(function ($) {
98
  onChange: function (values, selected, all) {
99
  locationIds = this.booklyDropdown('getSelected');
100
  setCookie('bookly_cal_location_ids', locationIds);
101
- var view = $fullCalendar.fullCalendar('getView');
102
- if (view.type === 'multiStaffDay') {
103
- view.displayView($fullCalendar.fullCalendar('getDate'));
104
- }
105
- $fullCalendar.fullCalendar('refetchEvents');
106
  }
107
  });
108
  if (locationIds === null) {
@@ -123,7 +177,7 @@ jQuery(function ($) {
123
  clearTimeout(calendarTimer);
124
  if ($refresh.val() > 0) {
125
  calendarTimer = setTimeout(function () {
126
- $fullCalendar.fullCalendar('refetchEvents');
127
  }, $refresh.val() * 1000)
128
  }
129
  }
@@ -133,7 +187,7 @@ jQuery(function ($) {
133
  }
134
 
135
  $('#bookly-calendar-refresh').on('click', function () {
136
- $fullCalendar.fullCalendar('refetchEvents');
137
  });
138
 
139
  $('input[name="bookly_calendar_refresh_rate"]').change(function () {
@@ -153,35 +207,39 @@ jQuery(function ($) {
153
 
154
  refreshBooklyCalendar();
155
 
 
 
 
 
 
 
 
 
 
 
 
 
 
156
  /**
157
- * Init FullCalendar.
158
  */
159
- new BooklyCalendar($fullCalendar, {
160
- fullcalendar: {
161
  // General Display.
162
- header: {
163
- left: 'prev,next today',
164
- center: 'title',
165
- right: views
166
- },
167
- height: heightFC(),
168
  // Views.
169
- defaultView: lastView,
170
- scrollTime: firstHour + ':00:00',
171
  views: {
172
- agendaWeek: {
173
- columnFormat: 'ddd, D'
174
- },
175
- multiStaffDay: {
176
- staffMembers: staffMembers
177
  }
178
- },
179
- viewRender: function (view, element) {
180
- setCookie('bookly_cal_view', view.type);
181
  }
182
  },
183
  getCurrentStaffId: function () {
184
- return $tabs.filter('.active').data('staff_id');
185
  },
186
  getStaffMemberIds: function () {
187
  var ids = [];
@@ -194,25 +252,24 @@ jQuery(function ($) {
194
  getLocationIds: function () {
195
  return locationIds;
196
  },
 
 
 
197
  refresh: refreshBooklyCalendar,
 
 
 
198
  l10n: BooklyL10n
199
  });
200
 
201
- function heightFC() {
202
- let height = $(window).height() - $fullCalendar.offset().top - 20;
203
 
204
- return height > 620 ? height : 620;
205
- }
206
-
207
- $('.fc-agendaDay-button').addClass('fc-corner-right');
208
- if ($tabs.filter('.active').data('staff_id') == 0) {
209
- $('.fc-agendaDay-button').hide();
210
- } else {
211
- $('.fc-multiStaffDay-button').hide();
212
  }
213
 
214
  $(window).on('resize', function () {
215
- $fullCalendar.fullCalendar('option', 'height', heightFC());
216
  });
217
 
218
  /**
@@ -249,7 +306,7 @@ jQuery(function ($) {
249
  {action: 'bookly_advanced_google_calendar_sync', csrf_token: BooklyL10n.csrf_token},
250
  function (response) {
251
  if (response.success) {
252
- $fullCalendar.fullCalendar('refetchEvents');
253
  }
254
  booklyAlert(response.data.alert);
255
  ladda.stop();
@@ -269,7 +326,7 @@ jQuery(function ($) {
269
  {action: 'bookly_outlook_calendar_sync', csrf_token: BooklyL10n.csrf_token},
270
  function (response) {
271
  if (response.success) {
272
- $fullCalendar.fullCalendar('refetchEvents');
273
  }
274
  booklyAlert(response.data.alert);
275
  ladda.stop();
1
  jQuery(function ($) {
2
 
3
+ let $calendar = $('.bookly-js-calendar'),
4
+ $staffPills = $('.bookly-js-staff-pills'),
5
+ $staffLinks = $('.bookly-js-staff-pills li > a'),
6
  $staffFilter = $('#bookly-js-staff-filter'),
7
+ $servicesFilter = $('#bookly-js-services-filter'),
8
  $locationsFilter = $('#bookly-js-locations-filter'),
 
9
  $gcSyncButton = $('#bookly-google-calendar-sync'),
10
  $ocSyncButton = $('#bookly-outlook-calendar-sync'),
11
+ staffMembers = [],
12
  staffIds = getCookie('bookly_cal_st_ids'),
13
+ serviceIds = getCookie('bookly_cal_service_ids'),
14
  locationIds = getCookie('bookly_cal_location_ids'),
15
  tabId = getCookie('bookly_cal_tab_id'),
16
  lastView = getCookie('bookly_cal_view'),
17
+ headerToolbar = {
18
+ start: 'prev,next today',
19
+ center: 'title',
20
+ end: 'dayGridMonth,timeGridWeek,timeGridDay,resourceTimeGridDay,listWeek'
21
+ },
22
  calendarTimer = null;
23
 
 
 
 
 
24
  /**
25
  * Init tabs.
26
  */
27
+ // Scrollable pills
28
+ (function () {
29
+ let down = false;
30
+ let dragged = false;
31
+ let scrollLeft = 0;
32
+ let x = 0;
33
+ let el = $staffPills.get(0);
34
+ setTimeout(function() {
35
+ el.scrollLeft = $staffLinks.filter('.active').position().left
36
+ }, 0);
37
+ $staffPills.mousedown(function(e) {
38
+ down = true;
39
+ dragged = false;
40
+ scrollLeft = this.scrollLeft;
41
+ x = e.clientX;
42
+ });
43
+ $staffLinks.on('click', function (e) {
44
+ if (dragged) {
45
+ e.stopImmediatePropagation();
46
+ e.preventDefault();
47
+ dragged = false;
48
+ }
49
+ }).on('dragstart', function () {
50
+ return false;
51
+ });
52
+ $('body').mousemove(function(e) {
53
+ if (down) {
54
+ el.scrollLeft = scrollLeft + x - e.clientX;
55
+ if (Math.abs(scrollLeft - el.scrollLeft) > 2) {
56
+ dragged = true;
57
+ }
58
+ }
59
+ }).mouseup(function() {
60
+ down = false;
61
+ });
62
+ })();
63
+ $staffLinks.on('click', function (e) {
64
  e.preventDefault();
65
+ $staffLinks.removeClass('active');
66
  $(this).addClass('active');
67
  let staff_id = $(this).data('staff_id');
68
  setCookie('bookly_cal_tab_id', staff_id);
69
  if (staff_id == 0) {
70
+ let view = calendar.ec.getOption('view');
71
+ headerToolbar.end = 'dayGridMonth,timeGridWeek,resourceTimeGridDay,listWeek';
72
+ calendar.ec
73
+ .setOption('headerToolbar', headerToolbar)
74
+ .setOption('view', view === 'timeGridDay' ? 'resourceTimeGridDay' : view)
75
+ .refetchEvents()
76
+ ;
77
  } else {
78
+ let view = calendar.ec.getOption('view');
79
+ headerToolbar.end = 'dayGridMonth,timeGridWeek,timeGridDay,listWeek';
80
+ calendar.ec
81
+ .setOption('headerToolbar', headerToolbar)
82
+ .setOption('view', view === 'resourceTimeGridDay' ? 'timeGridDay' : view)
83
+ .refetchEvents()
84
+ ;
85
  }
86
  });
87
+ $staffLinks.filter('[data-staff_id=' + tabId + ']').addClass('active');
88
+ if ($staffLinks.filter('.active').length === 0) {
89
+ $staffLinks.eq(0).addClass('active').parent().show();
90
  }
91
 
92
  /**
95
  $staffFilter.booklyDropdown({
96
  onChange: function (values, selected, all) {
97
  let ids = [];
98
+ staffMembers = [];
99
  this.booklyDropdown('getSelectedExt').forEach(function (item) {
100
  ids.push(item.value);
101
+ staffMembers.push({id: item.value, title: encodeHTML(item.name)});
102
  });
103
+ calendar.ec.setOption('resources', staffMembers);
104
  setCookie('bookly_cal_st_ids', ids);
105
  if (all) {
106
+ $staffLinks.filter('[data-staff_id!=0]').parent().toggle(selected);
107
  } else {
108
  values.forEach(function (value) {
109
+ $staffLinks.filter('[data-staff_id=' + value + ']').parent().toggle(selected);
110
  });
111
  }
112
+ if ($staffLinks.filter(':visible.active').length === 0) {
113
+ $staffLinks.filter(':visible:first').triggerHandler('click');
114
+ } else if ($staffLinks.filter('.active').data('staff_id') === 0) {
115
+ calendar.ec.refetchEvents();
 
 
 
 
116
  }
117
  }
118
  });
125
  }
126
  // Populate staffMembers.
127
  $staffFilter.booklyDropdown('getSelectedExt').forEach(function (item) {
128
+ staffMembers.push({id: item.value, title: encodeHTML(item.name)});
129
+ $staffLinks.filter('[data-staff_id=' + item.value + ']').parent().show();
130
  });
131
 
132
+ /**
133
+ * Init services filter.
134
+ */
135
+ $servicesFilter.booklyDropdown({
136
+ onChange: function (values, selected, all) {
137
+ serviceIds = this.booklyDropdown('getSelected');
138
+ setCookie('bookly_cal_service_ids', serviceIds);
139
+ calendar.ec.refetchEvents();
140
+ }
141
+ });
142
+ if (serviceIds === null) {
143
+ $servicesFilter.booklyDropdown('selectAll');
144
+ } else if (serviceIds !== '') {
145
+ $servicesFilter.booklyDropdown('setSelected', serviceIds.split(','));
146
+ } else {
147
+ $servicesFilter.booklyDropdown('toggle');
148
+ }
149
+ // Populate serviceIds.
150
+ serviceIds = $servicesFilter.booklyDropdown('getSelected');
151
+
152
  /**
153
  * Init locations filter.
154
  */
156
  onChange: function (values, selected, all) {
157
  locationIds = this.booklyDropdown('getSelected');
158
  setCookie('bookly_cal_location_ids', locationIds);
159
+ calendar.ec.refetchEvents();
 
 
 
 
160
  }
161
  });
162
  if (locationIds === null) {
177
  clearTimeout(calendarTimer);
178
  if ($refresh.val() > 0) {
179
  calendarTimer = setTimeout(function () {
180
+ calendar.ec.refetchEvents();
181
  }, $refresh.val() * 1000)
182
  }
183
  }
187
  }
188
 
189
  $('#bookly-calendar-refresh').on('click', function () {
190
+ calendar.ec.refetchEvents();
191
  });
192
 
193
  $('input[name="bookly_calendar_refresh_rate"]').change(function () {
207
 
208
  refreshBooklyCalendar();
209
 
210
+ // View buttons
211
+ if ($staffLinks.filter('.active').data('staff_id') == 0) {
212
+ headerToolbar.end = 'dayGridMonth,timeGridWeek,resourceTimeGridDay,listWeek';
213
+ if (headerToolbar.end.indexOf(lastView) === -1) {
214
+ lastView = 'resourceTimeGridDay';
215
+ }
216
+ } else {
217
+ headerToolbar.end = 'dayGridMonth,timeGridWeek,timeGridDay,listWeek';
218
+ if (headerToolbar.end.indexOf(lastView) === -1) {
219
+ lastView = 'timeGridDay';
220
+ }
221
+ }
222
+
223
  /**
224
+ * Init Calendar.
225
  */
226
+ let calendar = new BooklyCalendar($calendar, {
227
+ calendar: {
228
  // General Display.
229
+ headerToolbar: headerToolbar,
230
+ height: heightEC(),
 
 
 
 
231
  // Views.
232
+ view: lastView,
 
233
  views: {
234
+ resourceTimeGridDay: {
235
+ resources: staffMembers,
236
+ filterResourcesWithEvents: BooklyL10n.filterStaffWithEvents,
237
+ titleFormat: {year: 'numeric', month: 'short', day: 'numeric', weekday: 'short'}
 
238
  }
 
 
 
239
  }
240
  },
241
  getCurrentStaffId: function () {
242
+ return $staffLinks.filter('.active').data('staff_id');
243
  },
244
  getStaffMemberIds: function () {
245
  var ids = [];
252
  getLocationIds: function () {
253
  return locationIds;
254
  },
255
+ getServiceIds: function () {
256
+ return serviceIds;
257
+ },
258
  refresh: refreshBooklyCalendar,
259
+ viewChanged: function (view) {
260
+ setCookie('bookly_cal_view', view.type);
261
+ },
262
  l10n: BooklyL10n
263
  });
264
 
265
+ function heightEC() {
266
+ let height = $(window).height() - $calendar.offset().top - 20;
267
 
268
+ return (height > 620 ? height : 620) + 'px';
 
 
 
 
 
 
 
269
  }
270
 
271
  $(window).on('resize', function () {
272
+ calendar.ec.setOption('height', heightEC());
273
  });
274
 
275
  /**
306
  {action: 'bookly_advanced_google_calendar_sync', csrf_token: BooklyL10n.csrf_token},
307
  function (response) {
308
  if (response.success) {
309
+ calendar.ec.refetchEvents();
310
  }
311
  booklyAlert(response.data.alert);
312
  ladda.stop();
326
  {action: 'bookly_outlook_calendar_sync', csrf_token: BooklyL10n.csrf_token},
327
  function (response) {
328
  if (response.success) {
329
+ calendar.ec.refetchEvents();
330
  }
331
  booklyAlert(response.data.alert);
332
  ladda.stop();
backend/modules/calendar/resources/js/event-calendar.min.js ADDED
@@ -0,0 +1 @@
 
1
+ var EventCalendar=function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,n,e){return t(e={path:n,exports:{},require:function(t,n){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==n&&e.path)}},e.exports),e.exports}var e,r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!u.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:u},s=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},l={}.toString,h=function(t){return l.call(t).slice(8,-1)},v="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==h(t)?v.call(t,""):Object(t)}:Object,p=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},y=function(t){return d(p(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,n){if(!g(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!g(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!g(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!g(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},$=o.document,S=g($)&&g($.createElement),x=function(t){return S?$.createElement(t):{}},k=!a&&!i((function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a})),A=Object.getOwnPropertyDescriptor,E={f:a?A:function(t,n){if(t=y(t),n=m(n,!0),k)try{return A(t,n)}catch(t){}if(w(t,n))return s(!f.f.call(t,n),t[n])}},T=/#|\.prototype\./,O=function(t,n){var e=_[j(t)];return e==P||e!=D&&("function"==typeof n?i(n):!!n)},j=O.normalize=function(t){return String(t).replace(T,".").toLowerCase()},_=O.data={},D=O.NATIVE="N",P=O.POLYFILL="P",M=O,R={},C=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},L=function(t,n,e){if(C(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}},I=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},B=Object.defineProperty,F={f:a?B:function(t,n,e){if(I(t),n=m(n,!0),I(e),k)try{return B(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},U=a?function(t,n,e){return F.f(t,n,s(1,e))}:function(t,n,e){return t[n]=e,t},N=E.f,q=function(t){var n=function(n,e,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,e)}return new t(n,e,r)}return t.apply(this,arguments)};return n.prototype=t.prototype,n},z=function(t,n){var e,r,i,a,u,c,f,s,l=t.target,h=t.global,v=t.stat,d=t.proto,p=h?o:v?o[l]:(o[l]||{}).prototype,y=h?R:R[l]||(R[l]={}),g=y.prototype;for(i in n)e=!M(h?i:l+(v?".":"#")+i,t.forced)&&p&&w(p,i),u=y[i],e&&(c=t.noTargetGet?(s=N(p,i))&&s.value:p[i]),a=e&&c?c:n[i],e&&typeof u==typeof a||(f=t.bind&&e?L(a,o):t.wrap&&e?q(a):d&&"function"==typeof a?L(Function.call,a):a,(t.sham||a&&a.sham||u&&u.sham)&&U(f,"sham",!0),y[i]=f,d&&(w(R,r=l+"Prototype")||U(R,r,{}),R[r][i]=a,t.real&&g&&!g[i]&&U(g,i,a)))},G=function(t){return"function"==typeof t?t:void 0},H=function(t,n){return arguments.length<2?G(R[t])||G(o[t]):R[t]&&R[t][n]||o[t]&&o[t][n]},W=Math.ceil,V=Math.floor,J=function(t){return isNaN(t=+t)?0:(t>0?V:W)(t)},Y=Math.min,X=function(t){return t>0?Y(J(t),9007199254740991):0},K=Math.max,Q=Math.min,Z=function(t,n){var e=J(t);return e<0?K(e+n,0):Q(e,n)},tt=function(t){return function(n,e,r){var o,i=y(n),a=X(i.length),u=Z(r,a);if(t&&e!=e){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===e)return t||u||0;return!t&&-1}},nt={includes:tt(!0),indexOf:tt(!1)},et={},rt=nt.indexOf,ot=function(t,n){var e,r=y(t),o=0,i=[];for(e in r)!w(et,e)&&w(r,e)&&i.push(e);for(;n.length>o;)w(r,e=n[o++])&&(~rt(i,e)||i.push(e));return i},it=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],at=Object.keys||function(t){return ot(t,it)},ut=a?Object.defineProperties:function(t,n){I(t);for(var e,r=at(n),o=r.length,i=0;o>i;)F.f(t,e=r[i++],n[e]);return t},ct=H("document","documentElement"),ft=!0,st="__core-js_shared__",lt=o[st]||function(t,n){try{U(o,t,n)}catch(e){o[t]=n}return n}(st,{}),ht=n((function(t){(t.exports=function(t,n){return lt[t]||(lt[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.4",mode:"pure",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),vt=0,dt=Math.random(),pt=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++vt+dt).toString(36)},yt=ht("keys"),gt=function(t){return yt[t]||(yt[t]=pt(t))},mt=gt("IE_PROTO"),bt=function(){},wt=function(t){return"<script>"+t+"</"+"script>"},$t=function(){try{e=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;$t=e?function(t){t.write(wt("")),t.close();var n=t.parentWindow.Object;return t=null,n}(e):((n=x("iframe")).style.display="none",ct.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(wt("document.F=Object")),t.close(),t.F);for(var r=it.length;r--;)delete $t.prototype[it[r]];return $t()};et[mt]=!0;var St=Object.create||function(t,n){var e;return null!==t?(bt.prototype=I(t),e=new bt,bt.prototype=null,e[mt]=t):e=$t(),void 0===n?e:ut(e,n)},xt=[].slice,kt={},At=function(t,n,e){if(!(n in kt)){for(var r=[],o=0;o<n;o++)r[o]="a["+o+"]";kt[n]=Function("C,a","return new C("+r.join(",")+")")}return kt[n](t,e)},Et=Function.bind||function(t){var n=C(this),e=xt.call(arguments,1),r=function(){var o=e.concat(xt.call(arguments));return this instanceof r?At(n,o.length,o):n.apply(t,o)};return g(n.prototype)&&(r.prototype=n.prototype),r},Tt=H("Reflect","construct"),Ot=i((function(){function t(){}return!(Tt((function(){}),[],t)instanceof t)})),jt=!i((function(){Tt((function(){}))})),_t=Ot||jt;z({target:"Reflect",stat:!0,forced:_t,sham:_t},{construct:function(t,n){C(t),I(n);var e=arguments.length<3?t:C(arguments[2]);if(jt&&!Ot)return Tt(t,n,e);if(t==e){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var r=[null];return r.push.apply(r,n),new(Et.apply(t,r))}var o=e.prototype,i=St(g(o)?o:Object.prototype),a=Function.apply.call(t,i,n);return g(a)?a:i}});var Dt=R.Reflect.construct;function Pt(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}z({target:"Object",stat:!0,sham:!a},{create:St});var Mt=R.Object,Rt=function(t,n){return Mt.create(t,n)},Ct=Rt,Lt=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,r){return I(e),function(t){if(!g(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(r),n?t.call(e,r):e.__proto__=r,e}}():void 0);z({target:"Object",stat:!0},{setPrototypeOf:Lt});var It=R.Object.setPrototypeOf,Bt=It;function Ft(t,n){return(Ft=Bt||function(t,n){return t.__proto__=n,t})(t,n)}function Ut(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Ct(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&Ft(t,n)}var Nt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),qt=Nt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,zt=ht("wks"),Gt=o.Symbol,Ht=qt?Gt:Gt&&Gt.withoutSetter||pt,Wt=function(t){return w(zt,t)||(Nt&&w(Gt,t)?zt[t]=Gt[t]:zt[t]=Ht("Symbol."+t)),zt[t]},Vt={f:Wt},Jt=F.f,Yt=function(t){var n=R.Symbol||(R.Symbol={});w(n,t)||Jt(n,t,{value:Vt.f(t)})};Yt("iterator");var Xt=function(t){return function(n,e){var r,o,i=String(p(n)),a=J(e),u=i.length;return a<0||a>=u?t?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536}},Kt={codeAt:Xt(!1),charAt:Xt(!0)},Qt=Function.toString;"function"!=typeof lt.inspectSource&&(lt.inspectSource=function(t){return Qt.call(t)});var Zt,tn,nn,en=lt.inspectSource,rn=o.WeakMap,on="function"==typeof rn&&/native code/.test(en(rn)),an=o.WeakMap;if(on){var un=new an,cn=un.get,fn=un.has,sn=un.set;Zt=function(t,n){return sn.call(un,t,n),n},tn=function(t){return cn.call(un,t)||{}},nn=function(t){return fn.call(un,t)}}else{var ln=gt("state");et[ln]=!0,Zt=function(t,n){return U(t,ln,n),n},tn=function(t){return w(t,ln)?t[ln]:{}},nn=function(t){return w(t,ln)}}var hn,vn,dn,pn={set:Zt,get:tn,has:nn,enforce:function(t){return nn(t)?tn(t):Zt(t,{})},getterFor:function(t){return function(n){var e;if(!g(n)||(e=tn(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},yn=function(t){return Object(p(t))},gn=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),mn=gt("IE_PROTO"),bn=Object.prototype,wn=gn?Object.getPrototypeOf:function(t){return t=yn(t),w(t,mn)?t[mn]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?bn:null},$n=(Wt("iterator"),!1);[].keys&&("next"in(dn=[].keys())?(vn=wn(wn(dn)))!==Object.prototype&&(hn=vn):$n=!0),null==hn&&(hn={});var Sn={IteratorPrototype:hn,BUGGY_SAFARI_ITERATORS:$n},xn={};xn[Wt("toStringTag")]="z";var kn="[object z]"===String(xn),An=Wt("toStringTag"),En="Arguments"==h(function(){return arguments}()),Tn=kn?h:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),An))?e:En?h(n):"Object"==(r=h(n))&&"function"==typeof n.callee?"Arguments":r},On=kn?{}.toString:function(){return"[object "+Tn(this)+"]"},jn=F.f,_n=Wt("toStringTag"),Dn=function(t,n,e,r){if(t){var o=e?t:t.prototype;w(o,_n)||jn(o,_n,{configurable:!0,value:n}),r&&!kn&&U(o,"toString",On)}},Pn={},Mn=Sn.IteratorPrototype,Rn=function(){return this},Cn=function(t,n,e){var r=n+" Iterator";return t.prototype=St(Mn,{next:s(1,e)}),Dn(t,r,!1,!0),Pn[r]=Rn,t},Ln=function(t,n,e,r){r&&r.enumerable?t[n]=e:U(t,n,e)},In=Sn.IteratorPrototype,Bn=Sn.BUGGY_SAFARI_ITERATORS,Fn=Wt("iterator"),Un="keys",Nn="values",qn="entries",zn=function(){return this},Gn=function(t,n,e,r,o,i,a){Cn(e,n,r);var u,c,f,s=function(t){if(t===o&&p)return p;if(!Bn&&t in v)return v[t];switch(t){case Un:case Nn:case qn:return function(){return new e(this,t)}}return function(){return new e(this)}},l=n+" Iterator",h=!1,v=t.prototype,d=v[Fn]||v["@@iterator"]||o&&v[o],p=!Bn&&d||s(o),y="Array"==n&&v.entries||d;if(y&&(u=wn(y.call(new t)),In!==Object.prototype&&u.next&&(Dn(u,l,!0,!0),Pn[l]=zn)),o==Nn&&d&&d.name!==Nn&&(h=!0,p=function(){return d.call(this)}),a&&v[Fn]!==p&&U(v,Fn,p),Pn[n]=p,o)if(c={values:s(Nn),keys:i?p:s(Un),entries:s(qn)},a)for(f in c)(Bn||h||!(f in v))&&Ln(v,f,c[f]);else z({target:n,proto:!0,forced:Bn||h},c);return c},Hn=Kt.charAt,Wn="String Iterator",Vn=pn.set,Jn=pn.getterFor(Wn);Gn(String,"String",(function(t){Vn(this,{type:Wn,string:String(t),index:0})}),(function(){var t,n=Jn(this),e=n.string,r=n.index;return r>=e.length?{value:void 0,done:!0}:(t=Hn(e,r),n.index+=t.length,{value:t,done:!1})}));var Yn="Array Iterator",Xn=pn.set,Kn=pn.getterFor(Yn);Gn(Array,"Array",(function(t,n){Xn(this,{type:Yn,target:y(t),index:0,kind:n})}),(function(){var t=Kn(this),n=t.target,e=t.kind,r=t.index++;return!n||r>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==e?{value:r,done:!1}:"values"==e?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values");Pn.Arguments=Pn.Array;var Qn=Wt("toStringTag");for(var Zn in{CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}){var te=o[Zn],ne=te&&te.prototype;ne&&Tn(ne)!==Qn&&U(ne,Qn,Zn),Pn[Zn]=Pn.Array}var ee,re,oe=Vt.f("iterator"),ie=oe,ae=Array.isArray||function(t){return"Array"==h(t)},ue=function(t,n,e){var r=m(n);r in t?F.f(t,r,s(0,e)):t[r]=e},ce=Wt("species"),fe=function(t,n){var e;return ae(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!ae(e.prototype)?g(e)&&null===(e=e[ce])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},se=H("navigator","userAgent")||"",le=o.process,he=le&&le.versions,ve=he&&he.v8;ve?re=(ee=ve.split("."))[0]+ee[1]:se&&(!(ee=se.match(/Edge\/(\d+)/))||ee[1]>=74)&&(ee=se.match(/Chrome\/(\d+)/))&&(re=ee[1]);var de=re&&+re,pe=Wt("species"),ye=function(t){return de>=51||!i((function(){var n=[];return(n.constructor={})[pe]=function(){return{foo:1}},1!==n[t](Boolean).foo}))},ge=Wt("isConcatSpreadable"),me=9007199254740991,be="Maximum allowed index exceeded",we=de>=51||!i((function(){var t=[];return t[ge]=!1,t.concat()[0]!==t})),$e=ye("concat"),Se=function(t){if(!g(t))return!1;var n=t[ge];return void 0!==n?!!n:ae(t)};z({target:"Array",proto:!0,forced:!we||!$e},{concat:function(t){var n,e,r,o,i,a=yn(this),u=fe(a,0),c=0;for(n=-1,r=arguments.length;n<r;n++)if(Se(i=-1===n?a:arguments[n])){if(c+(o=X(i.length))>me)throw TypeError(be);for(e=0;e<o;e++,c++)e in i&&ue(u,c,i[e])}else{if(c>=me)throw TypeError(be);ue(u,c++,i)}return u.length=c,u}});var xe=it.concat("length","prototype"),ke={f:Object.getOwnPropertyNames||function(t){return ot(t,xe)}},Ae=ke.f,Ee={}.toString,Te="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Oe={f:function(t){return Te&&"[object Window]"==Ee.call(t)?function(t){try{return Ae(t)}catch(t){return Te.slice()}}(t):Ae(y(t))}},je={f:Object.getOwnPropertySymbols},_e=[].push,De=function(t){var n=1==t,e=2==t,r=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,c,f,s){for(var l,h,v=yn(u),p=d(v),y=L(c,f,3),g=X(p.length),m=0,b=s||fe,w=n?b(u,g):e?b(u,0):void 0;g>m;m++)if((a||m in p)&&(h=y(l=p[m],m,v),t))if(n)w[m]=h;else if(h)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:_e.call(w,l)}else if(o)return!1;return i?-1:r||o?o:w}},Pe={forEach:De(0),map:De(1),filter:De(2),some:De(3),every:De(4),find:De(5),findIndex:De(6)},Me=Pe.forEach,Re=gt("hidden"),Ce="Symbol",Le=Wt("toPrimitive"),Ie=pn.set,Be=pn.getterFor(Ce),Fe=Object.prototype,Ue=o.Symbol,Ne=H("JSON","stringify"),qe=E.f,ze=F.f,Ge=Oe.f,He=f.f,We=ht("symbols"),Ve=ht("op-symbols"),Je=ht("string-to-symbol-registry"),Ye=ht("symbol-to-string-registry"),Xe=ht("wks"),Ke=o.QObject,Qe=!Ke||!Ke.prototype||!Ke.prototype.findChild,Ze=a&&i((function(){return 7!=St(ze({},"a",{get:function(){return ze(this,"a",{value:7}).a}})).a}))?function(t,n,e){var r=qe(Fe,n);r&&delete Fe[n],ze(t,n,e),r&&t!==Fe&&ze(Fe,n,r)}:ze,tr=function(t,n){var e=We[t]=St(Ue.prototype);return Ie(e,{type:Ce,tag:t,description:n}),a||(e.description=n),e},nr=qt?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof Ue},er=function(t,n,e){t===Fe&&er(Ve,n,e),I(t);var r=m(n,!0);return I(e),w(We,r)?(e.enumerable?(w(t,Re)&&t[Re][r]&&(t[Re][r]=!1),e=St(e,{enumerable:s(0,!1)})):(w(t,Re)||ze(t,Re,s(1,{})),t[Re][r]=!0),Ze(t,r,e)):ze(t,r,e)},rr=function(t,n){I(t);var e=y(n),r=at(e).concat(ur(e));return Me(r,(function(n){a&&!or.call(e,n)||er(t,n,e[n])})),t},or=function(t){var n=m(t,!0),e=He.call(this,n);return!(this===Fe&&w(We,n)&&!w(Ve,n))&&(!(e||!w(this,n)||!w(We,n)||w(this,Re)&&this[Re][n])||e)},ir=function(t,n){var e=y(t),r=m(n,!0);if(e!==Fe||!w(We,r)||w(Ve,r)){var o=qe(e,r);return!o||!w(We,r)||w(e,Re)&&e[Re][r]||(o.enumerable=!0),o}},ar=function(t){var n=Ge(y(t)),e=[];return Me(n,(function(t){w(We,t)||w(et,t)||e.push(t)})),e},ur=function(t){var n=t===Fe,e=Ge(n?Ve:y(t)),r=[];return Me(e,(function(t){!w(We,t)||n&&!w(Fe,t)||r.push(We[t])})),r};if(Nt||(Ln((Ue=function(){if(this instanceof Ue)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,n=pt(t),e=function(t){this===Fe&&e.call(Ve,t),w(this,Re)&&w(this[Re],n)&&(this[Re][n]=!1),Ze(this,n,s(1,t))};return a&&Qe&&Ze(Fe,n,{configurable:!0,set:e}),tr(n,t)}).prototype,"toString",(function(){return Be(this).tag})),Ln(Ue,"withoutSetter",(function(t){return tr(pt(t),t)})),f.f=or,F.f=er,E.f=ir,ke.f=Oe.f=ar,je.f=ur,Vt.f=function(t){return tr(Wt(t),t)},a&&ze(Ue.prototype,"description",{configurable:!0,get:function(){return Be(this).description}})),z({global:!0,wrap:!0,forced:!Nt,sham:!Nt},{Symbol:Ue}),Me(at(Xe),(function(t){Yt(t)})),z({target:Ce,stat:!0,forced:!Nt},{for:function(t){var n=String(t);if(w(Je,n))return Je[n];var e=Ue(n);return Je[n]=e,Ye[e]=n,e},keyFor:function(t){if(!nr(t))throw TypeError(t+" is not a symbol");if(w(Ye,t))return Ye[t]},useSetter:function(){Qe=!0},useSimple:function(){Qe=!1}}),z({target:"Object",stat:!0,forced:!Nt,sham:!a},{create:function(t,n){return void 0===n?St(t):rr(St(t),n)},defineProperty:er,defineProperties:rr,getOwnPropertyDescriptor:ir}),z({target:"Object",stat:!0,forced:!Nt},{getOwnPropertyNames:ar,getOwnPropertySymbols:ur}),z({target:"Object",stat:!0,forced:i((function(){je.f(1)}))},{getOwnPropertySymbols:function(t){return je.f(yn(t))}}),Ne){var cr=!Nt||i((function(){var t=Ue();return"[null]"!=Ne([t])||"{}"!=Ne({a:t})||"{}"!=Ne(Object(t))}));z({target:"JSON",stat:!0,forced:cr},{stringify:function(t,n,e){for(var r,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=n,(g(n)||void 0!==t)&&!nr(t))return ae(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!nr(n))return n}),o[1]=n,Ne.apply(null,o)}})}Ue.prototype[Le]||U(Ue.prototype,Le,Ue.prototype.valueOf),Dn(Ue,Ce),et[Re]=!0,Yt("asyncIterator"),Yt("hasInstance"),Yt("isConcatSpreadable"),Yt("match"),Yt("matchAll"),Yt("replace"),Yt("search"),Yt("species"),Yt("split"),Yt("toPrimitive"),Yt("toStringTag"),Yt("unscopables"),Dn(Math,"Math",!0),Dn(o.JSON,"JSON",!0);var fr=R.Symbol;Yt("asyncDispose"),Yt("dispose"),Yt("observable"),Yt("patternMatch"),Yt("replaceAll");var sr=fr;function lr(t){return(lr="function"==typeof sr&&"symbol"==typeof ie?function(t){return typeof t}:function(t){return t&&"function"==typeof sr&&t.constructor===sr&&t!==sr.prototype?"symbol":typeof t})(t)}function hr(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function vr(t,n){return!n||"object"!==lr(n)&&"function"!=typeof n?hr(t):n}var dr=i((function(){wn(1)}));z({target:"Object",stat:!0,forced:dr,sham:!gn},{getPrototypeOf:function(t){return wn(yn(t))}});var pr=R.Object.getPrototypeOf,yr=pr;function gr(t){return(gr=Bt?yr:function(t){return t.__proto__||yr(t)})(t)}var mr=function(t,n,e){for(var r in n)e&&e.unsafe&&t[r]?t[r]=n[r]:Ln(t,r,n[r],e);return t},br=!i((function(){return Object.isExtensible(Object.preventExtensions({}))})),wr=n((function(t){var n=F.f,e=pt("meta"),r=0,o=Object.isExtensible||function(){return!0},i=function(t){n(t,e,{value:{objectID:"O"+ ++r,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,n){if(!g(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!w(t,e)){if(!o(t))return"F";if(!n)return"E";i(t)}return t[e].objectID},getWeakData:function(t,n){if(!w(t,e)){if(!o(t))return!0;if(!n)return!1;i(t)}return t[e].weakData},onFreeze:function(t){return br&&a.REQUIRED&&o(t)&&!w(t,e)&&i(t),t}};et[e]=!0})),$r=Wt("iterator"),Sr=Array.prototype,xr=function(t){return void 0!==t&&(Pn.Array===t||Sr[$r]===t)},kr=Wt("iterator"),Ar=function(t){if(null!=t)return t[kr]||t["@@iterator"]||Pn[Tn(t)]},Er=function(t,n,e,r){try{return r?n(I(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&I(o.call(t)),n}},Tr=n((function(t){var n=function(t,n){this.stopped=t,this.result=n};(t.exports=function(t,e,r,o,i){var a,u,c,f,s,l,h,v=L(e,r,o?2:1);if(i)a=t;else{if("function"!=typeof(u=Ar(t)))throw TypeError("Target is not iterable");if(xr(u)){for(c=0,f=X(t.length);f>c;c++)if((s=o?v(I(h=t[c])[0],h[1]):v(t[c]))&&s instanceof n)return s;return new n(!1)}a=u.call(t)}for(l=a.next;!(h=l.call(a)).done;)if("object"==typeof(s=Er(a,v,h.value,o))&&s&&s instanceof n)return s;return new n(!1)}).stop=function(t){return new n(!0,t)}})),Or=function(t,n,e){if(!(t instanceof n))throw TypeError("Incorrect "+(e?e+" ":"")+"invocation");return t},jr=F.f,_r=Pe.forEach,Dr=pn.set,Pr=pn.getterFor,Mr=function(t,n,e){var r,u=-1!==t.indexOf("Map"),c=-1!==t.indexOf("Weak"),f=u?"set":"add",s=o[t],l=s&&s.prototype,h={};if(a&&"function"==typeof s&&(c||l.forEach&&!i((function(){(new s).entries().next()})))){r=n((function(n,e){Dr(Or(n,r,t),{type:t,collection:new s}),null!=e&&Tr(e,n[f],n,u)}));var v=Pr(t);_r(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var n="add"==t||"set"==t;!(t in l)||c&&"clear"==t||U(r.prototype,t,(function(e,r){var o=v(this).collection;if(!n&&c&&!g(e))return"get"==t&&void 0;var i=o[t](0===e?0:e,r);return n?this:i}))})),c||jr(r.prototype,"size",{configurable:!0,get:function(){return v(this).collection.size}})}else r=e.getConstructor(n,t,u,f),wr.REQUIRED=!0;return Dn(r,t,!1,!0),h[t]=r,z({global:!0,forced:!0},h),c||e.setStrong(r,t,u),r},Rr=wr.getWeakData,Cr=pn.set,Lr=pn.getterFor,Ir=Pe.find,Br=Pe.findIndex,Fr=0,Ur=function(t){return t.frozen||(t.frozen=new Nr)},Nr=function(){this.entries=[]},qr=function(t,n){return Ir(t.entries,(function(t){return t[0]===n}))};Nr.prototype={get:function(t){var n=qr(this,t);if(n)return n[1]},has:function(t){return!!qr(this,t)},set:function(t,n){var e=qr(this,t);e?e[1]=n:this.entries.push([t,n])},delete:function(t){var n=Br(this.entries,(function(n){return n[0]===t}));return~n&&this.entries.splice(n,1),!!~n}};var zr={getConstructor:function(t,n,e,r){var o=t((function(t,i){Or(t,o,n),Cr(t,{type:n,id:Fr++,frozen:void 0}),null!=i&&Tr(i,t[r],t,e)})),i=Lr(n),a=function(t,n,e){var r=i(t),o=Rr(I(n),!0);return!0===o?Ur(r).set(n,e):o[r.id]=e,t};return mr(o.prototype,{delete:function(t){var n=i(this);if(!g(t))return!1;var e=Rr(t);return!0===e?Ur(n).delete(t):e&&w(e,n.id)&&delete e[n.id]},has:function(t){var n=i(this);if(!g(t))return!1;var e=Rr(t);return!0===e?Ur(n).has(t):e&&w(e,n.id)}}),mr(o.prototype,e?{get:function(t){var n=i(this);if(g(t)){var e=Rr(t);return!0===e?Ur(n).get(t):e?e[n.id]:void 0}},set:function(t,n){return a(this,t,n)}}:{add:function(t){return a(this,t,!0)}}),o}},Gr=(n((function(t){var n,e=pn.enforce,r=!o.ActiveXObject&&"ActiveXObject"in o,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=Mr("WeakMap",a,zr);if(on&&r){n=zr.getConstructor(a,"WeakMap",!0),wr.REQUIRED=!0;var c=u.prototype,f=c.delete,s=c.has,l=c.get,h=c.set;mr(c,{delete:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),f.call(this,t)||r.frozen.delete(t)}return f.call(this,t)},has:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),s.call(this,t)||r.frozen.has(t)}return s.call(this,t)},get:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),s.call(this,t)?l.call(this,t):r.frozen.get(t)}return l.call(this,t)},set:function(t,r){if(g(t)&&!i(t)){var o=e(this);o.frozen||(o.frozen=new n),s.call(this,t)?h.call(this,t,r):o.frozen.set(t,r)}else h.call(this,t,r);return this}})}})),R.WeakMap),Hr=function(t){var n=Ar(t);if("function"!=typeof n)throw TypeError(String(t)+" is not iterable");return I(n.call(t))},Wr=Hr;z({target:"Array",stat:!0},{isArray:ae});var Vr=R.Array.isArray,Jr=Vr,Yr=Ar,Xr=fr,Kr=function(t){var n,e,r,o,i,a,u=yn(t),c="function"==typeof this?this:Array,f=arguments.length,s=f>1?arguments[1]:void 0,l=void 0!==s,h=Ar(u),v=0;if(l&&(s=L(s,f>2?arguments[2]:void 0,2)),null==h||c==Array&&xr(h))for(e=new c(n=X(u.length));n>v;v++)a=l?s(u[v],v):u[v],ue(e,v,a);else for(i=(o=h.call(u)).next,e=new c;!(r=i.call(o)).done;v++)a=l?Er(o,s,[r.value,v],!0):r.value,ue(e,v,a);return e.length=v,e},Qr=Wt("iterator"),Zr=!1;try{var to=0,no={next:function(){return{done:!!to++}},return:function(){Zr=!0}};no[Qr]=function(){return this},Array.from(no,(function(){throw 2}))}catch(t){}var eo=function(t,n){if(!n&&!Zr)return!1;var e=!1;try{var r={};r[Qr]=function(){return{next:function(){return{done:e=!0}}}},t(r)}catch(t){}return e},ro=!eo((function(t){Array.from(t)}));z({target:"Array",stat:!0,forced:ro},{from:Kr});var oo=R.Array.from,io=oo;function ao(t,n){var e=n.get(t);if(!e)throw new TypeError("attempted to get private field on non-instance");return e.get?e.get.call(t):e.value}z({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperty:F.f});var uo=n((function(t){var n=R.Object,e=t.exports=function(t,e,r){return n.defineProperty(t,e,r)};n.defineProperty.sham&&(e.sham=!0)})),co=uo;function fo(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),co(t,r.key,r)}}function so(t,n,e){return n&&fo(t.prototype,n),e&&fo(t,e),t}var lo=Object.defineProperty,ho={},vo=function(t){throw t},po=function(t,n){if(w(ho,t))return ho[t];n||(n={});var e=[][t],r=!!w(n,"ACCESSORS")&&n.ACCESSORS,o=w(n,0)?n[0]:vo,u=w(n,1)?n[1]:void 0;return ho[t]=!!e&&!i((function(){if(r&&!a)return!0;var t={length:-1};r?lo(t,1,{enumerable:!0,get:vo}):t[1]=1,e.call(t,o,u)}))},yo=ye("slice"),go=po("slice",{ACCESSORS:!0,0:0,1:2}),mo=Wt("species"),bo=[].slice,wo=Math.max;z({target:"Array",proto:!0,forced:!yo||!go},{slice:function(t,n){var e,r,o,i=y(this),a=X(i.length),u=Z(t,a),c=Z(void 0===n?a:n,a);if(ae(i)&&("function"!=typeof(e=i.constructor)||e!==Array&&!ae(e.prototype)?g(e)&&null===(e=e[mo])&&(e=void 0):e=void 0,e===Array||void 0===e))return bo.call(i,u,c);for(r=new(void 0===e?Array:e)(wo(c-u,0)),o=0;u<c;u++,o++)u in i&&ue(r,o,i[u]);return r.length=o,r}});var $o=function(t){return R[t+"Prototype"]},So=$o("Array").slice,xo=Array.prototype,ko=function(t){var n=t.slice;return t===xo||t instanceof Array&&n===xo.slice?So:n},Ao=ko,Eo=uo;z({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperties:ut});var To=n((function(t){var n=R.Object,e=t.exports=function(t,e){return n.defineProperties(t,e)};n.defineProperties.sham&&(e.sham=!0)})),Oo=H("Reflect","ownKeys")||function(t){var n=ke.f(I(t)),e=je.f;return e?n.concat(e(t)):n};z({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(t){for(var n,e,r=y(t),o=E.f,i=Oo(r),a={},u=0;i.length>u;)void 0!==(e=o(r,n=i[u++]))&&ue(a,n,e);return a}});var jo=R.Object.getOwnPropertyDescriptors,_o=function(t,n){var e=[][t];return!!e&&i((function(){e.call(null,n||function(){throw 1},1)}))},Do=Pe.forEach,Po=_o("forEach"),Mo=po("forEach"),Ro=Po&&Mo?[].forEach:function(t){return Do(this,t,arguments.length>1?arguments[1]:void 0)};z({target:"Array",proto:!0,forced:[].forEach!=Ro},{forEach:Ro});var Co=$o("Array").forEach,Lo=Array.prototype,Io={DOMTokenList:!0,NodeList:!0},Bo=function(t){var n=t.forEach;return t===Lo||t instanceof Array&&n===Lo.forEach||Io.hasOwnProperty(Tn(t))?Co:n},Fo=E.f,Uo=i((function(){Fo(1)}));z({target:"Object",stat:!0,forced:!a||Uo,sham:!a},{getOwnPropertyDescriptor:function(t,n){return Fo(y(t),n)}});var No=n((function(t){var n=R.Object,e=t.exports=function(t,e){return n.getOwnPropertyDescriptor(t,e)};n.getOwnPropertyDescriptor.sham&&(e.sham=!0)})),qo=Pe.filter,zo=ye("filter"),Go=po("filter");z({target:"Array",proto:!0,forced:!zo||!Go},{filter:function(t){return qo(this,t,arguments.length>1?arguments[1]:void 0)}});var Ho=$o("Array").filter,Wo=Array.prototype,Vo=function(t){var n=t.filter;return t===Wo||t instanceof Array&&n===Wo.filter?Ho:n},Jo=R.Object.getOwnPropertySymbols,Yo=Jo;function Xo(t,n,e){return n in t?co(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var Ko=nt.indexOf,Qo=[].indexOf,Zo=!!Qo&&1/[1].indexOf(1,-0)<0,ti=_o("indexOf"),ni=po("indexOf",{ACCESSORS:!0,1:0});z({target:"Array",proto:!0,forced:Zo||!ti||!ni},{indexOf:function(t){return Zo?Qo.apply(this,arguments)||0:Ko(this,t,arguments.length>1?arguments[1]:void 0)}});var ei=$o("Array").indexOf,ri=Array.prototype,oi=function(t){var n=t.indexOf;return t===ri||t instanceof Array&&n===ri.indexOf?ei:n},ii=oi,ai=Jo,ui=i((function(){at(1)}));z({target:"Object",stat:!0,forced:ui},{keys:function(t){return at(yn(t))}});var ci=R.Object.keys,fi=ci;function si(t,n){if(null==t)return{};var e,r,o=function(t,n){if(null==t)return{};var e,r,o={},i=fi(t);for(r=0;r<i.length;r++)e=i[r],ii(n).call(n,e)>=0||(o[e]=t[e]);return o}(t,n);if(ai){var i=ai(t);for(r=0;r<i.length;r++)e=i[r],ii(n).call(n,e)>=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(o[e]=t[e])}return o}var li=ci,hi=$o("Array").keys,vi=Array.prototype,di={DOMTokenList:!0,NodeList:!0},pi=function(t){var n=t.keys;return t===vi||t instanceof Array&&n===vi.keys||di.hasOwnProperty(Tn(t))?hi:n},yi=$o("Array").concat,gi=Array.prototype,mi=function(t){var n=t.concat;return t===gi||t instanceof Array&&n===gi.concat?yi:n},bi=f.f,wi=function(t){return function(n){for(var e,r=y(n),o=at(r),i=o.length,u=0,c=[];i>u;)e=o[u++],a&&!bi.call(r,e)||c.push(t?[e,r[e]]:r[e]);return c}},$i={entries:wi(!0),values:wi(!1)}.entries;z({target:"Object",stat:!0},{entries:function(t){return $i(t)}});var Si=R.Object.entries,xi=nt.includes,ki=po("indexOf",{ACCESSORS:!0,1:0});z({target:"Array",proto:!0,forced:!ki},{includes:function(t){return xi(this,t,arguments.length>1?arguments[1]:void 0)}});var Ai=$o("Array").includes,Ei=Wt("match"),Ti=function(t){if(function(t){var n;return g(t)&&(void 0!==(n=t[Ei])?!!n:"RegExp"==h(t))}(t))throw TypeError("The method doesn't accept regular expressions");return t},Oi=Wt("match");z({target:"String",proto:!0,forced:!function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[Oi]=!1,"/./"[t](n)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(p(this)).indexOf(Ti(t),arguments.length>1?arguments[1]:void 0)}});var ji=$o("String").includes,_i=Array.prototype,Di=String.prototype,Pi=function(t){var n=t.includes;return t===_i||t instanceof Array&&n===_i.includes?Ai:"string"==typeof t||t===Di||t instanceof String&&n===Di.includes?ji:n},Mi=Vr;var Ri=Wt("iterator"),Ci=function(t){var n=Object(t);return void 0!==n[Ri]||"@@iterator"in n||Pn.hasOwnProperty(Tn(n))};var Li=oo,Ii=ko;function Bi(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Fi(t,n){var e;if(t){if("string"==typeof t)return Bi(t,n);var r=Ii(e=Object.prototype.toString.call(t)).call(e,8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Li(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Bi(t,n):void 0}}function Ui(t,n){return function(t){if(Mi(t))return t}(t)||function(t,n){if(void 0!==sr&&Ci(Object(t))){var e=[],r=!0,o=!1,i=void 0;try{for(var a,u=Wr(t);!(r=(a=u.next()).done)&&(e.push(a.value),!n||e.length!==n);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return e}}(t,n)||Fi(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Ni=Pe.map,qi=ye("map"),zi=po("map");z({target:"Array",proto:!0,forced:!qi||!zi},{map:function(t){return Ni(this,t,arguments.length>1?arguments[1]:void 0)}});var Gi=$o("Array").map,Hi=Array.prototype,Wi=function(t){var n=t.map;return t===Hi||t instanceof Array&&n===Hi.map?Gi:n},Vi=Wt("species"),Ji=function(t){var n=H(t),e=F.f;a&&n&&!n[Vi]&&e(n,Vi,{configurable:!0,get:function(){return this}})},Yi=F.f,Xi=wr.fastKey,Ki=pn.set,Qi=pn.getterFor,Zi={getConstructor:function(t,n,e,r){var o=t((function(t,i){Or(t,o,n),Ki(t,{type:n,index:St(null),first:void 0,last:void 0,size:0}),a||(t.size=0),null!=i&&Tr(i,t[r],t,e)})),i=Qi(n),u=function(t,n,e){var r,o,u=i(t),f=c(t,n);return f?f.value=e:(u.last=f={index:o=Xi(n,!0),key:n,value:e,previous:r=u.last,next:void 0,removed:!1},u.first||(u.first=f),r&&(r.next=f),a?u.size++:t.size++,"F"!==o&&(u.index[o]=f)),t},c=function(t,n){var e,r=i(t),o=Xi(n);if("F"!==o)return r.index[o];for(e=r.first;e;e=e.next)if(e.key==n)return e};return mr(o.prototype,{clear:function(){for(var t=i(this),n=t.index,e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=void 0),delete n[e.index],e=e.next;t.first=t.last=void 0,a?t.size=0:this.size=0},delete:function(t){var n=this,e=i(n),r=c(n,t);if(r){var o=r.next,u=r.previous;delete e.index[r.index],r.removed=!0,u&&(u.next=o),o&&(o.previous=u),e.first==r&&(e.first=o),e.last==r&&(e.last=u),a?e.size--:n.size--}return!!r},forEach:function(t){for(var n,e=i(this),r=L(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.next:e.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(t){return!!c(this,t)}}),mr(o.prototype,e?{get:function(t){var n=c(this,t);return n&&n.value},set:function(t,n){return u(this,0===t?0:t,n)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),a&&Yi(o.prototype,"size",{get:function(){return i(this).size}}),o},setStrong:function(t,n,e){var r=n+" Iterator",o=Qi(n),i=Qi(r);Gn(t,n,(function(t,n){Ki(this,{type:r,target:t,state:o(t),kind:n,last:void 0})}),(function(){for(var t=i(this),n=t.kind,e=t.last;e&&e.removed;)e=e.previous;return t.target&&(t.last=e=e?e.next:t.state.first)?"keys"==n?{value:e.key,done:!1}:"values"==n?{value:e.value,done:!1}:{value:[e.key,e.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),e?"entries":"values",!e,!0),Ji(n)}},ta=(Mr("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Zi),R.Set);function na(t){return function(t){if(Mi(t))return Bi(t)}(t)||function(t){if(void 0!==sr&&Ci(Object(t)))return Li(t)}(t)||Fi(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}z({target:"Reflect",stat:!0},{get:function t(n,e){var r,o,i=arguments.length<3?n:arguments[2];return I(n)===i?n[e]:(r=E.f(n,e))?w(r,"value")?r.value:void 0===r.get?void 0:r.get.call(i):g(o=wn(n))?t(o,e,i):void 0}});R.Reflect.get,Mr("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Zi);var ea=R.Map;z({target:"Map",stat:!0},{from:function(t){var n,e,r,o,i=arguments.length,a=i>1?arguments[1]:void 0;return C(this),(n=void 0!==a)&&C(a),null==t?new this:(e=[],n?(r=0,o=L(a,i>2?arguments[2]:void 0,2),Tr(t,(function(t){e.push(o(t,r++))}))):Tr(t,e.push,e),new this(e))}});z({target:"Map",stat:!0},{of:function(){for(var t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return new this(n)}});var ra=function(){for(var t,n=I(this),e=C(n.delete),r=!0,o=0,i=arguments.length;o<i;o++)t=e.call(n,arguments[o]),r=r&&t;return!!r};z({target:"Map",proto:!0,real:!0,forced:ft},{deleteAll:function(){return ra.apply(this,arguments)}});var oa=Hr;z({target:"Map",proto:!0,real:!0,forced:ft},{every:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return!Tr(e,(function(t,e){if(!r(e,t,n))return Tr.stop()}),void 0,!0,!0).stopped}});var ia=Wt("species"),aa=function(t,n){var e,r=I(t).constructor;return void 0===r||null==(e=I(r)[ia])?n:C(e)};z({target:"Map",proto:!0,real:!0,forced:ft},{filter:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Tr(e,(function(t,e){r(e,t,n)&&i.call(o,t,e)}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{find:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Tr(e,(function(t,e){if(r(e,t,n))return Tr.stop(e)}),void 0,!0,!0).result}}),z({target:"Map",proto:!0,real:!0,forced:ft},{findKey:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Tr(e,(function(t,e){if(r(e,t,n))return Tr.stop(t)}),void 0,!0,!0).result}}),z({target:"Map",stat:!0},{groupBy:function(t,n){var e=new this;C(n);var r=C(e.has),o=C(e.get),i=C(e.set);return Tr(t,(function(t){var a=n(t);r.call(e,a)?o.call(e,a).push(t):i.call(e,a,[t])})),e}});z({target:"Map",proto:!0,real:!0,forced:ft},{includes:function(t){return Tr(oa(I(this)),(function(n,e){if((r=e)===(o=t)||r!=r&&o!=o)return Tr.stop();var r,o}),void 0,!0,!0).stopped}}),z({target:"Map",stat:!0},{keyBy:function(t,n){var e=new this;C(n);var r=C(e.set);return Tr(t,(function(t){r.call(e,n(t),t)})),e}}),z({target:"Map",proto:!0,real:!0,forced:ft},{keyOf:function(t){return Tr(oa(I(this)),(function(n,e){if(e===t)return Tr.stop(n)}),void 0,!0,!0).result}}),z({target:"Map",proto:!0,real:!0,forced:ft},{mapKeys:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Tr(e,(function(t,e){i.call(o,r(e,t,n),e)}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{mapValues:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Tr(e,(function(t,e){i.call(o,t,r(e,t,n))}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{merge:function(t){for(var n=I(this),e=C(n.set),r=0;r<arguments.length;)Tr(arguments[r++],e,n,!0);return n}}),z({target:"Map",proto:!0,real:!0,forced:ft},{reduce:function(t){var n=I(this),e=oa(n),r=arguments.length<2,o=r?void 0:arguments[1];if(C(t),Tr(e,(function(e,i){r?(r=!1,o=i):o=t(o,i,e,n)}),void 0,!0,!0),r)throw TypeError("Reduce of empty map with no initial value");return o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{some:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Tr(e,(function(t,e){if(r(e,t,n))return Tr.stop()}),void 0,!0,!0).stopped}}),z({target:"Map",proto:!0,real:!0,forced:ft},{update:function(t,n){var e=I(this),r=arguments.length;C(n);var o=e.has(t);if(!o&&r<3)throw TypeError("Updating absent value");var i=o?e.get(t):C(r>2?arguments[2]:void 0)(t,e);return e.set(t,n(i,t,e)),e}});var ua=function(t,n){var e,r=I(this),o=arguments.length>2?arguments[2]:void 0;if("function"!=typeof n&&"function"!=typeof o)throw TypeError("At least one callback required");return r.has(t)?(e=r.get(t),"function"==typeof n&&(e=n(e),r.set(t,e))):"function"==typeof o&&(e=o(),r.set(t,e)),e};z({target:"Map",proto:!0,real:!0,forced:ft},{upsert:ua}),z({target:"Map",proto:!0,real:!0,forced:ft},{updateOrInsert:ua}),z({target:"Function",proto:!0},{bind:Et});$o("Function").bind;z({target:"Array",proto:!0},{fill:function(t){for(var n=yn(this),e=X(n.length),r=arguments.length,o=Z(r>1?arguments[1]:void 0,e),i=r>2?arguments[2]:void 0,a=void 0===i?e:Z(i,e);a>o;)n[o++]=t;return n}});var ca=$o("Array").fill,fa=Array.prototype,sa=function(t){var n=t.fill;return t===fa||t instanceof Array&&n===fa.fill?ca:n},la=H("JSON","stringify"),ha=/[\uD800-\uDFFF]/g,va=/^[\uD800-\uDBFF]$/,da=/^[\uDC00-\uDFFF]$/,pa=function(t,n,e){var r=e.charAt(n-1),o=e.charAt(n+1);return va.test(t)&&!da.test(o)||da.test(t)&&!va.test(r)?"\\u"+t.charCodeAt(0).toString(16):t},ya=i((function(){return'"\\udf06\\ud834"'!==la("\udf06\ud834")||'"\\udead"'!==la("\udead")}));la&&z({target:"JSON",stat:!0,forced:ya},{stringify:function(t,n,e){var r=la.apply(null,arguments);return"string"==typeof r?r.replace(ha,pa):r}}),R.JSON||(R.JSON={stringify:JSON.stringify});var ga=Object.assign,ma=Object.defineProperty,ba=!ga||i((function(){if(a&&1!==ga({b:1},ga(ma({},"a",{enumerable:!0,get:function(){ma(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},n={},e=Symbol(),r="abcdefghijklmnopqrst";return t[e]=7,r.split("").forEach((function(t){n[t]=t})),7!=ga({},t)[e]||at(ga({},n)).join("")!=r}))?function(t,n){for(var e=yn(t),r=arguments.length,o=1,i=je.f,u=f.f;r>o;)for(var c,s=d(arguments[o++]),l=i?at(s).concat(i(s)):at(s),h=l.length,v=0;h>v;)c=l[v++],a&&!u.call(s,c)||(e[c]=s[c]);return e}:ga;z({target:"Object",stat:!0,forced:Object.assign!==ba},{assign:ba});var wa=R.Object.assign,$a=ea,Sa="\t\n\v\f\r                 \u2028\u2029\ufeff",xa="["+Sa+"]",ka=RegExp("^"+xa+xa+"*"),Aa=RegExp(xa+xa+"*$"),Ea=function(t){return function(n){var e=String(p(n));return 1&t&&(e=e.replace(ka,"")),2&t&&(e=e.replace(Aa,"")),e}},Ta={start:Ea(1),end:Ea(2),trim:Ea(3)},Oa=Ta.trim,ja=o.parseInt,_a=/^[+-]?0[Xx]/,Da=8!==ja(Sa+"08")||22!==ja(Sa+"0x16")?function(t,n){var e=Oa(String(t));return ja(e,n>>>0||(_a.test(e)?16:10))}:ja;z({global:!0,forced:parseInt!=Da},{parseInt:Da});var Pa=R.parseInt,Ma=ye("splice"),Ra=po("splice",{ACCESSORS:!0,0:0,1:2}),Ca=Math.max,La=Math.min,Ia=9007199254740991,Ba="Maximum allowed length exceeded";z({target:"Array",proto:!0,forced:!Ma||!Ra},{splice:function(t,n){var e,r,o,i,a,u,c=yn(this),f=X(c.length),s=Z(t,f),l=arguments.length;if(0===l?e=r=0:1===l?(e=0,r=f-s):(e=l-2,r=La(Ca(J(n),0),f-s)),f+e-r>Ia)throw TypeError(Ba);for(o=fe(c,r),i=0;i<r;i++)(a=s+i)in c&&ue(o,i,c[a]);if(o.length=r,e<r){for(i=s;i<f-r;i++)u=i+e,(a=i+r)in c?c[u]=c[a]:delete c[u];for(i=f;i>f-r+e;i--)delete c[i-1]}else if(e>r)for(i=f-r;i>s;i--)u=i+e-1,(a=i+r-1)in c?c[u]=c[a]:delete c[u];for(i=0;i<e;i++)c[i+s]=arguments[i+2];return c.length=f-r+e,o}});var Fa,Ua,Na,qa=$o("Array").splice,za=Array.prototype,Ga=function(t){var n=t.splice;return t===za||t instanceof Array&&n===za.splice?qa:n},Ha=oi,Wa=o.Promise,Va=/(iphone|ipod|ipad).*applewebkit/i.test(se),Ja=o.location,Ya=o.setImmediate,Xa=o.clearImmediate,Ka=o.process,Qa=o.MessageChannel,Za=o.Dispatch,tu=0,nu={},eu="onreadystatechange",ru=function(t){if(nu.hasOwnProperty(t)){var n=nu[t];delete nu[t],n()}},ou=function(t){return function(){ru(t)}},iu=function(t){ru(t.data)},au=function(t){o.postMessage(t+"",Ja.protocol+"//"+Ja.host)};Ya&&Xa||(Ya=function(t){for(var n=[],e=1;arguments.length>e;)n.push(arguments[e++]);return nu[++tu]=function(){("function"==typeof t?t:Function(t)).apply(void 0,n)},Fa(tu),tu},Xa=function(t){delete nu[t]},"process"==h(Ka)?Fa=function(t){Ka.nextTick(ou(t))}:Za&&Za.now?Fa=function(t){Za.now(ou(t))}:Qa&&!Va?(Na=(Ua=new Qa).port2,Ua.port1.onmessage=iu,Fa=L(Na.postMessage,Na,1)):!o.addEventListener||"function"!=typeof postMessage||o.importScripts||i(au)||"file:"===Ja.protocol?Fa=eu in x("script")?function(t){ct.appendChild(x("script")).onreadystatechange=function(){ct.removeChild(this),ru(t)}}:function(t){setTimeout(ou(t),0)}:(Fa=au,o.addEventListener("message",iu,!1)));var uu,cu,fu,su,lu,hu,vu,du,pu={set:Ya,clear:Xa},yu=E.f,gu=pu.set,mu=o.MutationObserver||o.WebKitMutationObserver,bu=o.process,wu=o.Promise,$u="process"==h(bu),Su=yu(o,"queueMicrotask"),xu=Su&&Su.value;xu||(uu=function(){var t,n;for($u&&(t=bu.domain)&&t.exit();cu;){n=cu.fn,cu=cu.next;try{n()}catch(t){throw cu?su():fu=void 0,t}}fu=void 0,t&&t.enter()},$u?su=function(){bu.nextTick(uu)}:mu&&!Va?(lu=!0,hu=document.createTextNode(""),new mu(uu).observe(hu,{characterData:!0}),su=function(){hu.data=lu=!lu}):wu&&wu.resolve?(vu=wu.resolve(void 0),du=vu.then,su=function(){du.call(vu,uu)}):su=function(){gu.call(o,uu)});var ku,Au,Eu,Tu=xu||function(t){var n={fn:t,next:void 0};fu&&(fu.next=n),cu||(cu=n,su()),fu=n},Ou=function(t){var n,e;this.promise=new t((function(t,r){if(void 0!==n||void 0!==e)throw TypeError("Bad Promise constructor");n=t,e=r})),this.resolve=C(n),this.reject=C(e)},ju={f:function(t){return new Ou(t)}},_u=function(t,n){if(I(t),g(n)&&n.constructor===t)return n;var e=ju.f(t);return(0,e.resolve)(n),e.promise},Du=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Pu=pu.set,Mu=Wt("species"),Ru="Promise",Cu=pn.get,Lu=pn.set,Iu=pn.getterFor(Ru),Bu=Wa,Fu=o.TypeError,Uu=o.document,Nu=o.process,qu=(H("fetch"),ju.f),zu=qu,Gu="process"==h(Nu),Hu=!!(Uu&&Uu.createEvent&&o.dispatchEvent),Wu="unhandledrejection",Vu=M(Ru,(function(){if(!(en(Bu)!==String(Bu))){if(66===de)return!0;if(!Gu&&"function"!=typeof PromiseRejectionEvent)return!0}if(!Bu.prototype.finally)return!0;if(de>=51&&/native code/.test(Bu))return!1;var t=Bu.resolve(1),n=function(t){t((function(){}),(function(){}))};return(t.constructor={})[Mu]=n,!(t.then((function(){}))instanceof n)})),Ju=Vu||!eo((function(t){Bu.all(t).catch((function(){}))})),Yu=function(t){var n;return!(!g(t)||"function"!=typeof(n=t.then))&&n},Xu=function(t,n,e){if(!n.notified){n.notified=!0;var r=n.reactions;Tu((function(){for(var o=n.value,i=1==n.state,a=0;r.length>a;){var u,c,f,s=r[a++],l=i?s.ok:s.fail,h=s.resolve,v=s.reject,d=s.domain;try{l?(i||(2===n.rejection&&tc(t,n),n.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),f=!0)),u===s.promise?v(Fu("Promise-chain cycle")):(c=Yu(u))?c.call(u,h,v):h(u)):v(o)}catch(t){d&&!f&&d.exit(),v(t)}}n.reactions=[],n.notified=!1,e&&!n.rejection&&Qu(t,n)}))}},Ku=function(t,n,e){var r,i;Hu?((r=Uu.createEvent("Event")).promise=n,r.reason=e,r.initEvent(t,!1,!0),o.dispatchEvent(r)):r={promise:n,reason:e},(i=o["on"+t])?i(r):t===Wu&&function(t,n){var e=o.console;e&&e.error&&(1===arguments.length?e.error(t):e.error(t,n))}("Unhandled promise rejection",e)},Qu=function(t,n){Pu.call(o,(function(){var e,r=n.value;if(Zu(n)&&(e=Du((function(){Gu?Nu.emit("unhandledRejection",r,t):Ku(Wu,t,r)})),n.rejection=Gu||Zu(n)?2:1,e.error))throw e.value}))},Zu=function(t){return 1!==t.rejection&&!t.parent},tc=function(t,n){Pu.call(o,(function(){Gu?Nu.emit("rejectionHandled",t):Ku("rejectionhandled",t,n.value)}))},nc=function(t,n,e,r){return function(o){t(n,e,o,r)}},ec=function(t,n,e,r){n.done||(n.done=!0,r&&(n=r),n.value=e,n.state=2,Xu(t,n,!0))},rc=function(t,n,e,r){if(!n.done){n.done=!0,r&&(n=r);try{if(t===e)throw Fu("Promise can't be resolved itself");var o=Yu(e);o?Tu((function(){var r={done:!1};try{o.call(e,nc(rc,t,r,n),nc(ec,t,r,n))}catch(e){ec(t,r,e,n)}})):(n.value=e,n.state=1,Xu(t,n,!1))}catch(e){ec(t,{done:!1},e,n)}}};Vu&&(Bu=function(t){Or(this,Bu,Ru),C(t),ku.call(this);var n=Cu(this);try{t(nc(rc,this,n),nc(ec,this,n))}catch(t){ec(this,n,t)}},(ku=function(t){Lu(this,{type:Ru,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=mr(Bu.prototype,{then:function(t,n){var e=Iu(this),r=qu(aa(this,Bu));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=Gu?Nu.domain:void 0,e.parent=!0,e.reactions.push(r),0!=e.state&&Xu(this,e,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),Au=function(){var t=new ku,n=Cu(t);this.promise=t,this.resolve=nc(rc,t,n),this.reject=nc(ec,t,n)},ju.f=qu=function(t){return t===Bu||t===Eu?new Au(t):zu(t)}),z({global:!0,wrap:!0,forced:Vu},{Promise:Bu}),Dn(Bu,Ru,!1,!0),Ji(Ru),Eu=H(Ru),z({target:Ru,stat:!0,forced:Vu},{reject:function(t){var n=qu(this);return n.reject.call(void 0,t),n.promise}}),z({target:Ru,stat:!0,forced:ft},{resolve:function(t){return _u(this===Eu?Bu:this,t)}}),z({target:Ru,stat:!0,forced:Ju},{all:function(t){var n=this,e=qu(n),r=e.resolve,o=e.reject,i=Du((function(){var e=C(n.resolve),i=[],a=0,u=1;Tr(t,(function(t){var c=a++,f=!1;i.push(void 0),u++,e.call(n,t).then((function(t){f||(f=!0,i[c]=t,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),e.promise},race:function(t){var n=this,e=qu(n),r=e.reject,o=Du((function(){var o=C(n.resolve);Tr(t,(function(t){o.call(n,t).then(e.resolve,r)}))}));return o.error&&r(o.value),e.promise}}),z({target:"Promise",stat:!0},{allSettled:function(t){var n=this,e=ju.f(n),r=e.resolve,o=e.reject,i=Du((function(){var e=C(n.resolve),o=[],i=0,a=1;Tr(t,(function(t){var u=i++,c=!1;o.push(void 0),a++,e.call(n,t).then((function(t){c||(c=!0,o[u]={status:"fulfilled",value:t},--a||r(o))}),(function(t){c||(c=!0,o[u]={status:"rejected",reason:t},--a||r(o))}))})),--a||r(o)}));return i.error&&o(i.value),e.promise}});var oc=!!Wa&&i((function(){Wa.prototype.finally.call({then:function(){}},(function(){}))}));z({target:"Promise",proto:!0,real:!0,forced:oc},{finally:function(t){var n=aa(this,H("Promise")),e="function"==typeof t;return this.then(e?function(e){return _u(n,t()).then((function(){return e}))}:t,e?function(e){return _u(n,t()).then((function(){throw e}))}:t)}});var ic=R.Promise;z({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});var ac=R.Date.now,uc=Rt;function cc(){}function fc(t){return t()}function sc(){return uc(null)}function lc(t){Bo(t).call(t,fc)}function hc(t){return"function"==typeof t}function vc(t,n){return t!=t?n==n:t!==n||t&&"object"===lr(t)||"function"==typeof t}function dc(t){if(null==t)return cc;for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];var o=t.subscribe.apply(t,e);return o.unsubscribe?function(){return o.unsubscribe()}:o}function pc(t){var n;return dc(t,(function(t){return n=t}))(),n}function yc(t,n,e){t.$$.on_destroy.push(dc(n,e))}function gc(t,n,e,r){if(t){var o=mc(t,n,e,r);return t[0](o)}}function mc(t,n,e,r){var o;return t[1]&&r?function(t,n){for(var e in n)t[e]=n[e];return t}(Ao(o=e.ctx).call(o),t[1](r(n))):e.ctx}function bc(t,n,e,r,o,i,a){var u=function(t,n,e,r){if(t[2]&&r){var o=t[2](r(e));if(void 0===n.dirty)return o;if("object"===lr(o)){for(var i=[],a=Math.max(n.dirty.length,o.length),u=0;u<a;u+=1)i[u]=n.dirty[u]|o[u];return i}return n.dirty|o}return n.dirty}(n,r,o,i);if(u){var c=mc(n,e,r,a);t.p(c,u)}}function wc(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n;return t.set(e),n}function $c(t){return t&&hc(t.destroy)?t.destroy:cc}new ta;function Sc(t,n){t.appendChild(n)}function xc(t,n,e){t.insertBefore(n,e||null)}function kc(t){t.parentNode.removeChild(t)}function Ac(t,n){for(var e=0;e<t.length;e+=1)t[e]&&t[e].d(n)}function Ec(t){return document.createElement(t)}function Tc(t){return document.createTextNode(t)}function Oc(){return Tc(" ")}function jc(){return Tc("")}function _c(t,n,e,r){return t.addEventListener(n,e,r),function(){return t.removeEventListener(n,e,r)}}function Dc(t,n,e){null==e?t.removeAttribute(n):t.getAttribute(n)!==e&&t.setAttribute(n,e)}function Pc(t){return io(t.childNodes)}function Mc(t,n){n=""+n,t.wholeText!==n&&(t.data=n)}function Rc(t,n,e,r){t.style.setProperty(n,e,r?"important":"")}var Cc;new ta;function Lc(t){Cc=t}function Ic(){if(!Cc)throw new Error("Function called outside component initialization");return Cc}function Bc(t){Ic().$$.on_mount.push(t)}function Fc(t,n){Ic().$$.context.set(t,n)}function Uc(t){return Ic().$$.context.get(t)}var Nc=[],qc=[],zc=[],Gc=[],Hc=ic.resolve(),Wc=!1;function Vc(){Wc||(Wc=!0,Hc.then(Qc))}function Jc(){return Vc(),Hc}function Yc(t){zc.push(t)}var Xc=!1,Kc=new ta;function Qc(){if(!Xc){Xc=!0;do{for(var t=0;t<Nc.length;t+=1){var n=Nc[t];Lc(n),Zc(n.$$)}for(Lc(null),Nc.length=0;qc.length;)qc.pop()();for(var e=0;e<zc.length;e+=1){var r=zc[e];Kc.has(r)||(Kc.add(r),r())}zc.length=0}while(Nc.length);for(;Gc.length;)Gc.pop()();Wc=!1,Xc=!1,Kc.clear()}}function Zc(t){if(null!==t.fragment){var n;t.update(),lc(t.before_update);var e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),Bo(n=t.after_update).call(n,Yc)}}var tf,nf=new ta;function ef(){tf={r:0,c:[],p:tf}}function rf(){tf.r||lc(tf.c),tf=tf.p}function of(t,n){t&&t.i&&(nf.delete(t),t.i(n))}function af(t,n,e,r){if(t&&t.o){if(nf.has(t))return;nf.add(t),tf.c.push((function(){nf.delete(t),r&&(e&&t.d(1),r())})),t.o(n)}}new ta(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]);function uf(t){t&&t.c()}function cf(t,n,e){var r=t.$$,o=r.fragment,i=r.on_mount,a=r.on_destroy,u=r.after_update;o&&o.m(n,e),Yc((function(){var n,e=Vo(n=Wi(i).call(i,fc)).call(n,hc);a?a.push.apply(a,na(e)):lc(e),t.$$.on_mount=[]})),Bo(u).call(u,Yc)}function ff(t,n){var e=t.$$;null!==e.fragment&&(lc(e.on_destroy),e.fragment&&e.fragment.d(n),e.on_destroy=e.fragment=null,e.ctx=[])}function sf(t,n){var e;-1===t.$$.dirty[0]&&(Nc.push(t),Vc(),sa(e=t.$$.dirty).call(e,0));t.$$.dirty[n/31|0]|=1<<n%31}function lf(t,n,e,r,o,i){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[-1],u=Cc;Lc(t);var c=n.props||{},f=t.$$={fragment:null,ctx:null,props:i,update:cc,not_equal:o,bound:sc(),on_mount:[],on_destroy:[],before_update:[],after_update:[],context:new $a(u?u.$$.context:[]),callbacks:sc(),dirty:a,skip_bound:!1},s=!1;if(f.ctx=e?e(t,c,(function(n,e){var r=!(arguments.length<=2)&&arguments.length-2?arguments.length<=2?void 0:arguments[2]:e;return f.ctx&&o(f.ctx[n],f.ctx[n]=r)&&(!f.skip_bound&&f.bound[n]&&f.bound[n](r),s&&sf(t,n)),e})):[],f.update(),s=!0,lc(f.before_update),f.fragment=!!r&&r(f.ctx),n.target){if(n.hydrate){var l=Pc(n.target);f.fragment&&f.fragment.l(l),Bo(l).call(l,kc)}else f.fragment&&f.fragment.c();n.intro&&of(t.$$.fragment),cf(t,n.target,n.anchor),Qc()}Lc(u)}var hf=function(){function t(){Pt(this,t)}return so(t,[{key:"$destroy",value:function(){ff(this,1),this.$destroy=cc}},{key:"$on",value:function(t,n){var e=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return e.push(n),function(){var t=Ha(e).call(e,n);-1!==t&&Ga(e).call(e,t,1)}}},{key:"$set",value:function(t){this.$$set&&0!==li(t).length&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}]),t}(),vf=[];function df(t){var n,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:cc,r=[];function o(e){if(vc(t,e)&&(t=e,n)){for(var o=!vf.length,i=0;i<r.length;i+=1){var a=r[i];a[1](),vf.push(a,t)}if(o){for(var u=0;u<vf.length;u+=2)vf[u][0](vf[u+1]);vf.length=0}}}function i(n){o(n(t))}function a(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:cc,u=[i,a];return r.push(u),1===r.length&&(n=e(o)||cc),i(t),function(){var t=Ha(r).call(r,u);-1!==t&&Ga(r).call(r,t,1),0===r.length&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}function pf(t,n,e){var r=!Jr(t),o=r?[t]:t,i=n.length<2;return{subscribe:df(e,(function(t){var e=!1,a=[],u=0,c=cc,f=function(){if(!u){c();var e=n(r?a[0]:a,t);i?t(e):c=hc(e)?e:cc}},s=Wi(o).call(o,(function(t,n){return dc(t,(function(t){a[n]=t,u&=~(1<<n),e&&f()}),(function(){u|=1<<n}))}));return e=!0,f(),function(){lc(s),c()}})).subscribe}}var yf=[],gf=yf.sort,mf=i((function(){yf.sort(void 0)})),bf=i((function(){yf.sort(null)})),wf=_o("sort");z({target:"Array",proto:!0,forced:mf||!bf||!wf},{sort:function(t){return void 0===t?gf.call(yn(this)):gf.call(yn(this),C(t))}});var $f=$o("Array").sort,Sf=Array.prototype,xf=function(t){var n=t.sort;return t===Sf||t instanceof Array&&n===Sf.sort?$f:n},kf=Wt("iterator"),Af=!i((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),n=t.searchParams,e="";return t.pathname="c%20d",n.forEach((function(t,r){n.delete("b"),e+=r+t})),!t.toJSON||!n.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==n.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!n[kf]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==e||"x"!==new URL("http://x",void 0).host})),Ef=2147483647,Tf=/[^\0-\u007E]/,Of=/[.\u3002\uFF0E\uFF61]/g,jf="Overflow: input needs wider integers to process",_f=Math.floor,Df=String.fromCharCode,Pf=function(t){return t+22+75*(t<26)},Mf=function(t,n,e){var r=0;for(t=e?_f(t/700):t>>1,t+=_f(t/n);t>455;r+=36)t=_f(t/35);return _f(r+36*t/(t+38))},Rf=function(t){var n,e,r=[],o=(t=function(t){for(var n=[],e=0,r=t.length;e<r;){var o=t.charCodeAt(e++);if(o>=55296&&o<=56319&&e<r){var i=t.charCodeAt(e++);56320==(64512&i)?n.push(((1023&o)<<10)+(1023&i)+65536):(n.push(o),e--)}else n.push(o)}return n}(t)).length,i=128,a=0,u=72;for(n=0;n<t.length;n++)(e=t[n])<128&&r.push(Df(e));var c=r.length,f=c;for(c&&r.push("-");f<o;){var s=Ef;for(n=0;n<t.length;n++)(e=t[n])>=i&&e<s&&(s=e);var l=f+1;if(s-i>_f((Ef-a)/l))throw RangeError(jf);for(a+=(s-i)*l,i=s,n=0;n<t.length;n++){if((e=t[n])<i&&++a>Ef)throw RangeError(jf);if(e==i){for(var h=a,v=36;;v+=36){var d=v<=u?1:v>=u+26?26:v-u;if(h<d)break;var p=h-d,y=36-d;r.push(Df(Pf(d+p%y))),h=_f(p/y)}r.push(Df(Pf(h))),u=Mf(a,l,f==c),a=0,++f}}++a,++i}return r.join("")},Cf=H("fetch"),Lf=H("Headers"),If=Wt("iterator"),Bf="URLSearchParams",Ff="URLSearchParamsIterator",Uf=pn.set,Nf=pn.getterFor(Bf),qf=pn.getterFor(Ff),zf=/\+/g,Gf=Array(4),Hf=function(t){return Gf[t-1]||(Gf[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},Wf=function(t){try{return decodeURIComponent(t)}catch(n){return t}},Vf=function(t){var n=t.replace(zf," "),e=4;try{return decodeURIComponent(n)}catch(t){for(;e;)n=n.replace(Hf(e--),Wf);return n}},Jf=/[!'()~]|%20/g,Yf={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Xf=function(t){return Yf[t]},Kf=function(t){return encodeURIComponent(t).replace(Jf,Xf)},Qf=function(t,n){if(n)for(var e,r,o=n.split("&"),i=0;i<o.length;)(e=o[i++]).length&&(r=e.split("="),t.push({key:Vf(r.shift()),value:Vf(r.join("="))}))},Zf=function(t){this.entries.length=0,Qf(this.entries,t)},ts=function(t,n){if(t<n)throw TypeError("Not enough arguments")},ns=Cn((function(t,n){Uf(this,{type:Ff,iterator:Hr(Nf(t).entries),kind:n})}),"Iterator",(function(){var t=qf(this),n=t.kind,e=t.iterator.next(),r=e.value;return e.done||(e.value="keys"===n?r.key:"values"===n?r.value:[r.key,r.value]),e})),es=function(){Or(this,es,Bf);var t,n,e,r,o,i,a,u,c,f=arguments.length>0?arguments[0]:void 0,s=this,l=[];if(Uf(s,{type:Bf,entries:l,updateURL:function(){},updateSearchParams:Zf}),void 0!==f)if(g(f))if("function"==typeof(t=Ar(f)))for(e=(n=t.call(f)).next;!(r=e.call(n)).done;){if((a=(i=(o=Hr(I(r.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");l.push({key:a.value+"",value:u.value+""})}else for(c in f)w(f,c)&&l.push({key:c,value:f[c]+""});else Qf(l,"string"==typeof f?"?"===f.charAt(0)?f.slice(1):f:f+"")},rs=es.prototype;mr(rs,{append:function(t,n){ts(arguments.length,2);var e=Nf(this);e.entries.push({key:t+"",value:n+""}),e.updateURL()},delete:function(t){ts(arguments.length,1);for(var n=Nf(this),e=n.entries,r=t+"",o=0;o<e.length;)e[o].key===r?e.splice(o,1):o++;n.updateURL()},get:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=0;r<n.length;r++)if(n[r].key===e)return n[r].value;return null},getAll:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=[],o=0;o<n.length;o++)n[o].key===e&&r.push(n[o].value);return r},has:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=0;r<n.length;)if(n[r++].key===e)return!0;return!1},set:function(t,n){ts(arguments.length,1);for(var e,r=Nf(this),o=r.entries,i=!1,a=t+"",u=n+"",c=0;c<o.length;c++)(e=o[c]).key===a&&(i?o.splice(c--,1):(i=!0,e.value=u));i||o.push({key:a,value:u}),r.updateURL()},sort:function(){var t,n,e,r=Nf(this),o=r.entries,i=o.slice();for(o.length=0,e=0;e<i.length;e++){for(t=i[e],n=0;n<e;n++)if(o[n].key>t.key){o.splice(n,0,t);break}n===e&&o.push(t)}r.updateURL()},forEach:function(t){for(var n,e=Nf(this).entries,r=L(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<e.length;)r((n=e[o++]).value,n.key,this)},keys:function(){return new ns(this,"keys")},values:function(){return new ns(this,"values")},entries:function(){return new ns(this,"entries")}},{enumerable:!0}),Ln(rs,If,rs.entries),Ln(rs,"toString",(function(){for(var t,n=Nf(this).entries,e=[],r=0;r<n.length;)t=n[r++],e.push(Kf(t.key)+"="+Kf(t.value));return e.join("&")}),{enumerable:!0}),Dn(es,Bf),z({global:!0,forced:!Af},{URLSearchParams:es}),Af||"function"!=typeof Cf||"function"!=typeof Lf||z({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var n,e,r,o=[t];return arguments.length>1&&(g(n=arguments[1])&&(e=n.body,Tn(e)===Bf&&((r=n.headers?new Lf(n.headers):new Lf).has("content-type")||r.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),n=St(n,{body:s(0,String(e)),headers:s(0,r)}))),o.push(n)),Cf.apply(this,o)}});var os,is={URLSearchParams:es,getState:Nf},as=Kt.codeAt,us=o.URL,cs=is.URLSearchParams,fs=is.getState,ss=pn.set,ls=pn.getterFor("URL"),hs=Math.floor,vs=Math.pow,ds="Invalid scheme",ps="Invalid host",ys="Invalid port",gs=/[A-Za-z]/,ms=/[\d+-.A-Za-z]/,bs=/\d/,ws=/^(0x|0X)/,$s=/^[0-7]+$/,Ss=/^\d+$/,xs=/^[\dA-Fa-f]+$/,ks=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,As=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,Es=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,Ts=/[\u0009\u000A\u000D]/g,Os=function(t,n){var e,r,o;if("["==n.charAt(0)){if("]"!=n.charAt(n.length-1))return ps;if(!(e=_s(n.slice(1,-1))))return ps;t.host=e}else if(Bs(t)){if(n=function(t){var n,e,r=[],o=t.toLowerCase().replace(Of,".").split(".");for(n=0;n<o.length;n++)e=o[n],r.push(Tf.test(e)?"xn--"+Rf(e):e);return r.join(".")}(n),ks.test(n))return ps;if(null===(e=js(n)))return ps;t.host=e}else{if(As.test(n))return ps;for(e="",r=Kr(n),o=0;o<r.length;o++)e+=Ls(r[o],Ps);t.host=e}},js=function(t){var n,e,r,o,i,a,u,c=t.split(".");if(c.length&&""==c[c.length-1]&&c.pop(),(n=c.length)>4)return t;for(e=[],r=0;r<n;r++){if(""==(o=c[r]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=ws.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?Ss:8==i?$s:xs).test(o))return t;a=parseInt(o,i)}e.push(a)}for(r=0;r<n;r++)if(a=e[r],r==n-1){if(a>=vs(256,5-n))return null}else if(a>255)return null;for(u=e.pop(),r=0;r<e.length;r++)u+=e[r]*vs(256,3-r);return u},_s=function(t){var n,e,r,o,i,a,u,c=[0,0,0,0,0,0,0,0],f=0,s=null,l=0,h=function(){return t.charAt(l)};if(":"==h()){if(":"!=t.charAt(1))return;l+=2,s=++f}for(;h();){if(8==f)return;if(":"!=h()){for(n=e=0;e<4&&xs.test(h());)n=16*n+parseInt(h(),16),l++,e++;if("."==h()){if(0==e)return;if(l-=e,f>6)return;for(r=0;h();){if(o=null,r>0){if(!("."==h()&&r<4))return;l++}if(!bs.test(h()))return;for(;bs.test(h());){if(i=parseInt(h(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}c[f]=256*c[f]+o,2!=++r&&4!=r||f++}if(4!=r)return;break}if(":"==h()){if(l++,!h())return}else if(h())return;c[f++]=n}else{if(null!==s)return;l++,s=++f}}if(null!==s)for(a=f-s,f=7;0!=f&&a>0;)u=c[f],c[f--]=c[s+a-1],c[s+--a]=u;else if(8!=f)return;return c},Ds=function(t){var n,e,r,o;if("number"==typeof t){for(n=[],e=0;e<4;e++)n.unshift(t%256),t=hs(t/256);return n.join(".")}if("object"==typeof t){for(n="",r=function(t){for(var n=null,e=1,r=null,o=0,i=0;i<8;i++)0!==t[i]?(o>e&&(n=r,e=o),r=null,o=0):(null===r&&(r=i),++o);return o>e&&(n=r,e=o),n}(t),e=0;e<8;e++)o&&0===t[e]||(o&&(o=!1),r===e?(n+=e?":":"::",o=!0):(n+=t[e].toString(16),e<7&&(n+=":")));return"["+n+"]"}return t},Ps={},Ms=ba({},Ps,{" ":1,'"':1,"<":1,">":1,"`":1}),Rs=ba({},Ms,{"#":1,"?":1,"{":1,"}":1}),Cs=ba({},Rs,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Ls=function(t,n){var e=as(t,0);return e>32&&e<127&&!w(n,t)?t:encodeURIComponent(t)},Is={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Bs=function(t){return w(Is,t.scheme)},Fs=function(t){return""!=t.username||""!=t.password},Us=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},Ns=function(t,n){var e;return 2==t.length&&gs.test(t.charAt(0))&&(":"==(e=t.charAt(1))||!n&&"|"==e)},qs=function(t){var n;return t.length>1&&Ns(t.slice(0,2))&&(2==t.length||"/"===(n=t.charAt(2))||"\\"===n||"?"===n||"#"===n)},zs=function(t){var n=t.path,e=n.length;!e||"file"==t.scheme&&1==e&&Ns(n[0],!0)||n.pop()},Gs=function(t){return"."===t||"%2e"===t.toLowerCase()},Hs={},Ws={},Vs={},Js={},Ys={},Xs={},Ks={},Qs={},Zs={},tl={},nl={},el={},rl={},ol={},il={},al={},ul={},cl={},fl={},sl={},ll={},hl=function(t,n,e,r){var o,i,a,u,c,f=e||Hs,s=0,l="",h=!1,v=!1,d=!1;for(e||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,n=n.replace(Es,"")),n=n.replace(Ts,""),o=Kr(n);s<=o.length;){switch(i=o[s],f){case Hs:if(!i||!gs.test(i)){if(e)return ds;f=Vs;continue}l+=i.toLowerCase(),f=Ws;break;case Ws:if(i&&(ms.test(i)||"+"==i||"-"==i||"."==i))l+=i.toLowerCase();else{if(":"!=i){if(e)return ds;l="",f=Vs,s=0;continue}if(e&&(Bs(t)!=w(Is,l)||"file"==l&&(Fs(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=l,e)return void(Bs(t)&&Is[t.scheme]==t.port&&(t.port=null));l="","file"==t.scheme?f=ol:Bs(t)&&r&&r.scheme==t.scheme?f=Js:Bs(t)?f=Qs:"/"==o[s+1]?(f=Ys,s++):(t.cannotBeABaseURL=!0,t.path.push(""),f=fl)}break;case Vs:if(!r||r.cannotBeABaseURL&&"#"!=i)return ds;if(r.cannotBeABaseURL&&"#"==i){t.scheme=r.scheme,t.path=r.path.slice(),t.query=r.query,t.fragment="",t.cannotBeABaseURL=!0,f=ll;break}f="file"==r.scheme?ol:Xs;continue;case Js:if("/"!=i||"/"!=o[s+1]){f=Xs;continue}f=Zs,s++;break;case Ys:if("/"==i){f=tl;break}f=cl;continue;case Xs:if(t.scheme=r.scheme,i==os)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query;else if("/"==i||"\\"==i&&Bs(t))f=Ks;else if("?"==i)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query="",f=sl;else{if("#"!=i){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.path.pop(),f=cl;continue}t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query,t.fragment="",f=ll}break;case Ks:if(!Bs(t)||"/"!=i&&"\\"!=i){if("/"!=i){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,f=cl;continue}f=tl}else f=Zs;break;case Qs:if(f=Zs,"/"!=i||"/"!=l.charAt(s+1))continue;s++;break;case Zs:if("/"!=i&&"\\"!=i){f=tl;continue}break;case tl:if("@"==i){h&&(l="%40"+l),h=!0,a=Kr(l);for(var p=0;p<a.length;p++){var y=a[p];if(":"!=y||d){var g=Ls(y,Cs);d?t.password+=g:t.username+=g}else d=!0}l=""}else if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)){if(h&&""==l)return"Invalid authority";s-=Kr(l).length+1,l="",f=nl}else l+=i;break;case nl:case el:if(e&&"file"==t.scheme){f=al;continue}if(":"!=i||v){if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)){if(Bs(t)&&""==l)return ps;if(e&&""==l&&(Fs(t)||null!==t.port))return;if(u=Os(t,l))return u;if(l="",f=ul,e)return;continue}"["==i?v=!0:"]"==i&&(v=!1),l+=i}else{if(""==l)return ps;if(u=Os(t,l))return u;if(l="",f=rl,e==el)return}break;case rl:if(!bs.test(i)){if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)||e){if(""!=l){var m=parseInt(l,10);if(m>65535)return ys;t.port=Bs(t)&&m===Is[t.scheme]?null:m,l=""}if(e)return;f=ul;continue}return ys}l+=i;break;case ol:if(t.scheme="file","/"==i||"\\"==i)f=il;else{if(!r||"file"!=r.scheme){f=cl;continue}if(i==os)t.host=r.host,t.path=r.path.slice(),t.query=r.query;else if("?"==i)t.host=r.host,t.path=r.path.slice(),t.query="",f=sl;else{if("#"!=i){qs(o.slice(s).join(""))||(t.host=r.host,t.path=r.path.slice(),zs(t)),f=cl;continue}t.host=r.host,t.path=r.path.slice(),t.query=r.query,t.fragment="",f=ll}}break;case il:if("/"==i||"\\"==i){f=al;break}r&&"file"==r.scheme&&!qs(o.slice(s).join(""))&&(Ns(r.path[0],!0)?t.path.push(r.path[0]):t.host=r.host),f=cl;continue;case al:if(i==os||"/"==i||"\\"==i||"?"==i||"#"==i){if(!e&&Ns(l))f=cl;else if(""==l){if(t.host="",e)return;f=ul}else{if(u=Os(t,l))return u;if("localhost"==t.host&&(t.host=""),e)return;l="",f=ul}continue}l+=i;break;case ul:if(Bs(t)){if(f=cl,"/"!=i&&"\\"!=i)continue}else if(e||"?"!=i)if(e||"#"!=i){if(i!=os&&(f=cl,"/"!=i))continue}else t.fragment="",f=ll;else t.query="",f=sl;break;case cl:if(i==os||"/"==i||"\\"==i&&Bs(t)||!e&&("?"==i||"#"==i)){if(".."===(c=(c=l).toLowerCase())||"%2e."===c||".%2e"===c||"%2e%2e"===c?(zs(t),"/"==i||"\\"==i&&Bs(t)||t.path.push("")):Gs(l)?"/"==i||"\\"==i&&Bs(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&Ns(l)&&(t.host&&(t.host=""),l=l.charAt(0)+":"),t.path.push(l)),l="","file"==t.scheme&&(i==os||"?"==i||"#"==i))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==i?(t.query="",f=sl):"#"==i&&(t.fragment="",f=ll)}else l+=Ls(i,Rs);break;case fl:"?"==i?(t.query="",f=sl):"#"==i?(t.fragment="",f=ll):i!=os&&(t.path[0]+=Ls(i,Ps));break;case sl:e||"#"!=i?i!=os&&("'"==i&&Bs(t)?t.query+="%27":t.query+="#"==i?"%23":Ls(i,Ps)):(t.fragment="",f=ll);break;case ll:i!=os&&(t.fragment+=Ls(i,Ms))}s++}},vl=function(t){var n,e,r=Or(this,vl,"URL"),o=arguments.length>1?arguments[1]:void 0,i=String(t),u=ss(r,{type:"URL"});if(void 0!==o)if(o instanceof vl)n=ls(o);else if(e=hl(n={},String(o)))throw TypeError(e);if(e=hl(u,i,null,n))throw TypeError(e);var c=u.searchParams=new cs,f=fs(c);f.updateSearchParams(u.query),f.updateURL=function(){u.query=String(c)||null},a||(r.href=pl.call(r),r.origin=yl.call(r),r.protocol=gl.call(r),r.username=ml.call(r),r.password=bl.call(r),r.host=wl.call(r),r.hostname=$l.call(r),r.port=Sl.call(r),r.pathname=xl.call(r),r.search=kl.call(r),r.searchParams=Al.call(r),r.hash=El.call(r))},dl=vl.prototype,pl=function(){var t=ls(this),n=t.scheme,e=t.username,r=t.password,o=t.host,i=t.port,a=t.path,u=t.query,c=t.fragment,f=n+":";return null!==o?(f+="//",Fs(t)&&(f+=e+(r?":"+r:"")+"@"),f+=Ds(o),null!==i&&(f+=":"+i)):"file"==n&&(f+="//"),f+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(f+="?"+u),null!==c&&(f+="#"+c),f},yl=function(){var t=ls(this),n=t.scheme,e=t.port;if("blob"==n)try{return new URL(n.path[0]).origin}catch(t){return"null"}return"file"!=n&&Bs(t)?n+"://"+Ds(t.host)+(null!==e?":"+e:""):"null"},gl=function(){return ls(this).scheme+":"},ml=function(){return ls(this).username},bl=function(){return ls(this).password},wl=function(){var t=ls(this),n=t.host,e=t.port;return null===n?"":null===e?Ds(n):Ds(n)+":"+e},$l=function(){var t=ls(this).host;return null===t?"":Ds(t)},Sl=function(){var t=ls(this).port;return null===t?"":String(t)},xl=function(){var t=ls(this),n=t.path;return t.cannotBeABaseURL?n[0]:n.length?"/"+n.join("/"):""},kl=function(){var t=ls(this).query;return t?"?"+t:""},Al=function(){return ls(this).searchParams},El=function(){var t=ls(this).fragment;return t?"#"+t:""},Tl=function(t,n){return{get:t,set:n,configurable:!0,enumerable:!0}};if(a&&ut(dl,{href:Tl(pl,(function(t){var n=ls(this),e=String(t),r=hl(n,e);if(r)throw TypeError(r);fs(n.searchParams).updateSearchParams(n.query)})),origin:Tl(yl),protocol:Tl(gl,(function(t){var n=ls(this);hl(n,String(t)+":",Hs)})),username:Tl(ml,(function(t){var n=ls(this),e=Kr(String(t));if(!Us(n)){n.username="";for(var r=0;r<e.length;r++)n.username+=Ls(e[r],Cs)}})),password:Tl(bl,(function(t){var n=ls(this),e=Kr(String(t));if(!Us(n)){n.password="";for(var r=0;r<e.length;r++)n.password+=Ls(e[r],Cs)}})),host:Tl(wl,(function(t){var n=ls(this);n.cannotBeABaseURL||hl(n,String(t),nl)})),hostname:Tl($l,(function(t){var n=ls(this);n.cannotBeABaseURL||hl(n,String(t),el)})),port:Tl(Sl,(function(t){var n=ls(this);Us(n)||(""==(t=String(t))?n.port=null:hl(n,t,rl))})),pathname:Tl(xl,(function(t){var n=ls(this);n.cannotBeABaseURL||(n.path=[],hl(n,t+"",ul))})),search:Tl(kl,(function(t){var n=ls(this);""==(t=String(t))?n.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),n.query="",hl(n,t,sl)),fs(n.searchParams).updateSearchParams(n.query)})),searchParams:Tl(Al),hash:Tl(El,(function(t){var n=ls(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),n.fragment="",hl(n,t,ll)):n.fragment=null}))}),Ln(dl,"toJSON",(function(){return pl.call(this)}),{enumerable:!0}),Ln(dl,"toString",(function(){return pl.call(this)}),{enumerable:!0}),us){var Ol=us.createObjectURL,jl=us.revokeObjectURL;Ol&&Ln(vl,"createObjectURL",(function(t){return Ol.apply(us,arguments)})),jl&&Ln(vl,"revokeObjectURL",(function(t){return jl.apply(us,arguments)}))}Dn(vl,"URL"),z({global:!0,forced:!Af,sham:!a},{URL:vl});var _l=R.URL;function Dl(t,n){var e=li(t);if(Yo){var r=Yo(t);n&&(r=Vo(r).call(r,(function(n){return No(t,n).enumerable}))),e.push.apply(e,r)}return e}function Pl(t){for(var n=1;n<arguments.length;n++){var e,r=null!=arguments[n]?arguments[n]:{};if(n%2)Bo(e=Dl(Object(r),!0)).call(e,(function(n){Xo(t,n,r[n])}));else if(jo)To(t,jo(r));else{var o;Bo(o=Dl(Object(r))).call(o,(function(n){Eo(t,n,No(r,n))}))}}return t}function Ml(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Rl(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Rl(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Rl(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var Cl=86400;function Ll(t){return void 0!==t?t instanceof Date?Bl(t):new Date(t.replace(" ","T")):new Date}function Il(t){if("number"==typeof t)t={seconds:t};else if("string"==typeof t){var n,e=0,r=2,o=Ml(t.split(":",3));try{for(o.s();!(n=o.n()).done;){var i=n.value;e+=Pa(i,10)*Math.pow(60,r--)}}catch(t){o.e(t)}finally{o.f()}t={seconds:e}}else t instanceof Date&&(t={hours:t.getHours(),minutes:t.getMinutes(),seconds:t.getSeconds()});var a=t.weeks||t.week||0;return{years:t.years||t.year||0,months:t.months||t.month||0,days:7*a+(t.days||t.day||0),seconds:60*(t.hours||t.hour||0)*60+60*(t.minutes||t.minute||0)+(t.seconds||t.second||0),inWeeks:!!a}}function Bl(t){return new Date(t.getTime())}function Fl(t,n,e){return Vl(t,n,void 0===e?1:e)}function Ul(t){return Jl(t,1)}function Nl(t){return Jl(t,-1)}function ql(t){return t.setHours(0,0,0,0),t}function zl(t){var n=-t.getTimezoneOffset(),e=n>=0?"+":"-";return t.getFullYear()+"-"+Yl(t.getMonth()+1)+"-"+Yl(t.getDate())+"T"+Yl(t.getHours())+":"+Yl(t.getMinutes())+":"+Yl(t.getSeconds())+e+Yl(n/60)+":"+Yl(n%60)}function Gl(t,n,e){if(t.getFullYear()!==n.getFullYear())return e.format(t)+" - "+e.format(n);var r=[];if(t.getMonth()!==n.getMonth()&&r.push("month"),t.getDate()!==n.getDate()&&r.push("day"),!r.length)return e.format(t);for(var o=e.resolvedOptions(),i={},a=0,u=r;a<u.length;a++){var c=u[a];i[c]=o[c]}var f=new Intl.DateTimeFormat(o.locale,i),s=e.format(t),l=e.format(n),h=f.format(t),v=f.format(n),d=function(t,n,e,r){var o=0;for(;o<t.length;){var i=void 0,a=Ui(Xl(t,n,o),2);if(o=a[0],!(i=a[1]))break;for(var u=0;u<e.length;){var c=void 0,f=Ui(Xl(e,r,u),2);if(u=f[0],!(c=f[1]))break;if(i.head===c.head&&i.tail===c.tail)return i}}return null}(s,h,l,v);return d?d.head+h+" - "+v+d.tail:s+" - "+l}function Hl(t,n){return t.getTime()===n.getTime()}function Wl(t,n){var e=n-t.getDay();return t.setDate(t.getDate()+(e<=0?e:e-7)),t}function Vl(t,n,e){t.setFullYear(t.getFullYear()+e*n.years);var r=t.getMonth()+e*n.months;for(t.setMonth(r),(r%=12)<0&&(r+=12);t.getMonth()!==r;)Nl(t);return t.setDate(t.getDate()+e*n.days),t.setSeconds(t.getSeconds()+e*n.seconds),t}function Jl(t,n){return t.setDate(t.getDate()+n),t}function Yl(t){var n=Math.floor(Math.abs(t));return(n<10?"0":"")+n}function Xl(t,n,e){var r=Ha(t).call(t,n,e);if(r>=0){var o=r+n.length;return[o,{head:t.substr(0,r),tail:t.substr(o)}]}return[-1,null]}var Kl=1;function Ql(t){return Wi(t).call(t,(function(t){var n;return{id:"id"in t?String(t.id):"{generated-".concat(Kl++,"}"),resourceIds:Jr(t.resourceIds)?Wi(n=t.resourceIds).call(n,String):"resourceId"in t?[String(t.resourceId)]:[],start:Ll(t.start),end:Ll(t.end),title:t.title||"",display:t.display||"auto",extendedProps:t.extendedProps||{},backgroundColor:t.backgroundColor||t.color}}))}var Zl=new RegExp("^(?:[a-z]+:)?//","i"),th="http://a";function nh(t){return Wi(t).call(t,(function(t){return{url:new _l(t.url,th),urlFrom:Zl.test(t.url)?0:th.length,extraParams:t.extraParams||{}}}))}function eh(t,n,e){return{start:t.start>n?t.start:n,end:t.end<e?t.end:e,event:t}}function rh(t){xf(t).call(t,(function(t,n){return t.start<n.start?-1:t.start>n.start?1:0}))}function oh(t,n,e,r,o,i,a,u){var c,f,s,l,h=o.format(t.start);if(n&&(h+=" - ".concat(o.format(t.end))),e)"string"==typeof(l=hc(e)?e({event:t.event,timeText:h,view:i}):e)&&(l={html:l});else switch(t.event.display){case"background":l={html:""};break;default:l={html:mi(c='<div class="'.concat(r.eventTime,'">')).call(c,h,"</div>")+(a?mi(f='<div><div class="'.concat(r.eventDot,'"')).call(f,u?' style="border-color:'.concat(u,'"'):"","></div></div>"):"")+mi(s='<div class="'.concat(r.eventTitle,'">')).call(s,t.event.title,"</div>")}}return[h,l]}function ih(t,n,e){return Pl(Pl({},df(n?n(t):t,e)),{},{mutate:n})}function ah(t,n,e){var r=e,o=!1,i=n.length<2,a=pf(t,(function(t,e){return o=!0,i?(r=n(t,e),e(r)):n(t,(function(t){r=t,e(t)})),function(){o=!1}}),r);return Pl(Pl({},a),{},{get:function(){return o?r:pc(a)}})}function uh(t,n){return pf([t,n],(function(t){var n=Ui(t,2),e=n[0],r=n[1];return hc(r)?{format:r}:new Intl.DateTimeFormat(e,r)}))}function ch(){return wa.apply(Object,arguments)}function fh(t){return t.offsetWidth-t.clientWidth-2*t.clientLeft>0}function sh(t,n){var e={update:function(n){for(;t.firstChild;)t.removeChild(t.lastChild);if(n.domNodes){var e,r=Ml(n.domNodes);try{for(r.s();!(e=r.n()).done;){var o=e.value;t.appendChild(o)}}catch(t){r.e(t)}finally{r.f()}}else n.html&&(t.innerHTML=n.html)}};return e.update(n),e}function lh(t,n,e,r){return{type:t,title:n,currentStart:e.start,currentEnd:e.end,activeStart:r.start,activeEnd:r.end,calendar:void 0}}function hh(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function vh(t,n){var e=li(t);if(Yo){var r=Yo(t);n&&(r=Vo(r).call(r,(function(n){return No(t,n).enumerable}))),e.push.apply(e,r)}return e}function dh(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return ph(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ph(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function ph(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var yh=function t(n){var e,r=this;Pt(this,t);for(var o,i,a,u=n.plugins||[],c=function(t,n){var e,r={buttonText:{today:"today"},date:new Date,dateClick:void 0,dayHeaderFormat:{weekday:"short",month:"numeric",day:"numeric"},displayEventEnd:!0,duration:{weeks:1},events:[],eventBackgroundColor:void 0,eventClick:void 0,eventColor:void 0,eventContent:void 0,eventDidMount:void 0,eventMouseEnter:void 0,eventMouseLeave:void 0,eventSources:[],eventTimeFormat:{hour:"numeric",minute:"2-digit"},firstDay:0,flexibleSlotTimeLimits:!1,headerToolbar:{start:"title",center:"",end:"today prev,next"},height:"auto",hiddenDays:[],highlightedDates:[],lazyFetching:!0,loading:void 0,locale:void 0,monthMode:!1,scrollTime:"06:00:00",slotDuration:"00:30:00",slotLabelFormat:{hour:"numeric",minute:"2-digit"},slotMaxTime:"24:00:00",slotMinTime:"00:00:00",theme:{calendar:"ec",header:"ec-header",withScroll:"ec-with-scroll",body:"ec-body",compact:"ec-compact",toolbar:"ec-toolbar",sidebar:"ec-sidebar",content:"ec-content",lines:"ec-lines",line:"ec-line",days:"ec-days",day:"ec-day",dayHead:"ec-day-head",today:"ec-today",otherMonth:"ec-other-month",highlight:"ec-highlight",events:"ec-events",event:"ec-event",eventTime:"ec-event-time",eventDot:"ec-event-dot",eventTitle:"ec-event-title",bgEvents:"ec-bg-events",bgEvent:"ec-bg-event",hiddenTimes:"ec-hidden-times",time:"ec-time",button:"ec-button",buttonGroup:"ec-button-group",icon:"ec-icon",active:"ec-active",title:"ec-title"},titleFormat:{year:"numeric",month:"short",day:"numeric"},view:t.view||void 0,viewDidMount:void 0,views:{}},o=dh(n);try{for(o.s();!(e=o.n()).done;){var i=e.value;"createOptions"in i&&i.createOptions(r,t)}}catch(t){o.e(t)}finally{o.f()}return r}(n,u),f=function(t,n){var e,r={date:function(t){return ql(Ll(t))},duration:Il,events:Ql,eventSources:nh,hiddenDays:function(t){return na(new ta(t))},highlightedDates:function(t){return Wi(t).call(t,Ll)},scrollTime:Il,slotDuration:Il,slotMaxTime:Il,slotMinTime:Il,theme:function(n){return hc(n)?n(t.theme):n}},o=dh(n);try{for(o.s();!(e=o.n()).done;){var i=e.value;"createMutators"in i&&i.createMutators(r,t)}}catch(t){o.e(t)}finally{o.f()}return r}(c,u),s=0,l=Si(c);s<l.length;s++){var h=Ui(l[s],2),v=h[0],d=h[1];this[v]=ih(d,f[v])}this._currentRange=pf([(o=this).date,o.duration,o.monthMode,o.firstDay],(function(t){var n=Ui(t,4),e=n[0],r=n[1],o=n[2],i=n[3],a=Bl(e);return o?a.setDate(1):r.inWeeks&&Wl(a,i),{start:a,end:Fl(Bl(a),r)}})),this._activeRange=function(t){return pf([t._currentRange,t.firstDay,t.monthMode,t.slotMinTime,t.slotMaxTime],(function(t){var n,e,r=Ui(t,5),o=r[0],i=r[1],a=r[2],u=(r[3],r[4]),c=Bl(o.start),f=Bl(o.end);if(a)Wl(c,i),e=i-(n=f).getDay(),n.setDate(n.getDate()+(e>=0?e:e+7));else if(u.days||u.seconds>Cl){Fl(Nl(f),u);var s=Nl(Bl(f));s<c&&(c=s)}return{start:c,end:f}}))}(this),this._fetchedRange=df({start:void 0,end:void 0}),this._events=function(t){var n,e=df([]),r=0;return pf([t.events,t.eventSources,t._activeRange,t._fetchedRange,t.lazyFetching,t.loading],(function(t,e){return Jc().then((function(){var o=Ui(t,6),i=o[0],a=o[1],u=o[2],c=o[3],f=o[4],s=o[5];a.length?(!c.start||c.start>u.start||c.end<u.end||!f)&&function(){n&&n.abort(),n=new AbortController,hc(s)&&!r&&s(!0);var t,o=[],i=dh(a);try{for(i.s();!(t=i.n()).done;){var f,l=t.value,h=hc(l.extraParams)?l.extraParams():ch({},l.extraParams);h.start=zl(u.start),h.end=zl(u.end);var v,d=dh(pi(f=l.url.searchParams).call(f));try{for(d.s();!(v=d.n()).done;){var p=v.value;l.url.searchParams.delete(p)}}catch(t){d.e(t)}finally{d.f()}for(var y=0,g=Si(h);y<g.length;y++){var m=Ui(g[y],2),b=m[0],w=m[1];l.url.searchParams.set(b,w)}fetch(l.url.href.substr(l.urlFrom),{signal:n.signal,credentials:"same-origin"}).then((function(t){return t.json()})).then((function(t){o=mi(o).call(o,Ql(t)),e(o),0==--r&&hc(s)&&s(!1)})).catch((function(t){0==--r&&hc(s)&&s(!1)})),++r,c.start=u.start,c.end=u.end}}catch(t){i.e(t)}finally{i.f()}}():e(i)}))}),[]).subscribe(e.set),e}(this),this._intlEventTime=uh(this.locale,this.eventTimeFormat),this._intlSlotLabel=uh(this.locale,this.slotLabelFormat),this._intlDayHeader=uh(this.locale,this.dayHeaderFormat),this._titleIntlRange=(i=this.locale,a=this.titleFormat,pf([i,a],(function(t){var n=Ui(t,2),e=n[0],r=n[1];if(hc(r))return{format:r};var o=new Intl.DateTimeFormat(e,r);return{format:function(t,n){return Gl(t,n,o)}}}))),this._scrollable=df(!1),this._viewTitle=function(t){return pf([t.date,t._activeRange,t._titleIntlRange,t.monthMode],(function(t){var n=Ui(t,4),e=n[0],r=n[1],o=n[2];return n[3]?o.format(e,e):o.format(r.start,Nl(Bl(r.end)))}))}(this),this._viewDates=function(t){return ah([t._activeRange,t.hiddenDays],(function(n){for(var e=Ui(n,2),r=e[0],o=e[1],i=[],a=ql(Bl(r.start)),u=ql(Bl(r.end));a<u;)Pi(o).call(o,a.getDay())||i.push(Bl(a)),Ul(a);return!i.length&&o.length&&o.length<7&&(t.date.update((function(t){for(;Pi(o).call(o,t.getDay());)Ul(t);return t})),i=t._viewDates.get()),i}))}(this),this._view=function(t){return ah([t.view,t._viewTitle,t._currentRange,t._activeRange],(function(t){return lh.apply(void 0,na(t))}))}(this),this._viewComponent=df(void 0);var p,y=dh(u);try{for(y.s();!(p=y.n()).done;){var g=p.value;"createStores"in g&&g.createStores(this)}}catch(t){y.e(t)}finally{y.f()}var m,b=dh(new ta(mi(e=[]).call(e,na(li(c.views)),na(li(n.views||{})))));try{var w=function(){var t=m.value,e=ch({},c,c.views[t]||{},n,n.views&&n.views[t]||{});r.view.subscribe((function(n){n===t&&(r._viewComponent.set(e.component),hc(e.viewDidMount)&&Jc().then((function(){return e.viewDidMount(r._view.get())})))}));for(var o=function(){var n=a[i];if(r.hasOwnProperty(n)&&"_"!==n[0]){var o=r[n],u=o.set,c=o._set,f=o.mutate,s=si(o,["set","_set","mutate"]);c||(c=u),f&&(e[n]=f(e[n])),r[n]=function(t){for(var n=1;n<arguments.length;n++){var e,r=null!=arguments[n]?arguments[n]:{};if(n%2)Bo(e=vh(Object(r),!0)).call(e,(function(n){Xo(t,n,r[n])}));else if(jo)To(t,jo(r));else{var o;Bo(o=vh(Object(r))).call(o,(function(n){Eo(t,n,No(r,n))}))}}return t}({set:function(t){e[n]=t,u(t)},_set:c,mutate:f},s),r.view.subscribe((function(r){r===t&&c(e[n])}))}},i=0,a=li(e);i<a.length;i++)o()};for(b.s();!(m=b.n()).done;)w()}catch(t){b.e(t)}finally{b.f()}};function gh(t,n,e){var r=Ao(t).call(t);return r[24]=n[e],r}function mh(t){var n,e,r,o,i,a=t[5][t[24]]+"";function u(){for(var n,e,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=t)[19].apply(n,mi(e=[t[24]]).call(e,o))}return{c:function(){n=Ec("button"),e=Tc(a),Dc(n,"class",r=t[3].button+(t[6]===t[24]?" "+t[3].active:"")+" ec-"+t[24])},m:function(t,r){xc(t,n,r),Sc(n,e),o||(i=_c(n,"click",u),o=!0)},p:function(o,i){t=o,33&i&&a!==(a=t[5][t[24]]+"")&&Mc(e,a),73&i&&r!==(r=t[3].button+(t[6]===t[24]?" "+t[3].active:"")+" ec-"+t[24])&&Dc(n,"class",r)},d:function(t){t&&kc(n),o=!1,i()}}}function bh(t){var n,e,r,o,i,a=t[5][t[24]]+"";return{c:function(){n=Ec("button"),e=Tc(a),Dc(n,"class",r=t[3].button+" ec-"+t[24]),n.disabled=t[1]},m:function(r,a){xc(r,n,a),Sc(n,e),o||(i=_c(n,"click",t[18]),o=!0)},p:function(t,o){33&o&&a!==(a=t[5][t[24]]+"")&&Mc(e,a),9&o&&r!==(r=t[3].button+" ec-"+t[24])&&Dc(n,"class",r),2&o&&(n.disabled=t[1])},d:function(t){t&&kc(n),o=!1,i()}}}function wh(t){var n,e,r,o,i,a;return{c:function(){n=Ec("button"),Dc(e=Ec("i"),"class",r=t[3].icon+" ec-"+t[24]),Dc(n,"class",o=t[3].button+" ec-"+t[24])},m:function(r,o){xc(r,n,o),Sc(n,e),i||(a=_c(n,"click",t[17]),i=!0)},p:function(t,i){9&i&&r!==(r=t[3].icon+" ec-"+t[24])&&Dc(e,"class",r),9&i&&o!==(o=t[3].button+" ec-"+t[24])&&Dc(n,"class",o)},d:function(t){t&&kc(n),i=!1,a()}}}function $h(t){var n,e,r,o,i,a;return{c:function(){n=Ec("button"),Dc(e=Ec("i"),"class",r=t[3].icon+" ec-"+t[24]),Dc(n,"class",o=t[3].button+" ec-"+t[24])},m:function(r,o){xc(r,n,o),Sc(n,e),i||(a=_c(n,"click",t[16]),i=!0)},p:function(t,i){9&i&&r!==(r=t[3].icon+" ec-"+t[24])&&Dc(e,"class",r),9&i&&o!==(o=t[3].button+" ec-"+t[24])&&Dc(n,"class",o)},d:function(t){t&&kc(n),i=!1,a()}}}function Sh(t){var n,e,r;return{c:function(){n=Ec("h2"),e=Tc(t[4]),Dc(n,"class",r=t[3].title)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,o){16&o&&Mc(e,t[4]),8&o&&r!==(r=t[3].title)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function xh(t){return{c:cc,m:cc,p:cc,d:cc}}function kh(t){var n;function e(t,n){return""==t[24]?xh:"title"==t[24]?Sh:"prev"==t[24]?$h:"next"===t[24]?wh:"today"===t[24]?bh:mh}var r=e(t),o=r(t);return{c:function(){o.c(),n=jc()},m:function(t,e){o.m(t,e),xc(t,n,e)},p:function(t,i){r===(r=e(t))&&o?o.p(t,i):(o.d(1),(o=r(t))&&(o.c(),o.m(n.parentNode,n)))},d:function(t){o.d(t),t&&kc(n)}}}function Ah(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=kh(gh(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){var i=Ui(o,1)[0];if(229503&i){var a;for(e=t[0],a=0;a<e.length;a+=1){var u=gh(t,e,a);r[a]?r[a].p(u,i):(r[a]=kh(u),r[a].c(),r[a].m(n.parentNode,n))}for(;a<r.length;a+=1)r[a].d(1);r.length=e.length}},i:cc,o:cc,d:function(t){Ac(r,t),t&&kc(n)}}}function Eh(t,n,e){var r,o,i,a,u,c,f,s,l=n.buttons,h=Uc("state"),v=h._currentRange,d=h._viewTitle,p=h.buttonText,y=h.date,g=h.duration,m=h.hiddenDays,b=(h.monthMode,h.theme),w=h.view;yc(t,v,(function(t){return e(20,r=t)})),yc(t,d,(function(t){return e(4,c=t)})),yc(t,p,(function(t){return e(5,f=t)})),yc(t,y,(function(t){return e(2,o=t)})),yc(t,g,(function(t){return e(21,i=t)})),yc(t,m,(function(t){return e(22,a=t)})),yc(t,b,(function(t){return e(3,u=t)})),yc(t,w,(function(t){return e(6,s=t)}));var $,S=ql(new Date);return t.$$set=function(t){"buttons"in t&&e(0,l=t.buttons)},t.$$.update=function(){1048576&t.$$.dirty&&e(1,$=S>=r.start&&S<r.end||null)},[l,$,o,u,c,f,s,v,d,p,y,g,m,b,w,S,function(){var t=function(t,n,e){return Vl(t,n,void 0===e?-1:e)}(o,i);if(a.length&&a.length<7)for(;Pi(a).call(a,t.getDay());)Nl(t);wc(y,o=t)},function(){wc(y,o=Fl(o,i))},function(){return wc(y,o=Bl(S))},function(t){return wc(w,s=t)}]}var Th=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Eh,Ah,vc,{buttons:0}),r}return e}(hf);function Oh(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function jh(t,n,e){var r=Ao(t).call(t);return r[5]=n[e],r}function _h(t){var n,e;return n=new Th({props:{buttons:t[8]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.buttons=t[8]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Dh(t){var n,e,r,o;return e=new Th({props:{buttons:t[8]}}),{c:function(){n=Ec("div"),uf(e.$$.fragment),Dc(n,"class",r=t[1].buttonGroup)},m:function(t,r){xc(t,n,r),cf(e,n,null),o=!0},p:function(t,i){var a={};1&i&&(a.buttons=t[8]),e.$set(a),(!o||2&i&&r!==(r=t[1].buttonGroup))&&Dc(n,"class",r)},i:function(t){o||(of(e.$$.fragment,t),o=!0)},o:function(t){af(e.$$.fragment,t),o=!1},d:function(t){t&&kc(n),ff(e)}}}function Ph(t){var n,e,r,o,i=[Dh,_h],a=[];function u(t,n){return t[8].length>1?0:1}return n=u(t),e=a[n]=i[n](t),{c:function(){e.c(),r=jc()},m:function(t,e){a[n].m(t,e),xc(t,r,e),o=!0},p:function(t,o){var c=n;(n=u(t))===c?a[n].p(t,o):(ef(),af(a[c],1,1,(function(){a[c]=null})),rf(),(e=a[n])||(e=a[n]=i[n](t)).c(),of(e,1),e.m(r.parentNode,r))},i:function(t){o||(of(e),o=!0)},o:function(t){af(e),o=!1},d:function(t){a[n].d(t),t&&kc(r)}}}function Mh(t){for(var n,e,r,o=t[0][t[5]],i=[],a=0;a<o.length;a+=1)i[a]=Ph(Oh(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var t=0;t<i.length;t+=1)i[t].c();e=Oc()},m:function(t,o){xc(t,n,o);for(var a=0;a<i.length;a+=1)i[a].m(n,null);Sc(n,e),r=!0},p:function(t,r){if(3&r){var a;for(o=t[0][t[5]],a=0;a<o.length;a+=1){var c=Oh(t,o,a);i[a]?(i[a].p(c,r),of(i[a],1)):(i[a]=Ph(c),i[a].c(),of(i[a],1),i[a].m(n,e))}for(ef(),a=o.length;a<i.length;a+=1)u(a);rf()}},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function Rh(t){for(var n,e,r,o=li(t[0]),i=[],a=0;a<o.length;a+=1)i[a]=Mh(jh(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var r=0;r<i.length;r+=1)i[r].c();Dc(n,"class",e=t[1].toolbar)},m:function(t,e){xc(t,n,e);for(var o=0;o<i.length;o+=1)i[o].m(n,null);r=!0},p:function(t,a){var c=Ui(a,1)[0];if(3&c){var f;for(o=li(t[0]),f=0;f<o.length;f+=1){var s=jh(t,o,f);i[f]?(i[f].p(s,c),of(i[f],1)):(i[f]=Mh(s),i[f].c(),of(i[f],1),i[f].m(n,null))}for(ef(),f=o.length;f<i.length;f+=1)u(f);rf()}(!r||2&c&&e!==(e=t[1].toolbar))&&Dc(n,"class",e)},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function Ch(t,n,e){var r,o,i=Uc("state"),a=i.headerToolbar,u=i.theme;yc(t,a,(function(t){return e(4,r=t)})),yc(t,u,(function(t){return e(1,o=t)}));var c={start:[],center:[],end:[]};return t.$$.update=function(){if(17&t.$$.dirty)for(var n=0,o=li(c);n<o.length;n++){var i,a=o[n];e(0,c[a]=Wi(i=r[a].split(" ")).call(i,(function(t){return t.split(",")})),c)}},[c,o,a,u]}var Lh=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Ch,Rh,vc,{}),r}return e}(hf);function Ih(t){var n,e,r,o,i,a;e=new Lh({});var u=t[2];return u&&(o=new u({})),{c:function(){n=Ec("div"),uf(e.$$.fragment),r=Oc(),o&&uf(o.$$.fragment),Dc(n,"class",i=t[0].calendar),Rc(n,"height",t[1])},m:function(t,i){xc(t,n,i),cf(e,n,null),Sc(n,r),o&&cf(o,n,null),a=!0},p:function(t,e){var r=Ui(e,1)[0];if(u!==(u=t[2])){if(o){ef();var c=o;af(c.$$.fragment,1,0,(function(){ff(c,1)})),rf()}u?(uf((o=new u({})).$$.fragment),of(o.$$.fragment,1),cf(o,n,null)):o=null}(!a||1&r&&i!==(i=t[0].calendar))&&Dc(n,"class",i),(!a||2&r)&&Rc(n,"height",t[1])},i:function(t){a||(of(e.$$.fragment,t),o&&of(o.$$.fragment,t),a=!0)},o:function(t){af(e.$$.fragment,t),o&&af(o.$$.fragment,t),a=!1},d:function(t){t&&kc(n),ff(e),o&&ff(o)}}}function Bh(t,n,e){var r,o,i,a=n.options,u=new yh(a);Fc("state",u);var c=u._viewComponent,f=u.height,s=u.theme;return yc(t,c,(function(t){return e(2,i=t)})),yc(t,f,(function(t){return e(1,o=t)})),yc(t,s,(function(t){return e(0,r=t)})),t.$$set=function(t){"options"in t&&e(6,a=t.options)},[r,o,i,c,f,s,a,function(t,n){u.hasOwnProperty(t)&&(u[t].mutate&&(n=u[t].mutate(n)),u[t].set(n))},function(t){return u.hasOwnProperty(t)?pc(u[t]):void 0},function(){u._fetchedRange.set({start:void 0,end:void 0})},function(t){var n,e=dh(pc(u._events));try{for(e.s();!(n=e.n()).done;){var r=n.value;if(r.id==t)return r}}catch(t){e.e(t)}finally{e.f()}return null},function(t){u._events.update((function(n){return mi(n).call(n,u.events.mutate([t]))}))},function(t){u._events.update((function(n){var e,r=dh(n);try{for(r.s();!(e=r.n()).done;){var o=e.value;if(o.id==t.id){ch(o,u.events.mutate([t])[0]);break}}}catch(t){r.e(t)}finally{r.f()}return n}))},function(t){u._events.update((function(n){return Vo(n).call(n,(function(n){return n.id!=t}))}))},function(){return u._view.get()}]}var Fh=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Bh,Ih,vc,{options:6,setOption:7,getOption:8,refetchEvents:9,getEventById:10,addEvent:11,updateEvent:12,removeEvent:13,getView:14}),r}return so(e,[{key:"setOption",get:function(){return this.$$.ctx[7]}},{key:"getOption",get:function(){return this.$$.ctx[8]}},{key:"refetchEvents",get:function(){return this.$$.ctx[9]}},{key:"getEventById",get:function(){return this.$$.ctx[10]}},{key:"addEvent",get:function(){return this.$$.ctx[11]}},{key:"updateEvent",get:function(){return this.$$.ctx[12]}},{key:"removeEvent",get:function(){return this.$$.ctx[13]}},{key:"getView",get:function(){return this.$$.ctx[14]}}]),e}(hf),Uh=new Gr,Nh=function(){function t(n,e){Pt(this,t),Uh.set(this,{writable:!0,value:void 0}),function(t,n,e){var r=n.get(t);if(!r)throw new TypeError("attempted to set private field on non-instance");if(r.set)r.set.call(t,e);else{if(!r.writable)throw new TypeError("attempted to set read only private field");r.value=e}}(this,Uh,new Fh({target:n,props:{options:e}}))}return so(t,[{key:"setOption",value:function(t,n){return ao(this,Uh).setOption(t,n),this}},{key:"getOption",value:function(t){return ao(this,Uh).getOption(t)}},{key:"refetchEvents",value:function(){return ao(this,Uh).refetchEvents(),this}},{key:"addEvent",value:function(t){return ao(this,Uh).addEvent(t),this}},{key:"updateEvent",value:function(t,n){return ao(this,Uh).updateEvent(t,n),this}},{key:"removeEvent",value:function(t){return ao(this,Uh).removeEvent(t),this}},{key:"view",get:function(){return ao(this,Uh).getView()}}]),t}(),qh=Pe.some,zh=_o("some"),Gh=po("some");z({target:"Array",proto:!0,forced:!zh||!Gh},{some:function(t){return qh(this,t,arguments.length>1?arguments[1]:void 0)}});var Hh=$o("Array").some,Wh=Array.prototype,Vh=function(t){var n=t.some;return t===Wh||t instanceof Array&&n===Wh.some?Hh:n};function Jh(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Yh(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yh(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Yh(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Xh(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}var Kh=function t(n){Pt(this,t),this._days=function(t){return pf([t.date,t.firstDay,t.hiddenDays],(function(t){for(var n=Ui(t,3),e=n[0],r=n[1],o=n[2],i=[],a=Bl(e),u=7;a.getDay()!==r&&u;)Nl(a),--u;for(var c=0;c<7;++c)Pi(o).call(o,a.getDay())||i.push(Bl(a)),Ul(a);return i}))}(n)};function Qh(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function Zh(t){var n,e,r,o=t[3].format(t[8])+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[0].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){12&i&&o!==(o=t[3].format(t[8])+"")&&Mc(e,o),1&i&&r!==(r=t[0].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function tv(t){for(var n,e,r,o,i=t[2],a=[],u=0;u<i.length;u+=1)a[u]=Zh(Qh(t,i,u));return{c:function(){n=Ec("div"),e=Ec("div");for(var i=0;i<a.length;i+=1)a[i].c();Dc(e,"class",r=t[0].days),Dc(n,"class",o=t[0].header+" "+t[0].month+(t[1]?" "+t[0].withScroll:""))},m:function(t,r){xc(t,n,r),Sc(n,e);for(var o=0;o<a.length;o+=1)a[o].m(e,null)},p:function(t,u){var c=Ui(u,1)[0];if(13&c){var f;for(i=t[2],f=0;f<i.length;f+=1){var s=Qh(t,i,f);a[f]?a[f].p(s,c):(a[f]=Zh(s),a[f].c(),a[f].m(e,null))}for(;f<a.length;f+=1)a[f].d(1);a.length=i.length}1&c&&r!==(r=t[0].days)&&Dc(e,"class",r),3&c&&o!==(o=t[0].header+" "+t[0].month+(t[1]?" "+t[0].withScroll:""))&&Dc(n,"class",o)},i:cc,o:cc,d:function(t){t&&kc(n),Ac(a,t)}}}function nv(t,n,e){var r,o,i,a,u=Uc("state"),c=u.theme,f=u._intlDayHeader,s=u._scrollable;yc(t,c,(function(t){return e(0,r=t)})),yc(t,f,(function(t){return e(3,a=t)})),yc(t,s,(function(t){return e(1,o=t)}));var l=Uc("view-state")._days;return yc(t,l,(function(t){return e(2,i=t)})),[r,o,i,a,c,f,s,l]}var ev=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,nv,tv,vc,{}),r}return e}(hf);function rv(t){var n,e,r,o,i,a,u,c=t[7].default,f=gc(c,t,t[6],null);return{c:function(){n=Ec("div"),e=Ec("div"),f&&f.c(),Dc(e,"class",r=t[1].content),Dc(n,"class",o=t[1].body+" "+t[1].month)},m:function(r,o){xc(r,n,o),Sc(n,e),f&&f.m(e,null),t[8](n),i=!0,a||(u=_c(window,"resize",t[5]),a=!0)},p:function(t,a){var u=Ui(a,1)[0];f&&f.p&&64&u&&bc(f,c,t,t[6],u,null,null),(!i||2&u&&r!==(r=t[1].content))&&Dc(e,"class",r),(!i||2&u&&o!==(o=t[1].body+" "+t[1].month))&&Dc(n,"class",o)},i:function(t){i||(of(f,t),i=!0)},o:function(t){af(f,t),i=!1},d:function(e){e&&kc(n),f&&f.d(e),t[8](null),a=!1,u()}}}function ov(t,n,e){var r,o,i,a=n.$$slots,u=void 0===a?{}:a,c=n.$$scope,f=Uc("state"),s=f._events,l=f._scrollable,h=f.theme;function v(){wc(l,fh(i))}return yc(t,s,(function(t){return e(9,r=t)})),yc(t,l,(function(t){return e(10,t)})),yc(t,h,(function(t){return e(1,o=t)})),t.$$set=function(t){"$$scope"in t&&e(6,c=t.$$scope)},t.$$.update=function(){513&t.$$.dirty&&i&&r&&Jc().then(v)},[i,o,s,l,h,v,c,u,function(t){qc[t?"unshift":"push"]((function(){e(0,i=t)}))}]}var iv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,ov,rv,vc,{}),r}return e}(hf);function av(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[3].event),Dc(n,"style",t[1])},m:function(e,a){xc(e,n,a),t[23](n),o||(i=[_c(window,"resize",t[20]),$c(r=sh.call(null,n,t[2])),_c(n,"click",(function(){hc(t[19](t[4]))&&t[19](t[4]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[19](t[5]))&&t[19](t[5]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[19](t[6]))&&t[19](t[6]).apply(this,arguments)}))],o=!0)},p:function(o,i){t=o,8&i[0]&&e!==(e=t[3].event)&&Dc(n,"class",e),2&i[0]&&Dc(n,"style",t[1]),r&&hc(r.update)&&4&i[0]&&r.update.call(null,t[2])},i:cc,o:cc,d:function(e){e&&kc(n),t[23](null),o=!1,lc(i)}}}function uv(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y,g,m,b=n.chunk,w=n.longChunks,$=Uc("state"),S=$.displayEventEnd,x=$.eventBackgroundColor,k=$.eventClick,A=$.eventColor,E=$.eventContent,T=$.eventDidMount,O=$.eventMouseEnter,j=$.eventMouseLeave,_=$.theme,D=$._view,P=$._intlEventTime;yc(t,S,(function(t){return e(28,a=t)})),yc(t,x,(function(t){return e(25,r=t)})),yc(t,k,(function(t){return e(4,h=t)})),yc(t,A,(function(t){return e(26,o=t)})),yc(t,E,(function(t){return e(29,u=t)})),yc(t,T,(function(t){return e(32,l=t)})),yc(t,O,(function(t){return e(5,v=t)})),yc(t,j,(function(t){return e(6,d=t)})),yc(t,_,(function(t){return e(3,c=t)})),yc(t,D,(function(t){return e(31,s=t)})),yc(t,P,(function(t){return e(30,f=t)}));var M,R=df(1);function C(){if(p){var t=b;t.top=0,t.prev&&(t.top=t.prev.bottom+1),t.bottom=t.top+p.getBoundingClientRect().height;var n=t.date.getTime();if(w[n]){var e,r=1,o=Jh(w[n]);try{for(o.s();!(e=o.n()).done;){var a=e.value;if(t.top<a.bottom&&t.bottom>a.top){var u=a.bottom-t.top+1;r+=u,t.top+=u,t.bottom+=u}}}catch(t){o.e(t)}finally{o.f()}wc(R,i=r)}}}return yc(t,R,(function(t){return e(27,i=t)})),Bc((function(){hc(l)&&l({event:b.event,timeText:m,el:p,view:s})})),M=C,Ic().$$.after_update.push(M),t.$$set=function(t){"chunk"in t&&e(21,b=t.chunk),"longChunks"in t&&e(22,w=t.longChunks)},t.$$.update=function(){if(236978178&t.$$.dirty[0]){var n,l=b.event.backgroundColor||r||o;e(1,y=mi(n="width:calc(".concat(100*b.days,"% + ")).call(n,7*(b.days-1),"px);")+"margin-top:".concat(i,"px;")),l&&e(1,y+="background-color:".concat(l,";"))}var h,v;1881145352&t.$$.dirty[0]|1&t.$$.dirty[1]&&e(2,(v=Ui(h=oh(b,a,u,c,f,s),2),m=v[0],g=v[1],h),g)},[p,y,g,c,h,v,d,S,x,k,A,E,T,O,j,_,D,P,R,function(t){return function(n){hc(t)&&t({event:b.event,el:p,jsEvent:n,view:s})}},C,b,w,function(t){qc[t?"unshift":"push"]((function(){e(0,p=t)}))}]}var cv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,uv,av,vc,{chunk:21,longChunks:22},[-1,-1]),r}return e}(hf);function fv(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function sv(t){var n,e;return n=new cv({props:{chunk:t[19],longChunks:t[1]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.chunk=t[19]),2&e&&(r.longChunks=t[1]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function lv(t){for(var n,e,r,o,i,a,u,c,f,s,l,h=t[0].getDate()+"",v=t[2],d=[],p=0;p<v.length;p+=1)d[p]=sv(fv(t,v,p));var y=function(t){return af(d[t],1,1,(function(){d[t]=null}))};return{c:function(){n=Ec("div"),e=Ec("div"),r=Tc(h),i=Oc(),a=Ec("div");for(var f=0;f<d.length;f+=1)d[f].c();Dc(e,"class",o=t[6].dayHead),Dc(a,"class",u=t[6].events),Dc(n,"class",c=t[6].day+(t[3]?" "+t[6].today:"")+(t[4]?" "+t[6].otherMonth:"")+(t[5]?" "+t[6].highlight:""))},m:function(o,u){xc(o,n,u),Sc(n,e),Sc(e,r),Sc(n,i),Sc(n,a);for(var c=0;c<d.length;c+=1)d[c].m(a,null);f=!0,s||(l=_c(n,"click",t[12]),s=!0)},p:function(t,i){var s=Ui(i,1)[0];if((!f||1&s)&&h!==(h=t[0].getDate()+"")&&Mc(r,h),(!f||64&s&&o!==(o=t[6].dayHead))&&Dc(e,"class",o),6&s){var l;for(v=t[2],l=0;l<v.length;l+=1){var p=fv(t,v,l);d[l]?(d[l].p(p,s),of(d[l],1)):(d[l]=sv(p),d[l].c(),of(d[l],1),d[l].m(a,null))}for(ef(),l=v.length;l<d.length;l+=1)y(l);rf()}(!f||64&s&&u!==(u=t[6].events))&&Dc(a,"class",u),(!f||120&s&&c!==(c=t[6].day+(t[3]?" "+t[6].today:"")+(t[4]?" "+t[6].otherMonth:"")+(t[5]?" "+t[6].highlight:"")))&&Dc(n,"class",c)},i:function(t){if(!f){for(var n=0;n<v.length;n+=1)of(d[n]);f=!0}},o:function(t){d=Vo(d).call(d,Boolean);for(var n=0;n<d.length;n+=1)af(d[n]);f=!1},d:function(t){t&&kc(n),Ac(d,t),s=!1,l()}}}function hv(t,n,e){var r,o,i,a,u,c,f=n.date,s=n.chunks,l=n.longChunks,h=Uc("state"),v=h.date,d=h.dateClick,p=h.highlightedDates,y=h._view,g=h.theme;yc(t,v,(function(t){return e(14,r=t)})),yc(t,d,(function(t){return e(16,i=t)})),yc(t,p,(function(t){return e(15,o=t)})),yc(t,y,(function(t){return e(17,a=t)})),yc(t,g,(function(t){return e(6,u=t)}));var m,b,w,$=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,f=t.date),"chunks"in t&&e(13,s=t.chunks),"longChunks"in t&&e(1,l=t.longChunks)},t.$$.update=function(){if(8197&t.$$.dirty){e(2,c=[]);var n,i=Jh(s);try{for(i.s();!(n=i.n()).done;){var a=n.value;Hl(a.date,f)&&c.push(a)}}catch(t){i.e(t)}finally{i.f()}}49153&t.$$.dirty&&(e(3,m=Hl(f,$)),e(4,b=f.getMonth()!==r.getMonth()),e(5,w=Vh(o).call(o,(function(t){return Hl(t,f)}))))},[f,l,c,m,b,w,u,v,d,p,y,g,function(t){hc(i)&&i({date:f,jsEvent:t,view:a})},s]}var vv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,hv,lv,vc,{date:0,chunks:13,longChunks:1}),r}return e}(hf);function dv(t,n,e){var r=Ao(t).call(t);return r[9]=n[e],r}function pv(t){var n,e;return n=new vv({props:{date:t[9],chunks:t[1],longChunks:t[2]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[9]),2&e&&(r.chunks=t[1]),4&e&&(r.longChunks=t[2]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function yv(t){for(var n,e,r,o=t[0],i=[],a=0;a<o.length;a+=1)i[a]=pv(dv(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var r=0;r<i.length;r+=1)i[r].c();Dc(n,"class",e=t[3].days)},m:function(t,e){xc(t,n,e);for(var o=0;o<i.length;o+=1)i[o].m(n,null);r=!0},p:function(t,a){var c=Ui(a,1)[0];if(7&c){var f;for(o=t[0],f=0;f<o.length;f+=1){var s=dv(t,o,f);i[f]?(i[f].p(s,c),of(i[f],1)):(i[f]=pv(s),i[f].c(),of(i[f],1),i[f].m(n,null))}for(ef(),f=o.length;f<i.length;f+=1)u(f);rf()}(!r||8&c&&e!==(e=t[3].days))&&Dc(n,"class",e)},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function gv(t,n,e){var r,o,i,a,u,c=n.dates,f=Uc("state"),s=f._events,l=f.hiddenDays,h=f.theme;return yc(t,s,(function(t){return e(7,r=t)})),yc(t,l,(function(t){return e(8,o=t)})),yc(t,h,(function(t){return e(3,i=t)})),t.$$set=function(t){"dates"in t&&e(0,c=t.dates)},t.$$.update=function(){if(387&t.$$.dirty){e(1,a=[]);var n,i=c[0],f=Ul(Bl(c[c.length-1])),s=Jh(r);try{for(s.s();!(n=s.n()).done;){var l=n.value;if("auto"===l.display&&l.start<f&&l.end>i){var h=eh(l,i,f);a.push(h)}}}catch(t){s.e(t)}finally{s.f()}e(2,u=function(t,n){if(t.length){rh(t);var e,r,o={},i=Jh(t);try{for(i.s();!(r=i.n()).done;){for(var a=r.value;Pi(n).call(n,a.start.getDay());){var u=Ul(ql(Bl(a.start)));if(u>a.end)break;a.start=u}a.date=ql(Bl(a.start)),a.days=1;for(var c=Ul(Bl(a.date));a.end>c;){++a.days;var f=c.getTime();o[f]?o[f].push(a):o[f]=[a],Ul(c)}e&&Hl(e.date,a.date)&&(a.prev=e),e=a}}catch(t){i.e(t)}finally{i.f()}return o}}(a,o))}},[c,a,u,i,s,l,h]}var mv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,gv,yv,vc,{dates:0}),r}return e}(hf);function bv(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function wv(t){var n,e;return n=new mv({props:{dates:t[8]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.dates=t[8]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function $v(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=wv(bv(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(1&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=bv(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=wv(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Sv(t){var n,e,r,o;return n=new ev({}),r=new iv({props:{$$slots:{default:[$v]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,n){var e=Ui(n,1)[0],o={};2049&e&&(o.$$scope={dirty:e,ctx:t}),r.$set(o)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function xv(t,n,e){var r,o,i,a,u=Uc("state"),c=u._viewDates,f=u.hiddenDays;u.theme;return yc(t,c,(function(t){return e(5,o=t)})),yc(t,f,(function(t){return e(4,r=t)})),Fc("view-state",new Kh(Uc("state"))),t.$$.update=function(){if(57&t.$$.dirty){e(0,i=[]),e(3,a=7-r.length);for(var n=0;n<o.length/a;++n){for(var u=[],c=0;c<a;++c)u.push(o[n*a+c]);i.push(u)}}},[i,c,f]}var kv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,xv,Sv,vc,{}),r}return e}(hf),Av={createOptions:function(t){t.buttonText.dayGridMonth="month",t.theme.month="ec-month",t.view="dayGridMonth",t.views.dayGridMonth={component:kv,dayHeaderFormat:{weekday:"short"},displayEventEnd:!1,duration:{months:1},monthMode:!0,titleFormat:{year:"numeric",month:"long"}}}};function Ev(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Tv(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Tv(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Tv(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Ov(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function jv(t){var n,e,r,o,i,a=t[3].default,u=gc(a,t,t[2],null);return{c:function(){n=Ec("div"),e=Ec("div"),u&&u.c(),Dc(e,"class",r=t[0].content),Dc(n,"class",o=t[0].body+" "+t[0].list)},m:function(t,r){xc(t,n,r),Sc(n,e),u&&u.m(e,null),i=!0},p:function(t,c){var f=Ui(c,1)[0];u&&u.p&&4&f&&bc(u,a,t,t[2],f,null,null),(!i||1&f&&r!==(r=t[0].content))&&Dc(e,"class",r),(!i||1&f&&o!==(o=t[0].body+" "+t[0].list))&&Dc(n,"class",o)},i:function(t){i||(of(u,t),i=!0)},o:function(t){af(u,t),i=!1},d:function(t){t&&kc(n),u&&u.d(t)}}}function _v(t,n,e){var r,o=n.$$slots,i=void 0===o?{}:o,a=n.$$scope,u=Uc("state").theme;return yc(t,u,(function(t){return e(0,r=t)})),t.$$set=function(t){"$$scope"in t&&e(2,a=t.$$scope)},[r,u,a,i]}var Dv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,_v,jv,vc,{}),r}return e}(hf);function Pv(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[2].event)},m:function(e,a){xc(e,n,a),t[19](n),o||(i=[$c(r=sh.call(null,n,t[1])),_c(n,"click",(function(){hc(t[17](t[3]))&&t[17](t[3]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[17](t[4]))&&t[17](t[4]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[17](t[5]))&&t[17](t[5]).apply(this,arguments)}))],o=!0)},p:function(o,i){var a=Ui(i,1)[0];t=o,4&a&&e!==(e=t[2].event)&&Dc(n,"class",e),r&&hc(r.update)&&2&a&&r.update.call(null,t[1])},i:cc,o:cc,d:function(e){e&&kc(n),t[19](null),o=!1,lc(i)}}}function Mv(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y,g=n.chunk,m=Uc("state"),b=m.displayEventEnd,w=m.eventBackgroundColor,$=m.eventColor,S=m.eventContent,x=m.eventClick,k=m.eventDidMount,A=m.eventMouseEnter,E=m.eventMouseLeave,T=m.theme,O=m._view,j=m._intlEventTime;return yc(t,b,(function(t){return e(23,i=t)})),yc(t,w,(function(t){return e(21,r=t)})),yc(t,$,(function(t){return e(22,o=t)})),yc(t,S,(function(t){return e(24,a=t)})),yc(t,x,(function(t){return e(3,l=t)})),yc(t,k,(function(t){return e(27,s=t)})),yc(t,A,(function(t){return e(4,h=t)})),yc(t,E,(function(t){return e(5,v=t)})),yc(t,T,(function(t){return e(2,u=t)})),yc(t,O,(function(t){return e(26,f=t)})),yc(t,j,(function(t){return e(25,c=t)})),Bc((function(){hc(s)&&s({event:g.event,timeText:y,el:d,view:f})})),t.$$set=function(t){"chunk"in t&&e(18,g=t.chunk)},t.$$.update=function(){if(132382724&t.$$.dirty){var n,s,l=g.event.backgroundColor||r||o;e(1,(s=Ui(n=oh(g,i,a,u,c,f,!0,l),2),y=s[0],p=s[1],n),p)}},[d,p,u,l,h,v,b,w,$,S,x,k,A,E,T,O,j,function(t){return function(n){hc(t)&&t({event:g.event,el:d,jsEvent:n,view:f})}},g,function(t){qc[t?"unshift":"push"]((function(){e(0,d=t)}))}]}var Rv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Mv,Pv,vc,{chunk:18}),r}return e}(hf);function Cv(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function Lv(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v=t[5].format(t[0])+"",d=t[6].format(t[0])+"",p=t[1],y=[],g=0;g<p.length;g+=1)y[g]=Iv(Cv(t,p,g));var m=function(t){return af(y[t],1,1,(function(){y[t]=null}))};return{c:function(){n=Ec("div"),e=Tc(v),r=Oc(),o=Ec("span"),i=Tc(d),c=Oc();for(var s=0;s<y.length;s+=1)y[s].c();f=jc(),Dc(o,"class",a=t[4].daySide),Dc(n,"class",u=t[4].day+(t[2]?" "+t[4].today:"")+(t[3]?" "+t[4].highlight:""))},m:function(a,u){xc(a,n,u),Sc(n,e),Sc(n,r),Sc(n,o),Sc(o,i),xc(a,c,u);for(var v=0;v<y.length;v+=1)y[v].m(a,u);xc(a,f,u),s=!0,l||(h=_c(n,"click",t[14]),l=!0)},p:function(t,r){if((!s||33&r)&&v!==(v=t[5].format(t[0])+"")&&Mc(e,v),(!s||65&r)&&d!==(d=t[6].format(t[0])+"")&&Mc(i,d),(!s||16&r&&a!==(a=t[4].daySide))&&Dc(o,"class",a),(!s||28&r&&u!==(u=t[4].day+(t[2]?" "+t[4].today:"")+(t[3]?" "+t[4].highlight:"")))&&Dc(n,"class",u),2&r){var c;for(p=t[1],c=0;c<p.length;c+=1){var l=Cv(t,p,c);y[c]?(y[c].p(l,r),of(y[c],1)):(y[c]=Iv(l),y[c].c(),of(y[c],1),y[c].m(f.parentNode,f))}for(ef(),c=p.length;c<y.length;c+=1)m(c);rf()}},i:function(t){if(!s){for(var n=0;n<p.length;n+=1)of(y[n]);s=!0}},o:function(t){y=Vo(y).call(y,Boolean);for(var n=0;n<y.length;n+=1)af(y[n]);s=!1},d:function(t){t&&kc(n),t&&kc(c),Ac(y,t),t&&kc(f),l=!1,h()}}}function Iv(t){var n,e;return n=new Rv({props:{chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};2&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Bv(t){var n,e,r=t[1].length&&Lv(t);return{c:function(){r&&r.c(),n=jc()},m:function(t,o){r&&r.m(t,o),xc(t,n,o),e=!0},p:function(t,e){var o=Ui(e,1)[0];t[1].length?r?(r.p(t,o),2&o&&of(r,1)):((r=Lv(t)).c(),of(r,1),r.m(n.parentNode,n)):r&&(ef(),af(r,1,1,(function(){r=null})),rf())},i:function(t){e||(of(r),e=!0)},o:function(t){af(r),e=!1},d:function(t){r&&r.d(t),t&&kc(n)}}}function Fv(t,n,e){var r,o,i,a,u,c,f,s=n.date,l=Uc("state"),h=l._events,v=(l._intlDayHeader,l._view),d=(l.date,l.dateClick),p=l.highlightedDates,y=l.theme;yc(t,h,(function(t){return e(15,r=t)})),yc(t,v,(function(t){return e(18,a=t)})),yc(t,d,(function(t){return e(17,i=t)})),yc(t,p,(function(t){return e(16,o=t)})),yc(t,y,(function(t){return e(4,u=t)}));var g,m=Uc("view-state"),b=m._intlListDayFormat,w=m._intlListDaySideFormat;yc(t,b,(function(t){return e(5,c=t)})),yc(t,w,(function(t){return e(6,f=t)}));var $,S,x=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,s=t.date)},t.$$.update=function(){if(32771&t.$$.dirty){e(1,g=[]);var n,i=s,a=Ul(Bl(s)),u=Ev(r);try{for(u.s();!(n=u.n()).done;){var c=n.value;if("auto"===c.display&&c.start<a&&c.end>i){var f=eh(c,i,a);g.push(f)}}}catch(t){u.e(t)}finally{u.f()}rh(g)}65537&t.$$.dirty&&(e(2,$=Hl(s,x)),e(3,S=Vh(o).call(o,(function(t){return Hl(t,s)}))))},[s,g,$,S,u,c,f,h,v,d,p,y,b,w,function(t){hc(i)&&i({date:s,jsEvent:t,view:a})}]}var Uv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Fv,Bv,vc,{date:0}),r}return e}(hf),Nv=function t(n){Pt(this,t),this._intlListDayFormat=uh(n.locale,n.listDayFormat),this._intlListDaySideFormat=uh(n.locale,n.listDaySideFormat)};function qv(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function zv(t){for(var n,e,r=t[2],o=[],i=0;i<r.length;i+=1)o[i]=Hv(qv(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(4&e){var i;for(r=t[2],i=0;i<r.length;i+=1){var u=qv(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Hv(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Gv(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[3].noEvents)},m:function(e,a){xc(e,n,a),o||(i=[$c(r=sh.call(null,n,t[1])),_c(n,"click",t[10])],o=!0)},p:function(t,o){8&o&&e!==(e=t[3].noEvents)&&Dc(n,"class",e),r&&hc(r.update)&&2&o&&r.update.call(null,t[1])},i:cc,o:cc,d:function(t){t&&kc(n),o=!1,lc(i)}}}function Hv(t){var n,e;return n=new Uv({props:{date:t[16]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.date=t[16]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Wv(t){var n,e,r,o,i=[Gv,zv],a=[];function u(t,n){return t[0]?0:1}return n=u(t),e=a[n]=i[n](t),{c:function(){e.c(),r=jc()},m:function(t,e){a[n].m(t,e),xc(t,r,e),o=!0},p:function(t,o){var c=n;(n=u(t))===c?a[n].p(t,o):(ef(),af(a[c],1,1,(function(){a[c]=null})),rf(),(e=a[n])||(e=a[n]=i[n](t)).c(),of(e,1),e.m(r.parentNode,r))},i:function(t){o||(of(e),o=!0)},o:function(t){af(e),o=!1},d:function(t){a[n].d(t),t&&kc(r)}}}function Vv(t){var n,e;return n=new Dv({props:{$$slots:{default:[Wv]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r=Ui(e,1)[0],o={};524303&r&&(o.$$scope={dirty:r,ctx:t}),n.$set(o)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Jv(t,n,e){var r,o,i,a,u,c,f,s,l=Uc("state"),h=l._events,v=l._view,d=l._viewDates,p=l.noEventsClick,y=l.noEventsContent,g=l.theme;return yc(t,h,(function(t){return e(11,o=t)})),yc(t,v,(function(t){return e(14,u=t)})),yc(t,d,(function(t){return e(2,r=t)})),yc(t,p,(function(t){return e(13,a=t)})),yc(t,y,(function(t){return e(12,i=t)})),yc(t,g,(function(t){return e(3,c=t)})),Fc("view-state",new Nv(Uc("state"))),t.$$.update=function(){if(2052&t.$$.dirty){e(0,f=!0);var n,a=r[0],u=Ul(Bl(r[r.length-1])),c=Ev(o);try{for(c.s();!(n=c.n()).done;){var l=n.value;if("auto"===l.display&&l.start<u&&l.end>a){e(0,f=!1);break}}}catch(t){c.e(t)}finally{c.f()}}4098&t.$$.dirty&&(e(1,s=hc(i)?i():i),"string"==typeof s&&e(1,s={html:s}))},[f,s,r,c,h,v,d,p,y,g,function(t){hc(a)&&a({jsEvent:t,view:u})}]}var Yv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Jv,Vv,vc,{}),r}return e}(hf),Xv={createOptions:function(t){t.buttonText.listDay="list",t.buttonText.listWeek="list",t.buttonText.listMonth="list",t.buttonText.listYear="list",t.listDayFormat={weekday:"long"},t.listDaySideFormat={year:"numeric",month:"long",day:"numeric"},t.noEventsClick=void 0,t.noEventsContent="No events",t.theme.daySide="ec-day-side",t.theme.list="ec-list",t.theme.noEvents="ec-no-events",t.view="listWeek",t.views.listDay={component:Yv,duration:{days:1}},t.views.listWeek={component:Yv,duration:{weeks:1}},t.views.listMonth={component:Yv,duration:{months:1}},t.views.listYear={component:Yv,duration:{years:1}}}};function Kv(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function Qv(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Zv(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Zv(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Zv(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var td=function t(n){Pt(this,t),this._slotTimeLimits=function(t){return pf([t._events,t._viewDates,t.flexibleSlotTimeLimits,t.slotMinTime,t.slotMaxTime],(function(t){var n=Ui(t,5),e=n[0],r=n[1],o=n[2],i=n[3],a=n[4],u=Il(i),c=Il(a);if(o){var f,s=Il(Math.min(u.seconds,Math.max(0,c.seconds-Cl))),l=Il(Math.max(c.seconds,s.seconds+Cl)),h=Qv(r);try{t:for(h.s();!(f=h.n()).done;){var v,d=f.value,p=Fl(Bl(d),u),y=Fl(Bl(d),c),g=Fl(Bl(d),s),m=Fl(Bl(d),l),b=Qv(e);try{for(b.s();!(v=b.n()).done;){var w=v.value;if("auto"===w.display&&w.start<m&&w.end>g){if(w.start<p){var $=Math.max((w.start-d)/1e3,s.seconds);$<u.seconds&&(u.seconds=$)}if(w.end>y){var S=Math.min((w.end-d)/1e3,l.seconds);S>c.seconds&&(c.seconds=S)}if(u.seconds===s.seconds&&c.seconds===l.seconds)break t}}}catch(t){b.e(t)}finally{b.f()}}}catch(t){h.e(t)}finally{h.f()}}return{min:u,max:c}}))}(n),this._times=function(t,n){return pf([n._slotTimeLimits,t._intlSlotLabel,t.slotDuration],(function(t){var n=Ui(t,3),e=n[0],r=n[1],o=n[2],i=o.seconds>=3600,a=[],u=Ll("2020-01-01 00:00:00"),c=Bl(u),f=1;for(Fl(u,e.min),Fl(c,e.max);u<c;)a.push(a.length&&(f||i)?r.format(u):""),Fl(u,o),f=1-f;return a}))}(n,this)};function nd(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function ed(t){var n,e,r,o=t[8]+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[0].time)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){4&i&&o!==(o=t[8]+"")&&Mc(e,o),1&i&&r!==(r=t[0].time)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function rd(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v,d=t[2],p=[],y=0;y<d.length;y+=1)p[y]=ed(nd(t,d,y));var g=t[7].default,m=gc(g,t,t[6],null);return{c:function(){n=Ec("div"),e=Ec("div"),r=Ec("div");for(var v=0;v<p.length;v+=1)p[v].c();a=Oc(),u=Ec("div"),c=Ec("div"),s=Oc(),m&&m.c(),Dc(r,"class",o=t[0].hiddenTimes),Dc(e,"class",i=t[0].sidebar),Dc(c,"class",f=t[0].lines),Dc(u,"class",l=t[0].days),Dc(n,"class",h=t[0].header+(t[1]?" "+t[0].withScroll:""))},m:function(t,o){xc(t,n,o),Sc(n,e),Sc(e,r);for(var i=0;i<p.length;i+=1)p[i].m(r,null);Sc(n,a),Sc(n,u),Sc(u,c),Sc(u,s),m&&m.m(u,null),v=!0},p:function(t,a){var s=Ui(a,1)[0];if(5&s){var y;for(d=t[2],y=0;y<d.length;y+=1){var b=nd(t,d,y);p[y]?p[y].p(b,s):(p[y]=ed(b),p[y].c(),p[y].m(r,null))}for(;y<p.length;y+=1)p[y].d(1);p.length=d.length}(!v||1&s&&o!==(o=t[0].hiddenTimes))&&Dc(r,"class",o),(!v||1&s&&i!==(i=t[0].sidebar))&&Dc(e,"class",i),(!v||1&s&&f!==(f=t[0].lines))&&Dc(c,"class",f),m&&m.p&&64&s&&bc(m,g,t,t[6],s,null,null),(!v||1&s&&l!==(l=t[0].days))&&Dc(u,"class",l),(!v||3&s&&h!==(h=t[0].header+(t[1]?" "+t[0].withScroll:"")))&&Dc(n,"class",h)},i:function(t){v||(of(m,t),v=!0)},o:function(t){af(m,t),v=!1},d:function(t){t&&kc(n),Ac(p,t),m&&m.d(t)}}}function od(t,n,e){var r,o,i,a=n.$$slots,u=void 0===a?{}:a,c=n.$$scope,f=Uc("state"),s=f._scrollable,l=f.theme;yc(t,s,(function(t){return e(1,o=t)})),yc(t,l,(function(t){return e(0,r=t)}));var h=Uc("view-state")._times;return yc(t,h,(function(t){return e(2,i=t)})),t.$$set=function(t){"$$scope"in t&&e(6,c=t.$$scope)},[r,o,i,s,l,h,c,u]}var id=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,od,rd,vc,{}),r}return e}(hf);function ad(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function ud(t,n,e){var r=Ao(t).call(t);return r[25]=n[e],r}function cd(t){var n,e,r,o=t[25]+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[4].time)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){8&i&&o!==(o=t[25]+"")&&Mc(e,o),16&i&&r!==(r=t[4].time)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function fd(t){var n,e;return{c:function(){Dc(n=Ec("div"),"class",e=t[4].line)},m:function(t,e){xc(t,n,e)},p:function(t,r){16&r&&e!==(e=t[4].line)&&Dc(n,"class",e)},d:function(t){t&&kc(n)}}}function sd(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v,d,p,y=t[3],g=[],m=0;m<y.length;m+=1)g[m]=cd(ud(t,y,m));for(var b=t[2],w=[],$=0;$<b.length;$+=1)w[$]=fd(ad(t,b,$));var S=t[14].default,x=gc(S,t,t[13],null);return{c:function(){n=Ec("div"),e=Ec("div"),r=Ec("div");for(var v=0;v<g.length;v+=1)g[v].c();i=Oc(),a=Ec("div"),u=Ec("div");for(var d=0;d<w.length;d+=1)w[d].c();f=Oc(),x&&x.c(),Dc(r,"class",o=t[4].sidebar),Dc(u,"class",c=t[4].lines),Dc(a,"class",s=t[4].days),Dc(e,"class",l=t[4].content),Dc(n,"class",h=t[4].body+(t[1]?" "+t[4].compact:""))},m:function(o,c){xc(o,n,c),Sc(n,e),Sc(e,r);for(var s=0;s<g.length;s+=1)g[s].m(r,null);Sc(e,i),Sc(e,a),Sc(a,u);for(var l=0;l<w.length;l+=1)w[l].m(u,null);Sc(a,f),x&&x.m(a,null),t[15](n),v=!0,d||(p=_c(window,"resize",t[12]),d=!0)},p:function(t,i){var f=Ui(i,1)[0];if(24&f){var d;for(y=t[3],d=0;d<y.length;d+=1){var p=ud(t,y,d);g[d]?g[d].p(p,f):(g[d]=cd(p),g[d].c(),g[d].m(r,null))}for(;d<g.length;d+=1)g[d].d(1);g.length=y.length}if((!v||16&f&&o!==(o=t[4].sidebar))&&Dc(r,"class",o),20&f){var m;for(b=t[2],m=0;m<b.length;m+=1){var $=ad(t,b,m);w[m]?w[m].p($,f):(w[m]=fd($),w[m].c(),w[m].m(u,null))}for(;m<w.length;m+=1)w[m].d(1);w.length=b.length}(!v||16&f&&c!==(c=t[4].lines))&&Dc(u,"class",c),x&&x.p&&8192&f&&bc(x,S,t,t[13],f,null,null),(!v||16&f&&s!==(s=t[4].days))&&Dc(a,"class",s),(!v||16&f&&l!==(l=t[4].content))&&Dc(e,"class",l),(!v||18&f&&h!==(h=t[4].body+(t[1]?" "+t[4].compact:"")))&&Dc(n,"class",h)},i:function(t){v||(of(x,t),v=!0)},o:function(t){af(x,t),v=!1},d:function(e){e&&kc(n),Ac(g,e),Ac(w,e),x&&x.d(e),t[15](null),d=!1,p()}}}function ld(t,n,e){var r,o,i,a,u,c,f=n.$$slots,s=void 0===f?{}:f,l=n.$$scope,h=Uc("state"),v=h.slotDuration,d=(h._intlSlotLabel,h._viewDates),p=h.scrollTime,y=h._scrollable,g=h.theme;yc(t,v,(function(t){return e(16,r=t)})),yc(t,d,(function(t){return e(17,i=t)})),yc(t,p,(function(t){return e(18,a=t)})),yc(t,y,(function(t){return e(20,t)})),yc(t,g,(function(t){return e(4,c=t)}));var m,b,w=Uc("view-state"),$=w._slotTimeLimits,S=w._times;yc(t,$,(function(t){return e(19,u=t)})),yc(t,S,(function(t){return e(3,o=t)}));var x=[];function k(){wc(y,fh(m))}return t.$$set=function(t){"$$scope"in t&&e(13,l=t.$$scope)},t.$$.update=function(){65544&t.$$.dirty&&(e(1,b=r.seconds>=3600),e(2,x.length=o.length,x)),983041&t.$$.dirty&&m&&i&&e(0,m.scrollTop=(a.seconds-u.min.seconds)/r.seconds*24-12,m),65545&t.$$.dirty&&m&&o&&r&&Jc().then(k)},[m,b,x,o,c,v,d,p,y,g,$,S,k,l,s,function(t){qc[t?"unshift":"push"]((function(){e(0,m=t),e(17,i),e(18,a),e(19,u),e(16,r)}))}]}var hd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,ld,sd,vc,{}),r}return e}(hf);function vd(t){var n,e,r,o;return{c:function(){Dc(n=Ec("div"),"class",t[1]),Dc(n,"style",t[2])},m:function(i,a){xc(i,n,a),t[23](n),r||(o=[$c(e=sh.call(null,n,t[3])),_c(n,"click",(function(){hc(t[20](t[4]))&&t[20](t[4]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[20](t[5]))&&t[20](t[5]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[20](t[6]))&&t[20](t[6]).apply(this,arguments)}))],r=!0)},p:function(r,o){t=r,2&o[0]&&Dc(n,"class",t[1]),4&o[0]&&Dc(n,"style",t[2]),e&&hc(e.update)&&8&o[0]&&e.update.call(null,t[3])},i:cc,o:cc,d:function(e){e&&kc(n),t[23](null),r=!1,lc(o)}}}function dd(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y=n.date,g=n.chunk,m=Uc("state"),b=m.displayEventEnd,w=m.eventBackgroundColor,$=m.eventColor,S=m.eventContent,x=m.eventClick,k=m.eventDidMount,A=m.eventMouseEnter,E=m.eventMouseLeave,T=m.slotDuration,O=m.theme,j=m._view,_=m._intlEventTime;yc(t,b,(function(t){return e(30,c=t)})),yc(t,w,(function(t){return e(27,i=t)})),yc(t,$,(function(t){return e(28,a=t)})),yc(t,S,(function(t){return e(31,f=t)})),yc(t,x,(function(t){return e(4,v=t)})),yc(t,k,(function(t){return e(34,h=t)})),yc(t,A,(function(t){return e(5,d=t)})),yc(t,E,(function(t){return e(6,p=t)})),yc(t,T,(function(t){return e(25,r=t)})),yc(t,O,(function(t){return e(29,u=t)})),yc(t,j,(function(t){return e(33,l=t)})),yc(t,_,(function(t){return e(32,s=t)}));var D,P,M,R,C,L=Uc("view-state")._slotTimeLimits;return yc(t,L,(function(t){return e(26,o=t)})),Bc((function(){hc(h)&&h({event:g.event,timeText:C,el:D,view:l})})),t.$$set=function(t){"date"in t&&e(21,y=t.date),"chunk"in t&&e(22,g=t.chunk)},t.$$.update=function(){if(2120220676&t.$$.dirty[0]|7&t.$$.dirty[1]){var n,h,v=r.seconds/60,d=o.min.seconds/60,p=(g.start-y)/1e3/60,m=(p-d)/v*24,b=((g.end-y)/1e3/60-p)/v*24,w=(o.max.seconds/60-p)/v*24,$=g.event.backgroundColor||i||a;switch(e(2,M="top:".concat(m,"px;")+"min-height:".concat(b,"px;")+"height:".concat(b,"px;")+"max-height:".concat(w,"px;")+"z-index:".concat(g.column+1,";")),$&&e(2,M+="background-color:".concat($,";")),g.event.display){case"background":e(1,P=u.bgEvent);break;default:e(1,P=u.event),e(2,M+="left:".concat(100/g.group.columns.length*g.column,"%;")+"width:".concat(100/g.group.columns.length*.5*(1+g.group.columns.length-g.column),"%;"))}e(3,(h=Ui(n=oh(g,c,f,u,s,l),2),C=h[0],R=h[1],n),R)}},[D,P,M,R,v,d,p,b,w,$,S,x,k,A,E,T,O,j,_,L,function(t){return function(n){hc(t)&&t({event:g.event,el:D,jsEvent:n,view:l})}},y,g,function(t){qc[t?"unshift":"push"]((function(){e(0,D=t)}))}]}var pd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,dd,vd,vc,{date:21,chunk:22},[-1,-1]),r}return e}(hf);function yd(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function gd(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function md(t){var n,e;return n=new pd({props:{date:t[0],chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[0]),4&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function bd(t){var n,e;return n=new pd({props:{date:t[0],chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[0]),2&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function wd(t){for(var n,e,r,o,i,a,u,c,f,s,l=t[2],h=[],v=0;v<l.length;v+=1)h[v]=md(gd(t,l,v));for(var d=function(t){return af(h[t],1,1,(function(){h[t]=null}))},p=t[1],y=[],g=0;g<p.length;g+=1)y[g]=bd(yd(t,p,g));var m=function(t){return af(y[t],1,1,(function(){y[t]=null}))};return{c:function(){n=Ec("div"),e=Ec("div");for(var c=0;c<h.length;c+=1)h[c].c();o=Oc(),i=Ec("div");for(var f=0;f<y.length;f+=1)y[f].c();Dc(e,"class",r=t[5].bgEvents),Dc(i,"class",a=t[5].events),Dc(n,"class",u=t[5].day+(t[3]?" "+t[5].today:"")+(t[4]?" "+t[5].highlight:""))},m:function(r,a){xc(r,n,a),Sc(n,e);for(var u=0;u<h.length;u+=1)h[u].m(e,null);Sc(n,o),Sc(n,i);for(var l=0;l<y.length;l+=1)y[l].m(i,null);c=!0,f||(s=_c(n,"click",t[13]),f=!0)},p:function(t,o){var f=Ui(o,1)[0];if(5&f){var s;for(l=t[2],s=0;s<l.length;s+=1){var v=gd(t,l,s);h[s]?(h[s].p(v,f),of(h[s],1)):(h[s]=md(v),h[s].c(),of(h[s],1),h[s].m(e,null))}for(ef(),s=l.length;s<h.length;s+=1)d(s);rf()}if((!c||32&f&&r!==(r=t[5].bgEvents))&&Dc(e,"class",r),3&f){var g;for(p=t[1],g=0;g<p.length;g+=1){var b=yd(t,p,g);y[g]?(y[g].p(b,f),of(y[g],1)):(y[g]=bd(b),y[g].c(),of(y[g],1),y[g].m(i,null))}for(ef(),g=p.length;g<y.length;g+=1)m(g);rf()}(!c||32&f&&a!==(a=t[5].events))&&Dc(i,"class",a),(!c||56&f&&u!==(u=t[5].day+(t[3]?" "+t[5].today:"")+(t[4]?" "+t[5].highlight:"")))&&Dc(n,"class",u)},i:function(t){if(!c){for(var n=0;n<l.length;n+=1)of(h[n]);for(var e=0;e<p.length;e+=1)of(y[e]);c=!0}},o:function(t){h=Vo(h).call(h,Boolean);for(var n=0;n<h.length;n+=1)af(h[n]);y=Vo(y).call(y,Boolean);for(var e=0;e<y.length;e+=1)af(y[e]);c=!1},d:function(t){t&&kc(n),Ac(h,t),Ac(y,t),f=!1,s()}}}function $d(t,n,e){var r,o,i,a,u,c,f,s=n.date,l=n.resource,h=void 0===l?void 0:l,v=Uc("state"),d=v._events,p=v.dateClick,y=v.highlightedDates,g=v.slotDuration,m=v._view,b=v.theme;yc(t,d,(function(t){return e(16,o=t)})),yc(t,p,(function(t){return e(18,a=t)})),yc(t,y,(function(t){return e(17,i=t)})),yc(t,g,(function(t){return e(19,u=t)})),yc(t,m,(function(t){return e(20,c=t)})),yc(t,b,(function(t){return e(5,f=t)}));var w,$,S=Uc("view-state")._slotTimeLimits;yc(t,S,(function(t){return e(15,r=t)}));var x,k,A=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,s=t.date),"resource"in t&&e(14,h=t.resource)},t.$$.update=function(){if(114695&t.$$.dirty){e(1,w=[]),e(2,$=[]);var n,a=Fl(Bl(s),r.min),u=Fl(Bl(s),r.max),c=Qv(o);try{for(c.s();!(n=c.n()).done;){var f,l=n.value;if(l.start<u&&l.end>a&&(void 0===h||Pi(f=l.resourceIds).call(f,h.id))){var v=eh(l,a,u);switch(l.display){case"background":$.push(v);break;default:w.push(v)}}}}catch(t){c.e(t)}finally{c.f()}!function(t){if(t.length){rh(t);var n,e={columns:[],end:t[0].end},r=Qv(t);try{for(r.s();!(n=r.n()).done;){var o=n.value,i=0;if(o.start<e.end){for(;i<e.columns.length&&!(e.columns[i][e.columns[i].length-1].end<=o.start);++i);o.end>e.end&&(e.end=o.end)}else e={columns:[],end:o.end};e.columns.length<i+1&&e.columns.push([]),e.columns[i].push(o),o.group=e,o.column=i}}catch(t){r.e(t)}finally{r.f()}}}(w)}131073&t.$$.dirty&&(e(3,x=Hl(s,A)),e(4,k=Vh(i).call(i,(function(t){return Hl(t,s)}))))},[s,w,$,x,k,f,d,p,y,g,m,b,S,function(t){if(hc(a)){var n=t.currentTarget.getBoundingClientRect(),e=t.clientY-n.top,o=Fl(Bl(s),u,Math.floor(e/24+r.min.seconds/u.seconds));a({date:o,jsEvent:t,view:c,resource:h})}},h]}var Sd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,$d,wd,vc,{date:0,resource:14}),r}return e}(hf);function xd(t,n,e){var r=Ao(t).call(t);return r[7]=n[e],r}function kd(t,n,e){var r=Ao(t).call(t);return r[7]=n[e],r}function Ad(t){var n,e,r,o=t[2].format(t[7])+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[1].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){5&i&&o!==(o=t[2].format(t[7])+"")&&Mc(e,o),2&i&&r!==(r=t[1].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function Ed(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=Ad(kd(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){if(7&o){var i;for(e=t[0],i=0;i<e.length;i+=1){var a=kd(t,e,i);r[i]?r[i].p(a,o):(r[i]=Ad(a),r[i].c(),r[i].m(n.parentNode,n))}for(;i<r.length;i+=1)r[i].d(1);r.length=e.length}},d:function(t){Ac(r,t),t&&kc(n)}}}function Td(t){var n,e;return n=new Sd({props:{date:t[7]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[7]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Od(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=Td(xd(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(1&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=xd(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Td(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function jd(t){var n,e,r,o;return n=new id({props:{$$slots:{default:[Ed]},$$scope:{ctx:t}}}),r=new hd({props:{$$slots:{default:[Od]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,e){var o=Ui(e,1)[0],i={};4103&o&&(i.$$scope={dirty:o,ctx:t}),n.$set(i);var a={};4097&o&&(a.$$scope={dirty:o,ctx:t}),r.$set(a)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function _d(t,n,e){var r,o,i,a=Uc("state"),u=a._viewDates,c=a._intlDayHeader,f=a.theme;return yc(t,u,(function(t){return e(0,r=t)})),yc(t,c,(function(t){return e(2,i=t)})),yc(t,f,(function(t){return e(1,o=t)})),Fc("view-state",new td(Uc("state"))),[r,o,i,u,c,f]}var Dd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,_d,jd,vc,{}),r}return e}(hf),Pd={createOptions:function(t){t.buttonText.timeGridDay="day",t.buttonText.timeGridWeek="week",t.view="timeGridWeek",t.views.timeGridDay={component:Dd,dayHeaderFormat:{weekday:"long"},duration:{days:1},titleFormat:{year:"numeric",month:"long",day:"numeric"}},t.views.timeGridWeek={component:Dd,duration:{weeks:1}}}};function Md(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function Rd(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Cd(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Cd(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Cd(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Ld(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function Id(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function Bd(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function Fd(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function Ud(t){for(var n,e,r=t[2],o=[],i=0;i<r.length;i+=1)o[i]=Nd(Bd(t,r,i));return{c:function(){n=Ec("div");for(var r=0;r<o.length;r+=1)o[r].c();Dc(n,"class",e=t[1].days)},m:function(t,e){xc(t,n,e);for(var r=0;r<o.length;r+=1)o[r].m(n,null)},p:function(t,i){if(14&i){var a;for(r=t[2],a=0;a<r.length;a+=1){var u=Bd(t,r,a);o[a]?o[a].p(u,i):(o[a]=Nd(u),o[a].c(),o[a].m(n,null))}for(;a<o.length;a+=1)o[a].d(1);o.length=r.length}2&i&&e!==(e=t[1].days)&&Dc(n,"class",e)},d:function(t){t&&kc(n),Ac(o,t)}}}function Nd(t){var n,e,r,o=t[3].format(t[19])+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[1].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){12&i&&o!==(o=t[3].format(t[19])+"")&&Mc(e,o),2&i&&r!==(r=t[1].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function qd(t){var n,e,r,o,i,a,u,c=t[16].title+"",f=t[2].length>1&&Ud(t);return{c:function(){n=Ec("div"),e=Ec("div"),r=Tc(c),i=Oc(),f&&f.c(),a=Oc(),Dc(e,"class",o=t[1].day),Dc(n,"class",u=t[1].resource)},m:function(t,o){xc(t,n,o),Sc(n,e),Sc(e,r),Sc(n,i),f&&f.m(n,null),Sc(n,a)},p:function(t,i){1&i&&c!==(c=t[16].title+"")&&Mc(r,c),2&i&&o!==(o=t[1].day)&&Dc(e,"class",o),t[2].length>1?f?f.p(t,i):((f=Ud(t)).c(),f.m(n,a)):f&&(f.d(1),f=null),2&i&&u!==(u=t[1].resource)&&Dc(n,"class",u)},d:function(t){t&&kc(n),f&&f.d()}}}function zd(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=qd(Fd(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){if(15&o){var i;for(e=t[0],i=0;i<e.length;i+=1){var a=Fd(t,e,i);r[i]?r[i].p(a,o):(r[i]=qd(a),r[i].c(),r[i].m(n.parentNode,n))}for(;i<r.length;i+=1)r[i].d(1);r.length=e.length}},d:function(t){Ac(r,t),t&&kc(n)}}}function Gd(t){var n,e;return n=new Sd({props:{date:t[19],resource:t[16]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.date=t[19]),1&e&&(r.resource=t[16]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Hd(t){for(var n,e,r,o,i=t[2],a=[],u=0;u<i.length;u+=1)a[u]=Gd(Ld(t,i,u));var c=function(t){return af(a[t],1,1,(function(){a[t]=null}))};return{c:function(){n=Ec("div");for(var o=0;o<a.length;o+=1)a[o].c();e=Oc(),Dc(n,"class",r=t[1].resource)},m:function(t,r){xc(t,n,r);for(var i=0;i<a.length;i+=1)a[i].m(n,null);Sc(n,e),o=!0},p:function(t,u){if(5&u){var f;for(i=t[2],f=0;f<i.length;f+=1){var s=Ld(t,i,f);a[f]?(a[f].p(s,u),of(a[f],1)):(a[f]=Gd(s),a[f].c(),of(a[f],1),a[f].m(n,e))}for(ef(),f=i.length;f<a.length;f+=1)c(f);rf()}(!o||2&u&&r!==(r=t[1].resource))&&Dc(n,"class",r)},i:function(t){if(!o){for(var n=0;n<i.length;n+=1)of(a[n]);o=!0}},o:function(t){a=Vo(a).call(a,Boolean);for(var n=0;n<a.length;n+=1)af(a[n]);o=!1},d:function(t){t&&kc(n),Ac(a,t)}}}function Wd(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=Hd(Id(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(7&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=Id(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Hd(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Vd(t){var n,e,r,o;return n=new id({props:{$$slots:{default:[zd]},$$scope:{ctx:t}}}),r=new hd({props:{$$slots:{default:[Wd]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,e){var o=Ui(e,1)[0],i={};67108879&o&&(i.$$scope={dirty:o,ctx:t}),n.$set(i);var a={};67108871&o&&(a.$$scope={dirty:o,ctx:t}),r.$set(a)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function Jd(t,n,e){var r,o,i,a,u,c,f,s=Uc("state"),l=s.resources,h=s.filterResourcesWithEvents,v=s._activeRange,d=s._events,p=s._viewDates,y=s._intlDayHeader,g=s.theme;yc(t,l,(function(t){return e(11,r=t)})),yc(t,h,(function(t){return e(12,o=t)})),yc(t,v,(function(t){return e(14,a=t)})),yc(t,d,(function(t){return e(13,i=t)})),yc(t,p,(function(t){return e(2,c=t)})),yc(t,y,(function(t){return e(3,f=t)})),yc(t,g,(function(t){return e(1,u=t)})),Fc("view-state",new td(Uc("state")));var m=r;return t.$$.update=function(){30721&t.$$.dirty&&(o&&e(0,m=Vo(r).call(r,(function(t){var n,e=Rd(i);try{for(e.s();!(n=e.n()).done;){var r,o=n.value;if("auto"===o.display&&Pi(r=o.resourceIds).call(r,t.id)&&o.start<a.end&&o.end>a.start)return!0}}catch(t){e.e(t)}finally{e.f()}return!1}))),m.length||e(0,m=l.mutate([{}])))},[m,u,c,f,l,h,v,d,p,y,g]}var Yd=function(t){Ut(e,t);var n=Md(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Jd,Vd,vc,{}),r}return e}(hf),Xd={createOptions:function(t){t.resources=[],t.filterResourcesWithEvents=!1,t.buttonText.resourceTimeGridDay="day",t.buttonText.resourceTimeGridWeek="week",t.theme.resource="ec-resource",t.theme.resourceTitle="ec-resource-title",t.view="resourceTimeGridWeek",t.views.resourceTimeGridDay={component:Yd,duration:{days:1}},t.views.resourceTimeGridWeek={component:Yd,duration:{weeks:1}}},createMutators:function(t,n){t.resources=Kd}};function Kd(t){return Wi(t).call(t,(function(t){return{id:String(t.id),title:t.title||""}}))}var Qd=[].slice,Zd=/MSIE .\./.test(se),tp=function(t){return function(n,e){var r=arguments.length>2,o=r?Qd.call(arguments,2):void 0;return t(r?function(){("function"==typeof n?n:Function(n)).apply(this,o)}:n,e)}};z({global:!0,bind:!0,forced:Zd},{setTimeout:tp(o.setTimeout),setInterval:tp(o.setInterval)});var np,ep=R.setTimeout,rp=Ta.trim;z({target:"String",proto:!0,forced:(np="trim",i((function(){return!!Sa[np]()||"​…᠎"!="​…᠎"[np]()||Sa[np].name!==np})))},{trim:function(){return rp(this)}});var op=$o("String").trim,ip=String.prototype,ap=function(t){var n=t.trim;return"string"==typeof t||t===ip||t instanceof String&&n===ip.trim?op:n},up=R.URLSearchParams,cp=$o("Array").entries,fp=Array.prototype,sp={DOMTokenList:!0,NodeList:!0},lp=function(t){var n=t.entries;return t===fp||t instanceof Array&&n===fp.entries||sp.hasOwnProperty(Tn(t))?cp:n},hp=Oe.f,vp=i((function(){return!Object.getOwnPropertyNames(1)}));z({target:"Object",stat:!0,forced:vp},{getOwnPropertyNames:hp});var dp=R.Object,pp=function(t){return dp.getOwnPropertyNames(t)},yp=oe,gp="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==gp&&gp,mp="URLSearchParams"in gp,bp="Symbol"in gp&&"iterator"in Xr,wp="FileReader"in gp&&"Blob"in gp&&function(){try{return new Blob,!0}catch(t){return!1}}(),$p="FormData"in gp,Sp="ArrayBuffer"in gp;if(Sp)var xp=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],kp=ArrayBuffer.isView||function(t){return t&&Ha(xp).call(xp,Object.prototype.toString.call(t))>-1};function Ap(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Ep(t){return"string"!=typeof t&&(t=String(t)),t}function Tp(t){var n={next:function(){var n=t.shift();return{done:void 0===n,value:n}}};return bp&&(n[yp]=function(){return n}),n}function Op(t){if(this.map={},t instanceof Op)Bo(t).call(t,(function(t,n){this.append(n,t)}),this);else if(Jr(t))Bo(t).call(t,(function(t){this.append(t[0],t[1])}),this);else if(t){var n;Bo(n=pp(t)).call(n,(function(n){this.append(n,t[n])}),this)}}function jp(t){if(t.bodyUsed)return ic.reject(new TypeError("Already read"));t.bodyUsed=!0}function _p(t){return new ic((function(n,e){t.onload=function(){n(t.result)},t.onerror=function(){e(t.error)}}))}function Dp(t){var n=new FileReader,e=_p(n);return n.readAsArrayBuffer(t),e}function Pp(t){if(Ao(t))return Ao(t).call(t,0);var n=new Uint8Array(t.byteLength);return n.set(new Uint8Array(t)),n.buffer}function Mp(){return this.bodyUsed=!1,this._initBody=function(t){var n;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:wp&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:$p&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:mp&&up.prototype.isPrototypeOf(t)?this._bodyText=t.toString():Sp&&wp&&((n=t)&&DataView.prototype.isPrototypeOf(n))?(this._bodyArrayBuffer=Pp(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Sp&&(ArrayBuffer.prototype.isPrototypeOf(t)||kp(t))?this._bodyArrayBuffer=Pp(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):mp&&up.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},wp&&(this.blob=function(){var t=jp(this);if(t)return t;if(this._bodyBlob)return ic.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return ic.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return ic.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t,n=jp(this);return n||(ArrayBuffer.isView(this._bodyArrayBuffer)?ic.resolve(Ao(t=this._bodyArrayBuffer.buffer).call(t,this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):ic.resolve(this._bodyArrayBuffer))}return this.blob().then(Dp)}),this.text=function(){var t=jp(this);if(t)return t;if(this._bodyBlob)return function(t){var n=new FileReader,e=_p(n);return n.readAsText(t),e}(this._bodyBlob);if(this._bodyArrayBuffer)return ic.resolve(function(t){for(var n=new Uint8Array(t),e=new Array(n.length),r=0;r<n.length;r++)e[r]=String.fromCharCode(n[r]);return e.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return ic.resolve(this._bodyText)},$p&&(this.formData=function(){return this.text().then(Lp)}),this.json=function(){return this.text().then(JSON.parse)},this}Op.prototype.append=function(t,n){t=Ap(t),n=Ep(n);var e=Wi(this)[t];Wi(this)[t]=e?e+", "+n:n},Op.prototype.delete=function(t){delete Wi(this)[Ap(t)]},Op.prototype.get=function(t){return t=Ap(t),this.has(t)?Wi(this)[t]:null},Op.prototype.has=function(t){return Wi(this).hasOwnProperty(Ap(t))},Op.prototype.set=function(t,n){Wi(this)[Ap(t)]=Ep(n)},Op.prototype.forEach=function(t,n){for(var e in Wi(this))Wi(this).hasOwnProperty(e)&&t.call(n,Wi(this)[e],e,this)},Op.prototype.keys=function(){var t=[];return Bo(this).call(this,(function(n,e){t.push(e)})),Tp(t)},Op.prototype.values=function(){var t=[];return Bo(this).call(this,(function(n){t.push(n)})),Tp(t)},Op.prototype.entries=function(){var t=[];return Bo(this).call(this,(function(n,e){t.push([e,n])})),Tp(t)},bp&&(Op.prototype[yp]=lp(Op.prototype));var Rp=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Cp(t,n){if(!(this instanceof Cp))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var e,r,o=(n=n||{}).body;if(t instanceof Cp){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,n.headers||(this.headers=new Op(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=n.credentials||this.credentials||"same-origin",!n.headers&&this.headers||(this.headers=new Op(n.headers)),this.method=(e=n.method||this.method||"GET",r=e.toUpperCase(),Ha(Rp).call(Rp,r)>-1?r:e),this.mode=n.mode||this.mode||null,this.signal=n.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(o),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==n.cache&&"no-cache"!==n.cache)){var i=/([?&])_=[^&]*/;if(i.test(this.url))this.url=this.url.replace(i,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function Lp(t){var n,e=new FormData;return Bo(n=ap(t).call(t).split("&")).call(n,(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}})),e}function Ip(t,n){if(!(this instanceof Ip))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');n||(n={}),this.type="default",this.status=void 0===n.status?200:n.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in n?n.statusText:"",this.headers=new Op(n.headers),this.url=n.url||"",this._initBody(t)}Cp.prototype.clone=function(){return new Cp(this,{body:this._bodyInit})},Mp.call(Cp.prototype),Mp.call(Ip.prototype),Ip.prototype.clone=function(){return new Ip(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Op(this.headers),url:this.url})},Ip.error=function(){var t=new Ip(null,{status:0,statusText:""});return t.type="error",t};var Bp=[301,302,303,307,308];Ip.redirect=function(t,n){if(-1===Ha(Bp).call(Bp,n))throw new RangeError("Invalid status code");return new Ip(null,{status:n,headers:{location:t}})};var Fp=gp.DOMException;try{new Fp}catch(t){(Fp=function(t,n){this.message=t,this.name=n;var e=Error(t);this.stack=e.stack}).prototype=uc(Error.prototype),Fp.prototype.constructor=Fp}function Up(t,n){return new ic((function(e,r){var o=new Cp(t,n);if(o.signal&&o.signal.aborted)return r(new Fp("Aborted","AbortError"));var i,a,u,c=new XMLHttpRequest;function f(){c.abort()}(c.onload=function(){var t,n,r,o,i={status:c.status,statusText:c.statusText,headers:(t=c.getAllResponseHeaders()||"",r=new Op,o=t.replace(/\r?\n[\t ]+/g," "),Bo(n=o.split(/\r?\n/)).call(n,(function(t){var n,e=t.split(":"),o=ap(n=e.shift()).call(n);if(o){var i,a=ap(i=e.join(":")).call(i);r.append(o,a)}})),r)};i.url="responseURL"in c?c.responseURL:i.headers.get("X-Request-URL");var a="response"in c?c.response:c.responseText;ep((function(){e(new Ip(a,i))}),0)},c.onerror=function(){ep((function(){r(new TypeError("Network request failed"))}),0)},c.ontimeout=function(){ep((function(){r(new TypeError("Network request failed"))}),0)},c.onabort=function(){ep((function(){r(new Fp("Aborted","AbortError"))}),0)},c.open(o.method,function(t){try{return""===t&&gp.location.href?gp.location.href:t}catch(n){return t}}(o.url),!0),"include"===o.credentials?c.withCredentials=!0:"omit"===o.credentials&&(c.withCredentials=!1),"responseType"in c)&&(wp?c.responseType="blob":Sp&&o.headers.get("Content-Type")&&-1!==Ha(i=o.headers.get("Content-Type")).call(i,"application/octet-stream")&&(c.responseType="arraybuffer"));!n||"object"!==lr(n.headers)||n.headers instanceof Op?Bo(a=o.headers).call(a,(function(t,n){c.setRequestHeader(n,t)})):Bo(u=pp(n.headers)).call(u,(function(t){c.setRequestHeader(t,Ep(n.headers[t]))}));o.signal&&(o.signal.addEventListener("abort",f),c.onreadystatechange=function(){4===c.readyState&&o.signal.removeEventListener("abort",f)}),c.send(void 0===o._bodyInit?null:o._bodyInit)}))}Up.polyfill=!0,gp.fetch||(gp.fetch=Up,gp.Headers=Op,gp.Request=Cp,gp.Response=Ip);var Np=Vt.f("toStringTag"),qp=pr,zp=It,Gp=new Gr,Hp=new Gr;function Wp(t){var n=Gp.get(t);return console.assert(null!=n,"'this' is expected an Event object, but got",t),n}function Vp(t){null==t.passiveListener?t.event.cancelable&&(t.canceled=!0,"function"==typeof t.event.preventDefault&&t.event.preventDefault()):"undefined"!=typeof console&&"function"==typeof console.error&&console.error("Unable to preventDefault inside passive event listener invocation.",t.passiveListener)}function Jp(t,n){Gp.set(this,{eventTarget:t,event:n,eventPhase:2,currentTarget:t,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:n.timeStamp||ac()}),Eo(this,"isTrusted",{value:!1,enumerable:!0});for(var e=li(n),r=0;r<e.length;++r){var o=e[r];o in this||Eo(this,o,Yp(o))}}function Yp(t){return{get:function(){return Wp(this).event[t]},set:function(n){Wp(this).event[t]=n},configurable:!0,enumerable:!0}}function Xp(t){return{value:function(){var n=Wp(this).event;return n[t].apply(n,arguments)},configurable:!0,enumerable:!0}}function Kp(t){if(null==t||t===Object.prototype)return Jp;var n=Hp.get(t);return null==n&&(n=function(t,n){var e=li(n);if(0===e.length)return t;function r(n,e){t.call(this,n,e)}r.prototype=uc(t.prototype,{constructor:{value:r,configurable:!0,writable:!0}});for(var o=0;o<e.length;++o){var i=e[o];if(!(i in t.prototype)){var a="function"==typeof No(n,i).value;Eo(r.prototype,i,a?Xp(i):Yp(i))}}return r}(Kp(qp(t)),t),Hp.set(t,n)),n}function Qp(t){return Wp(t).immediateStopped}function Zp(t,n){Wp(t).passiveListener=n}Jp.prototype={get type(){return Wp(this).event.type},get target(){return Wp(this).eventTarget},get currentTarget(){return Wp(this).currentTarget},composedPath:function(){var t=Wp(this).currentTarget;return null==t?[]:[t]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return Wp(this).eventPhase},stopPropagation:function(){var t=Wp(this);t.stopped=!0,"function"==typeof t.event.stopPropagation&&t.event.stopPropagation()},stopImmediatePropagation:function(){var t=Wp(this);t.stopped=!0,t.immediateStopped=!0,"function"==typeof t.event.stopImmediatePropagation&&t.event.stopImmediatePropagation()},get bubbles(){return Boolean(Wp(this).event.bubbles)},get cancelable(){return Boolean(Wp(this).event.cancelable)},preventDefault:function(){Vp(Wp(this))},get defaultPrevented(){return Wp(this).canceled},get composed(){return Boolean(Wp(this).event.composed)},get timeStamp(){return Wp(this).timeStamp},get srcElement(){return Wp(this).eventTarget},get cancelBubble(){return Wp(this).stopped},set cancelBubble(t){if(t){var n=Wp(this);n.stopped=!0,"boolean"==typeof n.event.cancelBubble&&(n.event.cancelBubble=!0)}},get returnValue(){return!Wp(this).canceled},set returnValue(t){t||Vp(Wp(this))},initEvent:function(){}},Eo(Jp.prototype,"constructor",{value:Jp,configurable:!0,writable:!0}),"undefined"!=typeof window&&void 0!==window.Event&&(zp(Jp.prototype,window.Event.prototype),Hp.set(window.Event.prototype,Jp));var ty=new Gr;function ny(t){return null!==t&&"object"===lr(t)}function ey(t){var n=ty.get(t);if(null==n)throw new TypeError("'this' is expected an EventTarget object, but got another value.");return n}function ry(t,n){Eo(t,"on".concat(n),function(t){return{get:function(){for(var n=ey(this).get(t);null!=n;){if(3===n.listenerType)return n.listener;n=n.next}return null},set:function(n){"function"==typeof n||ny(n)||(n=null);for(var e=ey(this),r=null,o=e.get(t);null!=o;)3===o.listenerType?null!==r?r.next=o.next:null!==o.next?e.set(t,o.next):e.delete(t):r=o,o=o.next;if(null!==n){var i={listener:n,listenerType:3,passive:!1,once:!1,next:null};null===r?e.set(t,i):r.next=i}},configurable:!0,enumerable:!0}}(n))}function oy(t){function n(){iy.call(this)}n.prototype=uc(iy.prototype,{constructor:{value:n,configurable:!0,writable:!0}});for(var e=0;e<t.length;++e)ry(n.prototype,t[e]);return n}function iy(){if(!(this instanceof iy)){if(1===arguments.length&&Jr(arguments[0]))return oy(arguments[0]);if(arguments.length>0){for(var t=new Array(arguments.length),n=0;n<arguments.length;++n)t[n]=arguments[n];return oy(t)}throw new TypeError("Cannot call a class as a function")}ty.set(this,new $a)}function ay(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}iy.prototype={addEventListener:function(t,n,e){if(null!=n){if("function"!=typeof n&&!ny(n))throw new TypeError("'listener' should be a function or an object.");var r=ey(this),o=ny(e),i=(o?Boolean(e.capture):Boolean(e))?1:2,a={listener:n,listenerType:i,passive:o&&Boolean(e.passive),once:o&&Boolean(e.once),next:null},u=r.get(t);if(void 0!==u){for(var c=null;null!=u;){if(u.listener===n&&u.listenerType===i)return;c=u,u=u.next}c.next=a}else r.set(t,a)}},removeEventListener:function(t,n,e){if(null!=n)for(var r=ey(this),o=(ny(e)?Boolean(e.capture):Boolean(e))?1:2,i=null,a=r.get(t);null!=a;){if(a.listener===n&&a.listenerType===o)return void(null!==i?i.next=a.next:null!==a.next?r.set(t,a.next):r.delete(t));i=a,a=a.next}},dispatchEvent:function(t){if(null==t||"string"!=typeof t.type)throw new TypeError('"event.type" should be a string.');var n=ey(this),e=t.type,r=n.get(e);if(null==r)return!0;for(var o=function(t,n){return new(Kp(qp(n)))(t,n)}(this,t),i=null;null!=r;){if(r.once?null!==i?i.next=r.next:null!==r.next?n.set(e,r.next):n.delete(e):i=r,Zp(o,r.passive?r.listener:null),"function"==typeof r.listener)try{r.listener.call(this,o)}catch(t){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(t)}else 3!==r.listenerType&&"function"==typeof r.listener.handleEvent&&r.listener.handleEvent(o);if(Qp(o))break;r=r.next}return Zp(o,null),function(t,n){Wp(t).eventPhase=n}(o,0),function(t,n){Wp(t).currentTarget=n}(o,null),!o.defaultPrevented}},Eo(iy.prototype,"constructor",{value:iy,configurable:!0,writable:!0}),"undefined"!=typeof window&&void 0!==window.EventTarget&&zp(iy.prototype,window.EventTarget.prototype);var uy=function(t){Ut(e,t);var n=ay(e);function e(){throw Pt(this,e),n.call(this),new TypeError("AbortSignal cannot be constructed directly")}return so(e,[{key:"aborted",get:function(){var t=cy.get(this);if("boolean"!=typeof t)throw new TypeError("Expected 'this' to be an 'AbortSignal' object, but got ".concat(null===this?"null":lr(this)));return t}}]),e}(iy);ry(uy.prototype,"abort");var cy=new Gr;To(uy.prototype,{aborted:{enumerable:!0}}),"function"==typeof Xr&&"symbol"===lr(Np)&&Eo(uy.prototype,Np,{configurable:!0,value:"AbortSignal"});var fy=function(){function t(){var n;Pt(this,t),sy.set(this,(n=uc(uy.prototype),iy.call(n),cy.set(n,!1),n))}return so(t,[{key:"abort",value:function(){var t;t=ly(this),!1===cy.get(t)&&(cy.set(t,!0),t.dispatchEvent({type:"abort"}))}},{key:"signal",get:function(){return ly(this)}}]),t}(),sy=new Gr;function ly(t){var n=sy.get(t);if(null==n)throw new TypeError("Expected 'this' to be an 'AbortController' object, but got ".concat(null===t?"null":lr(t)));return n}To(fy.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),"function"==typeof Xr&&"symbol"===lr(Np)&&Eo(fy.prototype,Np,{configurable:!0,value:"AbortController"});var hy="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;function vy(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}return hy&&(void 0===hy.AbortController&&(hy.AbortController=fy),void 0===hy.AbortSignal&&(hy.AbortSignal=uy)),function(t){Ut(e,t);var n=vy(e);function e(t,r){return Pt(this,e),r.plugins=r.plugins||[Av,Xv,Pd,Xd],n.call(this,t,r)}return e}(Nh)}();
backend/modules/calendar/resources/js/fc-multistaff-view.js DELETED
@@ -1,160 +0,0 @@
1
- (function($) {
2
- var FC = $.fullCalendar; // a reference to FullCalendar's root namespace
3
-
4
- var MultiStaffView = FC.views.agenda.class.extend({
5
- initialize: function() {
6
- FC.views.agenda.class.prototype.initialize.apply(this, arguments);
7
-
8
- this.timeGrid.rangeUpdated = function() {
9
- var view = this.view;
10
- var colDates = [];
11
- var date;
12
-
13
- date = this.start.clone();
14
- while (date.isBefore(this.end)) {
15
- for (var i = 0; i < this.view.opt('staffMembers').length; ++ i) {
16
- // For each staff create separate column.
17
- colDates.push(date.clone());
18
- }
19
- date.add(1, 'day');
20
- date = view.skipHiddenDays(date);
21
- }
22
-
23
- if (this.isRTL) {
24
- colDates.reverse();
25
- }
26
-
27
- this.colDates = colDates;
28
- this.colCnt = colDates.length;
29
- this.rowCnt = Math.ceil((this.maxTime - this.minTime) / this.snapDuration);
30
- };
31
-
32
- this.timeGrid.groupSegCols = function(segs) {
33
- var segCols = [];
34
- var i;
35
-
36
- for (i = 0; i < this.colCnt; i++) {
37
- segCols.push([]);
38
- }
39
-
40
- var staffCols = {};
41
- for (var i = 0; i < this.view.opt('staffMembers').length; ++ i) {
42
- staffCols[this.view.opt('staffMembers')[i].id] = i;
43
- }
44
-
45
- for (i = 0; i < segs.length; i++) {
46
- segCols[staffCols[segs[i].event.staffId]].push(segs[i]);
47
- }
48
-
49
- return segCols;
50
- };
51
-
52
- this.timeGrid.rangeToSegs = function(range) {
53
- var colCnt = this.colCnt;
54
- var segs = [];
55
- var seg;
56
- var col;
57
- var colDate;
58
- var colRange;
59
-
60
- // Take staff id into account too.
61
- range = {
62
- start: range.start.clone().stripZone(),
63
- end: range.end.clone().stripZone(),
64
- staffId: range.event.staffId
65
- };
66
-
67
- for (col = 0; col < colCnt; col++) {
68
- colDate = this.colDates[col];
69
- colRange = {
70
- start: colDate.clone().time(this.minTime),
71
- end: colDate.clone().time(this.maxTime),
72
- staffId: this.view.opt('staffMembers')[col].id
73
- };
74
- seg = intersectionToSeg(range, colRange);
75
- if (seg) {
76
- seg.col = col;
77
- segs.push(seg);
78
- }
79
- }
80
-
81
- return segs;
82
- };
83
-
84
- this.timeGrid.headHtml = function() {
85
- var rowCellHtml = '';
86
- var col;
87
-
88
- for (col = 0; col < this.colCnt; col++) {
89
- rowCellHtml += '<th class="fc-day-header fc-widget-header fc-mon">' + this.view.opt('staffMembers')[col].name + '</th>'
90
- }
91
-
92
- rowCellHtml = this.bookendCells(rowCellHtml, 'head', 0);
93
-
94
- return '' +
95
- '<div class="fc-row ' + this.view.widgetHeaderClass + '">' +
96
- '<table>' +
97
- '<thead>' +
98
- '<tr>' + rowCellHtml + '</tr>' +
99
- '</thead>' +
100
- '</table>' +
101
- '</div>';
102
- };
103
- }
104
- });
105
-
106
-
107
- FC.views.multiStaff = {
108
- 'class': MultiStaffView, // register our class with the view system
109
- defaults: {
110
- staffMembers: [],
111
- allDaySlot: true,
112
- allDayText: 'all-day',
113
- slotDuration: '00:30:00',
114
- minTime: '00:00:00',
115
- maxTime: '24:00:00',
116
- slotEventOverlap: true // a bad name. confused with overlap/constraint system
117
- }
118
- };
119
-
120
- FC.views.multiStaffDay = {
121
- type: 'multiStaff',
122
- duration: { days: 1 }
123
- };
124
-
125
- function intersectionToSeg(subjectRange, constraintRange) {
126
- var subjectStart = subjectRange.start;
127
- var subjectEnd = subjectRange.end;
128
- var constraintStart = constraintRange.start;
129
- var constraintEnd = constraintRange.end;
130
- var segStart, segEnd;
131
- var isStart, isEnd;
132
-
133
- // Take staff id into account too.
134
- if (subjectEnd > constraintStart && subjectStart < constraintEnd && subjectRange.staffId == constraintRange.staffId) {
135
-
136
- if (subjectStart >= constraintStart) {
137
- segStart = subjectStart.clone();
138
- isStart = true;
139
- } else {
140
- segStart = constraintStart.clone();
141
- isStart = false;
142
- }
143
-
144
- if (subjectEnd <= constraintEnd) {
145
- segEnd = subjectEnd.clone();
146
- isEnd = true;
147
- } else {
148
- segEnd = constraintEnd.clone();
149
- isEnd = false;
150
- }
151
-
152
- return {
153
- start: segStart,
154
- end: segEnd,
155
- isStart: isStart,
156
- isEnd: isEnd
157
- };
158
- }
159
- }
160
- })(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
backend/modules/calendar/resources/js/fullcalendar.min.js DELETED
@@ -1,9 +0,0 @@
1
- /*!
2
- * FullCalendar v2.4.0 (patched in BP-2145)
3
- * Docs & License: http://fullcalendar.io/
4
- * (c) 2015 Adam Shaw
5
- */
6
- !function(a){"function"==typeof define&&define.amd?define(["jquery","moment"],a):"object"==typeof exports?module.exports=a(require("jquery"),require("moment")):a(jQuery,moment)}(function(a,b){function c(a){return Q(a,Oa)}function d(b){var c,d={views:b.views||{}};return a.each(b,function(b,e){"views"!=b&&(a.isPlainObject(e)&&!/(time|duration|interval)$/i.test(b)&&-1==a.inArray(b,Oa)?(c=null,a.each(e,function(a,e){/^(month|week|day|default|basic(Week|Day)?|agenda(Week|Day)?)$/.test(a)?(d.views[a]||(d.views[a]={}),d.views[a][b]=e):(c||(c={}),c[a]=e)}),c&&(d[b]=c)):d[b]=e)}),d}function e(a,b){b.left&&a.css({"border-left-width":1,"margin-left":b.left-1}),b.right&&a.css({"border-right-width":1,"margin-right":b.right-1})}function f(a){a.css({"margin-left":"","margin-right":"","border-left-width":"","border-right-width":""})}function g(){a("body").addClass("fc-not-allowed")}function h(){a("body").removeClass("fc-not-allowed")}function i(b,c,d){var e=Math.floor(c/b.length),f=Math.floor(c-e*(b.length-1)),g=[],h=[],i=[],k=0;j(b),b.each(function(c,d){var j=c===b.length-1?f:e,l=a(d).outerHeight(!0);j>l?(g.push(d),h.push(l),i.push(a(d).height())):k+=l}),d&&(c-=k,e=Math.floor(c/g.length),f=Math.floor(c-e*(g.length-1))),a(g).each(function(b,c){var d=b===g.length-1?f:e,j=h[b],k=i[b],l=d-(j-k);d>j&&a(c).height(l)})}function j(a){a.height("")}function k(b){var c=0;return b.find("> *").each(function(b,d){var e=a(d).outerWidth();e>c&&(c=e)}),c++,b.width(c),c}function l(a,b){return a.height(b).addClass("fc-scroller"),a[0].scrollHeight-1>a[0].clientHeight?!0:(m(a),!1)}function m(a){a.height("").removeClass("fc-scroller")}function n(b){var c=b.css("position"),d=b.parents().filter(function(){var b=a(this);return/(auto|scroll)/.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&d.length?d:a(b[0].ownerDocument||document)}function o(a){var b=a.offset();return{left:b.left,right:b.left+a.outerWidth(),top:b.top,bottom:b.top+a.outerHeight()}}function p(a){var b=a.offset(),c=r(a),d=b.left+u(a,"border-left-width")+c.left,e=b.top+u(a,"border-top-width")+c.top;return{left:d,right:d+a[0].clientWidth,top:e,bottom:e+a[0].clientHeight}}function q(a){var b=a.offset(),c=b.left+u(a,"border-left-width")+u(a,"padding-left"),d=b.top+u(a,"border-top-width")+u(a,"padding-top");return{left:c,right:c+a.width(),top:d,bottom:d+a.height()}}function r(a){var b=a.innerWidth()-a[0].clientWidth,c={left:0,right:0,top:0,bottom:a.innerHeight()-a[0].clientHeight};return s()&&"rtl"==a.css("direction")?c.left=b:c.right=b,c}function s(){return null===Pa&&(Pa=t()),Pa}function t(){var b=a("<div><div/></div>").css({position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}).appendTo("body"),c=b.children(),d=c.offset().left>b.offset().left;return b.remove(),d}function u(a,b){return parseFloat(a.css(b))||0}function v(a){return 1==a.which&&!a.ctrlKey}function w(a,b){var c={left:Math.max(a.left,b.left),right:Math.min(a.right,b.right),top:Math.max(a.top,b.top),bottom:Math.min(a.bottom,b.bottom)};return c.left<c.right&&c.top<c.bottom?c:!1}function x(a,b){return{left:Math.min(Math.max(a.left,b.left),b.right),top:Math.min(Math.max(a.top,b.top),b.bottom)}}function y(a){return{left:(a.left+a.right)/2,top:(a.top+a.bottom)/2}}function z(a,b){return{left:a.left-b.left,top:a.top-b.top}}function A(b){var c,d,e=[],f=[];for("string"==typeof b?f=b.split(/\s*,\s*/):"function"==typeof b?f=[b]:a.isArray(b)&&(f=b),c=0;c<f.length;c++)d=f[c],"string"==typeof d?e.push("-"==d.charAt(0)?{field:d.substring(1),order:-1}:{field:d,order:1}):"function"==typeof d&&e.push({func:d});return e}function B(a,b,c){var d,e;for(d=0;d<c.length;d++)if(e=C(a,b,c[d]))return e;return 0}function C(a,b,c){return c.func?c.func(a,b):D(a[c.field],b[c.field])*(c.order||1)}function D(b,c){return b||c?null==c?-1:null==b?1:"string"===a.type(b)||"string"===a.type(c)?String(b).localeCompare(String(c)):b-c:0}function E(a,b){var c,d,e,f,g=a.start,h=a.end,i=b.start,j=b.end;return h>i&&j>g?(g>=i?(c=g.clone(),e=!0):(c=i.clone(),e=!1),j>=h?(d=h.clone(),f=!0):(d=j.clone(),f=!1),{start:c,end:d,isStart:e,isEnd:f}):void 0}function F(a,c){return b.duration({days:a.clone().stripTime().diff(c.clone().stripTime(),"days"),ms:a.time()-c.time()})}function G(a,c){return b.duration({days:a.clone().stripTime().diff(c.clone().stripTime(),"days")})}function H(a,c,d){return b.duration(Math.round(a.diff(c,d,!0)),d)}function I(a,b){var c,d,e;for(c=0;c<Ra.length&&(d=Ra[c],e=J(d,a,b),!(e>=1&&ba(e)));c++);return d}function J(a,c,d){return null!=d?d.diff(c,a,!0):b.isDuration(c)?c.as(a):c.end.diff(c.start,a,!0)}function K(a,b,c){var d;return N(c)?(b-a)/c:(d=c.asMonths(),Math.abs(d)>=1&&ba(d)?b.diff(a,"months",!0)/d:b.diff(a,"days",!0)/c.asDays())}function L(a,b){var c,d;return N(a)||N(b)?a/b:(c=a.asMonths(),d=b.asMonths(),Math.abs(c)>=1&&ba(c)&&Math.abs(d)>=1&&ba(d)?c/d:a.asDays()/b.asDays())}function M(a,c){var d;return N(a)?b.duration(a*c):(d=a.asMonths(),Math.abs(d)>=1&&ba(d)?b.duration({months:d*c}):b.duration({days:a.asDays()*c}))}function N(a){return Boolean(a.hours()||a.minutes()||a.seconds()||a.milliseconds())}function O(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function P(a){return/^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(a)}function Q(a,b){var c,d,e,f,g,h,i={};if(b)for(c=0;c<b.length;c++){for(d=b[c],e=[],f=a.length-1;f>=0;f--)if(g=a[f][d],"object"==typeof g)e.unshift(g);else if(void 0!==g){i[d]=g;break}e.length&&(i[d]=Q(e))}for(c=a.length-1;c>=0;c--){h=a[c];for(d in h)d in i||(i[d]=h[d])}return i}function R(a){var b=function(){};return b.prototype=a,new b}function S(a,b){for(var c in a)U(a,c)&&(b[c]=a[c])}function T(a,b){var c,d,e=["constructor","toString","valueOf"];for(c=0;c<e.length;c++)d=e[c],a[d]!==Object.prototype[d]&&(b[d]=a[d])}function U(a,b){return Va.call(a,b)}function V(b){return/undefined|null|boolean|number|string/.test(a.type(b))}function W(b,c,d){if(a.isFunction(b)&&(b=[b]),b){var e,f;for(e=0;e<b.length;e++)f=b[e].apply(c,d)||f;return f}}function X(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]}function Y(a){return(a+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function Z(a){return a.replace(/&.*?;/g,"")}function $(b){var c=[];return a.each(b,function(a,b){null!=b&&c.push(a+":"+b)}),c.join(";")}function _(a){return a.charAt(0).toUpperCase()+a.slice(1)}function aa(a,b){return a-b}function ba(a){return a%1===0}function ca(a,b){var c=a[b];return function(){return c.apply(a,arguments)}}function da(a,b){var c,d,e,f,g=function(){var h=+new Date-f;b>h&&h>0?c=setTimeout(g,b-h):(c=null,a.apply(e,d),c||(e=d=null))};return function(){e=this,d=arguments,f=+new Date,c||(c=setTimeout(g,b))}}function zz(b,c){if(!b||!b.then||b.state()==='resolved'){return a.when(c())}else if(c){return b.then(c)}}function ea(c,d,e){var f,g,h,i,j=c[0],k=1==c.length&&"string"==typeof j;return b.isMoment(j)?(i=b.apply(null,c),ga(j,i)):O(j)||void 0===j?i=b.apply(null,c):(f=!1,g=!1,k?Wa.test(j)?(j+="-01",c=[j],f=!0,g=!0):(h=Xa.exec(j))&&(f=!h[5],g=!0):a.isArray(j)&&(g=!0),i=d||f?b.utc.apply(b,c):b.apply(null,c),f?(i._ambigTime=!0,i._ambigZone=!0):e&&(g?i._ambigZone=!0:k&&(i.utcOffset?i.utcOffset(j):i.zone(j)))),i._fullCalendar=!0,i}function fa(a,c){var d,e,f=!1,g=!1,h=a.length,i=[];for(d=0;h>d;d++)e=a[d],b.isMoment(e)||(e=Ma.moment.parseZone(e)),f=f||e._ambigTime,g=g||e._ambigZone,i.push(e);for(d=0;h>d;d++)e=i[d],c||!f||e._ambigTime?g&&!e._ambigZone&&(i[d]=e.clone().stripZone()):i[d]=e.clone().stripTime();return i}function ga(a,b){a._ambigTime?b._ambigTime=!0:b._ambigTime&&(b._ambigTime=!1),a._ambigZone?b._ambigZone=!0:b._ambigZone&&(b._ambigZone=!1)}function ha(a,b){a.year(b[0]||0).month(b[1]||0).date(b[2]||0).hours(b[3]||0).minutes(b[4]||0).seconds(b[5]||0).milliseconds(b[6]||0)}function ia(a,b){return Za.format.call(a,b)}function ja(a,b){return ka(a,pa(b))}function ka(a,b){var c,d="";for(c=0;c<b.length;c++)d+=la(a,b[c]);return d}function la(a,b){var c,d;return"string"==typeof b?b:(c=b.token)?$a[c]?$a[c](a):ia(a,c):b.maybe&&(d=ka(a,b.maybe),d.match(/[1-9]/))?d:""}function ma(a,b,c,d,e){var f;return a=Ma.moment.parseZone(a),b=Ma.moment.parseZone(b),f=(a.localeData||a.lang).call(a),c=f.longDateFormat(c)||c,d=d||" - ",na(a,b,pa(c),d,e)}function na(a,b,c,d,e){var f,g,h,i,j="",k="",l="",m="",n="";for(g=0;g<c.length&&(f=oa(a,b,c[g]),f!==!1);g++)j+=f;for(h=c.length-1;h>g&&(f=oa(a,b,c[h]),f!==!1);h--)k=f+k;for(i=g;h>=i;i++)l+=la(a,c[i]),m+=la(b,c[i]);return(l||m)&&(n=e?m+d+l:l+d+m),j+n+k}function oa(a,b,c){var d,e;return"string"==typeof c?c:(d=c.token)&&(e=_a[d.charAt(0)],e&&a.isSame(b,e))?ia(a,d):!1}function pa(a){return a in ab?ab[a]:ab[a]=qa(a)}function qa(a){for(var b,c=[],d=/\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g;b=d.exec(a);)b[1]?c.push(b[1]):b[2]?c.push({maybe:qa(b[2])}):b[3]?c.push({token:b[3]}):b[5]&&c.push(b[5]);return c}function ra(){}function sa(a,b){return a||b?a&&b?a.grid===b.grid&&a.row===b.row&&a.col===b.col:!1:!0}function ta(a){var b=va(a);return"background"===b||"inverse-background"===b}function ua(a){return"inverse-background"===va(a)}function va(a){return X((a.source||{}).rendering,a.rendering)}function wa(a){var b,c,d={};for(b=0;b<a.length;b++)c=a[b],(d[c._id]||(d[c._id]=[])).push(c);return d}function xa(a,b){return a.eventStartMS-b.eventStartMS}function ya(c){var d,e,f,g,h=Ma.dataAttrPrefix;return h&&(h+="-"),d=c.data(h+"event")||null,d&&(d="object"==typeof d?a.extend({},d):{},e=d.start,null==e&&(e=d.time),f=d.duration,g=d.stick,delete d.start,delete d.time,delete d.duration,delete d.stick),null==e&&(e=c.data(h+"start")),null==e&&(e=c.data(h+"time")),null==f&&(f=c.data(h+"duration")),null==g&&(g=c.data(h+"stick")),e=null!=e?b.duration(e):null,f=null!=f?b.duration(f):null,g=Boolean(g),{eventProps:d,startTime:e,duration:f,stick:g}}function za(a,b){var c,d;for(c=0;c<b.length;c++)if(d=b[c],d.leftCol<=a.rightCol&&d.rightCol>=a.leftCol)return!0;return!1}function Aa(a,b){return a.leftCol-b.leftCol}function Ba(a){var b,c,d,e=[];for(b=0;b<a.length;b++){for(c=a[b],d=0;d<e.length&&Ea(c,e[d]).length;d++);c.level=d,(e[d]||(e[d]=[])).push(c)}return e}function Ca(a){var b,c,d,e,f;for(b=0;b<a.length;b++)for(c=a[b],d=0;d<c.length;d++)for(e=c[d],e.forwardSegs=[],f=b+1;f<a.length;f++)Ea(e,a[f],e.forwardSegs)}function Da(a){var b,c,d=a.forwardSegs,e=0;if(void 0===a.forwardPressure){for(b=0;b<d.length;b++)c=d[b],Da(c),e=Math.max(e,1+c.forwardPressure);a.forwardPressure=e}}function Ea(a,b,c){c=c||[];for(var d=0;d<b.length;d++)Fa(a,b[d])&&c.push(b[d]);return c}function Fa(a,b){return a.bottom>b.top&&a.top<b.bottom}function Ga(c,d){function e(){U?h()&&(k(),i()):f()}function f(){V=O.theme?"ui":"fc",c.addClass("fc"),O.isRTL?c.addClass("fc-rtl"):c.addClass("fc-ltr"),O.theme?c.addClass("ui-widget"):c.addClass("fc-unthemed"),U=a("<div class='fc-view-container'/>").prependTo(c),S=N.header=new Ja(N,O),T=S.render(),T&&c.prepend(T),i(O.defaultView),O.handleWindowResize&&(Y=da(m,O.windowResizeDelay),a(window).resize(Y))}function g(){W&&W.removeElement(),S.removeElement(),U.remove(),c.removeClass("fc fc-ltr fc-rtl fc-unthemed ui-widget"),Y&&a(window).unbind("resize",Y)}function h(){return c.is(":visible")}function i(b){ca++,W&&b&&W.type!==b&&(S.deactivateButton(W.type),H(),W.removeElement(),W=N.view=null),!W&&b&&(W=N.view=ba[b]||(ba[b]=N.instantiateView(b)),W.setElement(a("<div class='fc-view fc-"+b+"-view' />").appendTo(U)),S.activateButton(b)),W&&(Z=W.massageCurrentDate(Z),W.displaying&&Z.isWithin(W.intervalStart,W.intervalEnd)||h()&&(H(),W.display(Z),I(),u(),v(),q())),I(),ca--}function j(a){return h()?(a&&l(),ca++,W.updateSize(!0),ca--,!0):void 0}function k(){h()&&l()}function l(){X="number"==typeof O.contentHeight?O.contentHeight:"number"==typeof O.height?O.height-(T?T.outerHeight(!0):0):Math.round(U.width()/Math.max(O.aspectRatio,.5))}function m(a){!ca&&a.target===window&&W.start&&j(!0)&&W.trigger("windowResize",aa)}function n(){p(),r()}function o(){h()&&(H(),W.displayEvents(ea),I())}function p(){H(),W.clearEvents(),I()}function q(){!O.lazyFetching||$(W.start,W.end)?r():o()}function r(){_(W.start,W.end)}function s(a){ea=a,o()}function t(){o()}function u(){S.updateTitle(W.title)}function v(){var a=N.getNow();a.isWithin(W.intervalStart,W.intervalEnd)?S.disableButton("today"):S.enableButton("today")}function w(a,b){W.select(N.buildSelectRange.apply(N,arguments))}function x(){W&&W.unselect()}function y(){Z=W.computePrevDate(Z),i()}function z(){Z=W.computeNextDate(Z),i()}function A(){Z.add(-1,"years"),i()}function B(){Z.add(1,"years"),i()}function C(){Z=N.getNow(),i()}function D(a){Z=N.moment(a),i()}function E(a){Z.add(b.duration(a)),i()}function F(a,b){var c;b=b||"day",c=N.getViewSpec(b)||N.getUnitViewSpec(b),Z=a,i(c?c.type:null)}function G(){return Z.clone()}function H(){U.css({width:"100%",height:U.height(),overflow:"hidden"})}function I(){U.css({width:"",height:"",overflow:""})}function J(){return N}function K(){return W}function L(a,b){return void 0===b?O[a]:void(("height"==a||"contentHeight"==a||"aspectRatio"==a)&&(O[a]=b,j(!0)))}function M(a,b){var c=Array.prototype.slice.call(arguments,2);return b=b||aa,this.triggerWith(a,b,c),O[a]?O[a].apply(b,c):void 0}var N=this;N.initOptions(d||{});var O=this.options;N.render=e,N.destroy=g,N.refetchEvents=n,N.reportEvents=s,N.reportEventChange=t,N.rerenderEvents=o,N.changeView=i,N.select=w,N.unselect=x,N.prev=y,N.next=z,N.prevYear=A,N.nextYear=B,N.today=C,N.gotoDate=D,N.incrementDate=E,N.zoomTo=F,N.getDate=G,N.getCalendar=J,N.getView=K,N.option=L,N.trigger=M;var P=R(Ia(O.lang));if(O.monthNames&&(P._months=O.monthNames),O.monthNamesShort&&(P._monthsShort=O.monthNamesShort),O.dayNames&&(P._weekdays=O.dayNames),O.dayNamesShort&&(P._weekdaysShort=O.dayNamesShort),null!=O.firstDay){var Q=R(P._week);Q.dow=O.firstDay,P._week=Q}P._fullCalendar_weekCalc=function(a){return"function"==typeof a?a:"local"===a?a:"iso"===a||"ISO"===a?"ISO":void 0}(O.weekNumberCalculation),N.defaultAllDayEventDuration=b.duration(O.defaultAllDayEventDuration),N.defaultTimedEventDuration=b.duration(O.defaultTimedEventDuration),N.moment=function(){var a;return"local"===O.timezone?(a=Ma.moment.apply(null,arguments),a.hasTime()&&a.local()):a="UTC"===O.timezone?Ma.moment.utc.apply(null,arguments):Ma.moment.parseZone.apply(null,arguments),"_locale"in a?a._locale=P:a._lang=P,a},N.getIsAmbigTimezone=function(){return"local"!==O.timezone&&"UTC"!==O.timezone},N.rezoneDate=function(a){return N.moment(a.toArray())},N.getNow=function(){var a=O.now;return"function"==typeof a&&(a=a()),N.moment(a)},N.getEventEnd=function(a){return a.end?a.end.clone():N.getDefaultEventEnd(a.allDay,a.start)},N.getDefaultEventEnd=function(a,b){var c=b.clone();return a?c.stripTime().add(N.defaultAllDayEventDuration):c.add(N.defaultTimedEventDuration),N.getIsAmbigTimezone()&&c.stripZone(),c},N.humanizeDuration=function(a){return(a.locale||a.lang).call(a,O.lang).humanize()},Ka.call(N,O);var S,T,U,V,W,X,Y,Z,$=N.isFetchNeeded,_=N.fetchEvents,aa=c[0],ba={},ca=0,ea=[];Z=null!=O.defaultDate?N.moment(O.defaultDate):N.getNow(),N.getSuggestedViewHeight=function(){return void 0===X&&k(),X},N.isHeightAuto=function(){return"auto"===O.contentHeight||"auto"===O.height},N.initialize()}function Ha(b){a.each(rb,function(a,c){null==b[a]&&(b[a]=c(b))})}function Ia(a){var c=b.localeData||b.langData;return c.call(b,a)||c.call(b,"en")}function Ja(b,c){function d(){var b=c.header;return n=c.theme?"ui":"fc",b?o=a("<div class='fc-toolbar'/>").append(f("left")).append(f("right")).append(f("center")).append('<div class="fc-clear"/>'):void 0}function e(){o.remove(),o=a()}function f(d){var e=a('<div class="fc-'+d+'"/>'),f=c.header[d];return f&&a.each(f.split(" "),function(d){var f,g=a(),h=!0;a.each(this.split(","),function(d,e){var f,i,j,k,l,m,o,q,r,s;"title"==e?(g=g.add(a("<h2>&nbsp;</h2>")),h=!1):((f=(b.options.customButtons||{})[e])?(j=function(a){f.click&&f.click.call(s[0],a)},k="",l=f.text):(i=b.getViewSpec(e))?(j=function(){b.changeView(e)},p.push(e),k=i.buttonTextOverride,l=i.buttonTextDefault):b[e]&&(j=function(){b[e]()},k=(b.overrides.buttonText||{})[e],l=c.buttonText[e]),j&&(m=f?f.themeIcon:c.themeButtonIcons[e],o=f?f.icon:c.buttonIcons[e],q=k?Y(k):m&&c.theme?"<span class='ui-icon ui-icon-"+m+"'></span>":o&&!c.theme?"<span class='fc-icon fc-icon-"+o+"'></span>":Y(l),r=["fc-"+e+"-button",n+"-button",n+"-state-default"],s=a('<button type="button" class="'+r.join(" ")+'">'+q+"</button>").click(function(a){s.hasClass(n+"-state-disabled")||(j(a),(s.hasClass(n+"-state-active")||s.hasClass(n+"-state-disabled"))&&s.removeClass(n+"-state-hover"))}).mousedown(function(){s.not("."+n+"-state-active").not("."+n+"-state-disabled").addClass(n+"-state-down")}).mouseup(function(){s.removeClass(n+"-state-down")}).hover(function(){s.not("."+n+"-state-active").not("."+n+"-state-disabled").addClass(n+"-state-hover")},function(){s.removeClass(n+"-state-hover").removeClass(n+"-state-down")}),g=g.add(s)))}),h&&g.first().addClass(n+"-corner-left").end().last().addClass(n+"-corner-right").end(),g.length>1?(f=a("<div/>"),h&&f.addClass("fc-button-group"),f.append(g),e.append(f)):e.append(g)}),e}function g(a){o.find("h2").text(a)}function h(a){o.find(".fc-"+a+"-button").addClass(n+"-state-active")}function i(a){o.find(".fc-"+a+"-button").removeClass(n+"-state-active")}function j(a){o.find(".fc-"+a+"-button").attr("disabled","disabled").addClass(n+"-state-disabled")}function k(a){o.find(".fc-"+a+"-button").removeAttr("disabled").removeClass(n+"-state-disabled")}function l(){return p}var m=this;m.render=d,m.removeElement=e,m.updateTitle=g,m.activateButton=h,m.deactivateButton=i,m.disableButton=j,m.enableButton=k,m.getViewsWithButtons=l;var n,o=a(),p=[]}function Ka(c){function d(a,b){return!M||a.clone().stripZone()<M.clone().stripZone()||b.clone().stripZone()>N.clone().stripZone()}function e(a,b){M=a,N=b,U=[];var c=++S,d=R.length;T=d;for(var e=0;d>e;e++)f(R[e],c)}function f(b,c){g(b,function(d){var e,f,g,h=a.isArray(b.events);if(c==S){if(d)for(e=0;e<d.length;e++)f=d[e],g=h?f:s(f,b),g&&U.push.apply(U,x(g));T--,T||O(U)}})}function g(b,d){var e,f,h=Ma.sourceFetchers;for(e=0;e<h.length;e++){if(f=h[e].call(L,b,M.clone(),N.clone(),c.timezone,d),f===!0)return;if("object"==typeof f)return void g(f,d)}var i=b.events;if(i)a.isFunction(i)?(L.pushLoading(),i.call(L,M.clone(),N.clone(),c.timezone,function(a){d(a),L.popLoading()})):a.isArray(i)?d(i):d();else{var j=b.url;if(j){var k,l=b.success,m=b.error,n=b.complete;k=a.isFunction(b.data)?b.data():b.data;var o=a.extend({},k||{}),p=X(b.startParam,c.startParam),q=X(b.endParam,c.endParam),r=X(b.timezoneParam,c.timezoneParam);p&&(o[p]=M.format()),q&&(o[q]=N.format()),c.timezone&&"local"!=c.timezone&&(o[r]=c.timezone),L.pushLoading(),a.ajax(a.extend({},sb,b,{data:o,success:function(b){b=b||[];var c=W(l,this,arguments);a.isArray(c)&&(b=c),d(b)},error:function(){W(m,this,arguments),d()},complete:function(){W(n,this,arguments),L.popLoading()}}))}else d()}}function h(a){var b=i(a);b&&(R.push(b),T++,f(b,S))}function i(b){var c,d,e=Ma.sourceNormalizers;if(a.isFunction(b)||a.isArray(b)?c={events:b}:"string"==typeof b?c={url:b}:"object"==typeof b&&(c=a.extend({},b)),c){for(c.className?"string"==typeof c.className&&(c.className=c.className.split(/\s+/)):c.className=[],a.isArray(c.events)&&(c.origArray=c.events,c.events=a.map(c.events,function(a){return s(a,c)})),d=0;d<e.length;d++)e[d].call(L,c);return c}}function j(b){R=a.grep(R,function(a){return!k(a,b)}),U=a.grep(U,function(a){return!k(a.source,b)}),O(U)}function k(a,b){return a&&b&&l(a)==l(b)}function l(a){return("object"==typeof a?a.origArray||a.googleCalendarId||a.url||a.events:null)||a}function m(a){a.start=L.moment(a.start),a.end?a.end=L.moment(a.end):a.end=null,y(a,n(a)),O(U)}function n(b){var c={};return a.each(b,function(a,b){o(a)&&void 0!==b&&V(b)&&(c[a]=b)}),c}function o(a){return!/^_|^(id|allDay|start|end)$/.test(a)}function p(a,b){var c,d,e,f=s(a);if(f){for(c=x(f),d=0;d<c.length;d++)e=c[d],e.source||(b&&(Q.events.push(e),e.source=Q),U.push(e));return O(U),c}return[]}function q(b){var c,d;for(null==b?b=function(){return!0}:a.isFunction(b)||(c=b+"",b=function(a){return a._id==c}),U=a.grep(U,b,!0),d=0;d<R.length;d++)a.isArray(R[d].events)&&(R[d].events=a.grep(R[d].events,b,!0));O(U)}function r(b){return a.isFunction(b)?a.grep(U,b):null!=b?(b+="",a.grep(U,function(a){return a._id==b})):U}function s(d,e){var f,g,h,i={};if(c.eventDataTransform&&(d=c.eventDataTransform(d)),e&&e.eventDataTransform&&(d=e.eventDataTransform(d)),a.extend(i,d),e&&(i.source=e),i._id=d._id||(void 0===d.id?"_fc"+tb++:d.id+""),d.className?"string"==typeof d.className?i.className=d.className.split(/\s+/):i.className=d.className:i.className=[],f=d.start||d.date,g=d.end,P(f)&&(f=b.duration(f)),P(g)&&(g=b.duration(g)),d.dow||b.isDuration(f)||b.isDuration(g))i.start=f?b.duration(f):null,i.end=g?b.duration(g):null,i._recurring=!0;else{if(f&&(f=L.moment(f),!f.isValid()))return!1;g&&(g=L.moment(g),g.isValid()||(g=null)),h=d.allDay,void 0===h&&(h=X(e?e.allDayDefault:void 0,c.allDayDefault)),t(f,g,h,i)}return i}function t(a,b,c,d){d.start=a,d.end=b,d.allDay=c,u(d),La(d)}function u(a){v(a),a.end&&!a.end.isAfter(a.start)&&(a.end=null),a.end||(c.forceEventDuration?a.end=L.getDefaultEventEnd(a.allDay,a.start):a.end=null)}function v(a){null==a.allDay&&(a.allDay=!(a.start.hasTime()||a.end&&a.end.hasTime())),a.allDay?(a.start.stripTime(),a.end&&a.end.stripTime()):(a.start.hasTime()||(a.start=L.rezoneDate(a.start)),a.end&&!a.end.hasTime()&&(a.end=L.rezoneDate(a.end)))}function w(b){var c;return b.end||(c=b.allDay,null==c&&(c=!b.start.hasTime()),b=a.extend({},b),b.end=L.getDefaultEventEnd(c,b.start)),b}function x(b,c,d){var e,f,g,h,i,j,k,l,m,n=[];if(c=c||M,d=d||N,b)if(b._recurring){if(f=b.dow)for(e={},g=0;g<f.length;g++)e[f[g]]=!0;for(h=c.clone().stripTime();h.isBefore(d);)(!e||e[h.day()])&&(i=b.start,j=b.end,k=h.clone(),l=null,i&&(k=k.time(i)),j&&(l=h.clone().time(j)),m=a.extend({},b),t(k,l,!i&&!j,m),n.push(m)),h.add(1,"days")}else n.push(b);return n}function y(b,c,d){function e(a,b){return d?H(a,b,d):c.allDay?G(a,b):F(a,b)}var f,g,h,i,j,k,l={};return c=c||{},c.start||(c.start=b.start.clone()),void 0===c.end&&(c.end=b.end?b.end.clone():null),null==c.allDay&&(c.allDay=b.allDay),u(c),f={start:b._start.clone(),end:b._end?b._end.clone():L.getDefaultEventEnd(b._allDay,b._start),allDay:c.allDay},u(f),g=null!==b._end&&null===c.end,h=e(c.start,f.start),c.end?(i=e(c.end,f.end),j=i.subtract(h)):j=null,a.each(c,function(a,b){o(a)&&void 0!==b&&(l[a]=b)}),k=z(r(b._id),g,c.allDay,h,j,l),{dateDelta:h,durationDelta:j,undo:k}}function z(b,c,d,e,f,g){var h=L.getIsAmbigTimezone(),i=[];return e&&!e.valueOf()&&(e=null),f&&!f.valueOf()&&(f=null),a.each(b,function(b,j){var k,l;k={start:j.start.clone(),end:j.end?j.end.clone():null,allDay:j.allDay},a.each(g,function(a){k[a]=j[a]}),l={start:j._start,end:j._end,allDay:d},u(l),c?l.end=null:f&&!l.end&&(l.end=L.getDefaultEventEnd(l.allDay,l.start)),e&&(l.start.add(e),l.end&&l.end.add(e)),f&&l.end.add(f),h&&!l.allDay&&(e||f)&&(l.start.stripZone(),l.end&&l.end.stripZone()),a.extend(j,g,l),La(j),i.push(function(){a.extend(j,k),La(j)})}),function(){for(var a=0;a<i.length;a++)i[a]()}}function A(b){var d,e=c.businessHours,f={className:"fc-nonbusiness",start:"09:00",end:"17:00",dow:[1,2,3,4,5],rendering:"inverse-background"},g=L.getView();return e&&(d=a.extend({},f,"object"==typeof e?e:{})),d?(b&&(d.start=null,d.end=null),x(s(d),g.start,g.end)):[]}function B(a,b){var d=b.source||{},e=X(b.constraint,d.constraint,c.eventConstraint),f=X(b.overlap,d.overlap,c.eventOverlap);return a=w(a),E(a,e,f,b)}function C(a){return E(a,c.selectConstraint,c.selectOverlap)}function D(b,c){var d,e;return c&&(d=a.extend({},c,b),e=x(s(d))[0]),e?B(b,e):(b=w(b),C(b))}function E(b,c,d,e){var f,g,h,i,j,k;if(b=a.extend({},b),b.start=b.start.clone().stripZone(),b.end=b.end.clone().stripZone(),null!=c){for(f=I(c),g=!1,i=0;i<f.length;i++)if(J(f[i],b)){g=!0;break}if(!g)return!1}for(h=L.getPeerEvents(e,b),i=0;i<h.length;i++)if(j=h[i],K(j,b)){if(d===!1)return!1;if("function"==typeof d&&!d(j,e))return!1;if(e){if(k=X(j.overlap,(j.source||{}).overlap),k===!1)return!1;if("function"==typeof k&&!k(e,j))return!1}}return!0}function I(a){return"businessHours"===a?A():"object"==typeof a?x(s(a)):r(a)}function J(a,b){var c=a.start.clone().stripZone(),d=L.getEventEnd(a).stripZone();return b.start>=c&&b.end<=d}function K(a,b){var c=a.start.clone().stripZone(),d=L.getEventEnd(a).stripZone();return b.start<d&&b.end>c}var L=this;L.isFetchNeeded=d,L.fetchEvents=e,L.addEventSource=h,L.removeEventSource=j,L.updateEvent=m,L.renderEvent=p,L.removeEvents=q,L.clientEvents=r,L.mutateEvent=y,L.normalizeEventRange=u,L.normalizeEventRangeTimes=v,L.ensureVisibleEventRange=w;var M,N,O=L.reportEvents,Q={events:[]},R=[Q],S=0,T=0,U=[];a.each((c.events?[c.events]:[]).concat(c.eventSources||[]),function(a,b){var c=i(b);c&&R.push(c)}),L.getBusinessHoursEvents=A,L.isEventRangeAllowed=B,L.isSelectionRangeAllowed=C,L.isExternalDropRangeAllowed=D,L.getEventCache=function(){return U}}function La(a){a._allDay=a.allDay,a._start=a.start.clone(),a._end=a.end?a.end.clone():null}var Ma=a.fullCalendar={version:"2.4.0"},Na=Ma.views={};a.fn.fullCalendar=function(b){var c=Array.prototype.slice.call(arguments,1),d=this;return this.each(function(e,f){var g,h=a(f),i=h.data("fullCalendar");"string"==typeof b?i&&a.isFunction(i[b])&&(g=i[b].apply(i,c),e||(d=g),"destroy"===b&&h.removeData("fullCalendar")):i||(i=new nb(h,b),h.data("fullCalendar",i),i.render())}),d};var Oa=["header","buttonText","buttonIcons","themeButtonIcons"];Ma.intersectionToSeg=E,Ma.applyAll=W,Ma.debounce=da,Ma.isInt=ba,Ma.htmlEscape=Y,Ma.cssToStr=$,Ma.proxy=ca,Ma.capitaliseFirstLetter=_,Ma.getClientRect=p,Ma.getContentRect=q,Ma.getScrollbarWidths=r;var Pa=null;Ma.intersectRects=w,Ma.parseFieldSpecs=A,Ma.compareByFieldSpecs=B,Ma.compareByFieldSpec=C,Ma.flexibleCompare=D,Ma.computeIntervalUnit=I,Ma.divideRangeByDuration=K,Ma.divideDurationByDuration=L,Ma.multiplyDuration=M,Ma.durationHasTime=N;var Qa=["sun","mon","tue","wed","thu","fri","sat"],Ra=["year","month","week","day","hour","minute","second","millisecond"];Ma.log=function(){var a=window.console;return a&&a.log?a.log.apply(a,arguments):void 0},Ma.warn=function(){var a=window.console;return a&&a.warn?a.warn.apply(a,arguments):Ma.log.apply(Ma,arguments)};var Sa,Ta,Ua,Va={}.hasOwnProperty,Wa=/^\s*\d{4}-\d\d$/,Xa=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/,Ya=b.fn,Za=a.extend({},Ya);Ma.moment=function(){return ea(arguments)},Ma.moment.utc=function(){var a=ea(arguments,!0);return a.hasTime()&&a.utc(),a},Ma.moment.parseZone=function(){return ea(arguments,!0,!0)},Ya.clone=function(){var a=Za.clone.apply(this,arguments);return ga(this,a),this._fullCalendar&&(a._fullCalendar=!0),a},Ya.week=Ya.weeks=function(a){var b=(this._locale||this._lang)._fullCalendar_weekCalc;return null==a&&"function"==typeof b?b(this):"ISO"===b?Za.isoWeek.apply(this,arguments):Za.week.apply(this,arguments)},Ya.time=function(a){if(!this._fullCalendar)return Za.time.apply(this,arguments);if(null==a)return b.duration({hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()});this._ambigTime=!1,b.isDuration(a)||b.isMoment(a)||(a=b.duration(a));var c=0;return b.isDuration(a)&&(c=24*Math.floor(a.asDays())),this.hours(c+a.hours()).minutes(a.minutes()).seconds(a.seconds()).milliseconds(a.milliseconds())},Ya.stripTime=function(){var a;return this._ambigTime||(a=this.toArray(),this.utc(),Ta(this,a.slice(0,3)),this._ambigTime=!0,this._ambigZone=!0),this},Ya.hasTime=function(){return!this._ambigTime},Ya.stripZone=function(){var a,b;return this._ambigZone||(a=this.toArray(),b=this._ambigTime,this.utc(),Ta(this,a),this._ambigTime=b||!1,this._ambigZone=!0),this},Ya.hasZone=function(){return!this._ambigZone},Ya.local=function(){var a=this.toArray(),b=this._ambigZone;return Za.local.apply(this,arguments),this._ambigTime=!1,this._ambigZone=!1,b&&Ua(this,a),this},Ya.utc=function(){return Za.utc.apply(this,arguments),this._ambigTime=!1,this._ambigZone=!1,this},a.each(["zone","utcOffset"],function(a,b){Za[b]&&(Ya[b]=function(a){return null!=a&&(this._ambigTime=!1,this._ambigZone=!1),Za[b].apply(this,arguments)})}),Ya.format=function(){return this._fullCalendar&&arguments[0]?ja(this,arguments[0]):this._ambigTime?ia(this,"YYYY-MM-DD"):this._ambigZone?ia(this,"YYYY-MM-DD[T]HH:mm:ss"):Za.format.apply(this,arguments)},Ya.toISOString=function(){return this._ambigTime?ia(this,"YYYY-MM-DD"):this._ambigZone?ia(this,"YYYY-MM-DD[T]HH:mm:ss"):Za.toISOString.apply(this,arguments)},Ya.isWithin=function(a,b){var c=fa([this,a,b]);return c[0]>=c[1]&&c[0]<c[2]},Ya.isSame=function(a,b){var c;return this._fullCalendar?b?(c=fa([this,a],!0),Za.isSame.call(c[0],c[1],b)):(a=Ma.moment.parseZone(a),Za.isSame.call(this,a)&&Boolean(this._ambigTime)===Boolean(a._ambigTime)&&Boolean(this._ambigZone)===Boolean(a._ambigZone)):Za.isSame.apply(this,arguments)},a.each(["isBefore","isAfter"],function(a,b){Ya[b]=function(a,c){var d;return this._fullCalendar?(d=fa([this,a]),Za[b].call(d[0],d[1],c)):Za[b].apply(this,arguments)}}),Sa="_d"in b()&&"updateOffset"in b,Ta=Sa?function(a,c){a._d.setTime(Date.UTC.apply(Date,c)),b.updateOffset(a,!1)}:ha,Ua=Sa?function(a,c){a._d.setTime(+new Date(c[0]||0,c[1]||0,c[2]||0,c[3]||0,c[4]||0,c[5]||0,c[6]||0)),b.updateOffset(a,!1)}:ha;var $a={t:function(a){return ia(a,"a").charAt(0)},T:function(a){return ia(a,"A").charAt(0)}};Ma.formatRange=ma;var _a={Y:"year",M:"month",D:"day",d:"day",A:"second",a:"second",T:"second",t:"second",H:"second",h:"second",m:"second",s:"second"},ab={};Ma.Class=ra,ra.extend=function(a){var b,c=this;return a=a||{},U(a,"constructor")&&(b=a.constructor),"function"!=typeof b&&(b=a.constructor=function(){c.apply(this,arguments)}),b.prototype=R(c.prototype),S(a,b.prototype),T(a,b.prototype),S(c,b),b},ra.mixin=function(a){S(a.prototype||a,this.prototype)};var bb=Ma.Emitter=ra.extend({callbackHash:null,on:function(a,b){return this.getCallbacks(a).add(b),this},off:function(a,b){return this.getCallbacks(a).remove(b),this},trigger:function(a){var b=Array.prototype.slice.call(arguments,1);return this.triggerWith(a,this,b),this},triggerWith:function(a,b,c){var d=this.getCallbacks(a);return d.fireWith(b,c),this},getCallbacks:function(b){var c;return this.callbackHash||(this.callbackHash={}),c=this.callbackHash[b],c||(c=this.callbackHash[b]=a.Callbacks()),c}}),cb=ra.extend({isHidden:!0,options:null,el:null,documentMousedownProxy:null,margin:10,constructor:function(a){this.options=a||{}},show:function(){this.isHidden&&(this.el||this.render(),this.el.show(),this.position(),this.isHidden=!1,this.trigger("show"))},hide:function(){this.isHidden||(this.el.hide(),this.isHidden=!0,this.trigger("hide"))},render:function(){var b=this,c=this.options;this.el=a('<div class="fc-popover"/>').addClass(c.className||"").css({top:0,left:0}).append(c.content).appendTo(c.parentEl),this.el.on("click",".fc-close",function(){b.hide()}),c.autoHide&&a(document).on("mousedown",this.documentMousedownProxy=ca(this,"documentMousedown"))},documentMousedown:function(b){this.el&&!a(b.target).closest(this.el).length&&this.hide()},removeElement:function(){this.hide(),this.el&&(this.el.remove(),this.el=null),a(document).off("mousedown",this.documentMousedownProxy)},position:function(){var b,c,d,e,f,g=this.options,h=this.el.offsetParent().offset(),i=this.el.outerWidth(),j=this.el.outerHeight(),k=a(window),l=n(this.el);e=g.top||0,f=void 0!==g.left?g.left:void 0!==g.right?g.right-i:0,l.is(window)||l.is(document)?(l=k,b=0,c=0):(d=l.offset(),b=d.top,c=d.left),b+=k.scrollTop(),c+=k.scrollLeft(),g.viewportConstrain!==!1&&(e=Math.min(e,b+l.outerHeight()-j-this.margin),e=Math.max(e,b+this.margin),f=Math.min(f,c+l.outerWidth()-i-this.margin),f=Math.max(f,c+this.margin)),this.el.css({top:e-h.top,left:f-h.left})},trigger:function(a){this.options[a]&&this.options[a].apply(this,Array.prototype.slice.call(arguments,1));
7
- }}),db=ra.extend({grid:null,rowCoords:null,colCoords:null,containerEl:null,bounds:null,constructor:function(a){this.grid=a},build:function(){this.grid.build(),this.rowCoords=this.grid.computeRowCoords(),this.colCoords=this.grid.computeColCoords(),this.computeBounds()},clear:function(){this.grid.clear(),this.rowCoords=null,this.colCoords=null},getCell:function(b,c){var d,e,f,g=this.rowCoords,h=g.length,i=this.colCoords,j=i.length,k=null,l=null;if(this.inBounds(b,c)){for(d=0;h>d;d++)if(e=g[d],c>=e.top&&c<e.bottom){k=d;break}for(d=0;j>d;d++)if(e=i[d],b>=e.left&&b<e.right){l=d;break}if(null!==k&&null!==l)return f=this.grid.getCell(k,l),f.grid=this.grid,a.extend(f,g[k],i[l]),f}return null},computeBounds:function(){this.bounds=this.containerEl?p(this.containerEl):null},inBounds:function(a,b){var c=this.bounds;return c?a>=c.left&&a<c.right&&b>=c.top&&b<c.bottom:!0}}),eb=ra.extend({coordMaps:null,constructor:function(a){this.coordMaps=a},build:function(){var a,b=this.coordMaps;for(a=0;a<b.length;a++)b[a].build()},getCell:function(a,b){var c,d=this.coordMaps,e=null;for(c=0;c<d.length&&!e;c++)e=d[c].getCell(a,b);return e},clear:function(){var a,b=this.coordMaps;for(a=0;a<b.length;a++)b[a].clear()}}),fb=Ma.DragListener=ra.extend({options:null,isListening:!1,isDragging:!1,originX:null,originY:null,mousemoveProxy:null,mouseupProxy:null,subjectEl:null,subjectHref:null,scrollEl:null,scrollBounds:null,scrollTopVel:null,scrollLeftVel:null,scrollIntervalId:null,scrollHandlerProxy:null,scrollSensitivity:30,scrollSpeed:200,scrollIntervalMs:50,constructor:function(a){a=a||{},this.options=a,this.subjectEl=a.subjectEl},mousedown:function(a){v(a)&&(a.preventDefault(),this.startListening(a),this.options.distance||this.startDrag(a))},startListening:function(b){var c;this.isListening||(b&&this.options.scroll&&(c=n(a(b.target)),c.is(window)||c.is(document)||(this.scrollEl=c,this.scrollHandlerProxy=da(ca(this,"scrollHandler"),100),this.scrollEl.on("scroll",this.scrollHandlerProxy))),a(document).on("mousemove",this.mousemoveProxy=ca(this,"mousemove")).on("mouseup",this.mouseupProxy=ca(this,"mouseup")).on("selectstart",this.preventDefault),b?(this.originX=b.pageX,this.originY=b.pageY):(this.originX=0,this.originY=0),this.isListening=!0,this.listenStart(b))},listenStart:function(a){this.trigger("listenStart",a)},mousemove:function(a){var b,c,d=a.pageX-this.originX,e=a.pageY-this.originY;this.isDragging||(b=this.options.distance||1,c=d*d+e*e,c>=b*b&&this.startDrag(a)),this.isDragging&&this.drag(d,e,a)},startDrag:function(a){this.isListening||this.startListening(),this.isDragging||(this.isDragging=!0,this.dragStart(a))},dragStart:function(a){var b=this.subjectEl;this.trigger("dragStart",a),(this.subjectHref=b?b.attr("href"):null)&&b.removeAttr("href")},drag:function(a,b,c){this.trigger("drag",a,b,c),this.updateScroll(c)},mouseup:function(a){this.stopListening(a)},stopDrag:function(a){this.isDragging&&(this.stopScrolling(),this.dragStop(a),this.isDragging=!1)},dragStop:function(a){var b=this;this.trigger("dragStop",a),setTimeout(function(){b.subjectHref&&b.subjectEl.attr("href",b.subjectHref)},0)},stopListening:function(b){this.stopDrag(b),this.isListening&&(this.scrollEl&&(this.scrollEl.off("scroll",this.scrollHandlerProxy),this.scrollHandlerProxy=null),a(document).off("mousemove",this.mousemoveProxy).off("mouseup",this.mouseupProxy).off("selectstart",this.preventDefault),this.mousemoveProxy=null,this.mouseupProxy=null,this.isListening=!1,this.listenStop(b))},listenStop:function(a){this.trigger("listenStop",a)},trigger:function(a){this.options[a]&&this.options[a].apply(this,Array.prototype.slice.call(arguments,1))},preventDefault:function(a){a.preventDefault()},computeScrollBounds:function(){var a=this.scrollEl;this.scrollBounds=a?o(a):null},updateScroll:function(a){var b,c,d,e,f=this.scrollSensitivity,g=this.scrollBounds,h=0,i=0;g&&(b=(f-(a.pageY-g.top))/f,c=(f-(g.bottom-a.pageY))/f,d=(f-(a.pageX-g.left))/f,e=(f-(g.right-a.pageX))/f,b>=0&&1>=b?h=b*this.scrollSpeed*-1:c>=0&&1>=c&&(h=c*this.scrollSpeed),d>=0&&1>=d?i=d*this.scrollSpeed*-1:e>=0&&1>=e&&(i=e*this.scrollSpeed)),this.setScrollVel(h,i)},setScrollVel:function(a,b){this.scrollTopVel=a,this.scrollLeftVel=b,this.constrainScrollVel(),!this.scrollTopVel&&!this.scrollLeftVel||this.scrollIntervalId||(this.scrollIntervalId=setInterval(ca(this,"scrollIntervalFunc"),this.scrollIntervalMs))},constrainScrollVel:function(){var a=this.scrollEl;this.scrollTopVel<0?a.scrollTop()<=0&&(this.scrollTopVel=0):this.scrollTopVel>0&&a.scrollTop()+a[0].clientHeight>=a[0].scrollHeight&&(this.scrollTopVel=0),this.scrollLeftVel<0?a.scrollLeft()<=0&&(this.scrollLeftVel=0):this.scrollLeftVel>0&&a.scrollLeft()+a[0].clientWidth>=a[0].scrollWidth&&(this.scrollLeftVel=0)},scrollIntervalFunc:function(){var a=this.scrollEl,b=this.scrollIntervalMs/1e3;this.scrollTopVel&&a.scrollTop(a.scrollTop()+this.scrollTopVel*b),this.scrollLeftVel&&a.scrollLeft(a.scrollLeft()+this.scrollLeftVel*b),this.constrainScrollVel(),this.scrollTopVel||this.scrollLeftVel||this.stopScrolling()},stopScrolling:function(){this.scrollIntervalId&&(clearInterval(this.scrollIntervalId),this.scrollIntervalId=null,this.scrollStop())},scrollHandler:function(){this.scrollIntervalId||this.scrollStop()},scrollStop:function(){}}),gb=fb.extend({coordMap:null,origCell:null,cell:null,coordAdjust:null,constructor:function(a,b){fb.prototype.constructor.call(this,b),this.coordMap=a},listenStart:function(a){var b,c,d,e=this.subjectEl;fb.prototype.listenStart.apply(this,arguments),this.computeCoords(),a?(c={left:a.pageX,top:a.pageY},d=c,e&&(b=o(e),d=x(d,b)),this.origCell=this.getCell(d.left,d.top),e&&this.options.subjectCenter&&(this.origCell&&(b=w(this.origCell,b)||b),d=y(b)),this.coordAdjust=z(d,c)):(this.origCell=null,this.coordAdjust=null)},computeCoords:function(){this.coordMap.build(),this.computeScrollBounds()},dragStart:function(a){var b;fb.prototype.dragStart.apply(this,arguments),b=this.getCell(a.pageX,a.pageY),b&&this.cellOver(b)},drag:function(a,b,c){var d;fb.prototype.drag.apply(this,arguments),d=this.getCell(c.pageX,c.pageY),sa(d,this.cell)||(this.cell&&this.cellOut(),d&&this.cellOver(d))},dragStop:function(){this.cellDone(),fb.prototype.dragStop.apply(this,arguments)},cellOver:function(a){this.cell=a,this.trigger("cellOver",a,sa(a,this.origCell),this.origCell)},cellOut:function(){this.cell&&(this.trigger("cellOut",this.cell),this.cellDone(),this.cell=null)},cellDone:function(){this.cell&&this.trigger("cellDone",this.cell)},listenStop:function(){fb.prototype.listenStop.apply(this,arguments),this.origCell=this.cell=null,this.coordMap.clear()},scrollStop:function(){fb.prototype.scrollStop.apply(this,arguments),this.computeCoords()},getCell:function(a,b){return this.coordAdjust&&(a+=this.coordAdjust.left,b+=this.coordAdjust.top),this.coordMap.getCell(a,b)}}),hb=ra.extend({options:null,sourceEl:null,el:null,parentEl:null,top0:null,left0:null,mouseY0:null,mouseX0:null,topDelta:null,leftDelta:null,mousemoveProxy:null,isFollowing:!1,isHidden:!1,isAnimating:!1,constructor:function(b,c){this.options=c=c||{},this.sourceEl=b,this.parentEl=c.parentEl?a(c.parentEl):b.parent()},start:function(b){this.isFollowing||(this.isFollowing=!0,this.mouseY0=b.pageY,this.mouseX0=b.pageX,this.topDelta=0,this.leftDelta=0,this.isHidden||this.updatePosition(),a(document).on("mousemove",this.mousemoveProxy=ca(this,"mousemove")))},stop:function(b,c){function d(){this.isAnimating=!1,e.removeElement(),this.top0=this.left0=null,c&&c()}var e=this,f=this.options.revertDuration;this.isFollowing&&!this.isAnimating&&(this.isFollowing=!1,a(document).off("mousemove",this.mousemoveProxy),b&&f&&!this.isHidden?(this.isAnimating=!0,this.el.animate({top:this.top0,left:this.left0},{duration:f,complete:d})):d())},getEl:function(){var a=this.el;return a||(this.sourceEl.width(),a=this.el=this.sourceEl.clone().css({position:"absolute",visibility:"",display:this.isHidden?"none":"",margin:0,right:"auto",bottom:"auto",width:this.sourceEl.width(),height:this.sourceEl.height(),opacity:this.options.opacity||"",zIndex:this.options.zIndex}).appendTo(this.parentEl)),a},removeElement:function(){this.el&&(this.el.remove(),this.el=null)},updatePosition:function(){var a,b;this.getEl(),null===this.top0&&(this.sourceEl.width(),a=this.sourceEl.offset(),b=this.el.offsetParent().offset(),this.top0=a.top-b.top,this.left0=a.left-b.left),this.el.css({top:this.top0+this.topDelta,left:this.left0+this.leftDelta})},mousemove:function(a){this.topDelta=a.pageY-this.mouseY0,this.leftDelta=a.pageX-this.mouseX0,this.isHidden||this.updatePosition()},hide:function(){this.isHidden||(this.isHidden=!0,this.el&&this.el.hide())},show:function(){this.isHidden&&(this.isHidden=!1,this.updatePosition(),this.getEl().show())}}),ib=ra.extend({view:null,isRTL:null,cellHtml:"<td/>",constructor:function(a){this.view=a,this.isRTL=a.opt("isRTL")},rowHtml:function(a,b){var c,d,e=this.getHtmlRenderer("cell",a),f="";for(b=b||0,c=0;c<this.colCnt;c++)d=this.getCell(b,c),f+=e(d);return f=this.bookendCells(f,a,b),"<tr>"+f+"</tr>"},bookendCells:function(a,b,c){var d=this.getHtmlRenderer("intro",b)(c||0),e=this.getHtmlRenderer("outro",b)(c||0),f=this.isRTL?e:d,g=this.isRTL?d:e;return"string"==typeof a?f+a+g:a.prepend(f).append(g)},getHtmlRenderer:function(a,b){var c,d,e,f,g=this.view;return c=a+"Html",b&&(d=b+_(a)+"Html"),d&&(f=g[d])?e=g:d&&(f=this[d])?e=this:(f=g[c])?e=g:(f=this[c])&&(e=this),"function"==typeof f?function(){return f.apply(e,arguments)||""}:function(){return f||""}}}),jb=Ma.Grid=ib.extend({start:null,end:null,rowCnt:0,colCnt:0,el:null,coordMap:null,elsByFill:null,externalDragStartProxy:null,colHeadFormat:null,eventTimeFormat:null,displayEventTime:null,displayEventEnd:null,cellDuration:null,largeUnit:null,constructor:function(){ib.apply(this,arguments),this.coordMap=new db(this),this.elsByFill={},this.externalDragStartProxy=ca(this,"externalDragStart")},computeColHeadFormat:function(){},computeEventTimeFormat:function(){return this.view.opt("smallTimeFormat")},computeDisplayEventTime:function(){return!0},computeDisplayEventEnd:function(){return!0},setRange:function(a){this.start=a.start.clone(),this.end=a.end.clone(),this.rangeUpdated(),this.processRangeOptions()},rangeUpdated:function(){},processRangeOptions:function(){var a,b,c=this.view;this.colHeadFormat=c.opt("columnFormat")||this.computeColHeadFormat(),this.eventTimeFormat=c.opt("eventTimeFormat")||c.opt("timeFormat")||this.computeEventTimeFormat(),a=c.opt("displayEventTime"),null==a&&(a=this.computeDisplayEventTime()),b=c.opt("displayEventEnd"),null==b&&(b=this.computeDisplayEventEnd()),this.displayEventTime=a,this.displayEventEnd=b},build:function(){},clear:function(){},rangeToSegs:function(a){},diffDates:function(a,b){return this.largeUnit?H(a,b,this.largeUnit):F(a,b)},getCell:function(b,c){var d;return null==c&&("number"==typeof b?(c=b%this.colCnt,b=Math.floor(b/this.colCnt)):(c=b.col,b=b.row)),d={row:b,col:c},a.extend(d,this.getRowData(b),this.getColData(c)),a.extend(d,this.computeCellRange(d)),d},computeCellRange:function(a){var b=this.computeCellDate(a);return{start:b,end:b.clone().add(this.cellDuration)}},computeCellDate:function(a){},getRowData:function(a){return{}},getColData:function(a){return{}},getRowEl:function(a){},getColEl:function(a){},getCellDayEl:function(a){return this.getColEl(a.col)||this.getRowEl(a.row)},computeRowCoords:function(){var a,b,c,d=[];for(a=0;a<this.rowCnt;a++)b=this.getRowEl(a),c=b.offset().top,d.push({top:c,bottom:c+b.outerHeight()});return d},computeColCoords:function(){var a,b,c,d=[];for(a=0;a<this.colCnt;a++)b=this.getColEl(a),c=b.offset().left,d.push({left:c,right:c+b.outerWidth()});return d},setElement:function(b){var c=this;this.el=b,b.on("mousedown",function(b){a(b.target).is(".fc-event-container *, .fc-more")||a(b.target).closest(".fc-popover").length||c.dayMousedown(b)}),this.bindSegHandlers(),this.bindGlobalHandlers()},removeElement:function(){this.unbindGlobalHandlers(),this.el.remove()},renderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},bindGlobalHandlers:function(){a(document).on("dragstart sortstart",this.externalDragStartProxy)},unbindGlobalHandlers:function(){a(document).off("dragstart sortstart",this.externalDragStartProxy)},dayMousedown:function(a){var b,c,d=this,e=this.view,f=e.opt("selectable"),i=new gb(this.coordMap,{scroll:e.opt("dragScroll"),dragStart:function(){e.unselect()},cellOver:function(a,e,h){h&&(b=e?a:null,f&&(c=d.computeSelection(h,a),c?d.renderSelection(c):g()))},cellOut:function(a){b=null,c=null,d.unrenderSelection(),h()},listenStop:function(a){b&&e.triggerDayClick(b,d.getCellDayEl(b),a),c&&e.reportSelection(c,a),h()}});i.mousedown(a)},renderRangeHelper:function(a,b){var c=this.fabricateHelperEvent(a,b);this.renderHelper(c,b)},fabricateHelperEvent:function(a,b){var c=b?R(b.event):{};return c.start=a.start.clone(),c.end=a.end?a.end.clone():null,c.allDay=null,this.view.calendar.normalizeEventRange(c),c.className=(c.className||[]).concat("fc-helper"),b||(c.editable=!1),c},renderHelper:function(a,b){},unrenderHelper:function(){},renderSelection:function(a){this.renderHighlight(this.selectionRangeToSegs(a))},unrenderSelection:function(){this.unrenderHighlight()},computeSelection:function(a,b){var c,d=[a.start,a.end,b.start,b.end];return d.sort(aa),c={start:d[0].clone(),end:d[3].clone()},this.view.calendar.isSelectionRangeAllowed(c)?c:null},selectionRangeToSegs:function(a){return this.rangeToSegs(a)},renderHighlight:function(a){this.renderFill("highlight",a)},unrenderHighlight:function(){this.unrenderFill("highlight")},highlightSegClasses:function(){return["fc-highlight"]},renderFill:function(a,b){},unrenderFill:function(a){var b=this.elsByFill[a];b&&(b.remove(),delete this.elsByFill[a])},renderFillSegEls:function(b,c){var d,e=this,f=this[b+"SegEl"],g="",h=[];if(c.length){for(d=0;d<c.length;d++)g+=this.fillSegHtml(b,c[d]);a(g).each(function(b,d){var g=c[b],i=a(d);f&&(i=f.call(e,g,i)),i&&(i=a(i),i.is(e.fillSegTag)&&(g.el=i,h.push(g)))})}return h},fillSegTag:"div",fillSegHtml:function(a,b){var c=this[a+"SegClasses"],d=this[a+"SegCss"],e=c?c.call(this,b):[],f=$(d?d.call(this,b):{});return"<"+this.fillSegTag+(e.length?' class="'+e.join(" ")+'"':"")+(f?' style="'+f+'"':"")+" />"},headHtml:function(){return'<div class="fc-row '+this.view.widgetHeaderClass+'"><table><thead>'+this.rowHtml("head")+"</thead></table></div>"},headCellHtml:function(a){var b=this.view,c=a.start;return'<th class="fc-day-header '+b.widgetHeaderClass+" fc-"+Qa[c.day()]+'">'+Y(c.format(this.colHeadFormat))+"</th>"},bgCellHtml:function(a){var b=this.view,c=a.start,d=this.getDayClasses(c);return d.unshift("fc-day",b.widgetContentClass),'<td class="'+d.join(" ")+'" data-date="'+c.format("YYYY-MM-DD")+'"></td>'},getDayClasses:function(a){var b=this.view,c=b.calendar.getNow().stripTime(),d=["fc-"+Qa[a.day()]];return 1==b.intervalDuration.as("months")&&a.month()!=b.intervalStart.month()&&d.push("fc-other-month"),a.isSame(c,"day")?d.push("fc-today",b.highlightStateClass):c>a?d.push("fc-past"):d.push("fc-future"),d}});jb.mixin({mousedOverSeg:null,isDraggingSeg:!1,isResizingSeg:!1,isDraggingExternal:!1,segs:null,renderEvents:function(a){var b,c,d=this.eventsToSegs(a),e=[],f=[];for(b=0;b<d.length;b++)c=d[b],ta(c.event)?e.push(c):f.push(c);e=this.renderBgSegs(e)||e,f=this.renderFgSegs(f)||f,this.segs=e.concat(f)},unrenderEvents:function(){this.triggerSegMouseout(),this.unrenderFgSegs(),this.unrenderBgSegs(),this.segs=null},getEventSegs:function(){return this.segs||[]},renderFgSegs:function(a){},unrenderFgSegs:function(){},renderFgSegEls:function(b,c){var d,e=this.view,f="",g=[];if(b.length){for(d=0;d<b.length;d++)f+=this.fgSegHtml(b[d],c);a(f).each(function(c,d){var f=b[c],h=e.resolveEventEl(f.event,a(d));h&&(h.data("fc-seg",f),f.el=h,g.push(f))})}return g},fgSegHtml:function(a,b){},renderBgSegs:function(a){return this.renderFill("bgEvent",a)},unrenderBgSegs:function(){this.unrenderFill("bgEvent")},bgEventSegEl:function(a,b){return this.view.resolveEventEl(a.event,b)},bgEventSegClasses:function(a){var b=a.event,c=b.source||{};return["fc-bgevent"].concat(b.className,c.className||[])},bgEventSegCss:function(a){var b=this.view,c=a.event,d=c.source||{};return{"background-color":c.backgroundColor||c.color||d.backgroundColor||d.color||b.opt("eventBackgroundColor")||b.opt("eventColor")}},businessHoursSegClasses:function(a){return["fc-nonbusiness","fc-bgevent"]},bindSegHandlers:function(){var b=this,c=this.view;a.each({mouseenter:function(a,c){b.triggerSegMouseover(a,c)},mouseleave:function(a,c){b.triggerSegMouseout(a,c)},click:function(a,b){return c.trigger("eventClick",this,a.event,b)},mousedown:function(d,e){a(e.target).is(".fc-resizer")&&c.isEventResizable(d.event)?b.segResizeMousedown(d,e,a(e.target).is(".fc-start-resizer")):c.isEventDraggable(d.event)&&b.segDragMousedown(d,e)}},function(c,d){b.el.on(c,".fc-event-container > *",function(c){var e=a(this).data("fc-seg");return!e||b.isDraggingSeg||b.isResizingSeg?void 0:d.call(this,e,c)})})},triggerSegMouseover:function(a,b){this.mousedOverSeg||(this.mousedOverSeg=a,this.view.trigger("eventMouseover",a.el[0],a.event,b))},triggerSegMouseout:function(a,b){b=b||{},this.mousedOverSeg&&(a=a||this.mousedOverSeg,this.mousedOverSeg=null,this.view.trigger("eventMouseout",a.el[0],a.event,b))},segDragMousedown:function(a,b){var c,d=this,e=this.view,f=e.calendar,i=a.el,j=a.event,k=new hb(a.el,{parentEl:e.el,opacity:e.opt("dragOpacity"),revertDuration:e.opt("dragRevertDuration"),zIndex:2}),l=new gb(e.coordMap,{distance:5,scroll:e.opt("dragScroll"),subjectEl:i,subjectCenter:!0,listenStart:function(a){k.hide(),k.start(a)},dragStart:function(b){d.triggerSegMouseout(a,b),d.segDragStart(a,b),e.hideEvent(j)},cellOver:function(b,h,i){a.cell&&(i=a.cell),c=d.computeEventDrop(i,b,j),c&&!f.isEventRangeAllowed(c,j)&&(g(),c=null),c&&e.renderDrag(c,a)?k.hide():k.show(),h&&(c=null)},cellOut:function(){e.unrenderDrag(),k.show(),c=null},cellDone:function(){h()},dragStop:function(b){k.stop(!c,function(){e.unrenderDrag(),e.showEvent(j),d.segDragStop(a,b),c&&e.reportEventDrop(j,c,this.largeUnit,i,b)})},listenStop:function(){k.stop()}});l.mousedown(b)},segDragStart:function(a,b){this.isDraggingSeg=!0,this.view.trigger("eventDragStart",a.el[0],a.event,b,{})},segDragStop:function(a,b){this.isDraggingSeg=!1,this.view.trigger("eventDragStop",a.el[0],a.event,b,{})},computeEventDrop:function(a,b,c){var d,e,f=this.view.calendar,g=a.start,h=b.start;return g.hasTime()===h.hasTime()?(d=this.diffDates(h,g),c.allDay&&N(d)?(e={start:c.start.clone(),end:f.getEventEnd(c),allDay:!1},f.normalizeEventRangeTimes(e)):e={start:c.start.clone(),end:c.end?c.end.clone():null,allDay:c.allDay},e.start.add(d),e.end&&e.end.add(d)):e={start:h.clone(),end:null,allDay:!h.hasTime()},e},applyDragOpacity:function(a){var b=this.view.opt("dragOpacity");null!=b&&a.each(function(a,c){c.style.opacity=b})},externalDragStart:function(b,c){var d,e,f=this.view;f.opt("droppable")&&(d=a((c?c.item:null)||b.target),e=f.opt("dropAccept"),(a.isFunction(e)?e.call(d[0],d):d.is(e))&&(this.isDraggingExternal||this.listenToExternalDrag(d,b,c)))},listenToExternalDrag:function(a,b,c){var d,e,f=this,i=ya(a);d=new gb(this.coordMap,{listenStart:function(){f.isDraggingExternal=!0},cellOver:function(a){e=f.computeExternalDrop(a,i),e?f.renderDrag(e):g()},cellOut:function(){e=null,f.unrenderDrag(),h()},dragStop:function(){f.unrenderDrag(),h(),e&&f.view.reportExternalDrop(i,e,a,b,c)},listenStop:function(){f.isDraggingExternal=!1}}),d.startDrag(b)},computeExternalDrop:function(a,b){var c={start:a.start.clone(),end:null};return b.startTime&&!c.start.hasTime()&&c.start.time(b.startTime),b.duration&&(c.end=c.start.clone().add(b.duration)),this.view.calendar.isExternalDropRangeAllowed(c,b.eventProps)?c:null},renderDrag:function(a,b){},unrenderDrag:function(){},segResizeMousedown:function(a,b,c){var d,e,f=this,i=this.view,j=i.calendar,k=a.el,l=a.event,m=j.getEventEnd(l);d=new gb(this.coordMap,{distance:5,scroll:i.opt("dragScroll"),subjectEl:k,dragStart:function(b){f.triggerSegMouseout(a,b),f.segResizeStart(a,b)},cellOver:function(b,d,h){e=c?f.computeEventStartResize(h,b,l):f.computeEventEndResize(h,b,l),e&&(j.isEventRangeAllowed(e,l)?e.start.isSame(l.start)&&e.end.isSame(m)&&(e=null):(g(),e=null)),e&&(i.hideEvent(l),f.renderEventResize(e,a))},cellOut:function(){e=null},cellDone:function(){f.unrenderEventResize(),i.showEvent(l),h()},dragStop:function(b){f.segResizeStop(a,b),e&&i.reportEventResize(l,e,this.largeUnit,k,b)}}),d.mousedown(b)},segResizeStart:function(a,b){this.isResizingSeg=!0,this.view.trigger("eventResizeStart",a.el[0],a.event,b,{})},segResizeStop:function(a,b){this.isResizingSeg=!1,this.view.trigger("eventResizeStop",a.el[0],a.event,b,{})},computeEventStartResize:function(a,b,c){return this.computeEventResize("start",a,b,c)},computeEventEndResize:function(a,b,c){return this.computeEventResize("end",a,b,c)},computeEventResize:function(a,b,c,d){var e,f,g=this.view.calendar,h=this.diffDates(c[a],b[a]);return e={start:d.start.clone(),end:g.getEventEnd(d),allDay:d.allDay},e.allDay&&N(h)&&(e.allDay=!1,g.normalizeEventRangeTimes(e)),e[a].add(h),e.start.isBefore(e.end)||(f=d.allDay?g.defaultAllDayEventDuration:g.defaultTimedEventDuration,this.cellDuration&&this.cellDuration<f&&(f=this.cellDuration),"start"==a?e.start=e.end.clone().subtract(f):e.end=e.start.clone().add(f)),e},renderEventResize:function(a,b){},unrenderEventResize:function(){},getEventTimeText:function(a,b,c){return null==b&&(b=this.eventTimeFormat),null==c&&(c=this.displayEventEnd),this.displayEventTime&&a.start.hasTime()?c&&a.end?this.view.formatRange(a,b):a.start.format(b):""},getSegClasses:function(a,b,c){var d=a.event,e=["fc-event",a.isStart?"fc-start":"fc-not-start",a.isEnd?"fc-end":"fc-not-end"].concat(d.className,d.source?d.source.className:[]);return b&&e.push("fc-draggable"),c&&e.push("fc-resizable"),e},getEventSkinCss:function(a){var b=this.view,c=a.source||{},d=a.color,e=c.color,f=b.opt("eventColor");return{"background-color":a.backgroundColor||d||c.backgroundColor||e||b.opt("eventBackgroundColor")||f,"border-color":a.borderColor||d||c.borderColor||e||b.opt("eventBorderColor")||f,color:a.textColor||c.textColor||b.opt("eventTextColor")}},eventsToSegs:function(a,b){var c,d=this.eventsToRanges(a),e=[];for(c=0;c<d.length;c++)e.push.apply(e,this.eventRangeToSegs(d[c],b));return e},eventsToRanges:function(b){var c=this,d=wa(b),e=[];return a.each(d,function(a,b){b.length&&e.push.apply(e,ua(b[0])?c.eventsToInverseRanges(b):c.eventsToNormalRanges(b))}),e},eventsToNormalRanges:function(a){var b,c,d,e,f=this.view.calendar,g=[];for(b=0;b<a.length;b++)c=a[b],d=c.start.clone().stripZone(),e=f.getEventEnd(c).stripZone(),g.push({event:c,start:d,end:e,eventStartMS:+d,eventDurationMS:e-d});return g},eventsToInverseRanges:function(a){var b,c,d=this.view,e=d.start.clone().stripZone(),f=d.end.clone().stripZone(),g=this.eventsToNormalRanges(a),h=[],i=a[0],j=e;for(g.sort(xa),b=0;b<g.length;b++)c=g[b],c.start>j&&h.push({event:i,start:j,end:c.start}),j=c.end;return f>j&&h.push({event:i,start:j,end:f}),h},eventRangeToSegs:function(a,b){var c,d,e;for(a=this.view.calendar.ensureVisibleEventRange(a),c=b?b(a):this.rangeToSegs(a),d=0;d<c.length;d++)e=c[d],e.event=a.event,e.eventStartMS=a.eventStartMS,e.eventDurationMS=a.eventDurationMS;return c},sortSegs:function(a){a.sort(ca(this,"compareSegs"))},compareSegs:function(a,b){return a.eventStartMS-b.eventStartMS||b.eventDurationMS-a.eventDurationMS||b.event.allDay-a.event.allDay||B(a.event,b.event,this.view.eventOrderSpecs)}}),Ma.dataAttrPrefix="";var kb=jb.extend({numbersVisible:!1,bottomCoordPadding:0,breakOnWeeks:null,cellDates:null,dayToCellOffsets:null,rowEls:null,dayEls:null,helperEls:null,constructor:function(){jb.apply(this,arguments),this.cellDuration=b.duration(1,"day")},renderDates:function(a){var b,c,d,e=this.view,f=this.rowCnt,g=this.colCnt,h=f*g,i="";for(b=0;f>b;b++)i+=this.dayRowHtml(b,a);for(this.el.html(i),this.rowEls=this.el.find(".fc-row"),this.dayEls=this.el.find(".fc-day"),c=0;h>c;c++)d=this.getCell(c),e.trigger("dayRender",null,d.start,this.dayEls.eq(c))},unrenderDates:function(){this.removeSegPopover()},renderBusinessHours:function(){var a=this.view.calendar.getBusinessHoursEvents(!0),b=this.eventsToSegs(a);this.renderFill("businessHours",b,"bgevent")},dayRowHtml:function(a,b){var c=this.view,d=["fc-row","fc-week",c.widgetContentClass];return b&&d.push("fc-rigid"),'<div class="'+d.join(" ")+'"><div class="fc-bg"><table>'+this.rowHtml("day",a)+'</table></div><div class="fc-content-skeleton"><table>'+(this.numbersVisible?"<thead>"+this.rowHtml("number",a)+"</thead>":"")+"</table></div></div>"},dayCellHtml:function(a){return this.bgCellHtml(a)},computeColHeadFormat:function(){return this.rowCnt>1?"ddd":this.colCnt>1?this.view.opt("dayOfMonthFormat"):"dddd"},computeEventTimeFormat:function(){return this.view.opt("extraSmallTimeFormat")},computeDisplayEventEnd:function(){return 1==this.colCnt},rangeUpdated:function(){var a,b,c,d;if(this.updateCellDates(),a=this.cellDates,this.breakOnWeeks){for(b=a[0].day(),d=1;d<a.length&&a[d].day()!=b;d++);c=Math.ceil(a.length/d)}else c=1,d=a.length;this.rowCnt=c,this.colCnt=d},updateCellDates:function(){for(var a=this.view,b=this.start.clone(),c=[],d=-1,e=[];b.isBefore(this.end);)a.isHiddenDay(b)?e.push(d+.5):(d++,e.push(d),c.push(b.clone())),b.add(1,"days");this.cellDates=c,this.dayToCellOffsets=e},computeCellDate:function(a){var b=this.colCnt,c=a.row*b+(this.isRTL?b-a.col-1:a.col);return this.cellDates[c].clone()},getRowEl:function(a){return this.rowEls.eq(a)},getColEl:function(a){return this.dayEls.eq(a)},getCellDayEl:function(a){return this.dayEls.eq(a.row*this.colCnt+a.col)},computeRowCoords:function(){var a=jb.prototype.computeRowCoords.call(this);return a[a.length-1].bottom+=this.bottomCoordPadding,a},rangeToSegs:function(a){var b,c,d,e,f,g,h,i,j,k,l=this.isRTL,m=this.rowCnt,n=this.colCnt,o=[];for(a=this.view.computeDayRange(a),b=this.dateToCellOffset(a.start),c=this.dateToCellOffset(a.end.subtract(1,"days")),d=0;m>d;d++)e=d*n,f=e+n-1,i=Math.max(e,b),j=Math.min(f,c),i=Math.ceil(i),j=Math.floor(j),j>=i&&(g=i===b,h=j===c,i-=e,j-=e,k={row:d,isStart:g,isEnd:h},l?(k.leftCol=n-j-1,k.rightCol=n-i-1):(k.leftCol=i,k.rightCol=j),o.push(k));return o},dateToCellOffset:function(a){var b=this.dayToCellOffsets,c=a.diff(this.start,"days");return 0>c?b[0]-1:c>=b.length?b[b.length-1]+1:b[c]},renderDrag:function(a,b){return this.renderHighlight(this.eventRangeToSegs(a)),b&&!b.el.closest(this.el).length?(this.renderRangeHelper(a,b),this.applyDragOpacity(this.helperEls),!0):void 0},unrenderDrag:function(){this.unrenderHighlight(),this.unrenderHelper()},renderEventResize:function(a,b){this.renderHighlight(this.eventRangeToSegs(a)),this.renderRangeHelper(a,b)},unrenderEventResize:function(){this.unrenderHighlight(),this.unrenderHelper()},renderHelper:function(b,c){var d,e=[],f=this.eventsToSegs([b]);f=this.renderFgSegEls(f),d=this.renderSegRows(f),this.rowEls.each(function(b,f){var g,h=a(f),i=a('<div class="fc-helper-skeleton"><table/></div>');g=c&&c.row===b?c.el.position().top:h.find(".fc-content-skeleton tbody").position().top,i.css("top",g).find("table").append(d[b].tbodyEl),h.append(i),e.push(i[0])}),this.helperEls=a(e)},unrenderHelper:function(){this.helperEls&&(this.helperEls.remove(),this.helperEls=null)},fillSegTag:"td",renderFill:function(b,c,d){var e,f,g,h=[];for(c=this.renderFillSegEls(b,c),e=0;e<c.length;e++)f=c[e],g=this.renderFillRow(b,f,d),this.rowEls.eq(f.row).append(g),h.push(g[0]);return this.elsByFill[b]=a(h),c},renderFillRow:function(b,c,d){var e,f,g=this.colCnt,h=c.leftCol,i=c.rightCol+1;return d=d||b.toLowerCase(),e=a('<div class="fc-'+d+'-skeleton"><table><tr/></table></div>'),f=e.find("tr"),h>0&&f.append('<td colspan="'+h+'"/>'),f.append(c.el.attr("colspan",i-h)),g>i&&f.append('<td colspan="'+(g-i)+'"/>'),this.bookendCells(f,b),e}});kb.mixin({rowStructs:null,unrenderEvents:function(){this.removeSegPopover(),jb.prototype.unrenderEvents.apply(this,arguments)},getEventSegs:function(){return jb.prototype.getEventSegs.call(this).concat(this.popoverSegs||[])},renderBgSegs:function(b){var c=a.grep(b,function(a){return a.event.allDay});return jb.prototype.renderBgSegs.call(this,c)},renderFgSegs:function(b){var c;return b=this.renderFgSegEls(b),c=this.rowStructs=this.renderSegRows(b),this.rowEls.each(function(b,d){a(d).find(".fc-content-skeleton > table").append(c[b].tbodyEl)}),b},unrenderFgSegs:function(){for(var a,b=this.rowStructs||[];a=b.pop();)a.tbodyEl.remove();this.rowStructs=null},renderSegRows:function(a){var b,c,d=[];for(b=this.groupSegRows(a),c=0;c<b.length;c++)d.push(this.renderSegRow(c,b[c]));return d},fgSegHtml:function(a,b){var c,d,e=this.view,f=a.event,g=e.isEventDraggable(f),h=!b&&f.allDay&&a.isStart&&e.isEventResizableFromStart(f),i=!b&&f.allDay&&a.isEnd&&e.isEventResizableFromEnd(f),j=this.getSegClasses(a,g,h||i),k=$(this.getEventSkinCss(f)),l="";return j.unshift("fc-day-grid-event","fc-h-event"),a.isStart&&(c=this.getEventTimeText(f),c&&(l='<span class="fc-time">'+Y(c)+"</span>")),d='<span class="fc-title">'+(Y(f.title||"")||"&nbsp;")+"</span>",'<a class="'+j.join(" ")+'"'+(f.url?' href="'+Y(f.url)+'"':"")+(k?' style="'+k+'"':"")+'><div class="fc-content">'+(this.isRTL?d+" "+l:l+" "+d)+"</div>"+(h?'<div class="fc-resizer fc-start-resizer" />':"")+(i?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},renderSegRow:function(b,c){function d(b){for(;b>g;)k=(r[e-1]||[])[g],k?k.attr("rowspan",parseInt(k.attr("rowspan")||1,10)+1):(k=a("<td/>"),h.append(k)),q[e][g]=k,r[e][g]=k,g++}var e,f,g,h,i,j,k,l=this.colCnt,m=this.buildSegLevels(c),n=Math.max(1,m.length),o=a("<tbody/>"),p=[],q=[],r=[];for(e=0;n>e;e++){if(f=m[e],g=0,h=a("<tr/>"),p.push([]),q.push([]),r.push([]),f)for(i=0;i<f.length;i++){for(j=f[i],d(j.leftCol),k=a('<td class="fc-event-container"/>').append(j.el),j.leftCol!=j.rightCol?k.attr("colspan",j.rightCol-j.leftCol+1):r[e][g]=k;g<=j.rightCol;)q[e][g]=k,p[e][g]=j,g++;h.append(k)}d(l),this.bookendCells(h,"eventSkeleton"),o.append(h)}return{row:b,tbodyEl:o,cellMatrix:q,segMatrix:p,segLevels:m,segs:c}},buildSegLevels:function(a){var b,c,d,e=[];for(this.sortSegs(a),b=0;b<a.length;b++){for(c=a[b],d=0;d<e.length&&za(c,e[d]);d++);c.level=d,(e[d]||(e[d]=[])).push(c)}for(d=0;d<e.length;d++)e[d].sort(Aa);return e},groupSegRows:function(a){var b,c=[];for(b=0;b<this.rowCnt;b++)c.push([]);for(b=0;b<a.length;b++)c[a[b].row].push(a[b]);return c}}),kb.mixin({segPopover:null,popoverSegs:null,removeSegPopover:function(){this.segPopover&&this.segPopover.hide()},limitRows:function(a){var b,c,d=this.rowStructs||[];for(b=0;b<d.length;b++)this.unlimitRow(b),c=a?"number"==typeof a?a:this.computeRowLevelLimit(b):!1,c!==!1&&this.limitRow(b,c)},computeRowLevelLimit:function(b){function c(b,c){f=Math.max(f,a(c).outerHeight())}var d,e,f,g=this.rowEls.eq(b),h=g.height(),i=this.rowStructs[b].tbodyEl.children();for(d=0;d<i.length;d++)if(e=i.eq(d).removeClass("fc-limited"),f=0,e.find("> td > :first-child").each(c),e.position().top+f>h)return d;return!1},limitRow:function(b,c){function d(d){for(;d>x;)e=u.getCell(b,x),k=u.getCellSegs(e,c),k.length&&(n=g[c-1][x],t=u.renderMoreLink(e,k),s=a("<div/>").append(t),n.append(s),w.push(s[0])),x++}var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u=this,v=this.rowStructs[b],w=[],x=0;if(c&&c<v.segLevels.length){for(f=v.segLevels[c-1],g=v.cellMatrix,h=v.tbodyEl.children().slice(c).addClass("fc-limited").get(),i=0;i<f.length;i++){for(j=f[i],d(j.leftCol),m=[],l=0;x<=j.rightCol;)e=this.getCell(b,x),k=this.getCellSegs(e,c),m.push(k),l+=k.length,x++;if(l){for(n=g[c-1][j.leftCol],o=n.attr("rowspan")||1,p=[],q=0;q<m.length;q++)r=a('<td class="fc-more-cell"/>').attr("rowspan",o),k=m[q],e=this.getCell(b,j.leftCol+q),t=this.renderMoreLink(e,[j].concat(k)),s=a("<div/>").append(t),r.append(s),p.push(r[0]),w.push(r[0]);n.addClass("fc-limited").after(a(p)),h.push(n[0])}}d(this.colCnt),v.moreEls=a(w),v.limitedEls=a(h)}},
8
- unlimitRow:function(a){var b=this.rowStructs[a];b.moreEls&&(b.moreEls.remove(),b.moreEls=null),b.limitedEls&&(b.limitedEls.removeClass("fc-limited"),b.limitedEls=null)},renderMoreLink:function(b,c){var d=this,e=this.view;return a('<a class="fc-more"/>').text(this.getMoreLinkText(c.length)).on("click",function(f){var g=e.opt("eventLimitClick"),h=b.start,i=a(this),j=d.getCellDayEl(b),k=d.getCellSegs(b),l=d.resliceDaySegs(k,h),m=d.resliceDaySegs(c,h);"function"==typeof g&&(g=e.trigger("eventLimitClick",null,{date:h,dayEl:j,moreEl:i,segs:l,hiddenSegs:m},f)),"popover"===g?d.showSegPopover(b,i,l):"string"==typeof g&&e.calendar.zoomTo(h,g)})},showSegPopover:function(a,b,c){var d,e,f=this,g=this.view,h=b.parent();d=1==this.rowCnt?g.el:this.rowEls.eq(a.row),e={className:"fc-more-popover",content:this.renderSegPopoverContent(a,c),parentEl:this.el,top:d.offset().top,autoHide:!0,viewportConstrain:g.opt("popoverViewportConstrain"),hide:function(){f.segPopover.removeElement(),f.segPopover=null,f.popoverSegs=null}},this.isRTL?e.right=h.offset().left+h.outerWidth()+1:e.left=h.offset().left-1,this.segPopover=new cb(e),this.segPopover.show()},renderSegPopoverContent:function(b,c){var d,e=this.view,f=e.opt("theme"),g=b.start.format(e.opt("dayPopoverFormat")),h=a('<div class="fc-header '+e.widgetHeaderClass+'"><span class="fc-close '+(f?"ui-icon ui-icon-closethick":"fc-icon fc-icon-x")+'"></span><span class="fc-title">'+Y(g)+'</span><div class="fc-clear"/></div><div class="fc-body '+e.widgetContentClass+'"><div class="fc-event-container"></div></div>'),i=h.find(".fc-event-container");for(c=this.renderFgSegEls(c,!0),this.popoverSegs=c,d=0;d<c.length;d++)c[d].cell=b,i.append(c[d].el);return h},resliceDaySegs:function(b,c){var d=a.map(b,function(a){return a.event}),e=c.clone().stripTime(),f=e.clone().add(1,"days"),g={start:e,end:f};return b=this.eventsToSegs(d,function(a){var b=E(a,g);return b?[b]:[]}),this.sortSegs(b),b},getMoreLinkText:function(a){var b=this.view.opt("eventLimitText");return"function"==typeof b?b(a):"+"+a+" "+b},getCellSegs:function(a,b){for(var c,d=this.rowStructs[a.row].segMatrix,e=b||0,f=[];e<d.length;)c=d[e][a.col],c&&f.push(c),e++;return f}});var lb=jb.extend({slotDuration:null,snapDuration:null,minTime:null,maxTime:null,colDates:null,labelFormat:null,labelInterval:null,dayEls:null,slatEls:null,slatTops:null,helperEl:null,businessHourSegs:null,constructor:function(){jb.apply(this,arguments),this.processOptions()},renderDates:function(){this.el.html(this.renderHtml()),this.dayEls=this.el.find(".fc-day"),this.slatEls=this.el.find(".fc-slats tr")},renderBusinessHours:function(){var a=this.view.calendar.getBusinessHoursEvents();this.businessHourSegs=this.renderFill("businessHours",this.eventsToSegs(a),"bgevent")},renderHtml:function(){return'<div class="fc-bg"><table>'+this.rowHtml("slotBg")+'</table></div><div class="fc-slats"><table>'+this.slatRowHtml()+"</table></div>"},slotBgCellHtml:function(a){return this.bgCellHtml(a)},slatRowHtml:function(){for(var a,c,d,e=this.view,f=this.isRTL,g="",h=b.duration(+this.minTime);h<this.maxTime;)a=this.start.clone().time(h),c=ba(L(h,this.labelInterval)),d='<td class="fc-axis fc-time '+e.widgetContentClass+'" '+e.axisStyleAttr()+">"+(c?"<span>"+Y(a.format(this.labelFormat))+"</span>":"")+"</td>",g+="<tr "+(c?"":'class="fc-minor"')+">"+(f?"":d)+'<td class="'+e.widgetContentClass+'"/>'+(f?d:"")+"</tr>",h.add(this.slotDuration);return g},processOptions:function(){var c,d=this.view,e=d.opt("slotDuration"),f=d.opt("snapDuration");e=b.duration(e),f=f?b.duration(f):e,this.slotDuration=e,this.snapDuration=f,this.cellDuration=f,this.minTime=b.duration(d.opt("minTime")),this.maxTime=b.duration(d.opt("maxTime")),c=d.opt("slotLabelFormat"),a.isArray(c)&&(c=c[c.length-1]),this.labelFormat=c||d.opt("axisFormat")||d.opt("smallTimeFormat"),c=d.opt("slotLabelInterval"),this.labelInterval=c?b.duration(c):this.computeLabelInterval(e)},computeLabelInterval:function(a){var c,d,e;for(c=yb.length-1;c>=0;c--)if(d=b.duration(yb[c]),e=L(d,a),ba(e)&&e>1)return d;return b.duration(a)},computeColHeadFormat:function(){return this.colCnt>1?this.view.opt("dayOfMonthFormat"):"dddd"},computeEventTimeFormat:function(){return this.view.opt("noMeridiemTimeFormat")},computeDisplayEventEnd:function(){return!0},rangeUpdated:function(){var a,b=this.view,c=[];for(a=this.start.clone();a.isBefore(this.end);)c.push(a.clone()),a.add(1,"day"),a=b.skipHiddenDays(a);this.isRTL&&c.reverse(),this.colDates=c,this.colCnt=c.length,this.rowCnt=Math.ceil((this.maxTime-this.minTime)/this.snapDuration)},computeCellDate:function(a){var b=this.colDates[a.col],c=this.computeSnapTime(a.row);return b=this.view.calendar.rezoneDate(b),b.time(c),b},getColEl:function(a){return this.dayEls.eq(a)},computeSnapTime:function(a){return b.duration(this.minTime+this.snapDuration*a)},rangeToSegs:function(a){var b,c,d,e,f=this.colCnt,g=[];for(a={start:a.start.clone().stripZone(),end:a.end.clone().stripZone()},c=0;f>c;c++)d=this.colDates[c],e={start:d.clone().time(this.minTime),end:d.clone().time(this.maxTime)},b=E(a,e),b&&(b.col=c,g.push(b));return g},updateSize:function(a){this.computeSlatTops(),a&&this.updateSegVerticals()},computeRowCoords:function(){var a,b,c=this.el.offset().top,d=[];for(a=0;a<this.rowCnt;a++)b={top:c+this.computeTimeTop(this.computeSnapTime(a))},a>0&&(d[a-1].bottom=b.top),d.push(b);return b.bottom=b.top+this.computeTimeTop(this.computeSnapTime(a)),d},computeDateTop:function(a,c){return this.computeTimeTop(b.duration(a.clone().stripZone()-c.clone().stripTime()))},computeTimeTop:function(a){var b,c,d,e,f=(a-this.minTime)/this.slotDuration;return f=Math.max(0,f),f=Math.min(this.slatEls.length,f),b=Math.floor(f),c=f-b,d=this.slatTops[b],c?(e=this.slatTops[b+1],d+(e-d)*c):d},computeSlatTops:function(){var b,c=[];this.slatEls.each(function(d,e){b=a(e).position().top,c.push(b)}),c.push(b+this.slatEls.last().outerHeight()),this.slatTops=c},renderDrag:function(a,b){return b?(this.renderRangeHelper(a,b),this.applyDragOpacity(this.helperEl),!0):void this.renderHighlight(this.eventRangeToSegs(a))},unrenderDrag:function(){this.unrenderHelper(),this.unrenderHighlight()},renderEventResize:function(a,b){this.renderRangeHelper(a,b)},unrenderEventResize:function(){this.unrenderHelper()},renderHelper:function(b,c){var d,e,f,g,h=this.eventsToSegs([b]);for(h=this.renderFgSegEls(h),d=this.renderSegTable(h),e=0;e<h.length;e++)f=h[e],c&&c.col===f.col&&(g=c.el,f.el.css({left:g.css("left"),right:g.css("right"),"margin-left":g.css("margin-left"),"margin-right":g.css("margin-right")}));this.helperEl=a('<div class="fc-helper-skeleton"/>').append(d).appendTo(this.el)},unrenderHelper:function(){this.helperEl&&(this.helperEl.remove(),this.helperEl=null)},renderSelection:function(a){this.view.opt("selectHelper")?this.renderRangeHelper(a):this.renderHighlight(this.selectionRangeToSegs(a))},unrenderSelection:function(){this.unrenderHelper(),this.unrenderHighlight()},renderFill:function(b,c,d){var e,f,g,h,i,j,k,l,m,n;if(c.length){for(c=this.renderFillSegEls(b,c),e=this.groupSegCols(c),d=d||b.toLowerCase(),f=a('<div class="fc-'+d+'-skeleton"><table><tr/></table></div>'),g=f.find("tr"),h=0;h<e.length;h++)if(i=e[h],j=a("<td/>").appendTo(g),i.length)for(k=a('<div class="fc-'+d+'-container"/>').appendTo(j),l=this.colDates[h],m=0;m<i.length;m++)n=i[m],k.append(n.el.css({top:this.computeDateTop(n.start,l),bottom:-this.computeDateTop(n.end,l)}));this.bookendCells(g,b),this.el.append(f),this.elsByFill[b]=f}return c}});lb.mixin({eventSkeletonEl:null,renderFgSegs:function(b){return b=this.renderFgSegEls(b),this.el.append(this.eventSkeletonEl=a('<div class="fc-content-skeleton"/>').append(this.renderSegTable(b))),b},unrenderFgSegs:function(a){this.eventSkeletonEl&&(this.eventSkeletonEl.remove(),this.eventSkeletonEl=null)},renderSegTable:function(b){var c,d,e,f,g,h,i=a("<table><tr/></table>"),j=i.find("tr");for(c=this.groupSegCols(b),this.computeSegVerticals(b),f=0;f<c.length;f++){for(g=c[f],this.placeSlotSegs(g),h=a('<div class="fc-event-container"/>'),d=0;d<g.length;d++)e=g[d],e.el.css(this.generateSegPositionCss(e)),e.bottom-e.top<30&&e.el.addClass("fc-short"),h.append(e.el);j.append(a("<td/>").append(h))}return this.bookendCells(j,"eventSkeleton"),i},placeSlotSegs:function(a){var b,c,d;if(this.sortSegs(a),b=Ba(a),Ca(b),c=b[0]){for(d=0;d<c.length;d++)Da(c[d]);for(d=0;d<c.length;d++)this.computeSlotSegCoords(c[d],0,0)}},computeSlotSegCoords:function(a,b,c){var d,e=a.forwardSegs;if(void 0===a.forwardCoord)for(e.length?(this.sortForwardSlotSegs(e),this.computeSlotSegCoords(e[0],b+1,c),a.forwardCoord=e[0].backwardCoord):a.forwardCoord=1,a.backwardCoord=a.forwardCoord-(a.forwardCoord-c)/(b+1),d=0;d<e.length;d++)this.computeSlotSegCoords(e[d],0,a.forwardCoord)},updateSegVerticals:function(){var a,b=(this.segs||[]).concat(this.businessHourSegs||[]);for(this.computeSegVerticals(b),a=0;a<b.length;a++)b[a].el.css(this.generateSegVerticalCss(b[a]))},computeSegVerticals:function(a){var b,c;for(b=0;b<a.length;b++)c=a[b],c.top=this.computeDateTop(c.start,c.start),c.bottom=this.computeDateTop(c.end,c.start)},fgSegHtml:function(a,b){var c,d,e,f=this.view,g=a.event,h=f.isEventDraggable(g),i=!b&&a.isStart&&f.isEventResizableFromStart(g),j=!b&&a.isEnd&&f.isEventResizableFromEnd(g),k=this.getSegClasses(a,h,i||j),l=$(this.getEventSkinCss(g));return k.unshift("fc-time-grid-event","fc-v-event"),f.isMultiDayEvent(g)?(a.isStart||a.isEnd)&&(c=this.getEventTimeText(a),d=this.getEventTimeText(a,"LT"),e=this.getEventTimeText(a,null,!1)):(c=this.getEventTimeText(g),d=this.getEventTimeText(g,"LT"),e=this.getEventTimeText(g,null,!1)),'<a class="'+k.join(" ")+'"'+(g.url?' href="'+Y(g.url)+'"':"")+(l?' style="'+l+'"':"")+'><div class="fc-content">'+(c?'<div class="fc-time" data-start="'+Y(e)+'" data-full="'+Y(d)+'"><span>'+Y(c)+"</span></div>":"")+(g.title?'<div class="fc-title">'+Y(g.title)+"</div>":"")+'</div><div class="fc-bg"/>'+(j?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},generateSegPositionCss:function(a){var b,c,d=this.view.opt("slotEventOverlap"),e=a.backwardCoord,f=a.forwardCoord,g=this.generateSegVerticalCss(a);return d&&(f=Math.min(1,e+2*(f-e))),this.isRTL?(b=1-f,c=e):(b=e,c=1-f),g.zIndex=a.level+1,g.left=100*b+"%",g.right=100*c+"%",d&&a.forwardPressure&&(g[this.isRTL?"marginLeft":"marginRight"]=20),g},generateSegVerticalCss:function(a){return{top:a.top,bottom:-a.bottom}},groupSegCols:function(a){var b,c=[];for(b=0;b<this.colCnt;b++)c.push([]);for(b=0;b<a.length;b++)c[a[b].col].push(a[b]);return c},sortForwardSlotSegs:function(a){a.sort(ca(this,"compareForwardSlotSegs"))},compareForwardSlotSegs:function(a,b){return b.forwardPressure-a.forwardPressure||(a.backwardCoord||0)-(b.backwardCoord||0)||this.compareSegs(a,b)}});var mb=Ma.View=ra.extend({type:null,name:null,title:null,calendar:null,options:null,coordMap:null,el:null,displaying:null,isSkeletonRendered:!1,isEventsRendered:!1,start:null,end:null,intervalStart:null,intervalEnd:null,intervalDuration:null,intervalUnit:null,isRTL:!1,isSelected:!1,eventOrderSpecs:null,scrollerEl:null,scrollTop:null,widgetHeaderClass:null,widgetContentClass:null,highlightStateClass:null,nextDayThreshold:null,isHiddenDayHash:null,documentMousedownProxy:null,constructor:function(a,c,d,e){this.calendar=a,this.type=this.name=c,this.options=d,this.intervalDuration=e||b.duration(1,"day"),this.nextDayThreshold=b.duration(this.opt("nextDayThreshold")),this.initThemingProps(),this.initHiddenDays(),this.isRTL=this.opt("isRTL"),this.eventOrderSpecs=A(this.opt("eventOrder")),this.documentMousedownProxy=ca(this,"documentMousedown"),this.initialize()},initialize:function(){},opt:function(a){return this.options[a]},trigger:function(a,b){var c=this.calendar;return c.trigger.apply(c,[a,b||this].concat(Array.prototype.slice.call(arguments,2),[this]))},setDate:function(a){this.setRange(this.computeRange(a))},setRange:function(b){a.extend(this,b),this.updateTitle()},computeRange:function(a){var b,c,d=I(this.intervalDuration),e=a.clone().startOf(d),f=e.clone().add(this.intervalDuration);return/year|month|week|day/.test(d)?(e.stripTime(),f.stripTime()):(e.hasTime()||(e=this.calendar.rezoneDate(e)),f.hasTime()||(f=this.calendar.rezoneDate(f))),b=e.clone(),b=this.skipHiddenDays(b),c=f.clone(),c=this.skipHiddenDays(c,-1,!0),{intervalUnit:d,intervalStart:e,intervalEnd:f,start:b,end:c}},computePrevDate:function(a){return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).subtract(this.intervalDuration),-1)},computeNextDate:function(a){return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).add(this.intervalDuration))},massageCurrentDate:function(a,b){return this.intervalDuration.as("days")<=1&&this.isHiddenDay(a)&&(a=this.skipHiddenDays(a,b),a.startOf("day")),a},updateTitle:function(){this.title=this.computeTitle()},computeTitle:function(){return this.formatRange({start:this.intervalStart,end:this.intervalEnd},this.opt("titleFormat")||this.computeTitleFormat(),this.opt("titleRangeSeparator"))},computeTitleFormat:function(){return"year"==this.intervalUnit?"YYYY":"month"==this.intervalUnit?this.opt("monthYearFormat"):this.intervalDuration.as("days")>1?"ll":"LL"},formatRange:function(a,b,c){var d=a.end;return d.hasTime()||(d=d.clone().subtract(1)),ma(a.start,d,b,c,this.opt("isRTL"))},setElement:function(a){this.el=a,this.bindGlobalHandlers()},removeElement:function(){this.clear(),this.isSkeletonRendered&&(this.unrenderSkeleton(),this.isSkeletonRendered=!1),this.unbindGlobalHandlers(),this.el.remove()},display:function(b){var c=this,d=null;return this.displaying&&(d=this.queryScroll()),zz(this.clear(),function(){return c.displaying=zz(c.displayView(b),function(){c.forceScroll(c.computeInitialScroll(d)),c.triggerRender()})})},clear:function(){var b=this,c=this.displaying;return c?c.then(function(){return b.displaying=null,b.clearEvents(),b.clearView()}):a.when()},displayView:function(a){this.isSkeletonRendered||(this.renderSkeleton(),this.isSkeletonRendered=!0),this.setDate(a),this.render&&this.render(),this.renderDates(),this.updateSize(),this.renderBusinessHours()},clearView:function(){this.unselect(),this.triggerUnrender(),this.unrenderBusinessHours(),this.unrenderDates(),this.destroy&&this.destroy()},renderSkeleton:function(){},unrenderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},renderBusinessHours:function(){},unrenderBusinessHours:function(){},triggerRender:function(){this.trigger("viewRender",this,this,this.el)},triggerUnrender:function(){this.trigger("viewDestroy",this,this,this.el)},bindGlobalHandlers:function(){a(document).on("mousedown",this.documentMousedownProxy)},unbindGlobalHandlers:function(){a(document).off("mousedown",this.documentMousedownProxy)},initThemingProps:function(){var a=this.opt("theme")?"ui":"fc";this.widgetHeaderClass=a+"-widget-header",this.widgetContentClass=a+"-widget-content",this.highlightStateClass=a+"-state-highlight"},updateSize:function(a){var b;a&&(b=this.queryScroll()),this.updateHeight(a),this.updateWidth(a),a&&this.setScroll(b)},updateWidth:function(a){},updateHeight:function(a){var b=this.calendar;this.setHeight(b.getSuggestedViewHeight(),b.isHeightAuto())},setHeight:function(a,b){},computeScrollerHeight:function(a){var b,c,d=this.scrollerEl;return b=this.el.add(d),b.css({position:"relative",left:-1}),c=this.el.outerHeight()-d.height(),b.css({position:"",left:""}),a-c},computeInitialScroll:function(a){return 0},queryScroll:function(){return this.scrollerEl?this.scrollerEl.scrollTop():void 0},setScroll:function(a){return this.scrollerEl?this.scrollerEl.scrollTop(a):void 0},forceScroll:function(a){var b=this;this.setScroll(a),setTimeout(function(){b.setScroll(a)},0)},displayEvents:function(a){var b=this.queryScroll();this.clearEvents(),this.renderEvents(a),this.isEventsRendered=!0,this.setScroll(b),this.triggerEventRender()},clearEvents:function(){this.isEventsRendered&&(this.triggerEventUnrender(),this.destroyEvents&&this.destroyEvents(),this.unrenderEvents(),this.isEventsRendered=!1)},renderEvents:function(a){},unrenderEvents:function(){},triggerEventRender:function(){this.renderedEventSegEach(function(a){this.trigger("eventAfterRender",a.event,a.event,a.el)}),this.trigger("eventAfterAllRender")},triggerEventUnrender:function(){this.renderedEventSegEach(function(a){this.trigger("eventDestroy",a.event,a.event,a.el)})},resolveEventEl:function(b,c){var d=this.trigger("eventRender",b,b,c);return d===!1?c=null:d&&d!==!0&&(c=a(d)),c},showEvent:function(a){this.renderedEventSegEach(function(a){a.el.css("visibility","")},a)},hideEvent:function(a){this.renderedEventSegEach(function(a){a.el.css("visibility","hidden")},a)},renderedEventSegEach:function(a,b){var c,d=this.getEventSegs();for(c=0;c<d.length;c++)b&&d[c].event._id!==b._id||d[c].el&&a.call(this,d[c])},getEventSegs:function(){return[]},isEventDraggable:function(a){var b=a.source||{};return X(a.startEditable,b.startEditable,this.opt("eventStartEditable"),a.editable,b.editable,this.opt("editable"))},reportEventDrop:function(a,b,c,d,e){var f=this.calendar,g=f.mutateEvent(a,b,c),h=function(){g.undo(),f.reportEventChange()};this.triggerEventDrop(a,g.dateDelta,h,d,e),f.reportEventChange()},triggerEventDrop:function(a,b,c,d,e){this.trigger("eventDrop",d[0],a,b,c,e,{})},reportExternalDrop:function(b,c,d,e,f){var g,h,i=b.eventProps;i&&(g=a.extend({},i,c),h=this.calendar.renderEvent(g,b.stick)[0]),this.triggerExternalDrop(h,c,d,e,f)},triggerExternalDrop:function(a,b,c,d,e){this.trigger("drop",c[0],b.start,d,e),a&&this.trigger("eventReceive",null,a)},renderDrag:function(a,b){},unrenderDrag:function(){},isEventResizableFromStart:function(a){return this.opt("eventResizableFromStart")&&this.isEventResizable(a)},isEventResizableFromEnd:function(a){return this.isEventResizable(a)},isEventResizable:function(a){var b=a.source||{};return X(a.durationEditable,b.durationEditable,this.opt("eventDurationEditable"),a.editable,b.editable,this.opt("editable"))},reportEventResize:function(a,b,c,d,e){var f=this.calendar,g=f.mutateEvent(a,b,c),h=function(){g.undo(),f.reportEventChange()};this.triggerEventResize(a,g.durationDelta,h,d,e),f.reportEventChange()},triggerEventResize:function(a,b,c,d,e){this.trigger("eventResize",d[0],a,b,c,e,{})},select:function(a,b){this.unselect(b),this.renderSelection(a),this.reportSelection(a,b)},renderSelection:function(a){},reportSelection:function(a,b){this.isSelected=!0,this.triggerSelect(a,b)},triggerSelect:function(a,b){this.trigger("select",null,a.start,a.end,b)},unselect:function(a){this.isSelected&&(this.isSelected=!1,this.destroySelection&&this.destroySelection(),this.unrenderSelection(),this.trigger("unselect",null,a))},unrenderSelection:function(){},documentMousedown:function(b){var c;this.isSelected&&this.opt("unselectAuto")&&v(b)&&(c=this.opt("unselectCancel"),c&&a(b.target).closest(c).length||this.unselect(b))},triggerDayClick:function(a,b,c){this.trigger("dayClick",b,a.start,c)},initHiddenDays:function(){var b,c=this.opt("hiddenDays")||[],d=[],e=0;for(this.opt("weekends")===!1&&c.push(0,6),b=0;7>b;b++)(d[b]=-1!==a.inArray(b,c))||e++;if(!e)throw"invalid hiddenDays";this.isHiddenDayHash=d},isHiddenDay:function(a){return b.isMoment(a)&&(a=a.day()),this.isHiddenDayHash[a]},skipHiddenDays:function(a,b,c){var d=a.clone();for(b=b||1;this.isHiddenDayHash[(d.day()+(c?b:0)+7)%7];)d.add(b,"days");return d},computeDayRange:function(a){var b,c=a.start.clone().stripTime(),d=a.end,e=null;return d&&(e=d.clone().stripTime(),b=+d.time(),b&&b>=this.nextDayThreshold&&e.add(1,"days")),(!d||c>=e)&&(e=c.clone().add(1,"days")),{start:c,end:e}},isMultiDayEvent:function(a){var b=this.computeDayRange(a);return b.end.diff(b.start,"days")>1}}),nb=Ma.Calendar=ra.extend({dirDefaults:null,langDefaults:null,overrides:null,options:null,viewSpecCache:null,view:null,header:null,loadingLevel:0,constructor:Ga,initialize:function(){},initOptions:function(a){var b,e,f,g;a=d(a),b=a.lang,e=ob[b],e||(b=nb.defaults.lang,e=ob[b]||{}),f=X(a.isRTL,e.isRTL,nb.defaults.isRTL),g=f?nb.rtlDefaults:{},this.dirDefaults=g,this.langDefaults=e,this.overrides=a,this.options=c([nb.defaults,g,e,a]),Ha(this.options),this.viewSpecCache={}},getViewSpec:function(a){var b=this.viewSpecCache;return b[a]||(b[a]=this.buildViewSpec(a))},getUnitViewSpec:function(b){var c,d,e;if(-1!=a.inArray(b,Ra))for(c=this.header.getViewsWithButtons(),a.each(Ma.views,function(a){c.push(a)}),d=0;d<c.length;d++)if(e=this.getViewSpec(c[d]),e&&e.singleUnit==b)return e},buildViewSpec:function(a){for(var d,e,f,g,h=this.overrides.views||{},i=[],j=[],k=[],l=a;l;)d=Na[l],e=h[l],l=null,"function"==typeof d&&(d={"class":d}),d&&(i.unshift(d),j.unshift(d.defaults||{}),f=f||d.duration,l=l||d.type),e&&(k.unshift(e),f=f||e.duration,l=l||e.type);return d=Q(i),d.type=a,d["class"]?(f&&(f=b.duration(f),f.valueOf()&&(d.duration=f,g=I(f),1===f.as(g)&&(d.singleUnit=g,k.unshift(h[g]||{})))),d.defaults=c(j),d.overrides=c(k),this.buildViewSpecOptions(d),this.buildViewSpecButtonText(d,a),d):!1},buildViewSpecOptions:function(a){a.options=c([nb.defaults,a.defaults,this.dirDefaults,this.langDefaults,this.overrides,a.overrides]),Ha(a.options)},buildViewSpecButtonText:function(a,b){function c(c){var d=c.buttonText||{};return d[b]||(a.singleUnit?d[a.singleUnit]:null)}a.buttonTextOverride=c(this.overrides)||a.overrides.buttonText,a.buttonTextDefault=c(this.langDefaults)||c(this.dirDefaults)||a.defaults.buttonText||c(nb.defaults)||(a.duration?this.humanizeDuration(a.duration):null)||b},instantiateView:function(a){var b=this.getViewSpec(a);return new b["class"](this,a,b.options,b.duration)},isValidViewType:function(a){return Boolean(this.getViewSpec(a))},pushLoading:function(){this.loadingLevel++||this.trigger("loading",null,!0,this.view)},popLoading:function(){--this.loadingLevel||this.trigger("loading",null,!1,this.view)},buildSelectRange:function(a,b){return a=this.moment(a),b=b?this.moment(b):a.hasTime()?a.clone().add(this.defaultTimedEventDuration):a.clone().add(this.defaultAllDayEventDuration),{start:a,end:b}}});nb.mixin(bb),nb.defaults={titleRangeSeparator:" — ",monthYearFormat:"MMMM YYYY",defaultTimedEventDuration:"02:00:00",defaultAllDayEventDuration:{days:1},forceEventDuration:!1,nextDayThreshold:"09:00:00",defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberTitle:"W",weekNumberCalculation:"local",scrollTime:"06:00:00",lazyFetching:!0,startParam:"start",endParam:"end",timezoneParam:"timezone",timezone:!1,isRTL:!1,buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day"},buttonIcons:{prev:"left-single-arrow",next:"right-single-arrow",prevYear:"left-double-arrow",nextYear:"right-double-arrow"},theme:!1,themeButtonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e",prevYear:"seek-prev",nextYear:"seek-next"},dragOpacity:.75,dragRevertDuration:500,dragScroll:!0,unselectAuto:!0,dropAccept:"*",eventOrder:"title",eventLimit:!1,eventLimitText:"more",eventLimitClick:"popover",dayPopoverFormat:"LL",handleWindowResize:!0,windowResizeDelay:200},nb.englishDefaults={dayPopoverFormat:"dddd, MMMM D"},nb.rtlDefaults={header:{left:"next,prev today",center:"",right:"title"},buttonIcons:{prev:"right-single-arrow",next:"left-single-arrow",prevYear:"right-double-arrow",nextYear:"left-double-arrow"},themeButtonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w",nextYear:"seek-prev",prevYear:"seek-next"}};var ob=Ma.langs={};Ma.datepickerLang=function(b,c,d){var e=ob[b]||(ob[b]={});e.isRTL=d.isRTL,e.weekNumberTitle=d.weekHeader,a.each(pb,function(a,b){e[a]=b(d)}),a.datepicker&&(a.datepicker.regional[c]=a.datepicker.regional[b]=d,a.datepicker.regional.en=a.datepicker.regional[""],a.datepicker.setDefaults(d))},Ma.lang=function(b,d){var e,f;e=ob[b]||(ob[b]={}),d&&(e=ob[b]=c([e,d])),f=Ia(b),a.each(qb,function(a,b){null==e[a]&&(e[a]=b(f,e))}),nb.defaults.lang=b};var pb={buttonText:function(a){return{prev:Z(a.prevText),next:Z(a.nextText),today:Z(a.currentText)}},monthYearFormat:function(a){return a.showMonthAfterYear?"YYYY["+a.yearSuffix+"] MMMM":"MMMM YYYY["+a.yearSuffix+"]"}},qb={dayOfMonthFormat:function(a,b){var c=a.longDateFormat("l");return c=c.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g,""),b.isRTL?c+=" ddd":c="ddd "+c,c},mediumTimeFormat:function(a){return a.longDateFormat("LT").replace(/\s*a$/i,"a")},smallTimeFormat:function(a){return a.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"a")},extraSmallTimeFormat:function(a){return a.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"t")},hourFormat:function(a){return a.longDateFormat("LT").replace(":mm","").replace(/(\Wmm)$/,"").replace(/\s*a$/i,"a")},noMeridiemTimeFormat:function(a){return a.longDateFormat("LT").replace(/\s*a$/i,"")}},rb={smallDayDateFormat:function(a){return a.isRTL?"D dd":"dd D"},weekFormat:function(a){return a.isRTL?"w[ "+a.weekNumberTitle+"]":"["+a.weekNumberTitle+" ]w"},smallWeekFormat:function(a){return a.isRTL?"w["+a.weekNumberTitle+"]":"["+a.weekNumberTitle+"]w"}};Ma.lang("en",nb.englishDefaults),Ma.sourceNormalizers=[],Ma.sourceFetchers=[];var sb={dataType:"json",cache:!1},tb=1;nb.prototype.getPeerEvents=function(a,b){var c,d,e=this.getEventCache(),f=[];for(c=0;c<e.length;c++)d=e[c],a&&a._id===d._id||f.push(d);return f};var ub=mb.extend({dayGrid:null,dayNumbersVisible:!1,weekNumbersVisible:!1,weekNumberWidth:null,headRowEl:null,initialize:function(){this.dayGrid=new kb(this),this.coordMap=this.dayGrid.coordMap},setRange:function(a){mb.prototype.setRange.call(this,a),this.dayGrid.breakOnWeeks=/year|month|week/.test(this.intervalUnit),this.dayGrid.setRange(a)},computeRange:function(a){var b=mb.prototype.computeRange.call(this,a);return/year|month/.test(b.intervalUnit)&&(b.start.startOf("week"),b.start=this.skipHiddenDays(b.start),b.end.weekday()&&(b.end.add(1,"week").startOf("week"),b.end=this.skipHiddenDays(b.end,-1,!0))),b},renderDates:function(){this.dayNumbersVisible=this.dayGrid.rowCnt>1,this.weekNumbersVisible=this.opt("weekNumbers"),this.dayGrid.numbersVisible=this.dayNumbersVisible||this.weekNumbersVisible,this.el.addClass("fc-basic-view").html(this.renderHtml()),this.headRowEl=this.el.find("thead .fc-row"),this.scrollerEl=this.el.find(".fc-day-grid-container"),this.dayGrid.coordMap.containerEl=this.scrollerEl,this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.renderDates(this.hasRigidRows())},unrenderDates:function(){this.dayGrid.unrenderDates(),this.dayGrid.removeElement()},renderBusinessHours:function(){this.dayGrid.renderBusinessHours()},renderHtml:function(){return'<table><thead class="fc-head"><tr><td class="'+this.widgetHeaderClass+'">'+this.dayGrid.headHtml()+'</td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'"><div class="fc-day-grid-container"><div class="fc-day-grid"/></div></td></tr></tbody></table>'},headIntroHtml:function(){return this.weekNumbersVisible?'<th class="fc-week-number '+this.widgetHeaderClass+'" '+this.weekNumberStyleAttr()+"><span>"+Y(this.opt("weekNumberTitle"))+"</span></th>":void 0},numberIntroHtml:function(a){return this.weekNumbersVisible?'<td class="fc-week-number" '+this.weekNumberStyleAttr()+"><span>"+this.dayGrid.getCell(a,0).start.format("w")+"</span></td>":void 0},dayIntroHtml:function(){return this.weekNumbersVisible?'<td class="fc-week-number '+this.widgetContentClass+'" '+this.weekNumberStyleAttr()+"></td>":void 0},introHtml:function(){return this.weekNumbersVisible?'<td class="fc-week-number" '+this.weekNumberStyleAttr()+"></td>":void 0},numberCellHtml:function(a){var b,c=a.start;return this.dayNumbersVisible?(b=this.dayGrid.getDayClasses(c),b.unshift("fc-day-number"),'<td class="'+b.join(" ")+'" data-date="'+c.format()+'">'+c.date()+"</td>"):"<td/>"},weekNumberStyleAttr:function(){return null!==this.weekNumberWidth?'style="width:'+this.weekNumberWidth+'px"':""},hasRigidRows:function(){var a=this.opt("eventLimit");return a&&"number"!=typeof a},updateWidth:function(){this.weekNumbersVisible&&(this.weekNumberWidth=k(this.el.find(".fc-week-number")))},setHeight:function(a,b){var c,d=this.opt("eventLimit");m(this.scrollerEl),f(this.headRowEl),this.dayGrid.removeSegPopover(),d&&"number"==typeof d&&this.dayGrid.limitRows(d),c=this.computeScrollerHeight(a),this.setGridHeight(c,b),d&&"number"!=typeof d&&this.dayGrid.limitRows(d),!b&&l(this.scrollerEl,c)&&(e(this.headRowEl,r(this.scrollerEl)),c=this.computeScrollerHeight(a),this.scrollerEl.height(c))},setGridHeight:function(a,b){b?j(this.dayGrid.rowEls):i(this.dayGrid.rowEls,a,!0)},renderEvents:function(a){this.dayGrid.renderEvents(a),this.updateHeight()},getEventSegs:function(){return this.dayGrid.getEventSegs()},unrenderEvents:function(){this.dayGrid.unrenderEvents()},renderDrag:function(a,b){return this.dayGrid.renderDrag(a,b)},unrenderDrag:function(){this.dayGrid.unrenderDrag()},renderSelection:function(a){this.dayGrid.renderSelection(a)},unrenderSelection:function(){this.dayGrid.unrenderSelection()}}),vb=ub.extend({computeRange:function(a){var b,c=ub.prototype.computeRange.call(this,a);return this.isFixedWeeks()&&(b=Math.ceil(c.end.diff(c.start,"weeks",!0)),c.end.add(6-b,"weeks")),c},setGridHeight:function(a,b){b=b||"variable"===this.opt("weekMode"),b&&(a*=this.rowCnt/6),i(this.dayGrid.rowEls,a,!b)},isFixedWeeks:function(){var a=this.opt("weekMode");return a?"fixed"===a:this.opt("fixedWeekCount")}});Na.basic={"class":ub},Na.basicDay={type:"basic",duration:{days:1}},Na.basicWeek={type:"basic",duration:{weeks:1}},Na.month={"class":vb,duration:{months:1},defaults:{fixedWeekCount:!0}};var wb=mb.extend({timeGrid:null,dayGrid:null,axisWidth:null,noScrollRowEls:null,bottomRuleEl:null,bottomRuleHeight:null,initialize:function(){this.timeGrid=new lb(this),this.opt("allDaySlot")?(this.dayGrid=new kb(this),this.coordMap=new eb([this.dayGrid.coordMap,this.timeGrid.coordMap])):this.coordMap=this.timeGrid.coordMap},setRange:function(a){mb.prototype.setRange.call(this,a),this.timeGrid.setRange(a),this.dayGrid&&this.dayGrid.setRange(a)},renderDates:function(){this.el.addClass("fc-agenda-view").html(this.renderHtml()),this.scrollerEl=this.el.find(".fc-time-grid-container"),this.timeGrid.coordMap.containerEl=this.scrollerEl,this.timeGrid.setElement(this.el.find(".fc-time-grid")),this.timeGrid.renderDates(),this.bottomRuleEl=a('<hr class="fc-divider '+this.widgetHeaderClass+'"/>').appendTo(this.timeGrid.el),this.dayGrid&&(this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.renderDates(),this.dayGrid.bottomCoordPadding=this.dayGrid.el.next("hr").outerHeight()),this.noScrollRowEls=this.el.find(".fc-row:not(.fc-scroller *)")},unrenderDates:function(){this.timeGrid.unrenderDates(),this.timeGrid.removeElement(),this.dayGrid&&(this.dayGrid.unrenderDates(),this.dayGrid.removeElement())},renderBusinessHours:function(){this.timeGrid.renderBusinessHours(),this.dayGrid&&this.dayGrid.renderBusinessHours()},renderHtml:function(){return'<table><thead class="fc-head"><tr><td class="'+this.widgetHeaderClass+'">'+this.timeGrid.headHtml()+'</td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'">'+(this.dayGrid?'<div class="fc-day-grid"/><hr class="fc-divider '+this.widgetHeaderClass+'"/>':"")+'<div class="fc-time-grid-container"><div class="fc-time-grid"/></div></td></tr></tbody></table>'},headIntroHtml:function(){var a,b;return this.opt("weekNumbers")?(a=this.timeGrid.getCell(0).start,b=a.format(this.opt("smallWeekFormat")),'<th class="fc-axis fc-week-number '+this.widgetHeaderClass+'" '+this.axisStyleAttr()+"><span>"+Y(b)+"</span></th>"):'<th class="fc-axis '+this.widgetHeaderClass+'" '+this.axisStyleAttr()+"></th>"},dayIntroHtml:function(){return'<td class="fc-axis '+this.widgetContentClass+'" '+this.axisStyleAttr()+"><span>"+(this.opt("allDayHtml")||Y(this.opt("allDayText")))+"</span></td>"},slotBgIntroHtml:function(){return'<td class="fc-axis '+this.widgetContentClass+'" '+this.axisStyleAttr()+"></td>";
9
- },introHtml:function(){return'<td class="fc-axis" '+this.axisStyleAttr()+"></td>"},axisStyleAttr:function(){return null!==this.axisWidth?'style="width:'+this.axisWidth+'px"':""},updateSize:function(a){this.timeGrid.updateSize(a),mb.prototype.updateSize.call(this,a)},updateWidth:function(){this.axisWidth=k(this.el.find(".fc-axis"))},setHeight:function(a,b){var c,d;null===this.bottomRuleHeight&&(this.bottomRuleHeight=this.bottomRuleEl.outerHeight()),this.bottomRuleEl.hide(),this.scrollerEl.css("overflow",""),m(this.scrollerEl),f(this.noScrollRowEls),this.dayGrid&&(this.dayGrid.removeSegPopover(),c=this.opt("eventLimit"),c&&"number"!=typeof c&&(c=xb),c&&this.dayGrid.limitRows(c)),b||(d=this.computeScrollerHeight(a),l(this.scrollerEl,d)?(e(this.noScrollRowEls,r(this.scrollerEl)),d=this.computeScrollerHeight(a),this.scrollerEl.height(d)):(this.scrollerEl.height(d).css("overflow","hidden"),this.bottomRuleEl.show()))},computeInitialScroll:function(){var a=b.duration(this.opt("scrollTime")),c=this.timeGrid.computeTimeTop(a);return c=Math.ceil(c),c&&c++,c},renderEvents:function(a){var b,c,d=[],e=[],f=[];for(c=0;c<a.length;c++)a[c].allDay?d.push(a[c]):e.push(a[c]);b=this.timeGrid.renderEvents(e),this.dayGrid&&(f=this.dayGrid.renderEvents(d)),this.updateHeight()},getEventSegs:function(){return this.timeGrid.getEventSegs().concat(this.dayGrid?this.dayGrid.getEventSegs():[])},unrenderEvents:function(){this.timeGrid.unrenderEvents(),this.dayGrid&&this.dayGrid.unrenderEvents()},renderDrag:function(a,b){return a.start.hasTime()?this.timeGrid.renderDrag(a,b):this.dayGrid?this.dayGrid.renderDrag(a,b):void 0},unrenderDrag:function(){this.timeGrid.unrenderDrag(),this.dayGrid&&this.dayGrid.unrenderDrag()},renderSelection:function(a){a.start.hasTime()||a.end.hasTime()?this.timeGrid.renderSelection(a):this.dayGrid&&this.dayGrid.renderSelection(a)},unrenderSelection:function(){this.timeGrid.unrenderSelection(),this.dayGrid&&this.dayGrid.unrenderSelection()}}),xb=5,yb=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];return Na.agenda={"class":wb,defaults:{allDaySlot:!0,allDayText:"all-day",slotDuration:"00:30:00",minTime:"00:00:00",maxTime:"24:00:00",slotEventOverlap:!0}},Na.agendaDay={type:"agenda",duration:{days:1}},Na.agendaWeek={type:"agenda",duration:{weeks:1}},Ma});
 
 
 
 
 
 
 
 
 
backend/modules/calendar/templates/calendar.php CHANGED
@@ -7,6 +7,7 @@ use Bookly\Backend\Modules\Calendar\Proxy;
7
  /**
8
  * @var Bookly\Lib\Entities\Staff[] $staff_members
9
  * @var array $staff_dropdown_data
 
10
  * @var int $refresh_rate
11
  */
12
  ?>
@@ -23,71 +24,110 @@ use Bookly\Backend\Modules\Calendar\Proxy;
23
  </div>
24
  <div class="card">
25
  <div class="card-body">
26
- <div class="form-row justify-content-center justify-content-md-end">
27
- <?php if ( $staff_members ) : ?>
28
- <ul class="col-auto nav nav-pills bookly-js-calendar-tabs">
29
- <?php if ( Common::isCurrentUserSupervisor() ) : ?>
30
- <li class="nav-item mr-2 mb-2">
31
- <a class="nav-link" href="#" data-staff_id="0"><?php esc_html_e( 'All', 'bookly' ) ?></a>
32
- </li>
33
- <?php endif ?>
34
- <?php foreach ( $staff_members as $staff ) : ?>
35
- <li class="nav-item mr-2 mb-2" style="display: none">
36
- <a class="nav-link" href="#" data-staff_id="<?php echo $staff->getId() ?>"><?php echo esc_html( $staff->getFullName() ) ?></a>
 
 
 
 
 
 
 
 
 
 
 
 
37
  </li>
38
  <?php endforeach ?>
39
  </ul>
40
- <div class="col-auto col-md"></div>
41
- <div class="col-auto mb-2">
42
- <div class="btn-group">
43
- <button type="button" class="btn <?php echo $refresh_rate > 0 ? 'btn-success' : 'btn-default' ?>" id="bookly-calendar-refresh"><i class="fas fa-sync-alt"></i></button>
44
- <button type="button" class="btn <?php echo $refresh_rate > 0 ? 'btn-success' : 'btn-default' ?> dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></button>
45
- <div class="dropdown-menu pb-0">
46
- <h6 class="dropdown-header"><?php esc_html_e( 'Auto-refresh Calendar', 'bookly' ) ?></h6>
47
- <div class="dropdown-divider"></div>
48
- <?php Components\Controls\Inputs::renderRadioGroup( null, null,
49
- array(
50
- '60' => array( 'title' => __( 'Every 1 minute', 'bookly' ) ),
51
- '300' => array( 'title' => __( 'Every 5 minutes', 'bookly' ) ),
52
- '900' => array( 'title' => __( 'Every 15 minutes', 'bookly' ) ),
53
- '0' => array( 'title' => __( 'Disable', 'bookly' ) ),
54
- ),
55
- $refresh_rate,
56
- array( 'name' => 'bookly_calendar_refresh_rate', 'parent-class' => 'mx-3 my-2 w-100' ) ) ?>
57
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  </div>
59
  </div>
60
- <?php Proxy\OutlookCalendar::renderSyncButton( $staff_members ) ?>
61
- <?php Proxy\AdvancedGoogleCalendar::renderSyncButton( $staff_members ) ?>
62
- <?php Proxy\Locations::renderCalendarLocationFilter() ?>
 
63
  <?php if ( Common::isCurrentUserSupervisor() ) : ?>
64
- <div class="col-auto mb-2">
65
- <ul id="bookly-js-staff-filter"
66
- data-align="right"
67
- data-txt-select-all="<?php esc_attr_e( 'All staff', 'bookly' ) ?>"
68
- data-txt-all-selected="<?php esc_attr_e( 'All staff', 'bookly' ) ?>"
69
- data-txt-nothing-selected="<?php esc_attr_e( 'No staff selected', 'bookly' ) ?>"
70
- >
71
- <?php foreach ( $staff_dropdown_data as $category_id => $category ): ?>
72
- <li<?php if ( ! $category_id ) : ?> data-flatten-if-single<?php endif ?>><?php echo esc_html( $category['name'] ) ?>
73
- <ul>
74
- <?php foreach ( $category['items'] as $staff ) : ?>
75
- <li data-value="<?php echo $staff['id'] ?>">
76
- <?php echo esc_html( $staff['full_name'] ) ?>
77
- </li>
78
- <?php endforeach ?>
79
- </ul>
80
- </li>
81
- <?php endforeach ?>
82
- </ul>
83
- </div>
84
  <?php endif ?>
85
- <?php endif ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  </div>
 
87
  <div class="mt-3 position-relative">
88
  <?php if ( $staff_members ) : ?>
89
- <div class="bookly-fc-loading" style="display: none">
90
- <div class="bookly-fc-loading-icon"></div>
91
  </div>
92
  <div class="bookly-js-calendar"></div>
93
  <?php Components\Dialogs\Appointment\Edit\Dialog::render() ?>
@@ -115,6 +155,9 @@ use Bookly\Backend\Modules\Calendar\Proxy;
115
  <a class="btn btn-success" href="<?php echo Common::prepareUrlReferrers( 'https://codecanyon.net/item/bookly/7226091?ref=ladela', 'welcome' ) ?>" target="_blank">
116
  <?php esc_html_e( 'Try Bookly Pro add-on', 'bookly' ) ?>
117
  </a>
 
 
 
118
  </div>
119
  <?php endif ?>
120
  </div>
7
  /**
8
  * @var Bookly\Lib\Entities\Staff[] $staff_members
9
  * @var array $staff_dropdown_data
10
+ * @var array $services_dropdown_data
11
  * @var int $refresh_rate
12
  */
13
  ?>
24
  </div>
25
  <div class="card">
26
  <div class="card-body">
27
+ <?php if ( $staff_members ) : ?>
28
+ <div class="form-row justify-content-xl-end justify-content-center">
29
+ <?php Proxy\OutlookCalendar::renderSyncButton( $staff_members ) ?>
30
+ <?php Proxy\AdvancedGoogleCalendar::renderSyncButton( $staff_members ) ?>
31
+ <?php Proxy\Locations::renderCalendarLocationFilter() ?>
32
+ <div class="col-sm-auto mb-2">
33
+ <ul id="bookly-js-services-filter"
34
+ data-icon-class="far fa-dot-circle"
35
+ data-align="right"
36
+ data-txt-select-all="<?php esc_attr_e( 'All services', 'bookly' ) ?>"
37
+ data-txt-all-selected="<?php esc_attr_e( 'All services', 'bookly' ) ?>"
38
+ data-txt-nothing-selected="<?php esc_attr_e( 'No service selected', 'bookly' ) ?>"
39
+ >
40
+ <?php Proxy\Pro::renderServicesFilterOption(); ?>
41
+ <?php foreach ( $services_dropdown_data as $category_id => $category ): ?>
42
+ <li<?php if ( ! $category_id ) : ?> data-flatten-if-single<?php endif ?>><?php echo esc_html( $category['name'] ) ?>
43
+ <ul>
44
+ <?php foreach ( $category['items'] as $service ) : ?>
45
+ <li data-value="<?php echo $service['id'] ?>">
46
+ <?php echo esc_html( $service['title'] ) ?>
47
+ </li>
48
+ <?php endforeach ?>
49
+ </ul>
50
  </li>
51
  <?php endforeach ?>
52
  </ul>
53
+ </div>
54
+ <?php if ( Common::isCurrentUserSupervisor() ) : ?>
55
+ <div class="col-sm-auto mb-2">
56
+ <ul id="bookly-js-staff-filter"
57
+ data-align="right"
58
+ data-txt-select-all="<?php esc_attr_e( 'All staff', 'bookly' ) ?>"
59
+ data-txt-all-selected="<?php esc_attr_e( 'All staff', 'bookly' ) ?>"
60
+ data-txt-nothing-selected="<?php esc_attr_e( 'No staff selected', 'bookly' ) ?>"
61
+ >
62
+ <?php foreach ( $staff_dropdown_data as $category_id => $category ): ?>
63
+ <li<?php if ( ! $category_id ) : ?> data-flatten-if-single<?php endif ?>><?php echo esc_html( $category['name'] ) ?>
64
+ <ul>
65
+ <?php foreach ( $category['items'] as $staff ) : ?>
66
+ <li data-value="<?php echo $staff['id'] ?>">
67
+ <?php echo esc_html( $staff['full_name'] ) ?>
68
+ </li>
69
+ <?php endforeach ?>
70
+ </ul>
71
+ </li>
72
+ <?php endforeach ?>
73
+ </ul>
74
+ </div>
75
+ <?php endif ?>
76
+ <div class="col-sm-auto mb-2 text-center">
77
+ <div class="btn-group">
78
+ <button type="button" class="btn <?php echo $refresh_rate > 0 ? 'btn-success' : 'btn-default' ?>" id="bookly-calendar-refresh"><i class="fas fa-sync-alt"></i></button>
79
+ <button type="button" class="btn <?php echo $refresh_rate > 0 ? 'btn-success' : 'btn-default' ?> dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></button>
80
+ <div class="dropdown-menu pb-0 dropdown-menu-right">
81
+ <h6 class="dropdown-header"><?php esc_html_e( 'Auto-refresh Calendar', 'bookly' ) ?></h6>
82
+ <div class="dropdown-divider"></div>
83
+ <?php Components\Controls\Inputs::renderRadioGroup( null, null,
84
+ array(
85
+ '60' => array( 'title' => __( 'Every 1 minute', 'bookly' ) ),
86
+ '300' => array( 'title' => __( 'Every 5 minutes', 'bookly' ) ),
87
+ '900' => array( 'title' => __( 'Every 15 minutes', 'bookly' ) ),
88
+ '0' => array( 'title' => __( 'Disable', 'bookly' ) ),
89
+ ),
90
+ $refresh_rate,
91
+ array( 'name' => 'bookly_calendar_refresh_rate', 'parent-class' => 'mx-3 my-2 w-100' ) ) ?>
92
  </div>
93
  </div>
94
+ </div>
95
+ </div>
96
+ <div class="overflow-auto d-flex justify-content-center justify-content-xl-start bookly-js-staff-pills">
97
+ <ul class="col-auto nav nav-pills flex-nowrap">
98
  <?php if ( Common::isCurrentUserSupervisor() ) : ?>
99
+ <li class="nav-item mr-2">
100
+ <a class="nav-link d-block text-center p-2" href="#" data-staff_id="0">
101
+ <span class="d-block">
102
+ <i class="fas fa-users fa-2x" style="width: 40px; height: 40px;"></i>
103
+ </span>
104
+ <span class="small align-self-center"><?php esc_html_e( 'All', 'bookly' ) ?></span>
105
+ </a>
106
+ </li>
 
 
 
 
 
 
 
 
 
 
 
 
107
  <?php endif ?>
108
+ <?php foreach ( $staff_members as $staff ) : ?>
109
+ <li class="nav-item mr-2 text-nowrap<?php if ( ! Common::isCurrentUserSupervisor() ) : ?> d-none<?php endif ?>" style="display:none;">
110
+ <a class="nav-link d-block p-2 text-center" href="#" data-staff_id="<?php echo $staff->getId() ?>">
111
+ <?php if ( $image = $staff->getImageUrl( 'thumbnail' ) ) : ?>
112
+ <span class="rounded-circle d-flex overflow-hidden m-auto" style="height: 40px; width: 40px;">
113
+ <img src="<?php echo $image ?>" alt="<?php echo esc_attr( $staff->getFullName() ) ?>" class="d-block mx-auto" style="max-width: 40px; max-height: 40px; align-self: center;" />
114
+ </span>
115
+ <?php else : ?>
116
+ <i class="far fa-user-circle fa-2x d-block mx-auto font-weight-bold" style="width: 40px; height: 40px;"></i>
117
+ <?php endif ?>
118
+ <span class="small align-self-center">
119
+ <?php echo esc_html( $staff->getFullName() ) ?>
120
+ </span>
121
+ </a>
122
+ </li>
123
+ <?php endforeach ?>
124
+ </ul>
125
  </div>
126
+ <?php endif ?>
127
  <div class="mt-3 position-relative">
128
  <?php if ( $staff_members ) : ?>
129
+ <div class="bookly-ec-loading" style="display: none">
130
+ <div class="bookly-ec-loading-icon"></div>
131
  </div>
132
  <div class="bookly-js-calendar"></div>
133
  <?php Components\Dialogs\Appointment\Edit\Dialog::render() ?>
155
  <a class="btn btn-success" href="<?php echo Common::prepareUrlReferrers( 'https://codecanyon.net/item/bookly/7226091?ref=ladela', 'welcome' ) ?>" target="_blank">
156
  <?php esc_html_e( 'Try Bookly Pro add-on', 'bookly' ) ?>
157
  </a>
158
+ <a class="btn btn-success" href="<?php echo Common::escAdminUrl( Backend\CloudProducts\Page::pageSlug() ) ?>">
159
+ <?php esc_html_e( 'Bookly Cloud', 'bookly' ) ?>
160
+ </a>
161
  </div>
162
  <?php endif ?>
163
  </div>
backend/modules/{cloud_purchases → cloud_billing}/Ajax.php RENAMED
@@ -1,11 +1,11 @@
1
  <?php
2
- namespace Bookly\Backend\Modules\CloudPurchases;
3
 
4
  use Bookly\Lib;
5
 
6
  /**
7
  * Class Ajax
8
- * @package Bookly\Backend\Modules\CloudPurchases
9
  */
10
  class Ajax extends Lib\Base\Ajax
11
  {
1
  <?php
2
+ namespace Bookly\Backend\Modules\CloudBilling;
3
 
4
  use Bookly\Lib;
5
 
6
  /**
7
  * Class Ajax
8
+ * @package Bookly\Backend\Modules\CloudBilling
9
  */
10
  class Ajax extends Lib\Base\Ajax
11
  {
backend/modules/{cloud_purchases → cloud_billing}/Page.php RENAMED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace Bookly\Backend\Modules\CloudPurchases;
3
 
4
  use Bookly\Lib;
5
  use Bookly\Backend\Components;
@@ -17,7 +17,7 @@ class Page extends Lib\Base\Component
17
  {
18
  $cloud = Lib\Cloud\API::getInstance();
19
  if ( ! $cloud->account->loadProfile() ) {
20
- Components\Cloud\LoginRequired\Page::render( __( 'Bookly Cloud Purchases', 'bookly' ), self::pageSlug() );
21
  } else {
22
  self::enqueueStyles( array(
23
  'frontend' => array( 'css/ladda.min.css' ),
@@ -36,7 +36,7 @@ class Page extends Lib\Base\Component
36
  'js/ladda.min.js' => array( 'jquery' ),
37
  ),
38
  'module' => array(
39
- 'js/cloud-purchases.js' => array( 'bookly-ladda.min.js', ),
40
  ),
41
  ) );
42
 
@@ -44,7 +44,7 @@ class Page extends Lib\Base\Component
44
 
45
  $invoice_data = Lib\Cloud\API::getInstance()->account->getInvoiceData();
46
 
47
- wp_localize_script( 'bookly-cloud-purchases.js', 'BooklyL10n', array(
48
  'csrfToken' => Lib\Utils\Common::getCsrfToken(),
49
  'zeroRecords' => __( 'No records for selected period.', 'bookly' ),
50
  'processing' => __( 'Processing...', 'bookly' ),
@@ -54,7 +54,7 @@ class Page extends Lib\Base\Component
54
  'button' => __( 'Invoice', 'bookly' ),
55
  'alert' => __( 'To generate an invoice you should fill in company information in Bookly Cloud settings -> Invoice', 'bookly' ),
56
  'link' => $cloud->account->getInvoiceLink(),
57
- 'valid' => isset ( $invoice_data['company_name'] ) && isset( $invoice_data['company_address'] ) && $invoice_data['company_name'] != '' && $invoice_data['company_address'] != '',
58
  ),
59
  'datatables' => $datatables,
60
  ) );
1
  <?php
2
+ namespace Bookly\Backend\Modules\CloudBilling;
3
 
4
  use Bookly\Lib;
5
  use Bookly\Backend\Components;
17
  {
18
  $cloud = Lib\Cloud\API::getInstance();
19
  if ( ! $cloud->account->loadProfile() ) {
20
+ Components\Cloud\LoginRequired\Page::render( __( 'Bookly Cloud Billing', 'bookly' ), self::pageSlug() );
21
  } else {
22
  self::enqueueStyles( array(
23
  'frontend' => array( 'css/ladda.min.css' ),
36
  'js/ladda.min.js' => array( 'jquery' ),
37
  ),
38
  'module' => array(
39
+ 'js/cloud-billing.js' => array( 'bookly-ladda.min.js', ),
40
  ),
41
  ) );
42
 
44
 
45
  $invoice_data = Lib\Cloud\API::getInstance()->account->getInvoiceData();
46
 
47
+ wp_localize_script( 'bookly-cloud-billing.js', 'BooklyL10n', array(
48
  'csrfToken' => Lib\Utils\Common::getCsrfToken(),
49
  'zeroRecords' => __( 'No records for selected period.', 'bookly' ),
50
  'processing' => __( 'Processing...', 'bookly' ),
54
  'button' => __( 'Invoice', 'bookly' ),
55
  'alert' => __( 'To generate an invoice you should fill in company information in Bookly Cloud settings -> Invoice', 'bookly' ),
56
  'link' => $cloud->account->getInvoiceLink(),
57
+ 'valid' => isset ( $invoice_data['company_name'], $invoice_data['company_address'] ) && $invoice_data['company_name'] != '' && $invoice_data['company_address'] != '',
58
  ),
59
  'datatables' => $datatables,
60
  ) );
backend/modules/{cloud_purchases/resources/js/cloud-purchases.js → cloud_billing/resources/js/cloud-billing.js} RENAMED
File without changes
backend/modules/{cloud_purchases → cloud_billing}/templates/index.php RENAMED
@@ -8,7 +8,7 @@ use Bookly\Lib;
8
  ?>
9
  <div id="bookly-tbs" class="wrap">
10
  <div class="form-row align-items-center mb-3">
11
- <h4 class="col m-0"><?php esc_html_e( 'Bookly Cloud Purchases', 'bookly' ) ?></h4>
12
  <?php Support\Buttons::render( $self::pageSlug() ) ?>
13
  </div>
14
  <div class="card mb-4">
8
  ?>
9
  <div id="bookly-tbs" class="wrap">
10
  <div class="form-row align-items-center mb-3">
11
+ <h4 class="col m-0"><?php esc_html_e( 'Bookly Cloud Billing', 'bookly' ) ?></h4>
12
  <?php Support\Buttons::render( $self::pageSlug() ) ?>
13
  </div>
14
  <div class="card mb-4">
backend/modules/cloud_products/Ajax.php CHANGED
@@ -3,6 +3,7 @@ namespace Bookly\Backend\Modules\CloudProducts;
3
 
4
  use Bookly\Backend\Modules\Settings\Page as SettingsPage;
5
  use Bookly\Backend\Modules\CloudSMS\Page as CloudSMSPage;
 
6
  use Bookly\Lib;
7
  use Bookly\Lib\Cloud\Account;
8
 
@@ -76,6 +77,47 @@ class Ajax extends Lib\Base\Ajax
76
  }
77
  }
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  /**
80
  * Get text for 'product activation' modal
81
  */
@@ -83,16 +125,18 @@ class Ajax extends Lib\Base\Ajax
83
  {
84
  $product = self::parameter( 'product' );
85
  $status = self::parameter( 'status' );
 
 
 
86
  $api = Lib\Cloud\API::getInstance();
87
- $texts = $api->general->getProductActivationTexts( self::parameter( 'product' ) );
88
-
89
  if ( $texts ) {
90
  switch ( $product ) {
91
  case Account::PRODUCT_SMS_NOTIFICATIONS:
92
  wp_send_json_success( array(
93
- 'content' => $texts['activation-message'],
94
  'button' => array(
95
- 'caption' => $texts['activation-button'],
96
  'url' => add_query_arg( array( 'page' => CloudSMSPage::pageSlug() ), admin_url( 'admin.php' ) )
97
  )
98
  ) );
@@ -100,16 +144,23 @@ class Ajax extends Lib\Base\Ajax
100
  case Account::PRODUCT_STRIPE:
101
  if ( $status == 'activated' ) {
102
  wp_send_json_success( array(
103
- 'content' => $texts['activation-message'],
104
  'button' => array(
105
- 'caption' => $texts['activation-button'],
106
  'url' => add_query_arg( array( 'page' => SettingsPage::pageSlug(), 'tab' => 'payments' ), admin_url( 'admin.php' ) )
107
  )
108
  ) );
109
- } elseif ( $status == 'cancelled' ) {
110
- wp_send_json_error( array( 'content' => __( 'Stripe activation was not completed', 'bookly' ) ) );
111
  }
112
  break;
 
 
 
 
 
 
 
 
 
113
  }
114
  } else {
115
  wp_send_json_error( array( 'content' => current( $api->getErrors() ) ) );
3
 
4
  use Bookly\Backend\Modules\Settings\Page as SettingsPage;
5
  use Bookly\Backend\Modules\CloudSMS\Page as CloudSMSPage;
6
+ use Bookly\Backend\Modules\CloudZapier\Page as CloudZapierPage;
7
  use Bookly\Lib;
8
  use Bookly\Lib\Cloud\Account;
9
 
77
  }
78
  }
79
 
80
+ /**
81
+ * Enable/disable Zapier
82
+ */
83
+ public static function cloudZapierChangeStatus()
84
+ {
85
+ $status = self::parameter( 'status' );
86
+ $api = Lib\Cloud\API::getInstance();
87
+ if ( $status == '1' ) {
88
+ $response = $api->zapier->activate( self::parameter( 'product_price' ) );
89
+ if ( $response !== false ) {
90
+ wp_send_json_success( array(
91
+ 'redirect_url' => add_query_arg(
92
+ array( 'page' => Page::pageSlug() ),
93
+ admin_url( 'admin.php' ) ) . '#cloud-product=zapier&status=activated'
94
+ ) );
95
+ } else {
96
+ wp_send_json_error( array( 'message' => current( $api->getErrors() ) ) );
97
+ }
98
+ } else {
99
+ if ( $api->zapier->deactivate( $status ) ) {
100
+ wp_send_json_success();
101
+ } else {
102
+ wp_send_json_error( array( 'message' => current( $api->getErrors() ) ) );
103
+ }
104
+ }
105
+ }
106
+
107
+
108
+ /**
109
+ * Revert cancel Zapier subscription
110
+ */
111
+ public static function cloudZapierRevertCancel()
112
+ {
113
+ $api = Lib\Cloud\API::getInstance();
114
+ if ( $api->zapier->revertCancel() ) {
115
+ wp_send_json_success();
116
+ } else {
117
+ wp_send_json_error( array( 'message' => current( $api->getErrors() ) ) );
118
+ }
119
+ }
120
+
121
  /**
122
  * Get text for 'product activation' modal
123
  */
125
  {
126
  $product = self::parameter( 'product' );
127
  $status = self::parameter( 'status' );
128
+ if ( $product === Account::PRODUCT_STRIPE && $status === 'cancelled' ) {
129
+ wp_send_json_error( array( 'content' => __( 'Stripe activation was not completed', 'bookly' ) ) );
130
+ }
131
  $api = Lib\Cloud\API::getInstance();
132
+ $texts = $api->account->getProductActivationTexts( self::parameter( 'product' ) );
 
133
  if ( $texts ) {
134
  switch ( $product ) {
135
  case Account::PRODUCT_SMS_NOTIFICATIONS:
136
  wp_send_json_success( array(
137
+ 'content' => $texts['message'],
138
  'button' => array(
139
+ 'caption' => $texts['button'],
140
  'url' => add_query_arg( array( 'page' => CloudSMSPage::pageSlug() ), admin_url( 'admin.php' ) )
141
  )
142
  ) );
144
  case Account::PRODUCT_STRIPE:
145
  if ( $status == 'activated' ) {
146
  wp_send_json_success( array(
147
+ 'content' => $texts['message'],
148
  'button' => array(
149
+ 'caption' => $texts['button'],
150
  'url' => add_query_arg( array( 'page' => SettingsPage::pageSlug(), 'tab' => 'payments' ), admin_url( 'admin.php' ) )
151
  )
152
  ) );
 
 
153
  }
154
  break;
155
+ case Account::PRODUCT_ZAPIER:
156
+ wp_send_json_success( array(
157
+ 'content' => $texts['message'],
158
+ 'button' => array(
159
+ 'caption' => $texts['button'],
160
+ 'url' => add_query_arg( array( 'page' => CloudZapierPage::pageSlug() ), admin_url( 'admin.php' ) )
161
+ )
162
+ ) );
163
+ break;
164
  }
165
  } else {
166
  wp_send_json_error( array( 'content' => current( $api->getErrors() ) ) );
backend/modules/cloud_products/Page.php CHANGED
@@ -33,20 +33,39 @@ class Page extends Lib\Base\Component
33
  ) );
34
 
35
  $cloud = Lib\Cloud\API::getInstance();
 
 
36
 
 
37
  $products = array();
 
38
  foreach ( $cloud->general->getProducts() as $product ) {
39
- $products[ $product['id'] ] = array(
40
  'title' => $product['texts']['title'],
41
  'info_title' => $product['texts']['info-title'],
 
42
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  }
44
 
45
  wp_localize_script( 'bookly-cloud-products.js', 'BooklyL10n', array(
46
  'csrfToken' => Lib\Utils\Common::getCsrfToken(),
47
- 'products' => $products,
 
48
  ) );
49
 
50
- self::renderTemplate( 'index', compact( 'cloud' ) );
51
  }
52
  }
33
  ) );
34
 
35
  $cloud = Lib\Cloud\API::getInstance();
36
+ // Get actual products data
37
+ $cloud->general->loadInfo();
38
 
39
+ $js_products = array();
40
  $products = array();
41
+ $subscriptions = $cloud->account->getSubscriptions();
42
  foreach ( $cloud->general->getProducts() as $product ) {
43
+ $js_products[ $product['id'] ] = array(
44
  'title' => $product['texts']['title'],
45
  'info_title' => $product['texts']['info-title'],
46
+ 'active' => $cloud->account->productActive( $product['id'] )
47
  );
48
+ // Prepare next billing date
49
+ if ( isset ( $product['prices'] ) ) {
50
+ $js_products[ $product['id'] ]['has_subscription'] = true;
51
+ foreach ( $product['prices'] as $price ) {
52
+ foreach ( $subscriptions as $subscription ) {
53
+ if ( $subscription['product_price_id'] === $price['id'] ) {
54
+ $product['next_billing_date'] = Lib\Utils\DateTime::formatDate( $subscription['next_billing_date'] );
55
+ $product['cancel_on_renewal'] = isset( $subscription['cancel_on_renewal'] ) ? $subscription['cancel_on_renewal'] : false;
56
+ }
57
+ }
58
+ }
59
+ }
60
+ $products[] = $product;
61
  }
62
 
63
  wp_localize_script( 'bookly-cloud-products.js', 'BooklyL10n', array(
64
  'csrfToken' => Lib\Utils\Common::getCsrfToken(),
65
+ 'products' => $js_products,
66
+ 'subscriptions' => $subscriptions,
67
  ) );
68
 
69
+ self::renderTemplate( 'index', compact( 'cloud', 'products' ) );
70
  }
71
  }
backend/modules/cloud_products/resources/js/cloud-products.js CHANGED
@@ -1,24 +1,78 @@
1
  jQuery(function ($) {
2
  'use strict';
3
 
4
- const $onOffButtons = $('.bookly-js-product-enable,.bookly-js-product-disable');
5
- const $infoButtons = $('.bookly-js-product-info-button');
6
- const $updateRequiredButtons = $('.bookly-js-bookly-update-required');
7
- const $infoModal = $('#bookly-product-info-modal');
8
- const infoModal = {
9
- $loading: $('.bookly-js-loading', $infoModal),
10
- $content: $('#bookly-info-content', $infoModal),
11
- $title: $('.modal-title',$infoModal)
12
- };
13
- const $activationModal = $('#bookly-product-activation-modal');
14
- const activationModal = {
 
 
 
 
 
 
 
 
15
  $title: $('.modal-title', $activationModal),
16
  $success: $('.bookly-js-success', $activationModal),
17
  $fail: $('.bookly-js-fail', $activationModal),
18
  $content: $('.bookly-js-content', $activationModal),
19
  $button: $('.bookly-js-action-btn', $activationModal)
20
- };
21
- const hash = window.location.href.split('#');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
  $infoButtons.on('click', function () {
24
  const ladda = Ladda.create(this);
@@ -30,7 +84,7 @@ jQuery(function ($) {
30
  $infoModal.booklyModal('show');
31
  $.ajax({
32
  type: 'POST',
33
- url: ajaxurl,
34
  data: {
35
  action: 'bookly_cloud_get_product_info',
36
  product: product,
@@ -56,9 +110,60 @@ jQuery(function ($) {
56
 
57
  $onOffButtons.on('click', function () {
58
  const $button = $(this);
59
- const ladda = Ladda.create(this);
60
  const product = $(this).closest('.bookly-js-cloud-product').data('product');
61
  const status = $button.hasClass('bookly-js-product-enable') ? 1 : 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  let action;
63
  switch (product) {
64
  case 'stripe':
@@ -67,6 +172,9 @@ jQuery(function ($) {
67
  case 'sms':
68
  action = 'bookly_cloud_sms_change_status';
69
  break;
 
 
 
70
  default:
71
  return;
72
  }
@@ -78,12 +186,13 @@ jQuery(function ($) {
78
  data: {
79
  action: action,
80
  status: status,
 
81
  csrf_token: BooklyL10n.csrfToken,
82
  },
83
  dataType: 'json',
84
  success: function (response) {
85
  if (response.success) {
86
- if (status) {
87
  window.location.href = response.data.redirect_url;
88
  if (product !== 'stripe') {
89
  window.location.reload();
@@ -97,12 +206,12 @@ jQuery(function ($) {
97
  }
98
  }
99
  });
100
- });
101
-
102
  function showProductActivationMessage(product, status) {
103
  switch (product) {
104
  case 'stripe':
105
  case 'sms':
 
106
  $activationModal.booklyModal('show');
107
  activationModal.$title.html(BooklyL10n.products[product].title);
108
  $.ajax({
@@ -121,10 +230,10 @@ jQuery(function ($) {
121
  activationModal.$content.html(response.data.content);
122
  if (response.data.button) {
123
  activationModal.$button
124
- .find('span').html(response.data.button.caption).end()
125
- .off().on('click', function () {
126
- window.location.href = response.data.button.url;
127
- })
128
  .show();
129
  }
130
  } else {
@@ -159,8 +268,8 @@ jQuery(function ($) {
159
  if (hashObj.hasOwnProperty('cloud-product')) {
160
  if (hashObj.hasOwnProperty('status')) {
161
  showProductActivationMessage(hashObj['cloud-product'], hashObj['status']);
162
- if ("pushState" in history) {
163
- history.pushState("", document.title, window.location.pathname + window.location.search);
164
  } else {
165
  window.location.href = '#';
166
  }
1
  jQuery(function ($) {
2
  'use strict';
3
 
4
+ const $prices = $('.bookly-js-product-price-selector'),
5
+ component = {
6
+ items: '[data-product-price-id]',
7
+ dropdown: '.bookly-js-product-price-dropdown',
8
+ enable: '.bookly-js-product-enable',
9
+ disable: '.bookly-js-product-disable',
10
+ },
11
+ $onOffButtons = $('.bookly-js-product-enable,.bookly-js-product-disable'),
12
+ $infoButtons = $('.bookly-js-product-info-button'),
13
+ $revertCancelButtons = $('.bookly-js-product-revert-cancel'),
14
+ $updateRequiredButtons = $('.bookly-js-bookly-update-required'),
15
+ $infoModal = $('#bookly-product-info-modal'),
16
+ infoModal = {
17
+ $loading: $('.bookly-js-loading', $infoModal),
18
+ $content: $('#bookly-info-content', $infoModal),
19
+ $title: $('.modal-title',$infoModal)
20
+ },
21
+ $activationModal = $('#bookly-product-activation-modal'),
22
+ activationModal = {
23
  $title: $('.modal-title', $activationModal),
24
  $success: $('.bookly-js-success', $activationModal),
25
  $fail: $('.bookly-js-fail', $activationModal),
26
  $content: $('.bookly-js-content', $activationModal),
27
  $button: $('.bookly-js-action-btn', $activationModal)
28
+ },
29
+ $unsubscribeModal = $('#bookly-product-unsubscribe-modal'),
30
+ $cancelSubscriptionButton = $('#bookly-cancel-subscription'),
31
+ $cancelSubscriptionMethod = $('#bookly_cancel_subscription_method'),
32
+ hash = window.location.href.split('#');
33
+
34
+ $prices
35
+ .on('click', component.items, function () {
36
+ const $selector = $(this).parents('.bookly-js-product-price-selector'),
37
+ productPriceId = $(this).data('product-price-id');
38
+ $selector.data('pp-id', productPriceId);
39
+ $('.bookly-js-product-price', $selector).html($(this).html());
40
+ });
41
+
42
+ for (var product in BooklyL10n.products) {
43
+ let productActive = BooklyL10n.products[product].active,
44
+ $card = $('[data-product="' + product + '"]')
45
+ ;
46
+ if (productActive) {
47
+ $card.removeClass('bg-light').addClass('bg-white');
48
+ $(component.items, $card).each(function () {
49
+ const productPriceId = $(this).data('product-price-id');
50
+ let selected = false;
51
+ BooklyL10n.subscriptions.forEach(function (item) {
52
+ if (selected === false && item.product_price_id == productPriceId) {
53
+ selected = true;
54
+ }
55
+ });
56
+ if (selected) {
57
+ $(this).trigger('click');
58
+ }
59
+ });
60
+ }
61
+
62
+ $(component.enable, $card).toggle(!productActive);
63
+ $(component.disable, $card).toggle(productActive);
64
+ $(component.dropdown, $card).prop('disabled', productActive).toggleClass('disabled', productActive);
65
+
66
+ if (!productActive) {
67
+ if ($('.bookly-js-best-offer', $card).length > 0) {
68
+ $('.bookly-js-best-offer', $card).trigger('click');
69
+ } else if ($('.bookly-js-users-choice', $card).length > 0) {
70
+ $('.bookly-js-users-choice', $card).trigger('click')
71
+ } else {
72
+ $(component.items + ':first', $card).first().trigger('click');
73
+ }
74
+ }
75
+ }
76
 
77
  $infoButtons.on('click', function () {
78
  const ladda = Ladda.create(this);
84
  $infoModal.booklyModal('show');
85
  $.ajax({
86
  type: 'POST',
87
+ url : ajaxurl,
88
  data: {
89
  action: 'bookly_cloud_get_product_info',
90
  product: product,
110
 
111
  $onOffButtons.on('click', function () {
112
  const $button = $(this);
 
113
  const product = $(this).closest('.bookly-js-cloud-product').data('product');
114
  const status = $button.hasClass('bookly-js-product-enable') ? 1 : 0;
115
+ let product_price;
116
+ if (status) {
117
+ product_price = $(this).parents('.bookly-js-product-price-selector').data('pp-id');
118
+ }
119
+
120
+ if (!status && BooklyL10n.products[product].has_subscription) {
121
+ $unsubscribeModal.data('product', product);
122
+ $unsubscribeModal.booklyModal('show');
123
+ } else {
124
+ changeProductStatus(product, status, product_price, $button)
125
+ }
126
+ });
127
+
128
+ $revertCancelButtons.on('click', function () {
129
+ const $button = $(this);
130
+ const product = $(this).closest('.bookly-js-cloud-product').data('product');
131
+ const ladda = Ladda.create($button.get(0));
132
+ let action;
133
+ switch (product) {
134
+ case 'zapier':
135
+ action = 'bookly_cloud_zapier_revert_cancel';
136
+ break;
137
+ default:
138
+ return;
139
+ }
140
+
141
+ ladda.start();
142
+ $.ajax({
143
+ type: 'POST',
144
+ url : ajaxurl,
145
+ data: {
146
+ action: action,
147
+ csrf_token: BooklyL10n.csrfToken,
148
+ },
149
+ dataType: 'json',
150
+ success: function (response) {
151
+ if (response.success) {
152
+ window.location.reload();
153
+ } else {
154
+ booklyAlert({error: [response.data.message]});
155
+ ladda.stop();
156
+ }
157
+ }
158
+ });
159
+ });
160
+
161
+ $cancelSubscriptionButton.on('click', function () {
162
+ changeProductStatus($unsubscribeModal.data('product'), $cancelSubscriptionMethod.find("input:checked").val(), 0, $(this));
163
+ });
164
+
165
+ function changeProductStatus(product, status, product_price, $button) {
166
+ const ladda = Ladda.create($button.get(0));
167
  let action;
168
  switch (product) {
169
  case 'stripe':
172
  case 'sms':
173
  action = 'bookly_cloud_sms_change_status';
174
  break;
175
+ case 'zapier':
176
+ action = 'bookly_cloud_zapier_change_status';
177
+ break;
178
  default:
179
  return;
180
  }
186
  data: {
187
  action: action,
188
  status: status,
189
+ product_price: product_price,
190
  csrf_token: BooklyL10n.csrfToken,
191
  },
192
  dataType: 'json',
193
  success: function (response) {
194
  if (response.success) {
195
+ if (status == '1') {
196
  window.location.href = response.data.redirect_url;
197
  if (product !== 'stripe') {
198
  window.location.reload();
206
  }
207
  }
208
  });
209
+ }
 
210
  function showProductActivationMessage(product, status) {
211
  switch (product) {
212
  case 'stripe':
213
  case 'sms':
214
+ case 'zapier':
215
  $activationModal.booklyModal('show');
216
  activationModal.$title.html(BooklyL10n.products[product].title);
217
  $.ajax({
230
  activationModal.$content.html(response.data.content);
231
  if (response.data.button) {
232
  activationModal.$button
233
+ .find('span').html(response.data.button.caption).end().off()
234
+ .on('click', function () {
235
+ window.location.href = response.data.button.url;
236
+ })
237
  .show();
238
  }
239
  } else {
268
  if (hashObj.hasOwnProperty('cloud-product')) {
269
  if (hashObj.hasOwnProperty('status')) {
270
  showProductActivationMessage(hashObj['cloud-product'], hashObj['status']);
271
+ if ('pushState' in history) {
272
+ history.pushState('', document.title, window.location.pathname + window.location.search);
273
  } else {
274
  window.location.href = '#';
275
  }
backend/modules/cloud_products/templates/_action_btn.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+ use Bookly\Backend\Components\Controls\Buttons;
3
+ /**
4
+ * @var array $product
5
+ * @var Bookly\Lib\Cloud\API $cloud
6
+ */
7
+ ?>
8
+ <div>
9
+ <?php if ( $cloud->account->loadProfile() ) : ?>
10
+ <?php if ( isset( $product['cancel_on_renewal'] ) && $product['cancel_on_renewal'] === true ) : ?>
11
+ <?php Buttons::render( null, 'bookly-js-product-revert-cancel btn-success', $product['texts']['action-revert-cancel'] ) ?>
12
+ <?php else : ?>
13
+ <?php Buttons::render( null, 'bookly-js-product-enable btn-success collapse', $product['texts']['action-on'] ) ?>
14
+ <?php Buttons::render( null, 'bookly-js-product-disable btn-danger collapse', $product['texts']['action-off'] ) ?>
15
+ <?php endif ?>
16
+ <?php else: ?>
17
+ <?php Buttons::render( null, 'bookly-js-product-login-button btn-success', $product['texts']['action-on'] ) ?>
18
+ <?php endif ?>
19
+ </div>
backend/modules/cloud_products/templates/{_activation.php → _activation_modal.php} RENAMED
File without changes
backend/modules/cloud_products/templates/_price.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+ /**
3
+ * @var array $product
4
+ */
5
+ ?>
6
+ <div class="mb-3">
7
+ <div class="h5"><?php echo $product['texts']['price'] ?></div>
8
+ <?php if ( isset ( $product['prices'] ) ) : ?>
9
+ <div class="dropdown">
10
+ <button class="bookly-js-product-price-dropdown btn btn-default dropdown-toggle d-flex align-items-center w-100" type="button" data-toggle="dropdown">
11
+ <span class="bookly-js-product-price flex-grow-1">&nbsp;</span>
12
+ </button>
13
+ <div class="dropdown-menu dropdown-menu-compact dropdown-menu-right text-right w-100 shadow">
14
+ <?php foreach ( $product['prices'] as $price ) : ?>
15
+ <li class="dropdown-item" data-product-price-id="<?php echo $price['id'] ?>">
16
+ <?php if ( in_array( 'best_offer', $price['tags'] ) ) : ?>
17
+ <span class="bookly-js-best-offer badge badge-warning"><small><strong><?php esc_html_e( 'best offer', 'bookly' ) ?></strong></small></span>
18
+ <?php endif ?>
19
+ <?php if ( in_array( 'users_choice', $price['tags'] ) ) : ?>
20
+ <span class="bookly-js-users-choice badge badge-danger"><small><strong><?php esc_html_e( 'users choice', 'bookly' ) ?></strong></small></span>
21
+ <?php endif ?>
22
+ <span class="text-wrap"><?php echo $price['caption'] ?></span>
23
+ </li>
24
+ <?php endforeach ?>
25
+ </div>
26
+ </div>
27
+ <?php endif ?>
28
+ <?php if ( isset ( $product['next_billing_date'] ) ) : ?>
29
+ <div class="mt-2"><?php echo isset ( $product['cancel_on_renewal'] ) && ! $product['cancel_on_renewal'] ? esc_html__( 'Next billing date', 'bookly' ) : esc_html__( 'Deactivation date', 'bookly' ) ?>: <?php echo $product['next_billing_date'] ?></div>
30
+ <?php endif ?>
31
+ </div>
backend/modules/cloud_products/templates/_unsubscribe_modal.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+ use Bookly\Backend\Components\Controls;
3
+ ?>
4
+ <div id="bookly-product-unsubscribe-modal" class="bookly-modal bookly-fade" tabindex=-1 role="dialog">
5
+ <div class="modal-dialog">
6
+ <div class="modal-content">
7
+ <div class="modal-header">
8
+ <h5 class="modal-title"><?php esc_html_e( 'Cancel subscription', 'bookly' ) ?></h5>
9
+ <button type="button" class="close" data-dismiss="bookly-modal"><span>×</span></button>
10
+ </div>
11
+ <div class="modal-body">
12
+ <div id="bookly_cancel_subscription_method">
13
+ <?php Controls\Inputs::renderRadioGroup( __( 'When do you want to cancel?', 'bookly' ), '', array(
14
+ 'next_renewal' => array( 'title' => __( 'Cancel on next renewal', 'bookly' ) ),
15
+ 'now' => array( 'title' => __( 'Cancel immediately', 'bookly' ) ),
16
+ ), 'next_renewal', array( 'name' => 'bookly_cancel_subscription_method' ) ) ?>
17
+ </div>
18
+ </div>
19
+ <div class="modal-footer">
20
+ <?php Controls\Buttons::render( 'bookly-cancel-subscription', 'btn-danger', __( 'Cancel subscription', 'bookly' ) ) ?>
21
+ <?php Controls\Buttons::renderCancel( __( 'Close', 'bookly' ) ) ?>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
backend/modules/cloud_products/templates/index.php CHANGED
@@ -4,7 +4,9 @@ use Bookly\Backend\Components\Controls;
4
  use Bookly\Backend\Components\Cloud;
5
  use Bookly\Lib;
6
  /**
 
7
  * @var Lib\Cloud\API $cloud
 
8
  */
9
  $update_required_modal = false;
10
  ?>
@@ -22,13 +24,13 @@ $update_required_modal = false;
22
  <?php Cloud\Account\Panel::render() ?>
23
  </div>
24
  </div>
25
- <?php foreach ( $cloud->general->getProducts() as $product ) : ?>
26
  <div class="card bg-light p-3 mb-3 bookly-js-cloud-product" data-product="<?php echo $product['id'] ?>">
27
  <div class="form-row">
28
- <div class="col-xl-10 col-md-9 col-xs-12">
29
  <div class="d-flex">
30
  <div class="mr-4 mb-4">
31
- <img src="<?php echo $product['icon_url'] ?>"/>
32
  </div>
33
  <div class="flex-fill">
34
  <div class="h4 mb-2"><?php echo $product['texts']['title'] ?></div>
@@ -41,24 +43,16 @@ $update_required_modal = false;
41
  </div>
42
  </div>
43
  </div>
44
- <div class="col-xl-2 col-md-3 col-xs-12 mt-2 mt-md-0">
45
- <div class="text-center">
46
- <div class="h5 mb-3"><?php echo $product['texts']['price'] ?></div>
47
- <div>
48
- <?php if ( $cloud->account->loadProfile() ) : ?>
49
- <?php if ( $cloud->account->productActive( $product['id'] ) ) : ?>
50
- <?php Controls\Buttons::render( null, 'btn-danger bookly-js-product-disable', $product['texts']['action-off'] ) ?>
51
- <?php elseif ( $product['version'] > Lib\Plugin::getVersion() ) : ?>
52
- <?php $update_required_modal = true ?>
53
- <?php Controls\Buttons::render( null, 'btn-default bookly-js-bookly-update-required', $product['texts']['action-on'], array( 'data-version' => $product['version'] ) ) ?>
54
- <div class="mt-3 text-danger"><strong><?php printf( esc_html__( 'Bookly %s required', 'bookly' ), esc_html( $product['version'] ) ) ?></strong></div>
55
- <?php else : ?>
56
- <?php Controls\Buttons::render( null, 'btn-success bookly-js-product-enable', $product['texts']['action-on'] ) ?>
57
- <?php endif ?>
58
- <?php else : ?>
59
- <?php Controls\Buttons::render( null, 'btn-success bookly-js-product-login-button', $product['texts']['action-on'] ) ?>
60
- <?php endif ?>
61
- </div>
62
  </div>
63
  </div>
64
  </div>
@@ -67,7 +61,8 @@ $update_required_modal = false;
67
  </div>
68
  </div>
69
  <?php include '_info.php' ?>
70
- <?php include '_activation.php' ?>
 
71
  <?php if ( $update_required_modal ) : ?>
72
  <?php include '_update_required.php' ?>
73
  <?php endif ?>
4
  use Bookly\Backend\Components\Cloud;
5
  use Bookly\Lib;
6
  /**
7
+ * @var Bookly\Backend\Modules\CloudProducts\Page $self
8
  * @var Lib\Cloud\API $cloud
9
+ * @var array $products
10
  */
11
  $update_required_modal = false;
12
  ?>
24
  <?php Cloud\Account\Panel::render() ?>
25
  </div>
26
  </div>
27
+ <?php foreach ( $products as $product ) : ?>
28
  <div class="card bg-light p-3 mb-3 bookly-js-cloud-product" data-product="<?php echo $product['id'] ?>">
29
  <div class="form-row">
30
+ <div class="col-xl-9 col-md-8 col-xs-12">
31
  <div class="d-flex">
32
  <div class="mr-4 mb-4">
33
+ <img src="<?php echo $product['icon_url'] ?>" alt="<?php echo esc_attr( $product['texts']['title'] ) ?>" />
34
  </div>
35
  <div class="flex-fill">
36
  <div class="h4 mb-2"><?php echo $product['texts']['title'] ?></div>
43
  </div>
44
  </div>
45
  </div>
46
+ <div class="col-xl-3 col-md-4 col-xs-12 mt-2 mt-md-0">
47
+ <div class="bookly-js-product-price-selector text-center" data-pp-id="" data-product="<?php echo esc_attr( $product['id'] ) ?>">
48
+ <?php include '_price.php' ?>
49
+ <?php if ( $product['version'] > Lib\Plugin::getVersion() ) : ?>
50
+ <?php $update_required_modal = true ?>
51
+ <?php Controls\Buttons::render( null, 'btn-default bookly-js-bookly-update-required', $product['texts']['action-on'], array( 'data-version' => $product['version'] ) ) ?>
52
+ <div class="mt-2 text-danger"><strong><?php printf( esc_html__( 'Bookly %s required', 'bookly' ), esc_html( $product['version'] ) ) ?></strong></div>
53
+ <?php else : ?>
54
+ <?php static::renderTemplate( '_action_btn', compact( 'product', 'cloud' ) ) ?>
55
+ <?php endif ?>
 
 
 
 
 
 
 
 
56
  </div>
57
  </div>
58
  </div>
61
  </div>
62
  </div>
63
  <?php include '_info.php' ?>
64
+ <?php include '_activation_modal.php' ?>
65
+ <?php include '_unsubscribe_modal.php' ?>
66
  <?php if ( $update_required_modal ) : ?>
67
  <?php include '_update_required.php' ?>
68
  <?php endif ?>
backend/modules/cloud_sms/Ajax.php CHANGED
@@ -50,7 +50,7 @@ class Ajax extends Lib\Base\Ajax
50
  self::parameter( 'phone_number' ),
51
  'Bookly test SMS.',
52
  'Bookly test SMS.',
53
- Lib\Entities\Notification::$type_ids['test_message']
54
  ) );
55
 
56
  if ( $response['success'] ) {
50
  self::parameter( 'phone_number' ),
51
  'Bookly test SMS.',
52
  'Bookly test SMS.',
53
+ 0
54
  ) );
55
 
56
  if ( $response['success'] ) {
backend/modules/cloud_zapier/Ajax.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Modules\CloudZapier;
3
+
4
+ use Bookly\Lib;
5
+
6
+ /**
7
+ * Class Ajax
8
+ * @package Bookly\Backend\Modules\CloudSms
9
+ */
10
+ class Ajax extends Lib\Base\Ajax
11
+ {
12
+ /**
13
+ * Generate new API Key
14
+ */
15
+ public static function cloudZapierGenerateNewApiKey()
16
+ {
17
+ $api = Lib\Cloud\API::getInstance();
18
+ $response = $api->zapier->generateNewApiKey();
19
+ if ( $response !== false ) {
20
+ wp_send_json_success( array(
21
+ 'api_key' => $response['api_key']
22
+ ) );
23
+ } else {
24
+ wp_send_json_error( array( 'message' => current( $api->getErrors() ) ) );
25
+ }
26
+ }
27
+ }
backend/modules/cloud_zapier/Page.php ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Bookly\Backend\Modules\CloudZapier;
3
+
4
+ use Bookly\Lib;
5
+ use Bookly\Backend\Components;
6
+
7
+ /**
8
+ * Class Page
9
+ * @package Bookly\Backend\Modules\CloudZapier
10
+ */
11
+ class Page extends Lib\Base\Component
12
+ {
13
+ /**
14
+ * Render page.
15
+ */
16
+ public static function render()
17
+ {
18
+ $cloud = Lib\Cloud\API::getInstance();
19
+ if ( ! $cloud->account->loadProfile() ) {
20
+ Components\Cloud\LoginRequired\Page::render( __( 'Bookly Cloud Zapier', 'bookly' ), self::pageSlug() );
21
+ } elseif ( $cloud->account->productActive( 'zapier' ) ) {
22
+ self::enqueueStyles( array(
23
+ 'frontend' => array( 'css/ladda.min.css' ),
24
+ 'backend' => array( 'bootstrap/css/bootstrap.min.css', ),
25
+ ) );
26
+
27
+ self::enqueueScripts( array(
28
+ 'module' => array(
29
+ 'js/zapier.js' => array( 'jquery', ),
30
+ ),
31
+ 'backend' => array(
32
+ 'js/alert.js' => array( 'jquery' ),
33
+ ),
34
+ 'frontend' => array(
35
+ 'js/spin.min.js' => array( 'jquery' ),
36
+ 'js/ladda.min.js' => array( 'jquery' ),
37
+ ),
38
+ ) );
39
+
40
+ wp_localize_script( 'bookly-zapier.js', 'BooklyL10n', array(
41
+ 'csrfToken' => Lib\Utils\Common::getCsrfToken(),
42
+ 'areYouSure' => __( 'Are you sure?', 'bookly' ),
43
+ ) );
44
+
45
+ self::renderTemplate( 'index' );
46
+ } else {
47
+ wp_redirect( add_query_arg(
48
+ array( 'page' => \Bookly\Backend\Modules\CloudProducts\Page::pageSlug() ),
49
+ admin_url( 'admin.php' ) )
50
+ );
51
+ exit;
52
+ }
53
+ }
54
+
55
+ /**
56
+ * Show 'Zapier' submenu with counter inside Bookly Cloud main menu.
57
+ *
58
+ * @param array $product
59
+ */
60
+ public static function addBooklyCloudMenuItem( $product )
61
+ {
62
+ $title = $product['texts']['title'];
63
+
64
+ add_submenu_page(
65
+ 'bookly-cloud-menu',
66
+ $title,
67
+ $title,
68
+ Lib\Utils\Common::getRequiredCapability(),
69
+ self::pageSlug(),
70
+ function () {
71
+ \Bookly\Backend\Modules\CloudZapier\Page::render();
72
+ }
73
+ );
74
+ }
75
+ }
backend/modules/cloud_zapier/resources/js/zapier.js ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(function($) {
2
+ 'use strict';
3
+
4
+ $('#bookly-zapier-generate-new-api-key').on('click', function () {
5
+ if (confirm(BooklyL10n.areYouSure)) {
6
+ var ladda = Ladda.create(this);
7
+ ladda.start();
8
+
9
+ $.ajax({
10
+ url: ajaxurl,
11
+ type: 'POST',
12
+ data: {
13
+ action: 'bookly_cloud_zapier_generate_new_api_key',
14
+ csrf_token: BooklyL10n.csrfToken,
15
+ },
16
+ dataType: 'json',
17
+ success: function (response) {
18
+ ladda.stop();
19
+ if (response.success) {
20
+ $('#bookly_cloud_zapier_api_key').html(response.data.api_key);
21
+ } else {
22
+ booklyAlert({error: [response.data.message]});
23
+ }
24
+ }
25
+ });
26
+ }
27
+ });
28
+ });
backend/modules/cloud_zapier/templates/index.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
+ use Bookly\Backend\Components\Support;
3
+ use Bookly\Backend\Components\Dialogs;
4
+ use Bookly\Backend\Components\Cloud;
5
+ use Bookly\Backend\Components\Settings\Inputs;
6
+ use Bookly\Backend\Components\Controls\Buttons;
7
+ ?>
8
+ <div id="bookly-tbs" class="wrap">
9
+ <div class="form-row align-items-center mb-3">
10
+ <h4 class="col m-0"><?php esc_html_e( 'Bookly Cloud Zapier', 'bookly' ) ?></h4>
11
+ <?php Support\Buttons::render( $self::pageSlug() ) ?>
12
+ </div>
13
+ <div class="card mb-4">
14
+ <div class="card-body">
15
+ <div class="row pb-3">
16
+ <div class="col">
17
+ </div>
18
+ <div class="col-auto">
19
+ <?php Cloud\Account\Panel::render() ?>
20
+ </div>
21
+ </div>
22
+ <div class="form-group">
23
+ <h4><?php esc_html_e( 'Instructions', 'bookly' ) ?></h4>
24
+ <p></p>
25
+ <ol>
26
+ <li><?php printf( __( 'If you have not already done so, <a href="%s" target="_blank">sign up for Zapier</a>', 'bookly' ), 'https://zapier.com/sign-up/' ) ?></li>
27
+ <li><?php printf( __( '<a href="%s" target="_blank">Sign in to Zapier</a> and click <a href="%s" target="_blank"><b>Make a Zap</b></a>', 'bookly' ), 'https://zapier.com/login/', 'https://zapier.com/app/editor' ) ?></li>
28
+ <li><?php _e( 'In the <b>Choose App & Event</b> step search for the <b>Bookly</b> app and select it', 'bookly' ) ?></li>
29
+ <li><?php _e( 'In the <b>Choose Trigger Event</b> dropdown choose a trigger and click <b>Continue</b>', 'bookly' ) ?></li>
30
+ <li><?php _e( 'In the <b>Choose Account</b> step click <b>Sign in to Bookly</b>', 'bookly' ) ?></li>
31
+ <li><?php _e( 'In the popup window enter the API Key found below on this page, and click <b>Yes, Continue</b>', 'bookly' ) ?></li>
32
+ <li><?php _e( 'Click <b>Continue</b>, then <b>Test trigger</b> and <b>Continue</b>', 'bookly' ) ?></li>
33
+ <li><?php esc_html_e( 'Continue creating your Zap by selecting the options you\'d like', 'bookly' ) ?></li>
34
+ <li><?php _e( 'Finally, click <b>Finish</b> to create your Zap', 'bookly' ) ?></li>
35
+ <li><?php esc_html_e( 'Once your Zap is created, make sure to toggle your Zap "on". It\'s now ready to go and will run automatically', 'bookly' ) ?></li>
36
+ </ol>
37
+ </div>
38
+ <div class="form-row">
39
+ <div class="col-lg-6 col-xs-12">
40
+ <?php Inputs::renderTextCopy( 'bookly_cloud_zapier_api_key', __( 'API Key', 'bookly' ) ) ?>
41
+ </div>
42
+ </div>
43
+ <div class="form-row">
44
+ <div class="col-lg-6 col-xs-12">
45
+ <?php Buttons::renderDefault( 'bookly-zapier-generate-new-api-key', null, __( 'Generate new API Key', 'bookly' ), array(), true ) ?>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
backend/modules/debug/Ajax.php CHANGED
@@ -203,7 +203,8 @@ class Ajax extends Lib\Base\Ajax
203
  'bookly_appointments.online_meeting_id' => "varchar(255) null default null",
204
  'bookly_appointments.online_meeting_data' => "text null default null",
205
  'bookly_appointments.created_from' => "enum('bookly','google','outlook') not null default 'bookly'",
206
- 'bookly_appointments.created' => "datetime not null",
 
207
  'bookly_categories.id' => "int unsigned not null auto_increment primary key",
208
  'bookly_categories.name' => "varchar(255) not null",
209
  'bookly_categories.position' => "int not null default '9999'",
@@ -261,7 +262,8 @@ class Ajax extends Lib\Base\Ajax
261
  'bookly_customer_appointments.compound_service_id' => "int unsigned null default null",
262
  'bookly_customer_appointments.compound_token' => "varchar(255) null default null",
263
  'bookly_customer_appointments.created_from' => "enum('frontend','backend') not null default 'frontend'",
264
- 'bookly_customer_appointments.created' => "datetime not null",
 
265
  'bookly_customer_groups.id' => "int unsigned not null auto_increment primary key",
266
  'bookly_customer_groups.name' => "varchar(255) not null",
267
  'bookly_customer_groups.description' => "text not null",
@@ -289,7 +291,7 @@ class Ajax extends Lib\Base\Ajax
289
  'bookly_customers.additional_address' => "varchar(255) null default null",
290
  'bookly_customers.notes' => "text not null",
291
  'bookly_customers.info_fields' => "text null default null",
292
- 'bookly_customers.created' => "datetime not null",
293
  'bookly_files.id' => "int unsigned not null auto_increment primary key",
294
  'bookly_files.name' => "text not null",
295
  'bookly_files.slug' => "varchar(32) not null",
@@ -310,7 +312,7 @@ class Ajax extends Lib\Base\Ajax
310
  'bookly_messages.subject' => "text null default null",
311
  'bookly_messages.body' => "text null default null",
312
  'bookly_messages.seen' => "tinyint(1) not null default '0'",
313
- 'bookly_messages.created' => "datetime not null",
314
  'bookly_notifications.id' => "int unsigned not null auto_increment primary key",
315
  'bookly_notifications.gateway' => "enum('email','sms') not null default 'email'",
316
  'bookly_notifications.type' => "varchar(255) not null default ''",
@@ -330,7 +332,7 @@ class Ajax extends Lib\Base\Ajax
330
  'bookly_packages.service_id' => "int unsigned not null",
331
  'bookly_packages.customer_id' => "int unsigned not null",
332
  'bookly_packages.internal_note' => "text null default null",
333
- 'bookly_packages.created' => "datetime not null",
334
  'bookly_payments.id' => "int unsigned not null auto_increment primary key",
335
  'bookly_payments.coupon_id' => "int unsigned null default null",
336
  'bookly_payments.type' => "enum('local','free','paypal','authorize_net','stripe','2checkout','payu_biz','payu_latam','payson','mollie','woocommerce','cloud_stripe') not null default 'local'",
@@ -342,7 +344,8 @@ class Ajax extends Lib\Base\Ajax
342
  'bookly_payments.status' => "enum('pending','completed','rejected') not null default 'completed'",
343
  'bookly_payments.token' => "varchar(255) null default null",
344
  'bookly_payments.details' => "text null default null",
345
- 'bookly_payments.created' => "datetime not null",
 
346
  'bookly_schedule_item_breaks.id' => "int unsigned not null auto_increment primary key",
347
  'bookly_schedule_item_breaks.staff_schedule_item_id' => "int unsigned not null",
348
  'bookly_schedule_item_breaks.start_time' => "time null default null",
@@ -350,7 +353,7 @@ class Ajax extends Lib\Base\Ajax
350
  'bookly_sent_notifications.id' => "int unsigned not null auto_increment primary key",
351
  'bookly_sent_notifications.ref_id' => "int unsigned not null",
352
  'bookly_sent_notifications.notification_id' => "int unsigned not null",
353
- 'bookly_sent_notifications.created' => "datetime not null",
354
  'bookly_series.id' => "int unsigned not null auto_increment primary key",
355
  'bookly_series.repeat' => "varchar(255) null default null",
356
  'bookly_series.token' => "varchar(255) not null",
@@ -434,7 +437,7 @@ class Ajax extends Lib\Base\Ajax
434
  'bookly_shop.reviews' => "int unsigned not null",
435
  'bookly_shop.published' => "datetime not null",
436
  'bookly_shop.seen' => "tinyint(1) not null default '0'",
437
- 'bookly_shop.created' => "datetime not null",
438
  'bookly_special_days_breaks.id' => "int unsigned not null auto_increment primary key",
439
  'bookly_special_days_breaks.staff_special_day_id' => "int unsigned not null",
440
  'bookly_special_days_breaks.start_time' => "time null default null",
@@ -493,7 +496,7 @@ class Ajax extends Lib\Base\Ajax
493
  'bookly_stats.id' => "int unsigned not null auto_increment primary key",
494
  'bookly_stats.name' => "varchar(255) not null",
495
  'bookly_stats.value' => "text null default null",
496
- 'bookly_stats.created' => "datetime not null",
497
  'bookly_sub_services.id' => "int unsigned not null auto_increment primary key",
498
  'bookly_sub_services.type' => "enum('service','spare_time') not null default 'service'",
499
  'bookly_sub_services.service_id' => "int unsigned not null",
@@ -749,6 +752,26 @@ class Ajax extends Lib\Base\Ajax
749
 
750
  }
751
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
752
  /**
753
  * Override parent method to exclude actions from CSRF token verification.
754
  *
203
  'bookly_appointments.online_meeting_id' => "varchar(255) null default null",
204
  'bookly_appointments.online_meeting_data' => "text null default null",
205
  'bookly_appointments.created_from' => "enum('bookly','google','outlook') not null default 'bookly'",
206
+ 'bookly_appointments.created_at' => "datetime not null",
207
+ 'bookly_appointments.updated_at' => "datetime not null",
208
  'bookly_categories.id' => "int unsigned not null auto_increment primary key",
209
  'bookly_categories.name' => "varchar(255) not null",
210
  'bookly_categories.position' => "int not null default '9999'",
262
  'bookly_customer_appointments.compound_service_id' => "int unsigned null default null",
263
  'bookly_customer_appointments.compound_token' => "varchar(255) null default null",
264
  'bookly_customer_appointments.created_from' => "enum('frontend','backend') not null default 'frontend'",
265
+ 'bookly_customer_appointments.created_at' => "datetime not null",
266
+ 'bookly_customer_appointments.updated_at' => "datetime not null",
267
  'bookly_customer_groups.id' => "int unsigned not null auto_increment primary key",
268
  'bookly_customer_groups.name' => "varchar(255) not null",
269
  'bookly_customer_groups.description' => "text not null",
291
  'bookly_customers.additional_address' => "varchar(255) null default null",
292
  'bookly_customers.notes' => "text not null",
293
  'bookly_customers.info_fields' => "text null default null",
294
+ 'bookly_customers.created_at' => "datetime not null",
295
  'bookly_files.id' => "int unsigned not null auto_increment primary key",
296
  'bookly_files.name' => "text not null",
297
  'bookly_files.slug' => "varchar(32) not null",
312
  'bookly_messages.subject' => "text null default null",
313
  'bookly_messages.body' => "text null default null",
314
  'bookly_messages.seen' => "tinyint(1) not null default '0'",
315
+ 'bookly_messages.created_at' => "datetime not null",
316
  'bookly_notifications.id' => "int unsigned not null auto_increment primary key",
317
  'bookly_notifications.gateway' => "enum('email','sms') not null default 'email'",
318
  'bookly_notifications.type' => "varchar(255) not null default ''",
332
  'bookly_packages.service_id' => "int unsigned not null",
333
  'bookly_packages.customer_id' => "int unsigned not null",
334
  'bookly_packages.internal_note' => "text null default null",
335
+ 'bookly_packages.created_at' => "datetime not null",
336
  'bookly_payments.id' => "int unsigned not null auto_increment primary key",
337
  'bookly_payments.coupon_id' => "int unsigned null default null",
338
  'bookly_payments.type' => "enum('local','free','paypal','authorize_net','stripe','2checkout','payu_biz','payu_latam','payson','mollie','woocommerce','cloud_stripe') not null default 'local'",
344
  'bookly_payments.status' => "enum('pending','completed','rejected') not null default 'completed'",
345
  'bookly_payments.token' => "varchar(255) null default null",
346
  'bookly_payments.details' => "text null default null",
347
+ 'bookly_payments.created_at' => "datetime not null",
348
+ 'bookly_payments.updated_at' => "datetime not null",
349
  'bookly_schedule_item_breaks.id' => "int unsigned not null auto_increment primary key",
350
  'bookly_schedule_item_breaks.staff_schedule_item_id' => "int unsigned not null",
351
  'bookly_schedule_item_breaks.start_time' => "time null default null",
353
  'bookly_sent_notifications.id' => "int unsigned not null auto_increment primary key",
354
  'bookly_sent_notifications.ref_id' => "int unsigned not null",
355
  'bookly_sent_notifications.notification_id' => "int unsigned not null",
356
+ 'bookly_sent_notifications.created_at' => "datetime not null",
357
  'bookly_series.id' => "int unsigned not null auto_increment primary key",
358
  'bookly_series.repeat' => "varchar(255) null default null",
359
  'bookly_series.token' => "varchar(255) not null",
437
  'bookly_shop.reviews' => "int unsigned not null",
438
  'bookly_shop.published' => "datetime not null",
439
  'bookly_shop.seen' => "tinyint(1) not null default '0'",
440
+ 'bookly_shop.created_at' => "datetime not null",
441
  'bookly_special_days_breaks.id' => "int unsigned not null auto_increment primary key",
442
  'bookly_special_days_breaks.staff_special_day_id' => "int unsigned not null",
443
  'bookly_special_days_breaks.start_time' => "time null default null",
496
  'bookly_stats.id' => "int unsigned not null auto_increment primary key",
497
  'bookly_stats.name' => "varchar(255) not null",
498
  'bookly_stats.value' => "text null default null",
499
+ 'bookly_stats.created_at' => "datetime not null",
500
  'bookly_sub_services.id' => "int unsigned not null auto_increment primary key",
501
  'bookly_sub_services.type' => "enum('service','spare_time') not null default 'service'",
502
  'bookly_sub_services.service_id' => "int unsigned not null",
752
 
753
  }
754
 
755
+ /**
756
+ * Extend parent method to control access on staff member level.
757
+ *
758
+ * @param string $action
759
+ * @return bool
760
+ */
761
+ protected static function hasAccess( $action )
762
+ {
763
+ switch ( $action ) {
764
+ case 'runTest':
765
+ if ( self::parameter( 'test_name' ) == 'Session' ) {
766
+ return true;
767
+ } else {
768
+ return Lib\Utils\Common::isCurrentUserAdmin();
769
+ }
770
+ default:
771
+ return parent::hasAccess( $action );
772
+ }
773
+ }
774
+
775
  /**
776
  * Override parent method to exclude actions from CSRF token verification.
777
  *
backend/modules/debug/lib/QueryBuilder.php CHANGED
@@ -163,7 +163,8 @@ class QueryBuilder
163
  'bookly_appointments.online_meeting_id' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
164
  'bookly_appointments.online_meeting_data' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
165
  'bookly_appointments.created_from' => array( 'type' => "enum('bookly','google','outlook')", 'is_nullabe' => 0, 'extra' => "", 'default' => "bookly", 'key' => "" ),
166
- 'bookly_appointments.created' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
 
167
  'bookly_categories.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
168
  'bookly_categories.name' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
169
  'bookly_categories.position' => array( 'type' => "int", 'is_nullabe' => 0, 'extra' => "", 'default' => "9999", 'key' => "" ),
@@ -221,7 +222,8 @@ class QueryBuilder
221
  'bookly_customer_appointments.compound_service_id' => array( 'type' => "int unsigned", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
222
  'bookly_customer_appointments.compound_token' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
223
  'bookly_customer_appointments.created_from' => array( 'type' => "enum('frontend','backend')", 'is_nullabe' => 0, 'extra' => "", 'default' => "frontend", 'key' => "" ),
224
- 'bookly_customer_appointments.created' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
 
225
  'bookly_customer_groups.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
226
  'bookly_customer_groups.name' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
227
  'bookly_customer_groups.description' => array( 'type' => "text", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
@@ -249,7 +251,7 @@ class QueryBuilder
249
  'bookly_customers.additional_address' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
250
  'bookly_customers.notes' => array( 'type' => "text", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
251
  'bookly_customers.info_fields' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
252
- 'bookly_customers.created' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
253
  'bookly_files.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
254
  'bookly_files.name' => array( 'type' => "text", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
255
  'bookly_files.slug' => array( 'type' => "varchar(32)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
@@ -270,7 +272,7 @@ class QueryBuilder
270
  'bookly_messages.subject' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
271
  'bookly_messages.body' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
272
  'bookly_messages.seen' => array( 'type' => "tinyint(1)", 'is_nullabe' => 0, 'extra' => "", 'default' => "0", 'key' => "" ),
273
- 'bookly_messages.created' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
274
  'bookly_notifications.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
275
  'bookly_notifications.gateway' => array( 'type' => "enum('email','sms')", 'is_nullabe' => 0, 'extra' => "", 'default' => "email", 'key' => "" ),
276
  'bookly_notifications.type' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => "", 'key' => "" ),
@@ -290,7 +292,7 @@ class QueryBuilder
290
  'bookly_packages.service_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
291
  'bookly_packages.customer_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
292
  'bookly_packages.internal_note' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
293
- 'bookly_packages.created' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
294
  'bookly_payments.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
295
  'bookly_payments.coupon_id' => array( 'type' => "int unsigned", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "MUL" ),
296
  'bookly_payments.type' => array( 'type' => "enum('local','free','paypal','authorize_net','stripe','2checkout','payu_biz','payu_latam','payson','mollie','woocommerce','cloud_stripe')", 'is_nullabe' => 0, 'extra' => "", 'default' => "local", 'key' => "", ),
@@ -302,7 +304,8 @@ class QueryBuilder
302
  'bookly_payments.status' => array( 'type' => "enum('pending','completed','rejected')", 'is_nullabe' => 0, 'extra' => "", 'default' => "completed", 'key' => "" ),
303
  'bookly_payments.token' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
304
  'bookly_payments.details' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
305
- 'bookly_payments.created' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
 
306
  'bookly_schedule_item_breaks.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
307
  'bookly_schedule_item_breaks.staff_schedule_item_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
308
  'bookly_schedule_item_breaks.start_time' => array( 'type' => "time", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
@@ -310,7 +313,7 @@ class QueryBuilder
310
  'bookly_sent_notifications.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
311
  'bookly_sent_notifications.ref_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
312
  'bookly_sent_notifications.notification_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
313
- 'bookly_sent_notifications.created' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
314
  'bookly_series.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
315
  'bookly_series.repeat' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
316
  'bookly_series.token' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
@@ -394,7 +397,7 @@ class QueryBuilder
394
  'bookly_shop.reviews' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
395
  'bookly_shop.published' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
396
  'bookly_shop.seen' => array( 'type' => "tinyint(1)", 'is_nullabe' => 0, 'extra' => "", 'default' => "0", 'key' => "" ),
397
- 'bookly_shop.created' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
398
  'bookly_special_days_breaks.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
399
  'bookly_special_days_breaks.staff_special_day_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
400
  'bookly_special_days_breaks.start_time' => array( 'type' => "time", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
@@ -453,7 +456,7 @@ class QueryBuilder
453
  'bookly_stats.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
454
  'bookly_stats.name' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
455
  'bookly_stats.value' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
456
- 'bookly_stats.created' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
457
  'bookly_sub_services.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
458
  'bookly_sub_services.type' => array( 'type' => "enum('service','spare_time')", 'is_nullabe' => 0, 'extra' => "", 'default' => "service", 'key' => "" ),
459
  'bookly_sub_services.service_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
163
  'bookly_appointments.online_meeting_id' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
164
  'bookly_appointments.online_meeting_data' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
165
  'bookly_appointments.created_from' => array( 'type' => "enum('bookly','google','outlook')", 'is_nullabe' => 0, 'extra' => "", 'default' => "bookly", 'key' => "" ),
166
+ 'bookly_appointments.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
167
+ 'bookly_appointments.updated_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
168
  'bookly_categories.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
169
  'bookly_categories.name' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
170
  'bookly_categories.position' => array( 'type' => "int", 'is_nullabe' => 0, 'extra' => "", 'default' => "9999", 'key' => "" ),
222
  'bookly_customer_appointments.compound_service_id' => array( 'type' => "int unsigned", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
223
  'bookly_customer_appointments.compound_token' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
224
  'bookly_customer_appointments.created_from' => array( 'type' => "enum('frontend','backend')", 'is_nullabe' => 0, 'extra' => "", 'default' => "frontend", 'key' => "" ),
225
+ 'bookly_customer_appointments.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
226
+ 'bookly_customer_appointments.updated_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
227
  'bookly_customer_groups.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
228
  'bookly_customer_groups.name' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
229
  'bookly_customer_groups.description' => array( 'type' => "text", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
251
  'bookly_customers.additional_address' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
252
  'bookly_customers.notes' => array( 'type' => "text", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
253
  'bookly_customers.info_fields' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
254
+ 'bookly_customers.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
255
  'bookly_files.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
256
  'bookly_files.name' => array( 'type' => "text", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
257
  'bookly_files.slug' => array( 'type' => "varchar(32)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
272
  'bookly_messages.subject' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
273
  'bookly_messages.body' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
274
  'bookly_messages.seen' => array( 'type' => "tinyint(1)", 'is_nullabe' => 0, 'extra' => "", 'default' => "0", 'key' => "" ),
275
+ 'bookly_messages.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
276
  'bookly_notifications.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
277
  'bookly_notifications.gateway' => array( 'type' => "enum('email','sms')", 'is_nullabe' => 0, 'extra' => "", 'default' => "email", 'key' => "" ),
278
  'bookly_notifications.type' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => "", 'key' => "" ),
292
  'bookly_packages.service_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
293
  'bookly_packages.customer_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
294
  'bookly_packages.internal_note' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
295
+ 'bookly_packages.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
296
  'bookly_payments.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
297
  'bookly_payments.coupon_id' => array( 'type' => "int unsigned", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "MUL" ),
298
  'bookly_payments.type' => array( 'type' => "enum('local','free','paypal','authorize_net','stripe','2checkout','payu_biz','payu_latam','payson','mollie','woocommerce','cloud_stripe')", 'is_nullabe' => 0, 'extra' => "", 'default' => "local", 'key' => "", ),
304
  'bookly_payments.status' => array( 'type' => "enum('pending','completed','rejected')", 'is_nullabe' => 0, 'extra' => "", 'default' => "completed", 'key' => "" ),
305
  'bookly_payments.token' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
306
  'bookly_payments.details' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
307
+ 'bookly_payments.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
308
+ 'bookly_payments.updated_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
309
  'bookly_schedule_item_breaks.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
310
  'bookly_schedule_item_breaks.staff_schedule_item_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
311
  'bookly_schedule_item_breaks.start_time' => array( 'type' => "time", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
313
  'bookly_sent_notifications.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
314
  'bookly_sent_notifications.ref_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
315
  'bookly_sent_notifications.notification_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
316
+ 'bookly_sent_notifications.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
317
  'bookly_series.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
318
  'bookly_series.repeat' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
319
  'bookly_series.token' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
397
  'bookly_shop.reviews' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
398
  'bookly_shop.published' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
399
  'bookly_shop.seen' => array( 'type' => "tinyint(1)", 'is_nullabe' => 0, 'extra' => "", 'default' => "0", 'key' => "" ),
400
+ 'bookly_shop.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
401
  'bookly_special_days_breaks.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
402
  'bookly_special_days_breaks.staff_special_day_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
403
  'bookly_special_days_breaks.start_time' => array( 'type' => "time", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
456
  'bookly_stats.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
457
  'bookly_stats.name' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
458
  'bookly_stats.value' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
459
+ 'bookly_stats.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
460
  'bookly_sub_services.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
461
  'bookly_sub_services.type' => array( 'type' => "enum('service','spare_time')", 'is_nullabe' => 0, 'extra' => "", 'default' => "service", 'key' => "" ),
462
  'bookly_sub_services.service_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "MUL" ),
backend/modules/messages/Ajax.php CHANGED
@@ -17,14 +17,14 @@ class Ajax extends Lib\Base\Ajax
17
  $query = Lib\Entities\Message::query( 'm' );
18
  $total = $query->count();
19
 
20
- $query->select( 'm.created, m.subject, m.seen, m.body, m.message_id' )
21
  ->sortBy( 'm.seen, m.message_id' )->order( 'DESC' );
22
 
23
  $query->limit( self::parameter( 'length' ) )->offset( self::parameter( 'start' ) );
24
 
25
  $data = $query->fetchArray();
26
  foreach ( $data as &$row ) {
27
- $row['created'] = Lib\Utils\DateTime::formatDateTime( $row['created'] );
28
  }
29
 
30
  wp_send_json( array(
17
  $query = Lib\Entities\Message::query( 'm' );
18
  $total = $query->count();
19
 
20
+ $query->select( 'm.created_at, m.subject, m.seen, m.body, m.message_id' )
21
  ->sortBy( 'm.seen, m.message_id' )->order( 'DESC' );
22
 
23
  $query->limit( self::parameter( 'length' ) )->offset( self::parameter( 'start' ) );
24
 
25
  $data = $query->fetchArray();
26
  foreach ( $data as &$row ) {
27
+ $row['created_at'] = Lib\Utils\DateTime::formatDateTime( $row['created_at'] );
28
  }
29
 
30
  wp_send_json( array(
backend/modules/messages/resources/js/message.js CHANGED
@@ -45,7 +45,7 @@ jQuery(function($) {
45
  }
46
  },
47
  columns: [
48
- { data: 'created' },
49
  {
50
  data: 'subject',
51
  render: function (data, type, row, meta) {
45
  }
46
  },
47
  columns: [
48
+ { data: 'created_at' },
49
  {
50
  data: 'subject',
51
  render: function (data, type, row, meta) {
backend/modules/payments/Ajax.php CHANGED
@@ -25,7 +25,7 @@ class Ajax extends Lib\Base\Ajax
25
  $filter = self::parameter( 'filter' );
26
 
27
  $query = Lib\Entities\Payment::query( 'p' )
28
- ->select( 'p.id, p.created, p.type, p.paid, p.total, p.status, p.details, c.full_name customer, st.full_name provider, s.title service, a.start_date' )
29
  ->leftJoin( 'CustomerAppointment', 'ca', 'ca.payment_id = p.id' )
30
  ->leftJoin( 'Customer', 'c', 'c.id = ca.customer_id' )
31
  ->leftJoin( 'Appointment', 'a', 'a.id = ca.appointment_id' )
@@ -34,10 +34,10 @@ class Ajax extends Lib\Base\Ajax
34
  ->groupBy( 'p.id' );
35
 
36
  // Filters.
37
- list ( $start, $end ) = explode( ' - ', $filter['created'], 2 );
38
  $end = date( 'Y-m-d', strtotime( '+1 day', strtotime( $end ) ) );
39
 
40
- $query->whereBetween( 'p.created', $start, $end );
41
 
42
  if ( $filter['id'] != '' ) {
43
  $query->where( 'p.id', $filter['id'] );
@@ -65,7 +65,7 @@ class Ajax extends Lib\Base\Ajax
65
 
66
  $payments = $query->fetchArray();
67
 
68
- unset( $filter['created'] );
69
 
70
  Lib\Utils\Tables::updateSettings( 'payments', null, null, $filter );
71
 
@@ -81,8 +81,8 @@ class Ajax extends Lib\Base\Ajax
81
 
82
  $data[] = array(
83
  'id' => $payment['id'],
84
- 'created' => $payment['created'],
85
- 'created_format' => Lib\Utils\DateTime::formatDateTime( $payment['created'] ),
86
  'type' => Lib\Entities\Payment::typeToString( $payment['type'] ),
87
  'multiple' => count( $details['items'] ) > 1,
88
  'customer' => $payment['customer'] ?: $details['customer'],
25
  $filter = self::parameter( 'filter' );
26
 
27
  $query = Lib\Entities\Payment::query( 'p' )
28
+ ->select( 'p.id, p.created_at, p.type, p.paid, p.total, p.status, p.details, c.full_name customer, st.full_name provider, s.title service, a.start_date' )
29
  ->leftJoin( 'CustomerAppointment', 'ca', 'ca.payment_id = p.id' )
30
  ->leftJoin( 'Customer', 'c', 'c.id = ca.customer_id' )
31
  ->leftJoin( 'Appointment', 'a', 'a.id = ca.appointment_id' )
34
  ->groupBy( 'p.id' );
35
 
36
  // Filters.
37
+ list ( $start, $end ) = explode( ' - ', $filter['created_at'], 2 );
38
  $end = date( 'Y-m-d', strtotime( '+1 day', strtotime( $end ) ) );
39
 
40
+ $query->whereBetween( 'p.created_at', $start, $end );
41
 
42
  if ( $filter['id'] != '' ) {
43
  $query->where( 'p.id', $filter['id'] );
65
 
66
  $payments = $query->fetchArray();
67
 
68
+ unset( $filter['created_at'] );
69
 
70
  Lib\Utils\Tables::updateSettings( 'payments', null, null, $filter );
71
 
81
 
82
  $data[] = array(
83
  'id' => $payment['id'],
84
+ 'created_at' => $payment['created_at'],
85
+ 'created_format' => Lib\Utils\DateTime::formatDateTime( $payment['created_at'] ),
86
  'type' => Lib\Entities\Payment::typeToString( $payment['type'] ),
87
  'multiple' => count( $details['items'] ) > 1,
88
  'customer' => $payment['customer'] ?: $details['customer'],
backend/modules/payments/resources/js/payments.js CHANGED
@@ -119,7 +119,7 @@ jQuery(function($) {
119
  $.each(BooklyL10n.datatables.payments.settings.columns, function (column, show) {
120
  if (show) {
121
  switch (column) {
122
- case 'created':
123
  columns.push({
124
  data: column, render: function (data, type, row, meta) {
125
  return type === 'sort' ? data : row.created_format;
@@ -202,7 +202,7 @@ jQuery(function($) {
202
  csrf_token: BooklyL10n.csrfToken,
203
  filter : {
204
  id : $id_filter.val(),
205
- created : $creationDateFilter.data('date'),
206
  type : $type_filter.val(),
207
  customer: $customer_filter.val(),
208
  staff : $staff_filter.val(),
119
  $.each(BooklyL10n.datatables.payments.settings.columns, function (column, show) {
120
  if (show) {
121
  switch (column) {
122
+ case 'created_at':
123
  columns.push({
124
  data: column, render: function (data, type, row, meta) {
125
  return type === 'sort' ? data : row.created_format;
202
  csrf_token: BooklyL10n.csrfToken,
203
  filter : {
204
  id : $id_filter.val(),
205
+ created_at: $creationDateFilter.data('date'),
206
  type : $type_filter.val(),
207
  customer: $customer_filter.val(),
208
  staff : $staff_filter.val(),
backend/modules/services/Page.php CHANGED
@@ -69,6 +69,8 @@ class Page extends Lib\Base\Ajax
69
  'capacity_error' => esc_attr__( 'Min capacity should not be greater than max capacity.', 'bookly' ),
70
  'recurrence_error' => esc_attr__( 'You must select at least one repeat option for recurring services.', 'bookly' ),
71
  'noResultFound' => esc_attr__( 'No result found', 'bookly' ),
 
 
72
  'show_type' => count( Proxy\Shared::prepareServiceTypes( array() ) ) > 0,
73
  'datatables' => $datatables,
74
  ) );
69
  'capacity_error' => esc_attr__( 'Min capacity should not be greater than max capacity.', 'bookly' ),
70
  'recurrence_error' => esc_attr__( 'You must select at least one repeat option for recurring services.', 'bookly' ),
71
  'noResultFound' => esc_attr__( 'No result found', 'bookly' ),
72
+ 'zeroRecords' => esc_attr__( 'No records.', 'bookly' ),
73
+ 'processing' => esc_attr__( 'Processing...', 'bookly' ),
74
  'show_type' => count( Proxy\Shared::prepareServiceTypes( array() ) ) > 0,
75
  'datatables' => $datatables,
76
  ) );
backend/modules/settings/Page.php CHANGED
@@ -49,6 +49,9 @@ class Page extends Lib\Base\Ajax
49
  if ( self::csrfTokenValid() ) {
50
  switch ( self::parameter( 'tab' ) ) {
51
  case 'calendar': // Calendar form.
 
 
 
52
  update_option( 'bookly_cal_one_participant', self::parameter( 'bookly_cal_one_participant' ) );
53
  update_option( 'bookly_cal_many_participants', self::parameter( 'bookly_cal_many_participants' ) );
54
  $alert['success'][] = __( 'Settings saved.', 'bookly' );
49
  if ( self::csrfTokenValid() ) {
50
  switch ( self::parameter( 'tab' ) ) {
51
  case 'calendar': // Calendar form.
52
+ update_option( 'bookly_cal_show_only_business_days', self::parameter( 'bookly_cal_show_only_business_days' ) );
53
+ update_option( 'bookly_cal_show_only_business_hours', self::parameter( 'bookly_cal_show_only_business_hours' ) );
54
+ update_option( 'bookly_cal_show_only_staff_with_appointments', self::parameter( 'bookly_cal_show_only_staff_with_appointments' ) );
55
  update_option( 'bookly_cal_one_participant', self::parameter( 'bookly_cal_one_participant' ) );
56
  update_option( 'bookly_cal_many_participants', self::parameter( 'bookly_cal_many_participants' ) );
57
  $alert['success'][] = __( 'Settings saved.', 'bookly' );
backend/modules/settings/resources/js/settings.js CHANGED
@@ -248,7 +248,7 @@ jQuery(function ($) {
248
  if ($parentRangeStart.val() == '') {
249
  $('.bookly-js-invisible-on-off', $rangeRow).addClass('invisible');
250
  } else {
251
- $('.bookly-js-invisible-on-off', $rangeRow).removeClass('invisible');;
252
  rangeTools.hideInaccessibleEndTime($parentRangeStart, $('.bookly-js-parent-range-end', $rangeRow));
253
  }
254
  }).trigger('change');
248
  if ($parentRangeStart.val() == '') {
249
  $('.bookly-js-invisible-on-off', $rangeRow).addClass('invisible');
250
  } else {
251
+ $('.bookly-js-invisible-on-off', $rangeRow).removeClass('invisible');
252
  rangeTools.hideInaccessibleEndTime($parentRangeStart, $('.bookly-js-parent-range-end', $rangeRow));
253
  }
254
  }).trigger('change');
backend/modules/settings/templates/_calendarForm.php CHANGED
@@ -5,6 +5,9 @@ use Bookly\Backend\Components\Settings;
5
  ?>
6
  <form method="post" action="<?php echo esc_url( add_query_arg( 'tab', 'calendar' ) ) ?>">
7
  <div class="card-body">
 
 
 
8
  <div class="form-group">
9
  <?php if ( Bookly\Lib\Config::groupBookingActive() ) : ?>
10
  <label for="bookly_appointment_participants"><?php esc_html_e( 'Calendar', 'bookly' ) ?></label>
5
  ?>
6
  <form method="post" action="<?php echo esc_url( add_query_arg( 'tab', 'calendar' ) ) ?>">
7
  <div class="card-body">
8
+ <?php Settings\Selects::renderSingle( 'bookly_cal_show_only_business_days', __( 'Show only business days in the calendar', 'bookly' ), __( 'If this setting is enabled then only business days will be visible in the calendar according to the company\'s business hours settings', 'bookly' ) ) ?>
9
+ <?php Settings\Selects::renderSingle( 'bookly_cal_show_only_business_hours', __( 'Show only business hours in the calendar', 'bookly' ), __( 'If this setting is enabled then the visible hours in the calendar will be limited to the company\'s business hours', 'bookly' ) ) ?>
10
+ <?php Settings\Selects::renderSingle( 'bookly_cal_show_only_staff_with_appointments', __( 'Show only staff members with appointments in Day view', 'bookly' ), __( 'If this setting is enabled then only staff members who have associated appointments will be displayed in the Day view', 'bookly' ) ) ?>
11
  <div class="form-group">
12
  <?php if ( Bookly\Lib\Config::groupBookingActive() ) : ?>
13
  <label for="bookly_appointment_participants"><?php esc_html_e( 'Calendar', 'bookly' ) ?></label>
backend/modules/shop/Ajax.php CHANGED
@@ -48,7 +48,7 @@ class Ajax extends Lib\Base\Ajax
48
  break;
49
  default:
50
  $query = $query
51
- ->sortBy( 'priority DESC, type DESC, created' )
52
  ->order( 'DESC' );
53
  break;
54
  }
48
  break;
49
  default:
50
  $query = $query
51
+ ->sortBy( 'priority DESC, type DESC, created_at' )
52
  ->order( 'DESC' );
53
  break;
54
  }
backend/modules/staff/Page.php CHANGED
@@ -48,6 +48,8 @@ class Page extends Lib\Base\Component
48
  'edit' => esc_attr__( 'Edit', 'bookly' ),
49
  'reorder' => esc_attr__( 'Reorder', 'bookly' ),
50
  'noResultFound' => esc_attr__( 'No result found', 'bookly' ),
 
 
51
  'datatables' => $datatables,
52
  ) );
53
 
48
  'edit' => esc_attr__( 'Edit', 'bookly' ),
49
  'reorder' => esc_attr__( 'Reorder', 'bookly' ),
50
  'noResultFound' => esc_attr__( 'No result found', 'bookly' ),
51
+ 'zeroRecords' => esc_attr__( 'No records.', 'bookly' ),
52
+ 'processing' => esc_attr__( 'Processing...', 'bookly' ),
53
  'datatables' => $datatables,
54
  ) );
55
 
backend/modules/staff/templates/index.php CHANGED
@@ -100,5 +100,6 @@ use Bookly\Lib;
100
  <?php Dialogs\Staff\Categories\Proxy\Pro::renderDialog() ?>
101
  <?php Dialogs\Staff\Edit\Dialog::render() ?>
102
  <?php Dialogs\Staff\Order\Dialog::render() ?>
 
103
  <?php Dialogs\TableSettings\Dialog::render() ?>
104
  </div>
100
  <?php Dialogs\Staff\Categories\Proxy\Pro::renderDialog() ?>
101
  <?php Dialogs\Staff\Edit\Dialog::render() ?>
102
  <?php Dialogs\Staff\Order\Dialog::render() ?>
103
+ <?php Dialogs\Staff\Edit\Proxy\Packages::renderStaffServicesTip() ?>
104
  <?php Dialogs\TableSettings\Dialog::render() ?>
105
  </div>
backend/resources/bootstrap/css/bootstrap.min.css CHANGED
@@ -3,4 +3,4 @@
3
  * Copyright 2011-2019 The Bootstrap Authors
4
  * Copyright 2011-2019 Twitter, Inc.
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
- */#bookly-tbs{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:transparent}#bookly-tbs *,#bookly-tbs ::after,#bookly-tbs ::before{box-sizing:border-box}#bookly-tbs html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#bookly-tbs article,#bookly-tbs aside,#bookly-tbs figcaption,#bookly-tbs figure,#bookly-tbs footer,#bookly-tbs header,#bookly-tbs hgroup,#bookly-tbs main,#bookly-tbs nav,#bookly-tbs section{display:block}#bookly-tbs body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}#bookly-tbs [tabindex="-1"]:focus:not(:focus-visible){outline:0!important}#bookly-tbs hr{box-sizing:content-box;height:0;overflow:visible}#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-top:0;margin-bottom:.5rem}#bookly-tbs p{margin-top:0;margin-bottom:1rem}#bookly-tbs abbr[data-original-title],#bookly-tbs abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}#bookly-tbs address{margin-bottom:1rem;font-style:normal;line-height:inherit}#bookly-tbs dl,#bookly-tbs ol,#bookly-tbs ul{margin-top:0;margin-bottom:1rem}#bookly-tbs ol ol,#bookly-tbs ol ul,#bookly-tbs ul ol,#bookly-tbs ul ul{margin-bottom:0}#bookly-tbs dt{font-weight:700}#bookly-tbs dd{margin-bottom:.5rem;margin-left:0}#bookly-tbs blockquote{margin:0 0 1rem}#bookly-tbs b,#bookly-tbs strong{font-weight:bolder}#bookly-tbs small{font-size:80%}#bookly-tbs sub,#bookly-tbs sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}#bookly-tbs sub{bottom:-.25em}#bookly-tbs sup{top:-.5em}#bookly-tbs a{color:#007bff;text-decoration:none;background-color:transparent}#bookly-tbs a:hover{color:#0056b3;text-decoration:underline}#bookly-tbs a:not([href]){color:inherit;text-decoration:none}#bookly-tbs a:not([href]):hover{color:inherit;text-decoration:none}#bookly-tbs code,#bookly-tbs kbd,#bookly-tbs pre,#bookly-tbs samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}#bookly-tbs pre{margin-top:0;margin-bottom:1rem;overflow:auto}#bookly-tbs figure{margin:0 0 1rem}#bookly-tbs img{vertical-align:middle;border-style:none}#bookly-tbs svg{overflow:hidden;vertical-align:middle}#bookly-tbs table{border-collapse:collapse}#bookly-tbs caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}#bookly-tbs th{text-align:inherit}#bookly-tbs label{display:inline-block;margin-bottom:.5rem}#bookly-tbs button{border-radius:0}#bookly-tbs button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}#bookly-tbs button,#bookly-tbs input,#bookly-tbs optgroup,#bookly-tbs select,#bookly-tbs textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}#bookly-tbs button,#bookly-tbs input{overflow:visible}#bookly-tbs button,#bookly-tbs select{text-transform:none}#bookly-tbs select{word-wrap:normal}#bookly-tbs [type=button],#bookly-tbs [type=reset],#bookly-tbs [type=submit],#bookly-tbs button{-webkit-appearance:button}#bookly-tbs [type=button]:not(:disabled),#bookly-tbs [type=reset]:not(:disabled),#bookly-tbs [type=submit]:not(:disabled),#bookly-tbs button:not(:disabled){cursor:pointer}#bookly-tbs [type=button]::-moz-focus-inner,#bookly-tbs [type=reset]::-moz-focus-inner,#bookly-tbs [type=submit]::-moz-focus-inner,#bookly-tbs button::-moz-focus-inner{padding:0;border-style:none}#bookly-tbs input[type=checkbox],#bookly-tbs input[type=radio]{box-sizing:border-box;padding:0}#bookly-tbs input[type=date],#bookly-tbs input[type=datetime-local],#bookly-tbs input[type=month],#bookly-tbs input[type=time]{-webkit-appearance:listbox}#bookly-tbs textarea{overflow:auto;resize:vertical}#bookly-tbs fieldset{min-width:0;padding:0;margin:0;border:0}#bookly-tbs legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}#bookly-tbs progress{vertical-align:baseline}#bookly-tbs [type=number]::-webkit-inner-spin-button,#bookly-tbs [type=number]::-webkit-outer-spin-button{height:auto}#bookly-tbs [type=search]{outline-offset:-2px;-webkit-appearance:none}#bookly-tbs [type=search]::-webkit-search-decoration{-webkit-appearance:none}#bookly-tbs ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}#bookly-tbs output{display:inline-block}#bookly-tbs summary{display:list-item;cursor:pointer}#bookly-tbs template{display:none}#bookly-tbs [hidden]{display:none!important}#bookly-tbs .h1,#bookly-tbs .h2,#bookly-tbs .h3,#bookly-tbs .h4,#bookly-tbs .h5,#bookly-tbs .h6,#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}#bookly-tbs .h1,#bookly-tbs h1{font-size:2.5rem}#bookly-tbs .h2,#bookly-tbs h2{font-size:2rem}#bookly-tbs .h3,#bookly-tbs h3{font-size:1.75rem}#bookly-tbs .h4,#bookly-tbs h4{font-size:1.5rem}#bookly-tbs .h5,#bookly-tbs h5{font-size:1.25rem}#bookly-tbs .h6,#bookly-tbs h6{font-size:1rem}#bookly-tbs .lead{font-size:1.25rem;font-weight:300}#bookly-tbs .display-1{font-size:6rem;font-weight:300;line-height:1.2}#bookly-tbs .display-2{font-size:5.5rem;font-weight:300;line-height:1.2}#bookly-tbs .display-3{font-size:4.5rem;font-weight:300;line-height:1.2}#bookly-tbs .display-4{font-size:3.5rem;font-weight:300;line-height:1.2}#bookly-tbs hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}#bookly-tbs .small,#bookly-tbs small{font-size:80%;font-weight:400}#bookly-tbs .mark,#bookly-tbs mark{padding:.2em;background-color:#fcf8e3}#bookly-tbs .list-unstyled{padding-left:0;list-style:none}#bookly-tbs .list-inline{padding-left:0;list-style:none}#bookly-tbs .list-inline-item{display:inline-block}#bookly-tbs .list-inline-item:not(:last-child){margin-right:.5rem}#bookly-tbs .initialism{font-size:90%;text-transform:uppercase}#bookly-tbs .blockquote{margin-bottom:1rem;font-size:1.25rem}#bookly-tbs .blockquote-footer{display:block;font-size:80%;color:#6c757d}#bookly-tbs .blockquote-footer::before{content:"\2014\00A0"}#bookly-tbs .img-fluid{max-width:100%;height:auto}#bookly-tbs .img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}#bookly-tbs .figure{display:inline-block}#bookly-tbs .figure-img{margin-bottom:.5rem;line-height:1}#bookly-tbs .figure-caption{font-size:90%;color:#6c757d}#bookly-tbs code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>#bookly-tbs code{color:inherit}#bookly-tbs kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}#bookly-tbs kbd kbd{padding:0;font-size:100%;font-weight:700}#bookly-tbs pre{display:block;font-size:87.5%;color:#212529}#bookly-tbs pre code{font-size:inherit;color:inherit;word-break:normal}#bookly-tbs .pre-scrollable{max-height:340px;overflow-y:scroll}#bookly-tbs .container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){#bookly-tbs .container{max-width:540px}}@media (min-width:768px){#bookly-tbs .container{max-width:720px}}@media (min-width:992px){#bookly-tbs .container{max-width:960px}}@media (min-width:1200px){#bookly-tbs .container{max-width:1140px}}#bookly-tbs .container-fluid,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm,#bookly-tbs .container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){#bookly-tbs .container,#bookly-tbs .container-sm{max-width:540px}}@media (min-width:768px){#bookly-tbs .container,#bookly-tbs .container-md,#bookly-tbs .container-sm{max-width:720px}}@media (min-width:992px){#bookly-tbs .container,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm{max-width:960px}}@media (min-width:1200px){#bookly-tbs .container,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm,#bookly-tbs .container-xl{max-width:1140px}}#bookly-tbs .jCal-wrap,#bookly-tbs .row{display:-webkit-box;display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}#bookly-tbs .no-gutters{margin-right:0;margin-left:0}#bookly-tbs .no-gutters>.col,#bookly-tbs .no-gutters>[class*=col-]{padding-right:0;padding-left:0}#bookly-tbs .col,#bookly-tbs .col-1,#bookly-tbs .col-10,#bookly-tbs .col-11,#bookly-tbs .col-12,#bookly-tbs .col-2,#bookly-tbs .col-3,#bookly-tbs .col-4,#bookly-tbs .col-5,#bookly-tbs .col-6,#bookly-tbs .col-7,#bookly-tbs .col-8,#bookly-tbs .col-9,#bookly-tbs .col-auto,#bookly-tbs .col-lg,#bookly-tbs .col-lg-1,#bookly-tbs .col-lg-10,#bookly-tbs .col-lg-11,#bookly-tbs .col-lg-12,#bookly-tbs .col-lg-2,#bookly-tbs .col-lg-3,#bookly-tbs .col-lg-4,#bookly-tbs .col-lg-5,#bookly-tbs .col-lg-6,#bookly-tbs .col-lg-7,#bookly-tbs .col-lg-8,#bookly-tbs .col-lg-9,#bookly-tbs .col-lg-auto,#bookly-tbs .col-md,#bookly-tbs .col-md-1,#bookly-tbs .col-md-10,#bookly-tbs .col-md-11,#bookly-tbs .col-md-12,#bookly-tbs .col-md-2,#bookly-tbs .col-md-3,#bookly-tbs .col-md-4,#bookly-tbs .col-md-5,#bookly-tbs .col-md-6,#bookly-tbs .col-md-7,#bookly-tbs .col-md-8,#bookly-tbs .col-md-9,#bookly-tbs .col-md-auto,#bookly-tbs .col-sm,#bookly-tbs .col-sm-1,#bookly-tbs .col-sm-10,#bookly-tbs .col-sm-11,#bookly-tbs .col-sm-12,#bookly-tbs .col-sm-2,#bookly-tbs .col-sm-3,#bookly-tbs .col-sm-4,#bookly-tbs .col-sm-5,#bookly-tbs .col-sm-6,#bookly-tbs .col-sm-7,#bookly-tbs .col-sm-8,#bookly-tbs .col-sm-9,#bookly-tbs .col-sm-auto,#bookly-tbs .col-xl,#bookly-tbs .col-xl-1,#bookly-tbs .col-xl-10,#bookly-tbs .col-xl-11,#bookly-tbs .col-xl-12,#bookly-tbs .col-xl-2,#bookly-tbs .col-xl-3,#bookly-tbs .col-xl-4,#bookly-tbs .col-xl-5,#bookly-tbs .col-xl-6,#bookly-tbs .col-xl-7,#bookly-tbs .col-xl-8,#bookly-tbs .col-xl-9,#bookly-tbs .col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}#bookly-tbs .col{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-1{margin-left:8.333333%}#bookly-tbs .offset-2{margin-left:16.666667%}#bookly-tbs .offset-3{margin-left:25%}#bookly-tbs .offset-4{margin-left:33.333333%}#bookly-tbs .offset-5{margin-left:41.666667%}#bookly-tbs .offset-6{margin-left:50%}#bookly-tbs .offset-7{margin-left:58.333333%}#bookly-tbs .offset-8{margin-left:66.666667%}#bookly-tbs .offset-9{margin-left:75%}#bookly-tbs .offset-10{margin-left:83.333333%}#bookly-tbs .offset-11{margin-left:91.666667%}@media (min-width:576px){#bookly-tbs .col-sm{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-sm-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-sm-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-sm-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-sm-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-sm-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-sm-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-sm-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-sm-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-sm-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-sm-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-sm-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-sm-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-sm-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-sm-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-sm-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-sm-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-sm-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-sm-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-sm-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-sm-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-sm-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-sm-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-sm-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-sm-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-sm-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-sm-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-sm-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-sm-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-sm-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-sm-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-sm-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-sm-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-sm-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-sm-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-sm-0{margin-left:0}#bookly-tbs .offset-sm-1{margin-left:8.333333%}#bookly-tbs .offset-sm-2{margin-left:16.666667%}#bookly-tbs .offset-sm-3{margin-left:25%}#bookly-tbs .offset-sm-4{margin-left:33.333333%}#bookly-tbs .offset-sm-5{margin-left:41.666667%}#bookly-tbs .offset-sm-6{margin-left:50%}#bookly-tbs .offset-sm-7{margin-left:58.333333%}#bookly-tbs .offset-sm-8{margin-left:66.666667%}#bookly-tbs .offset-sm-9{margin-left:75%}#bookly-tbs .offset-sm-10{margin-left:83.333333%}#bookly-tbs .offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){#bookly-tbs .col-md{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-md-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-md-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-md-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-md-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-md-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-md-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-md-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-md-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-md-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-md-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-md-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-md-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-md-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-md-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-md-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-md-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-md-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-md-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-md-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-md-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-md-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-md-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-md-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-md-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-md-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-md-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-md-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-md-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-md-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-md-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-md-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-md-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-md-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-md-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-md-0{margin-left:0}#bookly-tbs .offset-md-1{margin-left:8.333333%}#bookly-tbs .offset-md-2{margin-left:16.666667%}#bookly-tbs .offset-md-3{margin-left:25%}#bookly-tbs .offset-md-4{margin-left:33.333333%}#bookly-tbs .offset-md-5{margin-left:41.666667%}#bookly-tbs .offset-md-6{margin-left:50%}#bookly-tbs .offset-md-7{margin-left:58.333333%}#bookly-tbs .offset-md-8{margin-left:66.666667%}#bookly-tbs .offset-md-9{margin-left:75%}#bookly-tbs .offset-md-10{margin-left:83.333333%}#bookly-tbs .offset-md-11{margin-left:91.666667%}}@media (min-width:992px){#bookly-tbs .col-lg{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-lg-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-lg-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-lg-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-lg-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-lg-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-lg-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-lg-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-lg-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-lg-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-lg-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-lg-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-lg-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-lg-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-lg-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-lg-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-lg-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-lg-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-lg-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-lg-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-lg-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-lg-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-lg-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-lg-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-lg-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-lg-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-lg-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-lg-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-lg-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-lg-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-lg-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-lg-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-lg-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-lg-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-lg-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-lg-0{margin-left:0}#bookly-tbs .offset-lg-1{margin-left:8.333333%}#bookly-tbs .offset-lg-2{margin-left:16.666667%}#bookly-tbs .offset-lg-3{margin-left:25%}#bookly-tbs .offset-lg-4{margin-left:33.333333%}#bookly-tbs .offset-lg-5{margin-left:41.666667%}#bookly-tbs .offset-lg-6{margin-left:50%}#bookly-tbs .offset-lg-7{margin-left:58.333333%}#bookly-tbs .offset-lg-8{margin-left:66.666667%}#bookly-tbs .offset-lg-9{margin-left:75%}#bookly-tbs .offset-lg-10{margin-left:83.333333%}#bookly-tbs .offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){#bookly-tbs .col-xl{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-xl-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-xl-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-xl-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-xl-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-xl-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-xl-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-xl-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-xl-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-xl-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-xl-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-xl-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-xl-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-xl-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-xl-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-xl-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-xl-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-xl-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-xl-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-xl-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-xl-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-xl-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-xl-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-xl-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-xl-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-xl-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-xl-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-xl-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-xl-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-xl-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-xl-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-xl-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-xl-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-xl-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-xl-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-xl-0{margin-left:0}#bookly-tbs .offset-xl-1{margin-left:8.333333%}#bookly-tbs .offset-xl-2{margin-left:16.666667%}#bookly-tbs .offset-xl-3{margin-left:25%}#bookly-tbs .offset-xl-4{margin-left:33.333333%}#bookly-tbs .offset-xl-5{margin-left:41.666667%}#bookly-tbs .offset-xl-6{margin-left:50%}#bookly-tbs .offset-xl-7{margin-left:58.333333%}#bookly-tbs .offset-xl-8{margin-left:66.666667%}#bookly-tbs .offset-xl-9{margin-left:75%}#bookly-tbs .offset-xl-10{margin-left:83.333333%}#bookly-tbs .offset-xl-11{margin-left:91.666667%}}#bookly-tbs .table{width:100%;margin-bottom:1rem;color:#212529}#bookly-tbs .table td,#bookly-tbs .table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}#bookly-tbs .table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}#bookly-tbs .table tbody+tbody{border-top:2px solid #dee2e6}#bookly-tbs .table-sm td,#bookly-tbs .table-sm th{padding:.3rem}#bookly-tbs .table-bordered{border:1px solid #dee2e6}#bookly-tbs .table-bordered td,#bookly-tbs .table-bordered th{border:1px solid #dee2e6}#bookly-tbs .table-bordered thead td,#bookly-tbs .table-bordered thead th{border-bottom-width:2px}#bookly-tbs .table-borderless tbody+tbody,#bookly-tbs .table-borderless td,#bookly-tbs .table-borderless th,#bookly-tbs .table-borderless thead th{border:0}#bookly-tbs .table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}#bookly-tbs .table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}#bookly-tbs .table-primary,#bookly-tbs .table-primary>td,#bookly-tbs .table-primary>th{background-color:#b8daff}#bookly-tbs .table-primary tbody+tbody,#bookly-tbs .table-primary td,#bookly-tbs .table-primary th,#bookly-tbs .table-primary thead th{border-color:#7abaff}#bookly-tbs .table-hover .table-primary:hover{background-color:#9fcdff}#bookly-tbs .table-hover .table-primary:hover>td,#bookly-tbs .table-hover .table-primary:hover>th{background-color:#9fcdff}#bookly-tbs .table-secondary,#bookly-tbs .table-secondary>td,#bookly-tbs .table-secondary>th{background-color:#d6d8db}#bookly-tbs .table-secondary tbody+tbody,#bookly-tbs .table-secondary td,#bookly-tbs .table-secondary th,#bookly-tbs .table-secondary thead th{border-color:#b3b7bb}#bookly-tbs .table-hover .table-secondary:hover{background-color:#c8cbcf}#bookly-tbs .table-hover .table-secondary:hover>td,#bookly-tbs .table-hover .table-secondary:hover>th{background-color:#c8cbcf}#bookly-tbs .table-success,#bookly-tbs .table-success>td,#bookly-tbs .table-success>th{background-color:#c3e6cb}#bookly-tbs .table-success tbody+tbody,#bookly-tbs .table-success td,#bookly-tbs .table-success th,#bookly-tbs .table-success thead th{border-color:#8fd19e}#bookly-tbs .table-hover .table-success:hover{background-color:#b1dfbb}#bookly-tbs .table-hover .table-success:hover>td,#bookly-tbs .table-hover .table-success:hover>th{background-color:#b1dfbb}#bookly-tbs .table-info,#bookly-tbs .table-info>td,#bookly-tbs .table-info>th{background-color:#bee5eb}#bookly-tbs .table-info tbody+tbody,#bookly-tbs .table-info td,#bookly-tbs .table-info th,#bookly-tbs .table-info thead th{border-color:#86cfda}#bookly-tbs .table-hover .table-info:hover{background-color:#abdde5}#bookly-tbs .table-hover .table-info:hover>td,#bookly-tbs .table-hover .table-info:hover>th{background-color:#abdde5}#bookly-tbs .table-warning,#bookly-tbs .table-warning>td,#bookly-tbs .table-warning>th{background-color:#ffeeba}#bookly-tbs .table-warning tbody+tbody,#bookly-tbs .table-warning td,#bookly-tbs .table-warning th,#bookly-tbs .table-warning thead th{border-color:#ffdf7e}#bookly-tbs .table-hover .table-warning:hover{background-color:#ffe8a1}#bookly-tbs .table-hover .table-warning:hover>td,#bookly-tbs .table-hover .table-warning:hover>th{background-color:#ffe8a1}#bookly-tbs .table-danger,#bookly-tbs .table-danger>td,#bookly-tbs .table-danger>th{background-color:#f5c6cb}#bookly-tbs .table-danger tbody+tbody,#bookly-tbs .table-danger td,#bookly-tbs .table-danger th,#bookly-tbs .table-danger thead th{border-color:#ed969e}#bookly-tbs .table-hover .table-danger:hover{background-color:#f1b0b7}#bookly-tbs .table-hover .table-danger:hover>td,#bookly-tbs .table-hover .table-danger:hover>th{background-color:#f1b0b7}#bookly-tbs .table-light,#bookly-tbs .table-light>td,#bookly-tbs .table-light>th{background-color:#fdfdfe}#bookly-tbs .table-light tbody+tbody,#bookly-tbs .table-light td,#bookly-tbs .table-light th,#bookly-tbs .table-light thead th{border-color:#fbfcfc}#bookly-tbs .table-hover .table-light:hover{background-color:#ececf6}#bookly-tbs .table-hover .table-light:hover>td,#bookly-tbs .table-hover .table-light:hover>th{background-color:#ececf6}#bookly-tbs .table-dark,#bookly-tbs .table-dark>td,#bookly-tbs .table-dark>th{background-color:#c6c8ca}#bookly-tbs .table-dark tbody+tbody,#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#95999c}#bookly-tbs .table-hover .table-dark:hover{background-color:#b9bbbe}#bookly-tbs .table-hover .table-dark:hover>td,#bookly-tbs .table-hover .table-dark:hover>th{background-color:#b9bbbe}#bookly-tbs .table-active,#bookly-tbs .table-active>td,#bookly-tbs .table-active>th{background-color:rgba(0,0,0,.075)}#bookly-tbs .table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}#bookly-tbs .table-hover .table-active:hover>td,#bookly-tbs .table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}#bookly-tbs .table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}#bookly-tbs .table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}#bookly-tbs .table-dark{color:#fff;background-color:#343a40}#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#454d55}#bookly-tbs .table-dark.table-bordered{border:0}#bookly-tbs .table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}#bookly-tbs .table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){#bookly-tbs .table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){#bookly-tbs .table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){#bookly-tbs .table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){#bookly-tbs .table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-xl>.table-bordered{border:0}}#bookly-tbs .table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive>.table-bordered{border:0}#bookly-tbs .form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .form-control{-webkit-transition:none;transition:none}}#bookly-tbs .form-control::-ms-expand{background-color:transparent;border:0}#bookly-tbs .form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}#bookly-tbs .form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::-moz-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control:-ms-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::-ms-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control:disabled,#bookly-tbs .form-control[readonly]{background-color:#e9ecef;opacity:1}#bookly-tbs select.form-control:focus::-ms-value{color:#495057;background-color:#fff}#bookly-tbs .form-control-file,#bookly-tbs .form-control-range{display:block;width:100%}#bookly-tbs .col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}#bookly-tbs .col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}#bookly-tbs .col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}#bookly-tbs .form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}#bookly-tbs .form-control-plaintext.form-control-lg,#bookly-tbs .form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}#bookly-tbs .form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs select.form-control[multiple],#bookly-tbs select.form-control[size]{height:auto}#bookly-tbs textarea.form-control{height:auto}#bookly-tbs .form-group{margin-bottom:1rem}#bookly-tbs .form-text{display:block;margin-top:.25rem}#bookly-tbs .form-row{display:-webkit-box;display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}#bookly-tbs .form-row>.col,#bookly-tbs .form-row>[class*=col-]{padding-right:5px;padding-left:5px}#bookly-tbs .form-check{position:relative;display:block;padding-left:1.25rem}#bookly-tbs .form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}#bookly-tbs .form-check-input:disabled~.form-check-label,#bookly-tbs .form-check-input[disabled]~.form-check-label{color:#6c757d}#bookly-tbs .form-check-label{margin-bottom:0}#bookly-tbs .form-check-inline{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;padding-left:0;margin-right:.75rem}#bookly-tbs .form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}#bookly-tbs .valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}#bookly-tbs .valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}#bookly-tbs.is-valid~.valid-feedback,#bookly-tbs.is-valid~.valid-tooltip,.was-validated #bookly-tbs:valid~.valid-feedback,.was-validated #bookly-tbs:valid~.valid-tooltip{display:block}#bookly-tbs .form-control.is-valid,.was-validated #bookly-tbs .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .form-control.is-valid:focus,.was-validated #bookly-tbs .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs textarea.form-control.is-valid,.was-validated #bookly-tbs textarea.form-control:valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}#bookly-tbs .custom-select.is-valid,.was-validated #bookly-tbs .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .custom-select.is-valid:focus,.was-validated #bookly-tbs .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .form-check-input.is-valid~.form-check-label,.was-validated #bookly-tbs .form-check-input:valid~.form-check-label{color:#28a745}#bookly-tbs .form-check-input.is-valid~.valid-feedback,#bookly-tbs .form-check-input.is-valid~.valid-tooltip,.was-validated #bookly-tbs .form-check-input:valid~.valid-feedback,.was-validated #bookly-tbs .form-check-input:valid~.valid-tooltip{display:block}#bookly-tbs .custom-control-input.is-valid~.custom-control-label,.was-validated #bookly-tbs .custom-control-input:valid~.custom-control-label{color:#28a745}#bookly-tbs .custom-control-input.is-valid~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}#bookly-tbs .custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}#bookly-tbs .custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}#bookly-tbs .custom-file-input.is-valid~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:valid~.custom-file-label{border-color:#28a745}#bookly-tbs .custom-file-input.is-valid:focus~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}#bookly-tbs .invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}#bookly-tbs.is-invalid~.invalid-feedback,#bookly-tbs.is-invalid~.invalid-tooltip,.was-validated #bookly-tbs:invalid~.invalid-feedback,.was-validated #bookly-tbs:invalid~.invalid-tooltip{display:block}#bookly-tbs .form-control.is-invalid,.was-validated #bookly-tbs .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .form-control.is-invalid:focus,.was-validated #bookly-tbs .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs textarea.form-control.is-invalid,.was-validated #bookly-tbs textarea.form-control:invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}#bookly-tbs .custom-select.is-invalid,.was-validated #bookly-tbs .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .custom-select.is-invalid:focus,.was-validated #bookly-tbs .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .form-check-input.is-invalid~.form-check-label,.was-validated #bookly-tbs .form-check-input:invalid~.form-check-label{color:#dc3545}#bookly-tbs .form-check-input.is-invalid~.invalid-feedback,#bookly-tbs .form-check-input.is-invalid~.invalid-tooltip,.was-validated #bookly-tbs .form-check-input:invalid~.invalid-feedback,.was-validated #bookly-tbs .form-check-input:invalid~.invalid-tooltip{display:block}#bookly-tbs .custom-control-input.is-invalid~.custom-control-label,.was-validated #bookly-tbs .custom-control-input:invalid~.custom-control-label{color:#dc3545}#bookly-tbs .custom-control-input.is-invalid~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}#bookly-tbs .custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}#bookly-tbs .custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}#bookly-tbs .custom-file-input.is-invalid~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}#bookly-tbs .custom-file-input.is-invalid:focus~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .form-inline{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-align:center;align-items:center}#bookly-tbs .form-inline .form-check{width:100%}@media (min-width:576px){#bookly-tbs .form-inline label{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;margin-bottom:0}#bookly-tbs .form-inline .form-group{display:-webkit-box;display:flex;-webkit-box-flex:0;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-align:center;align-items:center;margin-bottom:0}#bookly-tbs .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}#bookly-tbs .form-inline .form-control-plaintext{display:inline-block}#bookly-tbs .form-inline .custom-select,#bookly-tbs .form-inline .input-group{width:auto}#bookly-tbs .form-inline .form-check{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;width:auto;padding-left:0}#bookly-tbs .form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}#bookly-tbs .form-inline .custom-control{-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}#bookly-tbs .form-inline .custom-control-label{margin-bottom:0}}#bookly-tbs .btn,#bookly-tbs .fc .fc-button{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .btn,#bookly-tbs .fc .fc-button{-webkit-transition:none;transition:none}}#bookly-tbs .btn:hover,#bookly-tbs .fc .fc-button:hover{color:#212529;text-decoration:none}#bookly-tbs .btn.focus,#bookly-tbs .btn:focus,#bookly-tbs .fc .fc-button:focus,#bookly-tbs .fc .focus.fc-button{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .btn.disabled,#bookly-tbs .btn:disabled,#bookly-tbs .fc .disabled.fc-button,#bookly-tbs .fc .fc-button:disabled{opacity:.65}#bookly-tbs .fc a.disabled.fc-button,#bookly-tbs .fc fieldset:disabled a.fc-button,#bookly-tbs a.btn.disabled,#bookly-tbs fieldset:disabled .fc a.fc-button,#bookly-tbs fieldset:disabled a.btn{pointer-events:none}#bookly-tbs .btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}#bookly-tbs .btn-primary.focus,#bookly-tbs .btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}#bookly-tbs .btn-primary.disabled,#bookly-tbs .btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-primary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}#bookly-tbs .btn-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}#bookly-tbs .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}#bookly-tbs .btn-secondary.focus,#bookly-tbs .btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}#bookly-tbs .btn-secondary.disabled,#bookly-tbs .btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-secondary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-secondary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}#bookly-tbs .btn-secondary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-secondary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}#bookly-tbs .btn-success,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-success:hover,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:hover{color:#fff;background-color:#218838;border-color:#1e7e34}#bookly-tbs .btn-success.focus,#bookly-tbs .btn-success:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .focus.btn-primary{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}#bookly-tbs .btn-success.disabled,#bookly-tbs .btn-success:disabled,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:disabled,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .disabled.btn-primary{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-success:not(:disabled):not(.disabled).active,#bookly-tbs .btn-success:not(:disabled):not(.disabled):active,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled).active,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-success.dropdown-toggle,.show>#bookly-tbs .daterangepicker.show-calendar .drp-buttons .dropdown-toggle.btn-primary{color:#fff;background-color:#1e7e34;border-color:#1c7430}#bookly-tbs .btn-success:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-success:not(:disabled):not(.disabled):active:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-success.dropdown-toggle:focus,.show>#bookly-tbs .daterangepicker.show-calendar .drp-buttons .dropdown-toggle.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}#bookly-tbs .btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}#bookly-tbs .btn-info.focus,#bookly-tbs .btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}#bookly-tbs .btn-info.disabled,#bookly-tbs .btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-info:not(:disabled):not(.disabled).active,#bookly-tbs .btn-info:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}#bookly-tbs .btn-info:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-info:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}#bookly-tbs .btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}#bookly-tbs .btn-warning.focus,#bookly-tbs .btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}#bookly-tbs .btn-warning.disabled,#bookly-tbs .btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-warning:not(:disabled):not(.disabled).active,#bookly-tbs .btn-warning:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}#bookly-tbs .btn-warning:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-warning:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}#bookly-tbs .btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}#bookly-tbs .btn-danger.focus,#bookly-tbs .btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}#bookly-tbs .btn-danger.disabled,#bookly-tbs .btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-danger:not(:disabled):not(.disabled).active,#bookly-tbs .btn-danger:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}#bookly-tbs .btn-danger:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-danger:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}#bookly-tbs .btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}#bookly-tbs .btn-light.focus,#bookly-tbs .btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}#bookly-tbs .btn-light.disabled,#bookly-tbs .btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-light:not(:disabled):not(.disabled).active,#bookly-tbs .btn-light:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}#bookly-tbs .btn-light:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-light:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}#bookly-tbs .btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}#bookly-tbs .btn-dark.focus,#bookly-tbs .btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}#bookly-tbs .btn-dark.disabled,#bookly-tbs .btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-dark:not(:disabled):not(.disabled).active,#bookly-tbs .btn-dark:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}#bookly-tbs .btn-dark:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-dark:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}#bookly-tbs .btn-outline-primary{color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary.focus,#bookly-tbs .btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .btn-outline-primary.disabled,#bookly-tbs .btn-outline-primary:disabled{color:#007bff;background-color:transparent}#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .btn-outline-secondary{color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary.focus,#bookly-tbs .btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .btn-outline-secondary.disabled,#bookly-tbs .btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .btn-outline-success{color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success.focus,#bookly-tbs .btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .btn-outline-success.disabled,#bookly-tbs .btn-outline-success:disabled{color:#28a745;background-color:transparent}#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .btn-outline-info{color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info.focus,#bookly-tbs .btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .btn-outline-info.disabled,#bookly-tbs .btn-outline-info:disabled{color:#17a2b8;background-color:transparent}#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .btn-outline-warning{color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning.focus,#bookly-tbs .btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .btn-outline-warning.disabled,#bookly-tbs .btn-outline-warning:disabled{color:#ffc107;background-color:transparent}#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .btn-outline-danger{color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger.focus,#bookly-tbs .btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .btn-outline-danger.disabled,#bookly-tbs .btn-outline-danger:disabled{color:#dc3545;background-color:transparent}#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light.focus,#bookly-tbs .btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .btn-outline-light.disabled,#bookly-tbs .btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .btn-outline-dark{color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark.focus,#bookly-tbs .btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .btn-outline-dark.disabled,#bookly-tbs .btn-outline-dark:disabled{color:#343a40;background-color:transparent}#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .btn-link{font-weight:400;color:#007bff;text-decoration:none}#bookly-tbs .btn-link:hover{color:#0056b3;text-decoration:underline}#bookly-tbs .btn-link.focus,#bookly-tbs .btn-link:focus{text-decoration:underline;box-shadow:none}#bookly-tbs .btn-link.disabled,#bookly-tbs .btn-link:disabled{color:#6c757d;pointer-events:none}#bookly-tbs .btn-group-lg>.btn,#bookly-tbs .btn-lg,#bookly-tbs .fc .btn-group-lg>.fc-button{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs .btn-group-sm>.btn,#bookly-tbs .btn-sm,#bookly-tbs .fc .btn-group-sm>.fc-button{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .btn-block{display:block;width:100%}#bookly-tbs .btn-block+.btn-block{margin-top:.5rem}#bookly-tbs input[type=button].btn-block,#bookly-tbs input[type=reset].btn-block,#bookly-tbs input[type=submit].btn-block{width:100%}#bookly-tbs .fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){#bookly-tbs .fade{-webkit-transition:none;transition:none}}#bookly-tbs .fade:not(.show){opacity:0}#bookly-tbs .collapse:not(.show){display:none}#bookly-tbs .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .collapsing{-webkit-transition:none;transition:none}}#bookly-tbs .dropdown,#bookly-tbs .dropleft,#bookly-tbs .dropright,#bookly-tbs .dropup{position:relative}#bookly-tbs .dropdown-toggle{white-space:nowrap}#bookly-tbs .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}#bookly-tbs .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}#bookly-tbs .dropdown-menu-left{right:auto;left:0}#bookly-tbs .dropdown-menu-right{right:0;left:auto}@media (min-width:576px){#bookly-tbs .dropdown-menu-sm-left{right:auto;left:0}#bookly-tbs .dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){#bookly-tbs .dropdown-menu-md-left{right:auto;left:0}#bookly-tbs .dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){#bookly-tbs .dropdown-menu-lg-left{right:auto;left:0}#bookly-tbs .dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){#bookly-tbs .dropdown-menu-xl-left{right:auto;left:0}#bookly-tbs .dropdown-menu-xl-right{right:0;left:auto}}#bookly-tbs .dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}#bookly-tbs .dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}#bookly-tbs .dropup .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}#bookly-tbs .dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}#bookly-tbs .dropright .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropright .dropdown-toggle::after{vertical-align:0}#bookly-tbs .dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}#bookly-tbs .dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}#bookly-tbs .dropleft .dropdown-toggle::after{display:none}#bookly-tbs .dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}#bookly-tbs .dropleft .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropleft .dropdown-toggle::before{vertical-align:0}#bookly-tbs .dropdown-menu[x-placement^=bottom],#bookly-tbs .dropdown-menu[x-placement^=left],#bookly-tbs .dropdown-menu[x-placement^=right],#bookly-tbs .dropdown-menu[x-placement^=top]{right:auto;bottom:auto}#bookly-tbs .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}#bookly-tbs .dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}#bookly-tbs .dropdown-item:focus,#bookly-tbs .dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .dropdown-item.active,#bookly-tbs .dropdown-item:active{color:#16181b;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .dropdown-item.disabled,#bookly-tbs .dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}#bookly-tbs .dropdown-menu.show{display:block}#bookly-tbs .dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}#bookly-tbs .dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}#bookly-tbs .btn-group,#bookly-tbs .btn-group-vertical,#bookly-tbs .fc .fc-button-group{position:relative;display:-webkit-inline-box;display:inline-flex;vertical-align:middle}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group>.btn,#bookly-tbs .fc .btn-group-vertical>.fc-button,#bookly-tbs .fc .btn-group>.fc-button,#bookly-tbs .fc .fc-button-group>.btn,#bookly-tbs .fc .fc-button-group>.fc-button{position:relative;-webkit-box-flex:1;flex:1 1 auto}#bookly-tbs .btn-group-vertical>.btn:hover,#bookly-tbs .btn-group>.btn:hover,#bookly-tbs .fc .btn-group-vertical>.fc-button:hover,#bookly-tbs .fc .btn-group>.fc-button:hover,#bookly-tbs .fc .fc-button-group>.btn:hover,#bookly-tbs .fc .fc-button-group>.fc-button:hover{z-index:1}#bookly-tbs .btn-group-vertical>.btn.active,#bookly-tbs .btn-group-vertical>.btn:active,#bookly-tbs .btn-group-vertical>.btn:focus,#bookly-tbs .btn-group>.btn.active,#bookly-tbs .btn-group>.btn:active,#bookly-tbs .btn-group>.btn:focus,#bookly-tbs .fc .btn-group-vertical>.active.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button:active,#bookly-tbs .fc .btn-group-vertical>.fc-button:focus,#bookly-tbs .fc .btn-group>.active.fc-button,#bookly-tbs .fc .btn-group>.fc-button:active,#bookly-tbs .fc .btn-group>.fc-button:focus,#bookly-tbs .fc .fc-button-group>.active.fc-button,#bookly-tbs .fc .fc-button-group>.btn.active,#bookly-tbs .fc .fc-button-group>.btn:active,#bookly-tbs .fc .fc-button-group>.btn:focus,#bookly-tbs .fc .fc-button-group>.fc-button:active,#bookly-tbs .fc .fc-button-group>.fc-button:focus{z-index:1}#bookly-tbs .btn-toolbar{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .btn-toolbar .input-group{width:auto}#bookly-tbs .btn-group>.btn-group:not(:first-child),#bookly-tbs .btn-group>.btn:not(:first-child),#bookly-tbs .fc .btn-group>.fc-button-group:not(:first-child),#bookly-tbs .fc .btn-group>.fc-button:not(:first-child),#bookly-tbs .fc .fc-button-group>.btn-group:not(:first-child),#bookly-tbs .fc .fc-button-group>.btn:not(:first-child),#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:first-child),#bookly-tbs .fc .fc-button-group>.fc-button:not(:first-child){margin-left:-1px}#bookly-tbs .btn-group>.btn-group:not(:last-child)>.btn,#bookly-tbs .btn-group>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .btn-group>.btn-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button-group:not(:last-child)>.btn,#bookly-tbs .fc .btn-group>.fc-button-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .fc-button-group>.btn-group:not(:last-child)>.btn,#bookly-tbs .fc .fc-button-group>.btn-group:not(:last-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:last-child)>.btn,#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:last-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.fc-button:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .btn-group>.btn-group:not(:first-child)>.btn,#bookly-tbs .btn-group>.btn:not(:first-child),#bookly-tbs .fc .btn-group>.btn-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button-group:not(:first-child)>.btn,#bookly-tbs .fc .btn-group>.fc-button-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button:not(:first-child),#bookly-tbs .fc .fc-button-group>.btn-group:not(:first-child)>.btn,#bookly-tbs .fc .fc-button-group>.btn-group:not(:first-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.btn:not(:first-child),#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:first-child)>.btn,#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:first-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.fc-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}#bookly-tbs .dropdown-toggle-split::after,.dropright #bookly-tbs .dropdown-toggle-split::after,.dropup #bookly-tbs .dropdown-toggle-split::after{margin-left:0}.dropleft #bookly-tbs .dropdown-toggle-split::before{margin-right:0}#bookly-tbs .btn-group-sm>.btn+.dropdown-toggle-split,#bookly-tbs .btn-sm+.dropdown-toggle-split,#bookly-tbs .fc .btn-group-sm>.fc-button+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}#bookly-tbs .btn-group-lg>.btn+.dropdown-toggle-split,#bookly-tbs .btn-lg+.dropdown-toggle-split,#bookly-tbs .fc .btn-group-lg>.fc-button+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}#bookly-tbs .btn-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start;-webkit-box-pack:center;justify-content:center}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group-vertical>.btn-group,#bookly-tbs .fc .btn-group-vertical>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button-group{width:100%}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child),#bookly-tbs .btn-group-vertical>.btn:not(:first-child),#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:first-child),#bookly-tbs .fc .btn-group-vertical>.fc-button:not(:first-child){margin-top:-1px}#bookly-tbs .btn-group-vertical>.btn-group:not(:last-child)>.btn,#bookly-tbs .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .btn-group-vertical>.btn-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:last-child)>.btn,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child)>.btn,#bookly-tbs .btn-group-vertical>.btn:not(:first-child),#bookly-tbs .fc .btn-group-vertical>.btn-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:first-child)>.btn,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .btn-group-toggle>.btn,#bookly-tbs .btn-group-toggle>.btn-group>.btn,#bookly-tbs .fc .btn-group-toggle>.btn-group>.fc-button,#bookly-tbs .fc .btn-group-toggle>.fc-button,#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.btn,#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.fc-button{margin-bottom:0}#bookly-tbs .btn-group-toggle>.btn input[type=checkbox],#bookly-tbs .btn-group-toggle>.btn input[type=radio],#bookly-tbs .btn-group-toggle>.btn-group>.btn input[type=checkbox],#bookly-tbs .btn-group-toggle>.btn-group>.btn input[type=radio],#bookly-tbs .fc .btn-group-toggle>.btn-group>.fc-button input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.btn-group>.fc-button input[type=radio],#bookly-tbs .fc .btn-group-toggle>.fc-button input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.fc-button input[type=radio],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.btn input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.btn input[type=radio],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.fc-button input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.fc-button input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}#bookly-tbs .input-group{position:relative;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:stretch;align-items:stretch;width:100%}#bookly-tbs .input-group>.custom-file,#bookly-tbs .input-group>.custom-select,#bookly-tbs .input-group>.form-control,#bookly-tbs .input-group>.form-control-plaintext{position:relative;-webkit-box-flex:1;flex:1 1 0%;min-width:0;margin-bottom:0}#bookly-tbs .input-group>.custom-file+.custom-file,#bookly-tbs .input-group>.custom-file+.custom-select,#bookly-tbs .input-group>.custom-file+.form-control,#bookly-tbs .input-group>.custom-select+.custom-file,#bookly-tbs .input-group>.custom-select+.custom-select,#bookly-tbs .input-group>.custom-select+.form-control,#bookly-tbs .input-group>.form-control+.custom-file,#bookly-tbs .input-group>.form-control+.custom-select,#bookly-tbs .input-group>.form-control+.form-control,#bookly-tbs .input-group>.form-control-plaintext+.custom-file,#bookly-tbs .input-group>.form-control-plaintext+.custom-select,#bookly-tbs .input-group>.form-control-plaintext+.form-control{margin-left:-1px}#bookly-tbs .input-group>.custom-file .custom-file-input:focus~.custom-file-label,#bookly-tbs .input-group>.custom-select:focus,#bookly-tbs .input-group>.form-control:focus{z-index:3}#bookly-tbs .input-group>.custom-file .custom-file-input:focus{z-index:4}#bookly-tbs .input-group>.custom-select:not(:last-child),#bookly-tbs .input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.custom-select:not(:first-child),#bookly-tbs .input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group>.custom-file{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}#bookly-tbs .input-group>.custom-file:not(:last-child) .custom-file-label,#bookly-tbs .input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group-append,#bookly-tbs .input-group-prepend{display:-webkit-box;display:flex}#bookly-tbs .fc .input-group-append .fc-button,#bookly-tbs .fc .input-group-prepend .fc-button,#bookly-tbs .input-group-append .btn,#bookly-tbs .input-group-append .fc .fc-button,#bookly-tbs .input-group-prepend .btn,#bookly-tbs .input-group-prepend .fc .fc-button{position:relative;z-index:2}#bookly-tbs .fc .input-group-append .fc-button:focus,#bookly-tbs .fc .input-group-prepend .fc-button:focus,#bookly-tbs .input-group-append .btn:focus,#bookly-tbs .input-group-append .fc .fc-button:focus,#bookly-tbs .input-group-prepend .btn:focus,#bookly-tbs .input-group-prepend .fc .fc-button:focus{z-index:3}#bookly-tbs .fc .input-group-append .btn+.fc-button,#bookly-tbs .fc .input-group-append .fc-button+.btn,#bookly-tbs .fc .input-group-append .fc-button+.fc-button,#bookly-tbs .fc .input-group-append .fc-button+.input-group-text,#bookly-tbs .fc .input-group-append .input-group-text+.fc-button,#bookly-tbs .fc .input-group-prepend .btn+.fc-button,#bookly-tbs .fc .input-group-prepend .fc-button+.btn,#bookly-tbs .fc .input-group-prepend .fc-button+.fc-button,#bookly-tbs .fc .input-group-prepend .fc-button+.input-group-text,#bookly-tbs .fc .input-group-prepend .input-group-text+.fc-button,#bookly-tbs .input-group-append .btn+.btn,#bookly-tbs .input-group-append .btn+.input-group-text,#bookly-tbs .input-group-append .fc .btn+.fc-button,#bookly-tbs .input-group-append .fc .fc-button+.btn,#bookly-tbs .input-group-append .fc .fc-button+.fc-button,#bookly-tbs .input-group-append .fc .fc-button+.input-group-text,#bookly-tbs .input-group-append .fc .input-group-text+.fc-button,#bookly-tbs .input-group-append .input-group-text+.btn,#bookly-tbs .input-group-append .input-group-text+.input-group-text,#bookly-tbs .input-group-prepend .btn+.btn,#bookly-tbs .input-group-prepend .btn+.input-group-text,#bookly-tbs .input-group-prepend .fc .btn+.fc-button,#bookly-tbs .input-group-prepend .fc .fc-button+.btn,#bookly-tbs .input-group-prepend .fc .fc-button+.fc-button,#bookly-tbs .input-group-prepend .fc .fc-button+.input-group-text,#bookly-tbs .input-group-prepend .fc .input-group-text+.fc-button,#bookly-tbs .input-group-prepend .input-group-text+.btn,#bookly-tbs .input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}#bookly-tbs .input-group-prepend{margin-right:-1px}#bookly-tbs .input-group-append{margin-left:-1px}#bookly-tbs .input-group-text{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .input-group-text input[type=checkbox],#bookly-tbs .input-group-text input[type=radio]{margin-top:0}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}#bookly-tbs .fc .input-group-lg>.input-group-append>.fc-button,#bookly-tbs .fc .input-group-lg>.input-group-prepend>.fc-button,#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-lg>.form-control,#bookly-tbs .input-group-lg>.input-group-append>.btn,#bookly-tbs .input-group-lg>.input-group-append>.input-group-text,#bookly-tbs .input-group-lg>.input-group-prepend>.btn,#bookly-tbs .input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs .input-group-sm>.custom-select,#bookly-tbs .input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}#bookly-tbs .fc .input-group-sm>.input-group-append>.fc-button,#bookly-tbs .fc .input-group-sm>.input-group-prepend>.fc-button,#bookly-tbs .input-group-sm>.custom-select,#bookly-tbs .input-group-sm>.form-control,#bookly-tbs .input-group-sm>.input-group-append>.btn,#bookly-tbs .input-group-sm>.input-group-append>.input-group-text,#bookly-tbs .input-group-sm>.input-group-prepend>.btn,#bookly-tbs .input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-sm>.custom-select{padding-right:1.75rem}#bookly-tbs .fc .input-group>.input-group-append:last-child>.fc-button:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .input-group>.input-group-append:not(:last-child)>.fc-button,#bookly-tbs .fc .input-group>.input-group-prepend>.fc-button,#bookly-tbs .input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .input-group>.input-group-append:last-child>.input-group-text:not(:last-child),#bookly-tbs .input-group>.input-group-append:not(:last-child)>.btn,#bookly-tbs .input-group>.input-group-append:not(:last-child)>.input-group-text,#bookly-tbs .input-group>.input-group-prepend>.btn,#bookly-tbs .input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .fc .input-group>.input-group-append>.fc-button,#bookly-tbs .fc .input-group>.input-group-prepend:first-child>.fc-button:not(:first-child),#bookly-tbs .fc .input-group>.input-group-prepend:not(:first-child)>.fc-button,#bookly-tbs .input-group>.input-group-append>.btn,#bookly-tbs .input-group>.input-group-append>.input-group-text,#bookly-tbs .input-group>.input-group-prepend:first-child>.btn:not(:first-child),#bookly-tbs .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),#bookly-tbs .input-group>.input-group-prepend:not(:first-child)>.btn,#bookly-tbs .input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}#bookly-tbs .custom-control-inline{display:-webkit-inline-box;display:inline-flex;margin-right:1rem}#bookly-tbs .custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}#bookly-tbs .custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}#bookly-tbs .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}#bookly-tbs .custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}#bookly-tbs .custom-control-input:disabled~.custom-control-label,#bookly-tbs .custom-control-input[disabled]~.custom-control-label{color:#6c757d}#bookly-tbs .custom-control-input:disabled~.custom-control-label::before,#bookly-tbs .custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}#bookly-tbs .custom-control-label{position:relative;margin-bottom:0;vertical-align:top}#bookly-tbs .custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}#bookly-tbs .custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}#bookly-tbs .custom-checkbox .custom-control-label::before{border-radius:.25rem}#bookly-tbs .custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}#bookly-tbs .custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}#bookly-tbs .custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}#bookly-tbs .custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-radio .custom-control-label::before{border-radius:50%}#bookly-tbs .custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}#bookly-tbs .custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-switch{padding-left:2.25rem}#bookly-tbs .custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}#bookly-tbs .custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-switch .custom-control-label::after{-webkit-transition:none;transition:none}}#bookly-tbs .custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}#bookly-tbs .custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs .custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-select:focus::-ms-value{color:#495057;background-color:#fff}#bookly-tbs .custom-select[multiple],#bookly-tbs .custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}#bookly-tbs .custom-select:disabled{color:#6c757d;background-color:#e9ecef}#bookly-tbs .custom-select::-ms-expand{display:none}#bookly-tbs .custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}#bookly-tbs .custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}#bookly-tbs .custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}#bookly-tbs .custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}#bookly-tbs .custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}#bookly-tbs .custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-file-input:disabled~.custom-file-label,#bookly-tbs .custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}#bookly-tbs .custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}#bookly-tbs .custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}#bookly-tbs .custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}#bookly-tbs .custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs .custom-range:focus{outline:0}#bookly-tbs .custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range::-moz-focus-outer{border:0}#bookly-tbs .custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}#bookly-tbs .custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}#bookly-tbs .custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}#bookly-tbs .custom-range::-moz-range-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}#bookly-tbs .custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-ms-thumb{-ms-transition:none;transition:none}}#bookly-tbs .custom-range::-ms-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}#bookly-tbs .custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}#bookly-tbs .custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}#bookly-tbs .custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}#bookly-tbs .custom-range:disabled::-webkit-slider-runnable-track{cursor:default}#bookly-tbs .custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}#bookly-tbs .custom-range:disabled::-moz-range-track{cursor:default}#bookly-tbs .custom-range:disabled::-ms-thumb{background-color:#adb5bd}#bookly-tbs .custom-control-label::before,#bookly-tbs .custom-file-label,#bookly-tbs .custom-select{-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-control-label::before,#bookly-tbs .custom-file-label,#bookly-tbs .custom-select{-webkit-transition:none;transition:none}}#bookly-tbs .nav{display:-webkit-box;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .nav-link{display:block;padding:.5rem 1rem}#bookly-tbs .nav-link:focus,#bookly-tbs .nav-link:hover{text-decoration:none}#bookly-tbs .nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}#bookly-tbs .nav-tabs{border-bottom:1px solid #dee2e6}#bookly-tbs .nav-tabs .nav-item{margin-bottom:-1px}#bookly-tbs .nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .nav-tabs .nav-link:focus,#bookly-tbs .nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}#bookly-tbs .nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}#bookly-tbs .nav-tabs .nav-item.show .nav-link,#bookly-tbs .nav-tabs .nav-link.active{color:#343a40;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}#bookly-tbs .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .nav-pills .nav-link{border-radius:.25rem}#bookly-tbs .nav-pills .nav-link.active,#bookly-tbs .nav-pills .show>.nav-link{color:#fff;background-color:#007bff}#bookly-tbs .nav-fill .nav-item{-webkit-box-flex:1;flex:1 1 auto;text-align:center}#bookly-tbs .nav-justified .nav-item{flex-basis:0;-webkit-box-flex:1;flex-grow:1;text-align:center}#bookly-tbs .tab-content>.tab-pane{display:none}#bookly-tbs .tab-content>.active{display:block}#bookly-tbs .navbar{position:relative;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between;padding:.5rem 1rem}#bookly-tbs .navbar .container,#bookly-tbs .navbar .container-fluid,#bookly-tbs .navbar .container-lg,#bookly-tbs .navbar .container-md,#bookly-tbs .navbar .container-sm,#bookly-tbs .navbar .container-xl{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between}#bookly-tbs .navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}#bookly-tbs .navbar-brand:focus,#bookly-tbs .navbar-brand:hover{text-decoration:none}#bookly-tbs .navbar-nav{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .navbar-nav .nav-link{padding-right:0;padding-left:0}#bookly-tbs .navbar-nav .dropdown-menu{position:static;float:none}#bookly-tbs .navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}#bookly-tbs .navbar-collapse{flex-basis:100%;-webkit-box-flex:1;flex-grow:1;-webkit-box-align:center;align-items:center}#bookly-tbs .navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}#bookly-tbs .navbar-toggler:focus,#bookly-tbs .navbar-toggler:hover{text-decoration:none}#bookly-tbs .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){#bookly-tbs .navbar-expand-sm>.container,#bookly-tbs .navbar-expand-sm>.container-fluid,#bookly-tbs .navbar-expand-sm>.container-lg,#bookly-tbs .navbar-expand-sm>.container-md,#bookly-tbs .navbar-expand-sm>.container-sm,#bookly-tbs .navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){#bookly-tbs .navbar-expand-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-sm>.container,#bookly-tbs .navbar-expand-sm>.container-fluid,#bookly-tbs .navbar-expand-sm>.container-lg,#bookly-tbs .navbar-expand-sm>.container-md,#bookly-tbs .navbar-expand-sm>.container-sm,#bookly-tbs .navbar-expand-sm>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){#bookly-tbs .navbar-expand-md>.container,#bookly-tbs .navbar-expand-md>.container-fluid,#bookly-tbs .navbar-expand-md>.container-lg,#bookly-tbs .navbar-expand-md>.container-md,#bookly-tbs .navbar-expand-md>.container-sm,#bookly-tbs .navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){#bookly-tbs .navbar-expand-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-md>.container,#bookly-tbs .navbar-expand-md>.container-fluid,#bookly-tbs .navbar-expand-md>.container-lg,#bookly-tbs .navbar-expand-md>.container-md,#bookly-tbs .navbar-expand-md>.container-sm,#bookly-tbs .navbar-expand-md>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){#bookly-tbs .navbar-expand-lg>.container,#bookly-tbs .navbar-expand-lg>.container-fluid,#bookly-tbs .navbar-expand-lg>.container-lg,#bookly-tbs .navbar-expand-lg>.container-md,#bookly-tbs .navbar-expand-lg>.container-sm,#bookly-tbs .navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){#bookly-tbs .navbar-expand-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-lg>.container,#bookly-tbs .navbar-expand-lg>.container-fluid,#bookly-tbs .navbar-expand-lg>.container-lg,#bookly-tbs .navbar-expand-lg>.container-md,#bookly-tbs .navbar-expand-lg>.container-sm,#bookly-tbs .navbar-expand-lg>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){#bookly-tbs .navbar-expand-xl>.container,#bookly-tbs .navbar-expand-xl>.container-fluid,#bookly-tbs .navbar-expand-xl>.container-lg,#bookly-tbs .navbar-expand-xl>.container-md,#bookly-tbs .navbar-expand-xl>.container-sm,#bookly-tbs .navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){#bookly-tbs .navbar-expand-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-xl>.container,#bookly-tbs .navbar-expand-xl>.container-fluid,#bookly-tbs .navbar-expand-xl>.container-lg,#bookly-tbs .navbar-expand-xl>.container-md,#bookly-tbs .navbar-expand-xl>.container-sm,#bookly-tbs .navbar-expand-xl>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-xl .navbar-toggler{display:none}}#bookly-tbs .navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand>.container,#bookly-tbs .navbar-expand>.container-fluid,#bookly-tbs .navbar-expand>.container-lg,#bookly-tbs .navbar-expand>.container-md,#bookly-tbs .navbar-expand>.container-sm,#bookly-tbs .navbar-expand>.container-xl{padding-right:0;padding-left:0}#bookly-tbs .navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand>.container,#bookly-tbs .navbar-expand>.container-fluid,#bookly-tbs .navbar-expand>.container-lg,#bookly-tbs .navbar-expand>.container-md,#bookly-tbs .navbar-expand>.container-sm,#bookly-tbs .navbar-expand>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand .navbar-toggler{display:none}#bookly-tbs .navbar-light .navbar-brand{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-brand:focus,#bookly-tbs .navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}#bookly-tbs .navbar-light .navbar-nav .nav-link:focus,#bookly-tbs .navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}#bookly-tbs .navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}#bookly-tbs .navbar-light .navbar-nav .active>.nav-link,#bookly-tbs .navbar-light .navbar-nav .nav-link.active,#bookly-tbs .navbar-light .navbar-nav .nav-link.show,#bookly-tbs .navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}#bookly-tbs .navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}#bookly-tbs .navbar-light .navbar-text{color:rgba(0,0,0,.5)}#bookly-tbs .navbar-light .navbar-text a{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-text a:focus,#bookly-tbs .navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-dark .navbar-brand{color:#fff}#bookly-tbs .navbar-dark .navbar-brand:focus,#bookly-tbs .navbar-dark .navbar-brand:hover{color:#fff}#bookly-tbs .navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}#bookly-tbs .navbar-dark .navbar-nav .nav-link:focus,#bookly-tbs .navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}#bookly-tbs .navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}#bookly-tbs .navbar-dark .navbar-nav .active>.nav-link,#bookly-tbs .navbar-dark .navbar-nav .nav-link.active,#bookly-tbs .navbar-dark .navbar-nav .nav-link.show,#bookly-tbs .navbar-dark .navbar-nav .show>.nav-link{color:#fff}#bookly-tbs .navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}#bookly-tbs .navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}#bookly-tbs .navbar-dark .navbar-text{color:rgba(255,255,255,.5)}#bookly-tbs .navbar-dark .navbar-text a{color:#fff}#bookly-tbs .navbar-dark .navbar-text a:focus,#bookly-tbs .navbar-dark .navbar-text a:hover{color:#fff}#bookly-tbs .card{position:relative;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}#bookly-tbs .card>hr{margin-right:0;margin-left:0}#bookly-tbs .card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .card-body{-webkit-box-flex:1;flex:1 1 auto;min-height:1px;padding:1.25rem}#bookly-tbs .card-title{margin-bottom:.75rem}#bookly-tbs .card-subtitle{margin-top:-.375rem;margin-bottom:0}#bookly-tbs .card-text:last-child{margin-bottom:0}#bookly-tbs .card-link:hover{text-decoration:none}#bookly-tbs .card-link+.card-link{margin-left:1.25rem}#bookly-tbs .card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}#bookly-tbs .card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}#bookly-tbs .card-header+.list-group .list-group-item:first-child{border-top:0}#bookly-tbs .card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}#bookly-tbs .card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}#bookly-tbs .card-header-pills{margin-right:-.625rem;margin-left:-.625rem}#bookly-tbs .card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}#bookly-tbs .card-img,#bookly-tbs .card-img-bottom,#bookly-tbs .card-img-top{flex-shrink:0;width:100%}#bookly-tbs .card-img,#bookly-tbs .card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}#bookly-tbs .card-img,#bookly-tbs .card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}#bookly-tbs .card-deck .card{margin-bottom:15px}@media (min-width:576px){#bookly-tbs .card-deck{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}#bookly-tbs .card-deck .card{-webkit-box-flex:1;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}#bookly-tbs .card-group>.card{margin-bottom:15px}@media (min-width:576px){#bookly-tbs .card-group{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap}#bookly-tbs .card-group>.card{-webkit-box-flex:1;flex:1 0 0%;margin-bottom:0}#bookly-tbs .card-group>.card+.card{margin-left:0;border-left:0}#bookly-tbs .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .card-group>.card:not(:last-child) .card-header,#bookly-tbs .card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}#bookly-tbs .card-group>.card:not(:last-child) .card-footer,#bookly-tbs .card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}#bookly-tbs .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .card-group>.card:not(:first-child) .card-header,#bookly-tbs .card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}#bookly-tbs .card-group>.card:not(:first-child) .card-footer,#bookly-tbs .card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}#bookly-tbs .card-columns .card{margin-bottom:.75rem}@media (min-width:576px){#bookly-tbs .card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}#bookly-tbs .card-columns .card{display:inline-block;width:100%}}#bookly-tbs .accordion>.card{overflow:hidden}#bookly-tbs .accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}#bookly-tbs .breadcrumb{display:-webkit-box;display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}#bookly-tbs .breadcrumb-item+.breadcrumb-item{padding-left:.5rem}#bookly-tbs .breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}#bookly-tbs .breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}#bookly-tbs .breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}#bookly-tbs .breadcrumb-item.active{color:#6c757d}#bookly-tbs .pagination{display:-webkit-box;display:flex;padding-left:0;list-style:none;border-radius:.25rem}#bookly-tbs .page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}#bookly-tbs .page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}#bookly-tbs .page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#bookly-tbs .page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}#bookly-tbs .pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}#bookly-tbs .pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}#bookly-tbs .pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}#bookly-tbs .pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}#bookly-tbs .pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}#bookly-tbs .pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}#bookly-tbs .badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .badge{-webkit-transition:none;transition:none}}#bookly-tbs a.badge:focus,#bookly-tbs a.badge:hover{text-decoration:none}#bookly-tbs .badge:empty{display:none}#bookly-tbs .btn .badge,#bookly-tbs .fc .fc-button .badge{position:relative;top:-1px}#bookly-tbs .badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}#bookly-tbs .badge-primary{color:#fff;background-color:#007bff}#bookly-tbs a.badge-primary:focus,#bookly-tbs a.badge-primary:hover{color:#fff;background-color:#0062cc}#bookly-tbs a.badge-primary.focus,#bookly-tbs a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .badge-secondary{color:#fff;background-color:#6c757d}#bookly-tbs a.badge-secondary:focus,#bookly-tbs a.badge-secondary:hover{color:#fff;background-color:#545b62}#bookly-tbs a.badge-secondary.focus,#bookly-tbs a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .badge-success{color:#fff;background-color:#28a745}#bookly-tbs a.badge-success:focus,#bookly-tbs a.badge-success:hover{color:#fff;background-color:#1e7e34}#bookly-tbs a.badge-success.focus,#bookly-tbs a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .badge-info{color:#fff;background-color:#17a2b8}#bookly-tbs a.badge-info:focus,#bookly-tbs a.badge-info:hover{color:#fff;background-color:#117a8b}#bookly-tbs a.badge-info.focus,#bookly-tbs a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .badge-warning{color:#212529;background-color:#ffc107}#bookly-tbs a.badge-warning:focus,#bookly-tbs a.badge-warning:hover{color:#212529;background-color:#d39e00}#bookly-tbs a.badge-warning.focus,#bookly-tbs a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .badge-danger{color:#fff;background-color:#dc3545}#bookly-tbs a.badge-danger:focus,#bookly-tbs a.badge-danger:hover{color:#fff;background-color:#bd2130}#bookly-tbs a.badge-danger.focus,#bookly-tbs a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .badge-light{color:#212529;background-color:#f8f9fa}#bookly-tbs a.badge-light:focus,#bookly-tbs a.badge-light:hover{color:#212529;background-color:#dae0e5}#bookly-tbs a.badge-light.focus,#bookly-tbs a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .badge-dark{color:#fff;background-color:#343a40}#bookly-tbs a.badge-dark:focus,#bookly-tbs a.badge-dark:hover{color:#fff;background-color:#1d2124}#bookly-tbs a.badge-dark.focus,#bookly-tbs a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){#bookly-tbs .jumbotron{padding:4rem 2rem}}#bookly-tbs .jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}#bookly-tbs .alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}#bookly-tbs .alert-heading{color:inherit}#bookly-tbs .alert-link{font-weight:700}#bookly-tbs .alert-dismissible{padding-right:4rem}#bookly-tbs .alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}#bookly-tbs .alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}#bookly-tbs .alert-primary hr{border-top-color:#9fcdff}#bookly-tbs .alert-primary .alert-link{color:#002752}#bookly-tbs .alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}#bookly-tbs .alert-secondary hr{border-top-color:#c8cbcf}#bookly-tbs .alert-secondary .alert-link{color:#202326}#bookly-tbs .alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}#bookly-tbs .alert-success hr{border-top-color:#b1dfbb}#bookly-tbs .alert-success .alert-link{color:#0b2e13}#bookly-tbs .alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}#bookly-tbs .alert-info hr{border-top-color:#abdde5}#bookly-tbs .alert-info .alert-link{color:#062c33}#bookly-tbs .alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}#bookly-tbs .alert-warning hr{border-top-color:#ffe8a1}#bookly-tbs .alert-warning .alert-link{color:#533f03}#bookly-tbs .alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}#bookly-tbs .alert-danger hr{border-top-color:#f1b0b7}#bookly-tbs .alert-danger .alert-link{color:#491217}#bookly-tbs .alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}#bookly-tbs .alert-light hr{border-top-color:#ececf6}#bookly-tbs .alert-light .alert-link{color:#686868}#bookly-tbs .alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}#bookly-tbs .alert-dark hr{border-top-color:#b9bbbe}#bookly-tbs .alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}#bookly-tbs .progress{display:-webkit-box;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}#bookly-tbs .progress-bar{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;-webkit-transition:width .6s ease;transition:width .6s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .progress-bar{-webkit-transition:none;transition:none}}#bookly-tbs .progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}#bookly-tbs .progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){#bookly-tbs .progress-bar-animated{-webkit-animation:none;animation:none}}#bookly-tbs .media{display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start}#bookly-tbs .media-body{-webkit-box-flex:1;flex:1}#bookly-tbs .list-group{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;padding-left:0;margin-bottom:0}#bookly-tbs .list-group-item-action{width:100%;color:#495057;text-align:inherit}#bookly-tbs .list-group-item-action:focus,#bookly-tbs .list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .list-group-item-action:active{color:#212529;background-color:#e9ecef}#bookly-tbs .list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}#bookly-tbs .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .list-group-item.disabled,#bookly-tbs .list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}#bookly-tbs .list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .list-group-item+#bookly-tbs .list-group-item{border-top-width:0}#bookly-tbs .list-group-item+#bookly-tbs .list-group-item.active{margin-top:-1px;border-top-width:1px}#bookly-tbs .list-group-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){#bookly-tbs .list-group-horizontal-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-sm .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){#bookly-tbs .list-group-horizontal-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-md .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){#bookly-tbs .list-group-horizontal-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-lg .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){#bookly-tbs .list-group-horizontal-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-xl .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}#bookly-tbs .list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}#bookly-tbs .list-group-flush .list-group-item:first-child{border-top-width:0}#bookly-tbs .list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}#bookly-tbs .list-group-item-primary{color:#004085;background-color:#b8daff}#bookly-tbs .list-group-item-primary.list-group-item-action:focus,#bookly-tbs .list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}#bookly-tbs .list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}#bookly-tbs .list-group-item-secondary{color:#383d41;background-color:#d6d8db}#bookly-tbs .list-group-item-secondary.list-group-item-action:focus,#bookly-tbs .list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}#bookly-tbs .list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}#bookly-tbs .list-group-item-success{color:#155724;background-color:#c3e6cb}#bookly-tbs .list-group-item-success.list-group-item-action:focus,#bookly-tbs .list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}#bookly-tbs .list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}#bookly-tbs .list-group-item-info{color:#0c5460;background-color:#bee5eb}#bookly-tbs .list-group-item-info.list-group-item-action:focus,#bookly-tbs .list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}#bookly-tbs .list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}#bookly-tbs .list-group-item-warning{color:#856404;background-color:#ffeeba}#bookly-tbs .list-group-item-warning.list-group-item-action:focus,#bookly-tbs .list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}#bookly-tbs .list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}#bookly-tbs .list-group-item-danger{color:#721c24;background-color:#f5c6cb}#bookly-tbs .list-group-item-danger.list-group-item-action:focus,#bookly-tbs .list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}#bookly-tbs .list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}#bookly-tbs .list-group-item-light{color:#818182;background-color:#fdfdfe}#bookly-tbs .list-group-item-light.list-group-item-action:focus,#bookly-tbs .list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}#bookly-tbs .list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}#bookly-tbs .list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}#bookly-tbs .list-group-item-dark.list-group-item-action:focus,#bookly-tbs .list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}#bookly-tbs .list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}#bookly-tbs .close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}#bookly-tbs .close:hover{color:#000;text-decoration:none}#bookly-tbs .close:not(:disabled):not(.disabled):focus,#bookly-tbs .close:not(:disabled):not(.disabled):hover{opacity:.75}#bookly-tbs button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs a.close.disabled{pointer-events:none}#bookly-tbs .toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}#bookly-tbs .toast:not(:last-child){margin-bottom:.75rem}#bookly-tbs .toast.showing{opacity:1}#bookly-tbs .toast.show{display:block;opacity:1}#bookly-tbs .toast.hide{display:none}#bookly-tbs .toast-header{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}#bookly-tbs .toast-body{padding:.75rem}.bookly-modal-open{overflow:hidden}#bookly-tbs .bookly-modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.bookly-modal-open #bookly-tbs .bookly-modal{overflow-x:hidden;overflow-y:auto}#bookly-tbs .modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}#bookly-tbs .bookly-modal.bookly-fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-modal.bookly-fade .modal-dialog{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-modal.show .modal-dialog{-webkit-transform:none;transform:none}#bookly-tbs .bookly-modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}#bookly-tbs .modal-dialog-scrollable{display:-webkit-box;display:flex;max-height:calc(100% - 1rem)}#bookly-tbs .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}#bookly-tbs .modal-dialog-scrollable .modal-footer,#bookly-tbs .modal-dialog-scrollable .modal-header{flex-shrink:0}#bookly-tbs .modal-dialog-scrollable .modal-body{overflow-y:auto}#bookly-tbs .modal-dialog-centered{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;min-height:calc(100% - 1rem)}#bookly-tbs .modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;height:100%}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable::before{content:none}#bookly-tbs .modal-content{position:relative;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.bookly-modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.bookly-modal-backdrop.bookly-fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear;opacity:0}@media (prefers-reduced-motion:reduce){.bookly-modal-backdrop.bookly-fade{-webkit-transition:none;transition:none}}.bookly-modal-backdrop.show{opacity:.5}.bookly-modal-backdrop+.bookly-modal-backdrop{display:none!important}#bookly-tbs .modal-header{display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start;-webkit-box-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}#bookly-tbs .modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}#bookly-tbs .modal-title{margin-bottom:0;line-height:1.5}#bookly-tbs .modal-body{position:relative;-webkit-box-flex:1;flex:1 1 auto;padding:1rem}#bookly-tbs .modal-footer{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}#bookly-tbs .modal-footer>*{margin:.25rem}#bookly-tbs .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){#bookly-tbs .modal-dialog{max-width:500px;margin:3rem auto}#bookly-tbs .modal-dialog-scrollable{max-height:calc(100% - 6rem)}#bookly-tbs .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 6rem)}#bookly-tbs .modal-dialog-centered{min-height:calc(100% - 6rem)}#bookly-tbs .modal-dialog-centered::before{height:calc(100vh - 6rem)}#bookly-tbs .modal-sm{max-width:300px}}@media (min-width:992px){#bookly-tbs .modal-lg,#bookly-tbs .modal-xl{max-width:800px}}@media (min-width:1200px){#bookly-tbs .modal-xl{max-width:1140px}}#bookly-tbs .modal-faded{z-index:1039!important}#bookly-tbs .tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}#bookly-tbs .tooltip.show{opacity:.9}#bookly-tbs .tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}#bookly-tbs .tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}#bookly-tbs .bs-tooltip-auto[x-placement^=top],#bookly-tbs .bs-tooltip-top{padding:.4rem 0}#bookly-tbs .bs-tooltip-auto[x-placement^=top] .arrow,#bookly-tbs .bs-tooltip-top .arrow{bottom:0}#bookly-tbs .bs-tooltip-auto[x-placement^=top] .arrow::before,#bookly-tbs .bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=right],#bookly-tbs .bs-tooltip-right{padding:0 .4rem}#bookly-tbs .bs-tooltip-auto[x-placement^=right] .arrow,#bookly-tbs .bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}#bookly-tbs .bs-tooltip-auto[x-placement^=right] .arrow::before,#bookly-tbs .bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom],#bookly-tbs .bs-tooltip-bottom{padding:.4rem 0}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom] .arrow,#bookly-tbs .bs-tooltip-bottom .arrow{top:0}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom] .arrow::before,#bookly-tbs .bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=left],#bookly-tbs .bs-tooltip-left{padding:0 .4rem}#bookly-tbs .bs-tooltip-auto[x-placement^=left] .arrow,#bookly-tbs .bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}#bookly-tbs .bs-tooltip-auto[x-placement^=left] .arrow::before,#bookly-tbs .bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}#bookly-tbs .tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}#bookly-tbs [class*=bs-popover-]>.arrow{overflow:visible;left:auto;top:auto;bottom:auto;right:auto;z-index:1040}#bookly-tbs [class*=bs-popover-]>.arrow::after{left:auto;top:auto;bottom:auto;right:auto;background-color:transparent;box-shadow:none;-webkit-transform:none;transform:none;width:auto;height:auto;z-index:1040}#bookly-tbs #bookly-appearance .bookly-popover{z-index:9999!important}#bookly-tbs .bookly-popover{position:absolute;top:0;left:0;z-index:1040;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}#bookly-tbs .bookly-popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}#bookly-tbs .bookly-popover .arrow::after,#bookly-tbs .bookly-popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}#bookly-tbs .bs-popover-auto[x-placement^=top],#bookly-tbs .bs-popover-top{margin-bottom:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow,#bookly-tbs .bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow::before,#bookly-tbs .bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow::after,#bookly-tbs .bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=right],#bookly-tbs .bs-popover-right{margin-left:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow,#bookly-tbs .bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow::before,#bookly-tbs .bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow::after,#bookly-tbs .bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=bottom],#bookly-tbs .bs-popover-bottom{margin-top:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow,#bookly-tbs .bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow::before,#bookly-tbs .bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow::after,#bookly-tbs .bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=bottom] .popover-header::before,#bookly-tbs .bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}#bookly-tbs .bs-popover-auto[x-placement^=left],#bookly-tbs .bs-popover-left{margin-right:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow,#bookly-tbs .bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow::before,#bookly-tbs .bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow::after,#bookly-tbs .bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}#bookly-tbs .popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}#bookly-tbs .popover-header:empty{display:none}#bookly-tbs .popover-body{padding:.5rem .75rem;color:#212529}#bookly-tbs .carousel{position:relative}#bookly-tbs .carousel.pointer-event{touch-action:pan-y}#bookly-tbs .carousel-inner{position:relative;width:100%;overflow:hidden}#bookly-tbs .carousel-inner::after{display:block;clear:both;content:""}#bookly-tbs .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-item{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-item-next,#bookly-tbs .carousel-item-prev,#bookly-tbs .carousel-item.active{display:block}#bookly-tbs .active.carousel-item-right,#bookly-tbs .carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}#bookly-tbs .active.carousel-item-left,#bookly-tbs .carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}#bookly-tbs .carousel-fade .carousel-item{opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none}#bookly-tbs .carousel-fade .carousel-item-next.carousel-item-left,#bookly-tbs .carousel-fade .carousel-item-prev.carousel-item-right,#bookly-tbs .carousel-fade .carousel-item.active{z-index:1;opacity:1}#bookly-tbs .carousel-fade .active.carousel-item-left,#bookly-tbs .carousel-fade .active.carousel-item-right{z-index:0;opacity:0;-webkit-transition:opacity 0s .6s;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-fade .active.carousel-item-left,#bookly-tbs .carousel-fade .active.carousel-item-right{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-control-next,#bookly-tbs .carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-control-next,#bookly-tbs .carousel-control-prev{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-control-next:focus,#bookly-tbs .carousel-control-next:hover,#bookly-tbs .carousel-control-prev:focus,#bookly-tbs .carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}#bookly-tbs .carousel-control-prev{left:0}#bookly-tbs .carousel-control-next{right:0}#bookly-tbs .carousel-control-next-icon,#bookly-tbs .carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}#bookly-tbs .carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}#bookly-tbs .carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}#bookly-tbs .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}#bookly-tbs .carousel-indicators li{box-sizing:content-box;-webkit-box-flex:0;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;-webkit-transition:opacity .6s ease;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-indicators li{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-indicators .active{opacity:1}#bookly-tbs .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}#bookly-tbs .spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}#bookly-tbs .spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}#bookly-tbs .spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}#bookly-tbs .spinner-grow-sm{width:1rem;height:1rem}#bookly-tbs .align-baseline{vertical-align:baseline!important}#bookly-tbs .align-top{vertical-align:top!important}#bookly-tbs .align-middle{vertical-align:middle!important}#bookly-tbs .align-bottom{vertical-align:bottom!important}#bookly-tbs .align-text-bottom{vertical-align:text-bottom!important}#bookly-tbs .align-text-top{vertical-align:text-top!important}#bookly-tbs .bg-primary{background-color:#007bff!important}#bookly-tbs a.bg-primary:focus,#bookly-tbs a.bg-primary:hover,#bookly-tbs button.bg-primary:focus,#bookly-tbs button.bg-primary:hover{background-color:#0062cc!important}#bookly-tbs .bg-secondary{background-color:#6c757d!important}#bookly-tbs a.bg-secondary:focus,#bookly-tbs a.bg-secondary:hover,#bookly-tbs button.bg-secondary:focus,#bookly-tbs button.bg-secondary:hover{background-color:#545b62!important}#bookly-tbs .bg-success{background-color:#28a745!important}#bookly-tbs a.bg-success:focus,#bookly-tbs a.bg-success:hover,#bookly-tbs button.bg-success:focus,#bookly-tbs button.bg-success:hover{background-color:#1e7e34!important}#bookly-tbs .bg-info{background-color:#17a2b8!important}#bookly-tbs a.bg-info:focus,#bookly-tbs a.bg-info:hover,#bookly-tbs button.bg-info:focus,#bookly-tbs button.bg-info:hover{background-color:#117a8b!important}#bookly-tbs .bg-warning{background-color:#ffc107!important}#bookly-tbs a.bg-warning:focus,#bookly-tbs a.bg-warning:hover,#bookly-tbs button.bg-warning:focus,#bookly-tbs button.bg-warning:hover{background-color:#d39e00!important}#bookly-tbs .bg-danger{background-color:#dc3545!important}#bookly-tbs a.bg-danger:focus,#bookly-tbs a.bg-danger:hover,#bookly-tbs button.bg-danger:focus,#bookly-tbs button.bg-danger:hover{background-color:#bd2130!important}#bookly-tbs .bg-light{background-color:#f8f9fa!important}#bookly-tbs a.bg-light:focus,#bookly-tbs a.bg-light:hover,#bookly-tbs button.bg-light:focus,#bookly-tbs button.bg-light:hover{background-color:#dae0e5!important}#bookly-tbs .bg-dark{background-color:#343a40!important}#bookly-tbs a.bg-dark:focus,#bookly-tbs a.bg-dark:hover,#bookly-tbs button.bg-dark:focus,#bookly-tbs button.bg-dark:hover{background-color:#1d2124!important}#bookly-tbs .bg-white{background-color:#fff!important}#bookly-tbs .bg-transparent{background-color:transparent!important}#bookly-tbs .border{border:1px solid #dee2e6!important}#bookly-tbs .border-top{border-top:1px solid #dee2e6!important}#bookly-tbs .border-right{border-right:1px solid #dee2e6!important}#bookly-tbs .border-bottom{border-bottom:1px solid #dee2e6!important}#bookly-tbs .border-left{border-left:1px solid #dee2e6!important}#bookly-tbs .border-0{border:0!important}#bookly-tbs .border-top-0{border-top:0!important}#bookly-tbs .border-right-0{border-right:0!important}#bookly-tbs .border-bottom-0{border-bottom:0!important}#bookly-tbs .border-left-0{border-left:0!important}#bookly-tbs .border-primary{border-color:#007bff!important}#bookly-tbs .border-secondary{border-color:#6c757d!important}#bookly-tbs .border-success{border-color:#28a745!important}#bookly-tbs .border-info{border-color:#17a2b8!important}#bookly-tbs .border-warning{border-color:#ffc107!important}#bookly-tbs .border-danger{border-color:#dc3545!important}#bookly-tbs .border-light{border-color:#f8f9fa!important}#bookly-tbs .border-dark{border-color:#343a40!important}#bookly-tbs .border-white{border-color:#fff!important}#bookly-tbs .rounded-sm{border-radius:.2rem!important}#bookly-tbs .rounded{border-radius:.25rem!important}#bookly-tbs .rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}#bookly-tbs .rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}#bookly-tbs .rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}#bookly-tbs .rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}#bookly-tbs .rounded-lg{border-radius:.3rem!important}#bookly-tbs .rounded-circle{border-radius:50%!important}#bookly-tbs .rounded-pill{border-radius:50rem!important}#bookly-tbs .rounded-0{border-radius:0!important}#bookly-tbs .clearfix::after{display:block;clear:both;content:""}#bookly-tbs .d-none{display:none!important}#bookly-tbs .d-inline{display:inline!important}#bookly-tbs .d-inline-block{display:inline-block!important}#bookly-tbs .d-block{display:block!important}#bookly-tbs .d-table{display:table!important}#bookly-tbs .d-table-row{display:table-row!important}#bookly-tbs .d-table-cell{display:table-cell!important}#bookly-tbs .d-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}@media (min-width:576px){#bookly-tbs .d-sm-none{display:none!important}#bookly-tbs .d-sm-inline{display:inline!important}#bookly-tbs .d-sm-inline-block{display:inline-block!important}#bookly-tbs .d-sm-block{display:block!important}#bookly-tbs .d-sm-table{display:table!important}#bookly-tbs .d-sm-table-row{display:table-row!important}#bookly-tbs .d-sm-table-cell{display:table-cell!important}#bookly-tbs .d-sm-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-sm-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media (min-width:768px){#bookly-tbs .d-md-none{display:none!important}#bookly-tbs .d-md-inline{display:inline!important}#bookly-tbs .d-md-inline-block{display:inline-block!important}#bookly-tbs .d-md-block{display:block!important}#bookly-tbs .d-md-table{display:table!important}#bookly-tbs .d-md-table-row{display:table-row!important}#bookly-tbs .d-md-table-cell{display:table-cell!important}#bookly-tbs .d-md-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-md-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media (min-width:992px){#bookly-tbs .d-lg-none{display:none!important}#bookly-tbs .d-lg-inline{display:inline!important}#bookly-tbs .d-lg-inline-block{display:inline-block!important}#bookly-tbs .d-lg-block{display:block!important}#bookly-tbs .d-lg-table{display:table!important}#bookly-tbs .d-lg-table-row{display:table-row!important}#bookly-tbs .d-lg-table-cell{display:table-cell!important}#bookly-tbs .d-lg-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-lg-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media (min-width:1200px){#bookly-tbs .d-xl-none{display:none!important}#bookly-tbs .d-xl-inline{display:inline!important}#bookly-tbs .d-xl-inline-block{display:inline-block!important}#bookly-tbs .d-xl-block{display:block!important}#bookly-tbs .d-xl-table{display:table!important}#bookly-tbs .d-xl-table-row{display:table-row!important}#bookly-tbs .d-xl-table-cell{display:table-cell!important}#bookly-tbs .d-xl-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-xl-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media print{#bookly-tbs .d-print-none{display:none!important}#bookly-tbs .d-print-inline{display:inline!important}#bookly-tbs .d-print-inline-block{display:inline-block!important}#bookly-tbs .d-print-block{display:block!important}#bookly-tbs .d-print-table{display:table!important}#bookly-tbs .d-print-table-row{display:table-row!important}#bookly-tbs .d-print-table-cell{display:table-cell!important}#bookly-tbs .d-print-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-print-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}#bookly-tbs .embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}#bookly-tbs .embed-responsive::before{display:block;content:""}#bookly-tbs .embed-responsive .embed-responsive-item,#bookly-tbs .embed-responsive embed,#bookly-tbs .embed-responsive iframe,#bookly-tbs .embed-responsive object,#bookly-tbs .embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}#bookly-tbs .embed-responsive-21by9::before{padding-top:42.857143%}#bookly-tbs .embed-responsive-16by9::before{padding-top:56.25%}#bookly-tbs .embed-responsive-4by3::before{padding-top:75%}#bookly-tbs .embed-responsive-1by1::before{padding-top:100%}#bookly-tbs .flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-around{justify-content:space-around!important}#bookly-tbs .align-items-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-start{align-content:flex-start!important}#bookly-tbs .align-content-end{align-content:flex-end!important}#bookly-tbs .align-content-center{align-content:center!important}#bookly-tbs .align-content-between{align-content:space-between!important}#bookly-tbs .align-content-around{align-content:space-around!important}#bookly-tbs .align-content-stretch{align-content:stretch!important}#bookly-tbs .align-self-auto{align-self:auto!important}#bookly-tbs .align-self-start{align-self:flex-start!important}#bookly-tbs .align-self-end{align-self:flex-end!important}#bookly-tbs .align-self-center{align-self:center!important}#bookly-tbs .align-self-baseline{align-self:baseline!important}#bookly-tbs .align-self-stretch{align-self:stretch!important}@media (min-width:576px){#bookly-tbs .flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-sm-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-sm-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-sm-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-sm-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-sm-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-sm-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-sm-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-sm-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-sm-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-sm-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-sm-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-sm-around{justify-content:space-around!important}#bookly-tbs .align-items-sm-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-sm-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-sm-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-sm-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-sm-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-sm-start{align-content:flex-start!important}#bookly-tbs .align-content-sm-end{align-content:flex-end!important}#bookly-tbs .align-content-sm-center{align-content:center!important}#bookly-tbs .align-content-sm-between{align-content:space-between!important}#bookly-tbs .align-content-sm-around{align-content:space-around!important}#bookly-tbs .align-content-sm-stretch{align-content:stretch!important}#bookly-tbs .align-self-sm-auto{align-self:auto!important}#bookly-tbs .align-self-sm-start{align-self:flex-start!important}#bookly-tbs .align-self-sm-end{align-self:flex-end!important}#bookly-tbs .align-self-sm-center{align-self:center!important}#bookly-tbs .align-self-sm-baseline{align-self:baseline!important}#bookly-tbs .align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){#bookly-tbs .flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-md-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-md-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-md-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-md-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-md-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-md-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-md-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-md-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-md-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-md-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-md-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-md-around{justify-content:space-around!important}#bookly-tbs .align-items-md-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-md-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-md-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-md-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-md-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-md-start{align-content:flex-start!important}#bookly-tbs .align-content-md-end{align-content:flex-end!important}#bookly-tbs .align-content-md-center{align-content:center!important}#bookly-tbs .align-content-md-between{align-content:space-between!important}#bookly-tbs .align-content-md-around{align-content:space-around!important}#bookly-tbs .align-content-md-stretch{align-content:stretch!important}#bookly-tbs .align-self-md-auto{align-self:auto!important}#bookly-tbs .align-self-md-start{align-self:flex-start!important}#bookly-tbs .align-self-md-end{align-self:flex-end!important}#bookly-tbs .align-self-md-center{align-self:center!important}#bookly-tbs .align-self-md-baseline{align-self:baseline!important}#bookly-tbs .align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){#bookly-tbs .flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-lg-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-lg-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-lg-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-lg-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-lg-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-lg-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-lg-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-lg-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-lg-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-lg-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-lg-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-lg-around{justify-content:space-around!important}#bookly-tbs .align-items-lg-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-lg-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-lg-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-lg-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-lg-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-lg-start{align-content:flex-start!important}#bookly-tbs .align-content-lg-end{align-content:flex-end!important}#bookly-tbs .align-content-lg-center{align-content:center!important}#bookly-tbs .align-content-lg-between{align-content:space-between!important}#bookly-tbs .align-content-lg-around{align-content:space-around!important}#bookly-tbs .align-content-lg-stretch{align-content:stretch!important}#bookly-tbs .align-self-lg-auto{align-self:auto!important}#bookly-tbs .align-self-lg-start{align-self:flex-start!important}#bookly-tbs .align-self-lg-end{align-self:flex-end!important}#bookly-tbs .align-self-lg-center{align-self:center!important}#bookly-tbs .align-self-lg-baseline{align-self:baseline!important}#bookly-tbs .align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){#bookly-tbs .flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-xl-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-xl-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-xl-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-xl-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-xl-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-xl-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-xl-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-xl-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-xl-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-xl-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-xl-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-xl-around{justify-content:space-around!important}#bookly-tbs .align-items-xl-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-xl-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-xl-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-xl-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-xl-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-xl-start{align-content:flex-start!important}#bookly-tbs .align-content-xl-end{align-content:flex-end!important}#bookly-tbs .align-content-xl-center{align-content:center!important}#bookly-tbs .align-content-xl-between{align-content:space-between!important}#bookly-tbs .align-content-xl-around{align-content:space-around!important}#bookly-tbs .align-content-xl-stretch{align-content:stretch!important}#bookly-tbs .align-self-xl-auto{align-self:auto!important}#bookly-tbs .align-self-xl-start{align-self:flex-start!important}#bookly-tbs .align-self-xl-end{align-self:flex-end!important}#bookly-tbs .align-self-xl-center{align-self:center!important}#bookly-tbs .align-self-xl-baseline{align-self:baseline!important}#bookly-tbs .align-self-xl-stretch{align-self:stretch!important}}#bookly-tbs .float-left{float:left!important}#bookly-tbs .float-right{float:right!important}#bookly-tbs .float-none{float:none!important}@media (min-width:576px){#bookly-tbs .float-sm-left{float:left!important}#bookly-tbs .float-sm-right{float:right!important}#bookly-tbs .float-sm-none{float:none!important}}@media (min-width:768px){#bookly-tbs .float-md-left{float:left!important}#bookly-tbs .float-md-right{float:right!important}#bookly-tbs .float-md-none{float:none!important}}@media (min-width:992px){#bookly-tbs .float-lg-left{float:left!important}#bookly-tbs .float-lg-right{float:right!important}#bookly-tbs .float-lg-none{float:none!important}}@media (min-width:1200px){#bookly-tbs .float-xl-left{float:left!important}#bookly-tbs .float-xl-right{float:right!important}#bookly-tbs .float-xl-none{float:none!important}}#bookly-tbs .overflow-auto{overflow:auto!important}#bookly-tbs .overflow-hidden{overflow:hidden!important}#bookly-tbs .position-static{position:static!important}#bookly-tbs .position-relative{position:relative!important}#bookly-tbs .position-absolute{position:absolute!important}#bookly-tbs .position-fixed{position:fixed!important}#bookly-tbs .position-sticky{position:-webkit-sticky!important;position:sticky!important}#bookly-tbs .fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}#bookly-tbs .fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){#bookly-tbs .sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}#bookly-tbs .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#bookly-tbs .sr-only-focusable:active,#bookly-tbs .sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}#bookly-tbs .shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}#bookly-tbs .shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}#bookly-tbs .shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}#bookly-tbs .shadow-none{box-shadow:none!important}#bookly-tbs .w-25{width:25%!important}#bookly-tbs .w-50{width:50%!important}#bookly-tbs .w-75{width:75%!important}#bookly-tbs .w-100{width:100%!important}#bookly-tbs .w-auto{width:auto!important}#bookly-tbs .h-25{height:25%!important}#bookly-tbs .h-50{height:50%!important}#bookly-tbs .h-75{height:75%!important}#bookly-tbs .h-100{height:100%!important}#bookly-tbs .h-auto{height:auto!important}#bookly-tbs .mw-100{max-width:100%!important}#bookly-tbs .mh-100{max-height:100%!important}#bookly-tbs .min-vw-100{min-width:100vw!important}#bookly-tbs .min-vh-100{min-height:100vh!important}#bookly-tbs .vw-100{width:100vw!important}#bookly-tbs .vh-100{height:100vh!important}#bookly-tbs .stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}#bookly-tbs .m-0{margin:0!important}#bookly-tbs .mt-0,#bookly-tbs .my-0{margin-top:0!important}#bookly-tbs .mr-0,#bookly-tbs .mx-0{margin-right:0!important}#bookly-tbs .mb-0,#bookly-tbs .my-0{margin-bottom:0!important}#bookly-tbs .ml-0,#bookly-tbs .mx-0{margin-left:0!important}#bookly-tbs .m-1{margin:.25rem!important}#bookly-tbs .mt-1,#bookly-tbs .my-1{margin-top:.25rem!important}#bookly-tbs .mr-1,#bookly-tbs .mx-1{margin-right:.25rem!important}#bookly-tbs .mb-1,#bookly-tbs .my-1{margin-bottom:.25rem!important}#bookly-tbs .ml-1,#bookly-tbs .mx-1{margin-left:.25rem!important}#bookly-tbs .m-2{margin:.5rem!important}#bookly-tbs .mt-2,#bookly-tbs .my-2{margin-top:.5rem!important}#bookly-tbs .mr-2,#bookly-tbs .mx-2{margin-right:.5rem!important}#bookly-tbs .mb-2,#bookly-tbs .my-2{margin-bottom:.5rem!important}#bookly-tbs .ml-2,#bookly-tbs .mx-2{margin-left:.5rem!important}#bookly-tbs .m-3{margin:1rem!important}#bookly-tbs .mt-3,#bookly-tbs .my-3{margin-top:1rem!important}#bookly-tbs .mr-3,#bookly-tbs .mx-3{margin-right:1rem!important}#bookly-tbs .mb-3,#bookly-tbs .my-3{margin-bottom:1rem!important}#bookly-tbs .ml-3,#bookly-tbs .mx-3{margin-left:1rem!important}#bookly-tbs .m-4{margin:1.5rem!important}#bookly-tbs .mt-4,#bookly-tbs .my-4{margin-top:1.5rem!important}#bookly-tbs .mr-4,#bookly-tbs .mx-4{margin-right:1.5rem!important}#bookly-tbs .mb-4,#bookly-tbs .my-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-4,#bookly-tbs .mx-4{margin-left:1.5rem!important}#bookly-tbs .m-5{margin:3rem!important}#bookly-tbs .mt-5,#bookly-tbs .my-5{margin-top:3rem!important}#bookly-tbs .mr-5,#bookly-tbs .mx-5{margin-right:3rem!important}#bookly-tbs .mb-5,#bookly-tbs .my-5{margin-bottom:3rem!important}#bookly-tbs .ml-5,#bookly-tbs .mx-5{margin-left:3rem!important}#bookly-tbs .p-0{padding:0!important}#bookly-tbs .pt-0,#bookly-tbs .py-0{padding-top:0!important}#bookly-tbs .pr-0,#bookly-tbs .px-0{padding-right:0!important}#bookly-tbs .pb-0,#bookly-tbs .py-0{padding-bottom:0!important}#bookly-tbs .pl-0,#bookly-tbs .px-0{padding-left:0!important}#bookly-tbs .p-1{padding:.25rem!important}#bookly-tbs .pt-1,#bookly-tbs .py-1{padding-top:.25rem!important}#bookly-tbs .pr-1,#bookly-tbs .px-1{padding-right:.25rem!important}#bookly-tbs .pb-1,#bookly-tbs .py-1{padding-bottom:.25rem!important}#bookly-tbs .pl-1,#bookly-tbs .px-1{padding-left:.25rem!important}#bookly-tbs .p-2{padding:.5rem!important}#bookly-tbs .pt-2,#bookly-tbs .py-2{padding-top:.5rem!important}#bookly-tbs .pr-2,#bookly-tbs .px-2{padding-right:.5rem!important}#bookly-tbs .pb-2,#bookly-tbs .py-2{padding-bottom:.5rem!important}#bookly-tbs .pl-2,#bookly-tbs .px-2{padding-left:.5rem!important}#bookly-tbs .p-3{padding:1rem!important}#bookly-tbs .pt-3,#bookly-tbs .py-3{padding-top:1rem!important}#bookly-tbs .pr-3,#bookly-tbs .px-3{padding-right:1rem!important}#bookly-tbs .pb-3,#bookly-tbs .py-3{padding-bottom:1rem!important}#bookly-tbs .pl-3,#bookly-tbs .px-3{padding-left:1rem!important}#bookly-tbs .p-4{padding:1.5rem!important}#bookly-tbs .pt-4,#bookly-tbs .py-4{padding-top:1.5rem!important}#bookly-tbs .pr-4,#bookly-tbs .px-4{padding-right:1.5rem!important}#bookly-tbs .pb-4,#bookly-tbs .py-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-4,#bookly-tbs .px-4{padding-left:1.5rem!important}#bookly-tbs .p-5{padding:3rem!important}#bookly-tbs .pt-5,#bookly-tbs .py-5{padding-top:3rem!important}#bookly-tbs .pr-5,#bookly-tbs .px-5{padding-right:3rem!important}#bookly-tbs .pb-5,#bookly-tbs .py-5{padding-bottom:3rem!important}#bookly-tbs .pl-5,#bookly-tbs .px-5{padding-left:3rem!important}#bookly-tbs .m-n1{margin:-.25rem!important}#bookly-tbs .mt-n1,#bookly-tbs .my-n1{margin-top:-.25rem!important}#bookly-tbs .mr-n1,#bookly-tbs .mx-n1{margin-right:-.25rem!important}#bookly-tbs .mb-n1,#bookly-tbs .my-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-n1,#bookly-tbs .mx-n1{margin-left:-.25rem!important}#bookly-tbs .m-n2{margin:-.5rem!important}#bookly-tbs .mt-n2,#bookly-tbs .my-n2{margin-top:-.5rem!important}#bookly-tbs .mr-n2,#bookly-tbs .mx-n2{margin-right:-.5rem!important}#bookly-tbs .mb-n2,#bookly-tbs .my-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-n2,#bookly-tbs .mx-n2{margin-left:-.5rem!important}#bookly-tbs .m-n3{margin:-1rem!important}#bookly-tbs .mt-n3,#bookly-tbs .my-n3{margin-top:-1rem!important}#bookly-tbs .mr-n3,#bookly-tbs .mx-n3{margin-right:-1rem!important}#bookly-tbs .mb-n3,#bookly-tbs .my-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-n3,#bookly-tbs .mx-n3{margin-left:-1rem!important}#bookly-tbs .m-n4{margin:-1.5rem!important}#bookly-tbs .mt-n4,#bookly-tbs .my-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-n4,#bookly-tbs .mx-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-n4,#bookly-tbs .my-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-n4,#bookly-tbs .mx-n4{margin-left:-1.5rem!important}#bookly-tbs .m-n5{margin:-3rem!important}#bookly-tbs .mt-n5,#bookly-tbs .my-n5{margin-top:-3rem!important}#bookly-tbs .mr-n5,#bookly-tbs .mx-n5{margin-right:-3rem!important}#bookly-tbs .mb-n5,#bookly-tbs .my-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-n5,#bookly-tbs .mx-n5{margin-left:-3rem!important}#bookly-tbs .m-auto{margin:auto!important}#bookly-tbs .mt-auto,#bookly-tbs .my-auto{margin-top:auto!important}#bookly-tbs .mr-auto,#bookly-tbs .mx-auto{margin-right:auto!important}#bookly-tbs .mb-auto,#bookly-tbs .my-auto{margin-bottom:auto!important}#bookly-tbs .ml-auto,#bookly-tbs .mx-auto{margin-left:auto!important}@media (min-width:576px){#bookly-tbs .m-sm-0{margin:0!important}#bookly-tbs .mt-sm-0,#bookly-tbs .my-sm-0{margin-top:0!important}#bookly-tbs .mr-sm-0,#bookly-tbs .mx-sm-0{margin-right:0!important}#bookly-tbs .mb-sm-0,#bookly-tbs .my-sm-0{margin-bottom:0!important}#bookly-tbs .ml-sm-0,#bookly-tbs .mx-sm-0{margin-left:0!important}#bookly-tbs .m-sm-1{margin:.25rem!important}#bookly-tbs .mt-sm-1,#bookly-tbs .my-sm-1{margin-top:.25rem!important}#bookly-tbs .mr-sm-1,#bookly-tbs .mx-sm-1{margin-right:.25rem!important}#bookly-tbs .mb-sm-1,#bookly-tbs .my-sm-1{margin-bottom:.25rem!important}#bookly-tbs .ml-sm-1,#bookly-tbs .mx-sm-1{margin-left:.25rem!important}#bookly-tbs .m-sm-2{margin:.5rem!important}#bookly-tbs .mt-sm-2,#bookly-tbs .my-sm-2{margin-top:.5rem!important}#bookly-tbs .mr-sm-2,#bookly-tbs .mx-sm-2{margin-right:.5rem!important}#bookly-tbs .mb-sm-2,#bookly-tbs .my-sm-2{margin-bottom:.5rem!important}#bookly-tbs .ml-sm-2,#bookly-tbs .mx-sm-2{margin-left:.5rem!important}#bookly-tbs .m-sm-3{margin:1rem!important}#bookly-tbs .mt-sm-3,#bookly-tbs .my-sm-3{margin-top:1rem!important}#bookly-tbs .mr-sm-3,#bookly-tbs .mx-sm-3{margin-right:1rem!important}#bookly-tbs .mb-sm-3,#bookly-tbs .my-sm-3{margin-bottom:1rem!important}#bookly-tbs .ml-sm-3,#bookly-tbs .mx-sm-3{margin-left:1rem!important}#bookly-tbs .m-sm-4{margin:1.5rem!important}#bookly-tbs .mt-sm-4,#bookly-tbs .my-sm-4{margin-top:1.5rem!important}#bookly-tbs .mr-sm-4,#bookly-tbs .mx-sm-4{margin-right:1.5rem!important}#bookly-tbs .mb-sm-4,#bookly-tbs .my-sm-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-sm-4,#bookly-tbs .mx-sm-4{margin-left:1.5rem!important}#bookly-tbs .m-sm-5{margin:3rem!important}#bookly-tbs .mt-sm-5,#bookly-tbs .my-sm-5{margin-top:3rem!important}#bookly-tbs .mr-sm-5,#bookly-tbs .mx-sm-5{margin-right:3rem!important}#bookly-tbs .mb-sm-5,#bookly-tbs .my-sm-5{margin-bottom:3rem!important}#bookly-tbs .ml-sm-5,#bookly-tbs .mx-sm-5{margin-left:3rem!important}#bookly-tbs .p-sm-0{padding:0!important}#bookly-tbs .pt-sm-0,#bookly-tbs .py-sm-0{padding-top:0!important}#bookly-tbs .pr-sm-0,#bookly-tbs .px-sm-0{padding-right:0!important}#bookly-tbs .pb-sm-0,#bookly-tbs .py-sm-0{padding-bottom:0!important}#bookly-tbs .pl-sm-0,#bookly-tbs .px-sm-0{padding-left:0!important}#bookly-tbs .p-sm-1{padding:.25rem!important}#bookly-tbs .pt-sm-1,#bookly-tbs .py-sm-1{padding-top:.25rem!important}#bookly-tbs .pr-sm-1,#bookly-tbs .px-sm-1{padding-right:.25rem!important}#bookly-tbs .pb-sm-1,#bookly-tbs .py-sm-1{padding-bottom:.25rem!important}#bookly-tbs .pl-sm-1,#bookly-tbs .px-sm-1{padding-left:.25rem!important}#bookly-tbs .p-sm-2{padding:.5rem!important}#bookly-tbs .pt-sm-2,#bookly-tbs .py-sm-2{padding-top:.5rem!important}#bookly-tbs .pr-sm-2,#bookly-tbs .px-sm-2{padding-right:.5rem!important}#bookly-tbs .pb-sm-2,#bookly-tbs .py-sm-2{padding-bottom:.5rem!important}#bookly-tbs .pl-sm-2,#bookly-tbs .px-sm-2{padding-left:.5rem!important}#bookly-tbs .p-sm-3{padding:1rem!important}#bookly-tbs .pt-sm-3,#bookly-tbs .py-sm-3{padding-top:1rem!important}#bookly-tbs .pr-sm-3,#bookly-tbs .px-sm-3{padding-right:1rem!important}#bookly-tbs .pb-sm-3,#bookly-tbs .py-sm-3{padding-bottom:1rem!important}#bookly-tbs .pl-sm-3,#bookly-tbs .px-sm-3{padding-left:1rem!important}#bookly-tbs .p-sm-4{padding:1.5rem!important}#bookly-tbs .pt-sm-4,#bookly-tbs .py-sm-4{padding-top:1.5rem!important}#bookly-tbs .pr-sm-4,#bookly-tbs .px-sm-4{padding-right:1.5rem!important}#bookly-tbs .pb-sm-4,#bookly-tbs .py-sm-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-sm-4,#bookly-tbs .px-sm-4{padding-left:1.5rem!important}#bookly-tbs .p-sm-5{padding:3rem!important}#bookly-tbs .pt-sm-5,#bookly-tbs .py-sm-5{padding-top:3rem!important}#bookly-tbs .pr-sm-5,#bookly-tbs .px-sm-5{padding-right:3rem!important}#bookly-tbs .pb-sm-5,#bookly-tbs .py-sm-5{padding-bottom:3rem!important}#bookly-tbs .pl-sm-5,#bookly-tbs .px-sm-5{padding-left:3rem!important}#bookly-tbs .m-sm-n1{margin:-.25rem!important}#bookly-tbs .mt-sm-n1,#bookly-tbs .my-sm-n1{margin-top:-.25rem!important}#bookly-tbs .mr-sm-n1,#bookly-tbs .mx-sm-n1{margin-right:-.25rem!important}#bookly-tbs .mb-sm-n1,#bookly-tbs .my-sm-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-sm-n1,#bookly-tbs .mx-sm-n1{margin-left:-.25rem!important}#bookly-tbs .m-sm-n2{margin:-.5rem!important}#bookly-tbs .mt-sm-n2,#bookly-tbs .my-sm-n2{margin-top:-.5rem!important}#bookly-tbs .mr-sm-n2,#bookly-tbs .mx-sm-n2{margin-right:-.5rem!important}#bookly-tbs .mb-sm-n2,#bookly-tbs .my-sm-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-sm-n2,#bookly-tbs .mx-sm-n2{margin-left:-.5rem!important}#bookly-tbs .m-sm-n3{margin:-1rem!important}#bookly-tbs .mt-sm-n3,#bookly-tbs .my-sm-n3{margin-top:-1rem!important}#bookly-tbs .mr-sm-n3,#bookly-tbs .mx-sm-n3{margin-right:-1rem!important}#bookly-tbs .mb-sm-n3,#bookly-tbs .my-sm-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-sm-n3,#bookly-tbs .mx-sm-n3{margin-left:-1rem!important}#bookly-tbs .m-sm-n4{margin:-1.5rem!important}#bookly-tbs .mt-sm-n4,#bookly-tbs .my-sm-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-sm-n4,#bookly-tbs .mx-sm-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-sm-n4,#bookly-tbs .my-sm-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-sm-n4,#bookly-tbs .mx-sm-n4{margin-left:-1.5rem!important}#bookly-tbs .m-sm-n5{margin:-3rem!important}#bookly-tbs .mt-sm-n5,#bookly-tbs .my-sm-n5{margin-top:-3rem!important}#bookly-tbs .mr-sm-n5,#bookly-tbs .mx-sm-n5{margin-right:-3rem!important}#bookly-tbs .mb-sm-n5,#bookly-tbs .my-sm-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-sm-n5,#bookly-tbs .mx-sm-n5{margin-left:-3rem!important}#bookly-tbs .m-sm-auto{margin:auto!important}#bookly-tbs .mt-sm-auto,#bookly-tbs .my-sm-auto{margin-top:auto!important}#bookly-tbs .mr-sm-auto,#bookly-tbs .mx-sm-auto{margin-right:auto!important}#bookly-tbs .mb-sm-auto,#bookly-tbs .my-sm-auto{margin-bottom:auto!important}#bookly-tbs .ml-sm-auto,#bookly-tbs .mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){#bookly-tbs .m-md-0{margin:0!important}#bookly-tbs .mt-md-0,#bookly-tbs .my-md-0{margin-top:0!important}#bookly-tbs .mr-md-0,#bookly-tbs .mx-md-0{margin-right:0!important}#bookly-tbs .mb-md-0,#bookly-tbs .my-md-0{margin-bottom:0!important}#bookly-tbs .ml-md-0,#bookly-tbs .mx-md-0{margin-left:0!important}#bookly-tbs .m-md-1{margin:.25rem!important}#bookly-tbs .mt-md-1,#bookly-tbs .my-md-1{margin-top:.25rem!important}#bookly-tbs .mr-md-1,#bookly-tbs .mx-md-1{margin-right:.25rem!important}#bookly-tbs .mb-md-1,#bookly-tbs .my-md-1{margin-bottom:.25rem!important}#bookly-tbs .ml-md-1,#bookly-tbs .mx-md-1{margin-left:.25rem!important}#bookly-tbs .m-md-2{margin:.5rem!important}#bookly-tbs .mt-md-2,#bookly-tbs .my-md-2{margin-top:.5rem!important}#bookly-tbs .mr-md-2,#bookly-tbs .mx-md-2{margin-right:.5rem!important}#bookly-tbs .mb-md-2,#bookly-tbs .my-md-2{margin-bottom:.5rem!important}#bookly-tbs .ml-md-2,#bookly-tbs .mx-md-2{margin-left:.5rem!important}#bookly-tbs .m-md-3{margin:1rem!important}#bookly-tbs .mt-md-3,#bookly-tbs .my-md-3{margin-top:1rem!important}#bookly-tbs .mr-md-3,#bookly-tbs .mx-md-3{margin-right:1rem!important}#bookly-tbs .mb-md-3,#bookly-tbs .my-md-3{margin-bottom:1rem!important}#bookly-tbs .ml-md-3,#bookly-tbs .mx-md-3{margin-left:1rem!important}#bookly-tbs .m-md-4{margin:1.5rem!important}#bookly-tbs .mt-md-4,#bookly-tbs .my-md-4{margin-top:1.5rem!important}#bookly-tbs .mr-md-4,#bookly-tbs .mx-md-4{margin-right:1.5rem!important}#bookly-tbs .mb-md-4,#bookly-tbs .my-md-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-md-4,#bookly-tbs .mx-md-4{margin-left:1.5rem!important}#bookly-tbs .m-md-5{margin:3rem!important}#bookly-tbs .mt-md-5,#bookly-tbs .my-md-5{margin-top:3rem!important}#bookly-tbs .mr-md-5,#bookly-tbs .mx-md-5{margin-right:3rem!important}#bookly-tbs .mb-md-5,#bookly-tbs .my-md-5{margin-bottom:3rem!important}#bookly-tbs .ml-md-5,#bookly-tbs .mx-md-5{margin-left:3rem!important}#bookly-tbs .p-md-0{padding:0!important}#bookly-tbs .pt-md-0,#bookly-tbs .py-md-0{padding-top:0!important}#bookly-tbs .pr-md-0,#bookly-tbs .px-md-0{padding-right:0!important}#bookly-tbs .pb-md-0,#bookly-tbs .py-md-0{padding-bottom:0!important}#bookly-tbs .pl-md-0,#bookly-tbs .px-md-0{padding-left:0!important}#bookly-tbs .p-md-1{padding:.25rem!important}#bookly-tbs .pt-md-1,#bookly-tbs .py-md-1{padding-top:.25rem!important}#bookly-tbs .pr-md-1,#bookly-tbs .px-md-1{padding-right:.25rem!important}#bookly-tbs .pb-md-1,#bookly-tbs .py-md-1{padding-bottom:.25rem!important}#bookly-tbs .pl-md-1,#bookly-tbs .px-md-1{padding-left:.25rem!important}#bookly-tbs .p-md-2{padding:.5rem!important}#bookly-tbs .pt-md-2,#bookly-tbs .py-md-2{padding-top:.5rem!important}#bookly-tbs .pr-md-2,#bookly-tbs .px-md-2{padding-right:.5rem!important}#bookly-tbs .pb-md-2,#bookly-tbs .py-md-2{padding-bottom:.5rem!important}#bookly-tbs .pl-md-2,#bookly-tbs .px-md-2{padding-left:.5rem!important}#bookly-tbs .p-md-3{padding:1rem!important}#bookly-tbs .pt-md-3,#bookly-tbs .py-md-3{padding-top:1rem!important}#bookly-tbs .pr-md-3,#bookly-tbs .px-md-3{padding-right:1rem!important}#bookly-tbs .pb-md-3,#bookly-tbs .py-md-3{padding-bottom:1rem!important}#bookly-tbs .pl-md-3,#bookly-tbs .px-md-3{padding-left:1rem!important}#bookly-tbs .p-md-4{padding:1.5rem!important}#bookly-tbs .pt-md-4,#bookly-tbs .py-md-4{padding-top:1.5rem!important}#bookly-tbs .pr-md-4,#bookly-tbs .px-md-4{padding-right:1.5rem!important}#bookly-tbs .pb-md-4,#bookly-tbs .py-md-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-md-4,#bookly-tbs .px-md-4{padding-left:1.5rem!important}#bookly-tbs .p-md-5{padding:3rem!important}#bookly-tbs .pt-md-5,#bookly-tbs .py-md-5{padding-top:3rem!important}#bookly-tbs .pr-md-5,#bookly-tbs .px-md-5{padding-right:3rem!important}#bookly-tbs .pb-md-5,#bookly-tbs .py-md-5{padding-bottom:3rem!important}#bookly-tbs .pl-md-5,#bookly-tbs .px-md-5{padding-left:3rem!important}#bookly-tbs .m-md-n1{margin:-.25rem!important}#bookly-tbs .mt-md-n1,#bookly-tbs .my-md-n1{margin-top:-.25rem!important}#bookly-tbs .mr-md-n1,#bookly-tbs .mx-md-n1{margin-right:-.25rem!important}#bookly-tbs .mb-md-n1,#bookly-tbs .my-md-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-md-n1,#bookly-tbs .mx-md-n1{margin-left:-.25rem!important}#bookly-tbs .m-md-n2{margin:-.5rem!important}#bookly-tbs .mt-md-n2,#bookly-tbs .my-md-n2{margin-top:-.5rem!important}#bookly-tbs .mr-md-n2,#bookly-tbs .mx-md-n2{margin-right:-.5rem!important}#bookly-tbs .mb-md-n2,#bookly-tbs .my-md-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-md-n2,#bookly-tbs .mx-md-n2{margin-left:-.5rem!important}#bookly-tbs .m-md-n3{margin:-1rem!important}#bookly-tbs .mt-md-n3,#bookly-tbs .my-md-n3{margin-top:-1rem!important}#bookly-tbs .mr-md-n3,#bookly-tbs .mx-md-n3{margin-right:-1rem!important}#bookly-tbs .mb-md-n3,#bookly-tbs .my-md-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-md-n3,#bookly-tbs .mx-md-n3{margin-left:-1rem!important}#bookly-tbs .m-md-n4{margin:-1.5rem!important}#bookly-tbs .mt-md-n4,#bookly-tbs .my-md-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-md-n4,#bookly-tbs .mx-md-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-md-n4,#bookly-tbs .my-md-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-md-n4,#bookly-tbs .mx-md-n4{margin-left:-1.5rem!important}#bookly-tbs .m-md-n5{margin:-3rem!important}#bookly-tbs .mt-md-n5,#bookly-tbs .my-md-n5{margin-top:-3rem!important}#bookly-tbs .mr-md-n5,#bookly-tbs .mx-md-n5{margin-right:-3rem!important}#bookly-tbs .mb-md-n5,#bookly-tbs .my-md-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-md-n5,#bookly-tbs .mx-md-n5{margin-left:-3rem!important}#bookly-tbs .m-md-auto{margin:auto!important}#bookly-tbs .mt-md-auto,#bookly-tbs .my-md-auto{margin-top:auto!important}#bookly-tbs .mr-md-auto,#bookly-tbs .mx-md-auto{margin-right:auto!important}#bookly-tbs .mb-md-auto,#bookly-tbs .my-md-auto{margin-bottom:auto!important}#bookly-tbs .ml-md-auto,#bookly-tbs .mx-md-auto{margin-left:auto!important}}@media (min-width:992px){#bookly-tbs .m-lg-0{margin:0!important}#bookly-tbs .mt-lg-0,#bookly-tbs .my-lg-0{margin-top:0!important}#bookly-tbs .mr-lg-0,#bookly-tbs .mx-lg-0{margin-right:0!important}#bookly-tbs .mb-lg-0,#bookly-tbs .my-lg-0{margin-bottom:0!important}#bookly-tbs .ml-lg-0,#bookly-tbs .mx-lg-0{margin-left:0!important}#bookly-tbs .m-lg-1{margin:.25rem!important}#bookly-tbs .mt-lg-1,#bookly-tbs .my-lg-1{margin-top:.25rem!important}#bookly-tbs .mr-lg-1,#bookly-tbs .mx-lg-1{margin-right:.25rem!important}#bookly-tbs .mb-lg-1,#bookly-tbs .my-lg-1{margin-bottom:.25rem!important}#bookly-tbs .ml-lg-1,#bookly-tbs .mx-lg-1{margin-left:.25rem!important}#bookly-tbs .m-lg-2{margin:.5rem!important}#bookly-tbs .mt-lg-2,#bookly-tbs .my-lg-2{margin-top:.5rem!important}#bookly-tbs .mr-lg-2,#bookly-tbs .mx-lg-2{margin-right:.5rem!important}#bookly-tbs .mb-lg-2,#bookly-tbs .my-lg-2{margin-bottom:.5rem!important}#bookly-tbs .ml-lg-2,#bookly-tbs .mx-lg-2{margin-left:.5rem!important}#bookly-tbs .m-lg-3{margin:1rem!important}#bookly-tbs .mt-lg-3,#bookly-tbs .my-lg-3{margin-top:1rem!important}#bookly-tbs .mr-lg-3,#bookly-tbs .mx-lg-3{margin-right:1rem!important}#bookly-tbs .mb-lg-3,#bookly-tbs .my-lg-3{margin-bottom:1rem!important}#bookly-tbs .ml-lg-3,#bookly-tbs .mx-lg-3{margin-left:1rem!important}#bookly-tbs .m-lg-4{margin:1.5rem!important}#bookly-tbs .mt-lg-4,#bookly-tbs .my-lg-4{margin-top:1.5rem!important}#bookly-tbs .mr-lg-4,#bookly-tbs .mx-lg-4{margin-right:1.5rem!important}#bookly-tbs .mb-lg-4,#bookly-tbs .my-lg-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-lg-4,#bookly-tbs .mx-lg-4{margin-left:1.5rem!important}#bookly-tbs .m-lg-5{margin:3rem!important}#bookly-tbs .mt-lg-5,#bookly-tbs .my-lg-5{margin-top:3rem!important}#bookly-tbs .mr-lg-5,#bookly-tbs .mx-lg-5{margin-right:3rem!important}#bookly-tbs .mb-lg-5,#bookly-tbs .my-lg-5{margin-bottom:3rem!important}#bookly-tbs .ml-lg-5,#bookly-tbs .mx-lg-5{margin-left:3rem!important}#bookly-tbs .p-lg-0{padding:0!important}#bookly-tbs .pt-lg-0,#bookly-tbs .py-lg-0{padding-top:0!important}#bookly-tbs .pr-lg-0,#bookly-tbs .px-lg-0{padding-right:0!important}#bookly-tbs .pb-lg-0,#bookly-tbs .py-lg-0{padding-bottom:0!important}#bookly-tbs .pl-lg-0,#bookly-tbs .px-lg-0{padding-left:0!important}#bookly-tbs .p-lg-1{padding:.25rem!important}#bookly-tbs .pt-lg-1,#bookly-tbs .py-lg-1{padding-top:.25rem!important}#bookly-tbs .pr-lg-1,#bookly-tbs .px-lg-1{padding-right:.25rem!important}#bookly-tbs .pb-lg-1,#bookly-tbs .py-lg-1{padding-bottom:.25rem!important}#bookly-tbs .pl-lg-1,#bookly-tbs .px-lg-1{padding-left:.25rem!important}#bookly-tbs .p-lg-2{padding:.5rem!important}#bookly-tbs .pt-lg-2,#bookly-tbs .py-lg-2{padding-top:.5rem!important}#bookly-tbs .pr-lg-2,#bookly-tbs .px-lg-2{padding-right:.5rem!important}#bookly-tbs .pb-lg-2,#bookly-tbs .py-lg-2{padding-bottom:.5rem!important}#bookly-tbs .pl-lg-2,#bookly-tbs .px-lg-2{padding-left:.5rem!important}#bookly-tbs .p-lg-3{padding:1rem!important}#bookly-tbs .pt-lg-3,#bookly-tbs .py-lg-3{padding-top:1rem!important}#bookly-tbs .pr-lg-3,#bookly-tbs .px-lg-3{padding-right:1rem!important}#bookly-tbs .pb-lg-3,#bookly-tbs .py-lg-3{padding-bottom:1rem!important}#bookly-tbs .pl-lg-3,#bookly-tbs .px-lg-3{padding-left:1rem!important}#bookly-tbs .p-lg-4{padding:1.5rem!important}#bookly-tbs .pt-lg-4,#bookly-tbs .py-lg-4{padding-top:1.5rem!important}#bookly-tbs .pr-lg-4,#bookly-tbs .px-lg-4{padding-right:1.5rem!important}#bookly-tbs .pb-lg-4,#bookly-tbs .py-lg-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-lg-4,#bookly-tbs .px-lg-4{padding-left:1.5rem!important}#bookly-tbs .p-lg-5{padding:3rem!important}#bookly-tbs .pt-lg-5,#bookly-tbs .py-lg-5{padding-top:3rem!important}#bookly-tbs .pr-lg-5,#bookly-tbs .px-lg-5{padding-right:3rem!important}#bookly-tbs .pb-lg-5,#bookly-tbs .py-lg-5{padding-bottom:3rem!important}#bookly-tbs .pl-lg-5,#bookly-tbs .px-lg-5{padding-left:3rem!important}#bookly-tbs .m-lg-n1{margin:-.25rem!important}#bookly-tbs .mt-lg-n1,#bookly-tbs .my-lg-n1{margin-top:-.25rem!important}#bookly-tbs .mr-lg-n1,#bookly-tbs .mx-lg-n1{margin-right:-.25rem!important}#bookly-tbs .mb-lg-n1,#bookly-tbs .my-lg-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-lg-n1,#bookly-tbs .mx-lg-n1{margin-left:-.25rem!important}#bookly-tbs .m-lg-n2{margin:-.5rem!important}#bookly-tbs .mt-lg-n2,#bookly-tbs .my-lg-n2{margin-top:-.5rem!important}#bookly-tbs .mr-lg-n2,#bookly-tbs .mx-lg-n2{margin-right:-.5rem!important}#bookly-tbs .mb-lg-n2,#bookly-tbs .my-lg-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-lg-n2,#bookly-tbs .mx-lg-n2{margin-left:-.5rem!important}#bookly-tbs .m-lg-n3{margin:-1rem!important}#bookly-tbs .mt-lg-n3,#bookly-tbs .my-lg-n3{margin-top:-1rem!important}#bookly-tbs .mr-lg-n3,#bookly-tbs .mx-lg-n3{margin-right:-1rem!important}#bookly-tbs .mb-lg-n3,#bookly-tbs .my-lg-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-lg-n3,#bookly-tbs .mx-lg-n3{margin-left:-1rem!important}#bookly-tbs .m-lg-n4{margin:-1.5rem!important}#bookly-tbs .mt-lg-n4,#bookly-tbs .my-lg-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-lg-n4,#bookly-tbs .mx-lg-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-lg-n4,#bookly-tbs .my-lg-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-lg-n4,#bookly-tbs .mx-lg-n4{margin-left:-1.5rem!important}#bookly-tbs .m-lg-n5{margin:-3rem!important}#bookly-tbs .mt-lg-n5,#bookly-tbs .my-lg-n5{margin-top:-3rem!important}#bookly-tbs .mr-lg-n5,#bookly-tbs .mx-lg-n5{margin-right:-3rem!important}#bookly-tbs .mb-lg-n5,#bookly-tbs .my-lg-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-lg-n5,#bookly-tbs .mx-lg-n5{margin-left:-3rem!important}#bookly-tbs .m-lg-auto{margin:auto!important}#bookly-tbs .mt-lg-auto,#bookly-tbs .my-lg-auto{margin-top:auto!important}#bookly-tbs .mr-lg-auto,#bookly-tbs .mx-lg-auto{margin-right:auto!important}#bookly-tbs .mb-lg-auto,#bookly-tbs .my-lg-auto{margin-bottom:auto!important}#bookly-tbs .ml-lg-auto,#bookly-tbs .mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){#bookly-tbs .m-xl-0{margin:0!important}#bookly-tbs .mt-xl-0,#bookly-tbs .my-xl-0{margin-top:0!important}#bookly-tbs .mr-xl-0,#bookly-tbs .mx-xl-0{margin-right:0!important}#bookly-tbs .mb-xl-0,#bookly-tbs .my-xl-0{margin-bottom:0!important}#bookly-tbs .ml-xl-0,#bookly-tbs .mx-xl-0{margin-left:0!important}#bookly-tbs .m-xl-1{margin:.25rem!important}#bookly-tbs .mt-xl-1,#bookly-tbs .my-xl-1{margin-top:.25rem!important}#bookly-tbs .mr-xl-1,#bookly-tbs .mx-xl-1{margin-right:.25rem!important}#bookly-tbs .mb-xl-1,#bookly-tbs .my-xl-1{margin-bottom:.25rem!important}#bookly-tbs .ml-xl-1,#bookly-tbs .mx-xl-1{margin-left:.25rem!important}#bookly-tbs .m-xl-2{margin:.5rem!important}#bookly-tbs .mt-xl-2,#bookly-tbs .my-xl-2{margin-top:.5rem!important}#bookly-tbs .mr-xl-2,#bookly-tbs .mx-xl-2{margin-right:.5rem!important}#bookly-tbs .mb-xl-2,#bookly-tbs .my-xl-2{margin-bottom:.5rem!important}#bookly-tbs .ml-xl-2,#bookly-tbs .mx-xl-2{margin-left:.5rem!important}#bookly-tbs .m-xl-3{margin:1rem!important}#bookly-tbs .mt-xl-3,#bookly-tbs .my-xl-3{margin-top:1rem!important}#bookly-tbs .mr-xl-3,#bookly-tbs .mx-xl-3{margin-right:1rem!important}#bookly-tbs .mb-xl-3,#bookly-tbs .my-xl-3{margin-bottom:1rem!important}#bookly-tbs .ml-xl-3,#bookly-tbs .mx-xl-3{margin-left:1rem!important}#bookly-tbs .m-xl-4{margin:1.5rem!important}#bookly-tbs .mt-xl-4,#bookly-tbs .my-xl-4{margin-top:1.5rem!important}#bookly-tbs .mr-xl-4,#bookly-tbs .mx-xl-4{margin-right:1.5rem!important}#bookly-tbs .mb-xl-4,#bookly-tbs .my-xl-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-xl-4,#bookly-tbs .mx-xl-4{margin-left:1.5rem!important}#bookly-tbs .m-xl-5{margin:3rem!important}#bookly-tbs .mt-xl-5,#bookly-tbs .my-xl-5{margin-top:3rem!important}#bookly-tbs .mr-xl-5,#bookly-tbs .mx-xl-5{margin-right:3rem!important}#bookly-tbs .mb-xl-5,#bookly-tbs .my-xl-5{margin-bottom:3rem!important}#bookly-tbs .ml-xl-5,#bookly-tbs .mx-xl-5{margin-left:3rem!important}#bookly-tbs .p-xl-0{padding:0!important}#bookly-tbs .pt-xl-0,#bookly-tbs .py-xl-0{padding-top:0!important}#bookly-tbs .pr-xl-0,#bookly-tbs .px-xl-0{padding-right:0!important}#bookly-tbs .pb-xl-0,#bookly-tbs .py-xl-0{padding-bottom:0!important}#bookly-tbs .pl-xl-0,#bookly-tbs .px-xl-0{padding-left:0!important}#bookly-tbs .p-xl-1{padding:.25rem!important}#bookly-tbs .pt-xl-1,#bookly-tbs .py-xl-1{padding-top:.25rem!important}#bookly-tbs .pr-xl-1,#bookly-tbs .px-xl-1{padding-right:.25rem!important}#bookly-tbs .pb-xl-1,#bookly-tbs .py-xl-1{padding-bottom:.25rem!important}#bookly-tbs .pl-xl-1,#bookly-tbs .px-xl-1{padding-left:.25rem!important}#bookly-tbs .p-xl-2{padding:.5rem!important}#bookly-tbs .pt-xl-2,#bookly-tbs .py-xl-2{padding-top:.5rem!important}#bookly-tbs .pr-xl-2,#bookly-tbs .px-xl-2{padding-right:.5rem!important}#bookly-tbs .pb-xl-2,#bookly-tbs .py-xl-2{padding-bottom:.5rem!important}#bookly-tbs .pl-xl-2,#bookly-tbs .px-xl-2{padding-left:.5rem!important}#bookly-tbs .p-xl-3{padding:1rem!important}#bookly-tbs .pt-xl-3,#bookly-tbs .py-xl-3{padding-top:1rem!important}#bookly-tbs .pr-xl-3,#bookly-tbs .px-xl-3{padding-right:1rem!important}#bookly-tbs .pb-xl-3,#bookly-tbs .py-xl-3{padding-bottom:1rem!important}#bookly-tbs .pl-xl-3,#bookly-tbs .px-xl-3{padding-left:1rem!important}#bookly-tbs .p-xl-4{padding:1.5rem!important}#bookly-tbs .pt-xl-4,#bookly-tbs .py-xl-4{padding-top:1.5rem!important}#bookly-tbs .pr-xl-4,#bookly-tbs .px-xl-4{padding-right:1.5rem!important}#bookly-tbs .pb-xl-4,#bookly-tbs .py-xl-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-xl-4,#bookly-tbs .px-xl-4{padding-left:1.5rem!important}#bookly-tbs .p-xl-5{padding:3rem!important}#bookly-tbs .pt-xl-5,#bookly-tbs .py-xl-5{padding-top:3rem!important}#bookly-tbs .pr-xl-5,#bookly-tbs .px-xl-5{padding-right:3rem!important}#bookly-tbs .pb-xl-5,#bookly-tbs .py-xl-5{padding-bottom:3rem!important}#bookly-tbs .pl-xl-5,#bookly-tbs .px-xl-5{padding-left:3rem!important}#bookly-tbs .m-xl-n1{margin:-.25rem!important}#bookly-tbs .mt-xl-n1,#bookly-tbs .my-xl-n1{margin-top:-.25rem!important}#bookly-tbs .mr-xl-n1,#bookly-tbs .mx-xl-n1{margin-right:-.25rem!important}#bookly-tbs .mb-xl-n1,#bookly-tbs .my-xl-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-xl-n1,#bookly-tbs .mx-xl-n1{margin-left:-.25rem!important}#bookly-tbs .m-xl-n2{margin:-.5rem!important}#bookly-tbs .mt-xl-n2,#bookly-tbs .my-xl-n2{margin-top:-.5rem!important}#bookly-tbs .mr-xl-n2,#bookly-tbs .mx-xl-n2{margin-right:-.5rem!important}#bookly-tbs .mb-xl-n2,#bookly-tbs .my-xl-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-xl-n2,#bookly-tbs .mx-xl-n2{margin-left:-.5rem!important}#bookly-tbs .m-xl-n3{margin:-1rem!important}#bookly-tbs .mt-xl-n3,#bookly-tbs .my-xl-n3{margin-top:-1rem!important}#bookly-tbs .mr-xl-n3,#bookly-tbs .mx-xl-n3{margin-right:-1rem!important}#bookly-tbs .mb-xl-n3,#bookly-tbs .my-xl-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-xl-n3,#bookly-tbs .mx-xl-n3{margin-left:-1rem!important}#bookly-tbs .m-xl-n4{margin:-1.5rem!important}#bookly-tbs .mt-xl-n4,#bookly-tbs .my-xl-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-xl-n4,#bookly-tbs .mx-xl-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-xl-n4,#bookly-tbs .my-xl-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-xl-n4,#bookly-tbs .mx-xl-n4{margin-left:-1.5rem!important}#bookly-tbs .m-xl-n5{margin:-3rem!important}#bookly-tbs .mt-xl-n5,#bookly-tbs .my-xl-n5{margin-top:-3rem!important}#bookly-tbs .mr-xl-n5,#bookly-tbs .mx-xl-n5{margin-right:-3rem!important}#bookly-tbs .mb-xl-n5,#bookly-tbs .my-xl-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-xl-n5,#bookly-tbs .mx-xl-n5{margin-left:-3rem!important}#bookly-tbs .m-xl-auto{margin:auto!important}#bookly-tbs .mt-xl-auto,#bookly-tbs .my-xl-auto{margin-top:auto!important}#bookly-tbs .mr-xl-auto,#bookly-tbs .mx-xl-auto{margin-right:auto!important}#bookly-tbs .mb-xl-auto,#bookly-tbs .my-xl-auto{margin-bottom:auto!important}#bookly-tbs .ml-xl-auto,#bookly-tbs .mx-xl-auto{margin-left:auto!important}}#bookly-tbs .text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}#bookly-tbs .text-justify{text-align:justify!important}#bookly-tbs .text-wrap{white-space:normal!important}#bookly-tbs .text-nowrap{white-space:nowrap!important}#bookly-tbs .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .text-left{text-align:left!important}#bookly-tbs .text-right{text-align:right!important}#bookly-tbs .text-center{text-align:center!important}@media (min-width:576px){#bookly-tbs .text-sm-left{text-align:left!important}#bookly-tbs .text-sm-right{text-align:right!important}#bookly-tbs .text-sm-center{text-align:center!important}}@media (min-width:768px){#bookly-tbs .text-md-left{text-align:left!important}#bookly-tbs .text-md-right{text-align:right!important}#bookly-tbs .text-md-center{text-align:center!important}}@media (min-width:992px){#bookly-tbs .text-lg-left{text-align:left!important}#bookly-tbs .text-lg-right{text-align:right!important}#bookly-tbs .text-lg-center{text-align:center!important}}@media (min-width:1200px){#bookly-tbs .text-xl-left{text-align:left!important}#bookly-tbs .text-xl-right{text-align:right!important}#bookly-tbs .text-xl-center{text-align:center!important}}#bookly-tbs .text-lowercase{text-transform:lowercase!important}#bookly-tbs .text-uppercase{text-transform:uppercase!important}#bookly-tbs .text-capitalize{text-transform:capitalize!important}#bookly-tbs .font-weight-light{font-weight:300!important}#bookly-tbs .font-weight-lighter{font-weight:lighter!important}#bookly-tbs .font-weight-normal{font-weight:400!important}#bookly-tbs .font-weight-bold{font-weight:700!important}#bookly-tbs .font-weight-bolder{font-weight:bolder!important}#bookly-tbs .font-italic{font-style:italic!important}#bookly-tbs .text-white{color:#fff!important}#bookly-tbs .text-primary{color:#007bff!important}#bookly-tbs a.text-primary:focus,#bookly-tbs a.text-primary:hover{color:#0056b3!important}#bookly-tbs .text-secondary{color:#6c757d!important}#bookly-tbs a.text-secondary:focus,#bookly-tbs a.text-secondary:hover{color:#494f54!important}#bookly-tbs .text-success{color:#28a745!important}#bookly-tbs a.text-success:focus,#bookly-tbs a.text-success:hover{color:#19692c!important}#bookly-tbs .text-info{color:#17a2b8!important}#bookly-tbs a.text-info:focus,#bookly-tbs a.text-info:hover{color:#0f6674!important}#bookly-tbs .text-warning{color:#ffc107!important}#bookly-tbs a.text-warning:focus,#bookly-tbs a.text-warning:hover{color:#ba8b00!important}#bookly-tbs .text-danger{color:#dc3545!important}#bookly-tbs a.text-danger:focus,#bookly-tbs a.text-danger:hover{color:#a71d2a!important}#bookly-tbs .text-light{color:#f8f9fa!important}#bookly-tbs a.text-light:focus,#bookly-tbs a.text-light:hover{color:#cbd3da!important}#bookly-tbs .text-dark{color:#343a40!important}#bookly-tbs a.text-dark:focus,#bookly-tbs a.text-dark:hover{color:#121416!important}#bookly-tbs .text-body{color:#212529!important}#bookly-tbs .text-muted{color:#6c757d!important}#bookly-tbs .text-black-50{color:rgba(0,0,0,.5)!important}#bookly-tbs .text-white-50{color:rgba(255,255,255,.5)!important}#bookly-tbs .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}#bookly-tbs .text-decoration-none{text-decoration:none!important}#bookly-tbs .text-break{word-break:break-word!important;overflow-wrap:break-word!important}#bookly-tbs .text-reset{color:inherit!important}#bookly-tbs .visible{visibility:visible!important}#bookly-tbs .invisible{visibility:hidden!important}@media print{#bookly-tbs *,#bookly-tbs ::after,#bookly-tbs ::before{text-shadow:none!important;box-shadow:none!important}#bookly-tbs a:not(.btn){text-decoration:underline}#bookly-tbs abbr[title]::after{content:" (" attr(title) ")"}#bookly-tbs pre{white-space:pre-wrap!important}#bookly-tbs blockquote,#bookly-tbs pre{border:1px solid #adb5bd;page-break-inside:avoid}#bookly-tbs thead{display:table-header-group}#bookly-tbs img,#bookly-tbs tr{page-break-inside:avoid}#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs p{orphans:3;widows:3}#bookly-tbs h2,#bookly-tbs h3{page-break-after:avoid}@page{size:a3}#bookly-tbs body{min-width:992px!important}#bookly-tbs .container{min-width:992px!important}#bookly-tbs .navbar{display:none}#bookly-tbs .badge{border:1px solid #000}#bookly-tbs .table{border-collapse:collapse!important}#bookly-tbs .table td,#bookly-tbs .table th{background-color:#fff!important}#bookly-tbs .table-bordered td,#bookly-tbs .table-bordered th{border:1px solid #dee2e6!important}#bookly-tbs .table-dark{color:inherit}#bookly-tbs .table-dark tbody+tbody,#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#dee2e6}#bookly-tbs .table .thead-dark th{color:inherit;border-color:#dee2e6}}#bookly-tbs p{font-size:1rem}#bookly-tbs ol,#bookly-tbs ul{padding:0 0 0 40px}#bookly-tbs ol{margin-left:0}#bookly-tbs ul{list-style:disc}#bookly-tbs li{margin:0}#bookly-tbs a:focus{box-shadow:none}#bookly-tbs .form-control{max-width:none}#bookly-tbs .btn,#bookly-tbs .fc .fc-button{white-space:nowrap}#bookly-tbs .btn-default,#bookly-tbs .fc .fc-button{color:#212529;background-color:#fff;border-color:#ced4da}#bookly-tbs .btn-default:hover,#bookly-tbs .fc .fc-button:hover{color:#212529;background-color:#ececec;border-color:#b1bbc4}#bookly-tbs .btn-default.focus,#bookly-tbs .btn-default:focus,#bookly-tbs .fc .fc-button:focus,#bookly-tbs .fc .focus.fc-button{color:#212529;background-color:#ececec;border-color:#b1bbc4;box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .btn-default.disabled,#bookly-tbs .btn-default:disabled,#bookly-tbs .fc .disabled.fc-button,#bookly-tbs .fc .fc-button:disabled{color:#212529;background-color:#fff;border-color:#ced4da}#bookly-tbs .btn-default:not(:disabled):not(.disabled).active,#bookly-tbs .btn-default:not(:disabled):not(.disabled):active,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled).active,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-default.dropdown-toggle,.show>#bookly-tbs .fc .dropdown-toggle.fc-button{color:#212529;background-color:#e6e6e6;border-color:#aab4bf}#bookly-tbs .btn-default:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-default:not(:disabled):not(.disabled):active:focus,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled).active:focus,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-default.dropdown-toggle:focus,.show>#bookly-tbs .fc .dropdown-toggle.fc-button:focus{box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .bookly-fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-fade{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-fade:not(.show){opacity:0}#bookly-tbs .dropdown-item:focus,#bookly-tbs .dropdown-item:hover{background-color:#fff}#bookly-tbs .dropdown-item .dropdown-item{padding:.25rem 0 .25rem 1.5rem}#bookly-tbs .dropdown-item .custom-control label{width:100%}#bookly-tbs .dropdown-item .custom-control:focus,#bookly-tbs .dropdown-item .custom-control:hover{background-color:#f8f9fa}#bookly-tbs .bookly-modal .dropdown-menu.show{overflow-y:auto;max-height:320px}#bookly-tbs .custom-checkbox .custom-control-input.bookly-checkbox-loading~.custom-control-label:before{content:'';width:16px;height:16px;background:url(../../images/ajax_loader_32x32.gif) no-repeat;background-size:contain;border:none;background-color:transparent!important}#bookly-tbs .custom-checkbox .custom-control-input:not(:checked)~.custom-control-label.bookly-toggle-label{color:#6c757d}#bookly-tbs .nav-tabs .nav-link{color:#495057}#bookly-tbs .nav-tabs .nav-link:hover{color:#343a40}#bookly-tbs .nav-tabs .nav-link:focus{box-shadow:none;outline:0}@media (max-width:575.98px){#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:767.98px){#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:991.98px){#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:1199.98px){#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link:hover{border-color:#343a40}}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link:hover{border-color:#343a40}#bookly-tbs .nav-pills .nav-link{background-color:#fff;background-clip:border-box;color:#212529;border:1px solid #ced4da}#bookly-tbs .nav-pills .nav-link:hover{color:#fff;background-color:#007bff}#bookly-tbs .nav-pills .nav-link.active,#bookly-tbs .nav-pills .nav-link:hover{border-color:transparent}#bookly-tbs .card{margin-top:0;padding:0;max-width:none;box-shadow:none}#bookly-tbs .bookly-card-highlighted{background-color:#f4e9e6}#bookly-tbs .list-group-item+.list-group-item{border-top-width:0}#bookly-tbs .list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}#bookly-tbs .list-group-item[style="display: none;"]+.list-group-item{border-top-left-radius:.25rem;border-top-right-radius:.25rem;border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .list-group-item.ui-sortable-helper,#bookly-tbs .list-group-item.ui-sortable-placeholder+.list-group-item{border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .bookly-cursor-move{cursor:move}#bookly-tbs .bookly-loading{position:relative;height:100px}#bookly-tbs .bookly-loading:before{content:'';position:absolute;left:calc(50% - 16px);top:calc(50% - 16px);width:32px;height:32px;background:url(../../images/ajax_loader_32x32.gif) no-repeat;background-size:contain}#bookly-tbs .bookly-loading.bookly-loading-sm{position:relative;display:inline-block;min-width:16px;min-height:16px;height:16px}#bookly-tbs .bookly-loading.bookly-loading-sm:before{left:0;top:2px;width:16px;height:16px}#bookly-tbs .bookly-hide-empty:empty{display:none}#bookly-tbs .text-pre-wrap{white-space:pre-wrap!important}#bookly-tbs .bookly-cursor-pointer{cursor:pointer}#bookly-tbs .bookly-alert{position:fixed;top:55px;right:13px;z-index:10000;text-align:left}@media (min-width:783px){#bookly-tbs .bookly-alert{right:21px}}#bookly-tbs .bookly-alert button{margin-left:10px}#bookly-tbs .bookly-collapse{margin-bottom:.75rem}#bookly-tbs .bookly-collapse a[data-toggle=collapse]{text-decoration:none;color:#343a40}#bookly-tbs .bookly-collapse a[data-toggle=collapse]:after{content:"\f0d8";font-family:"Font Awesome 5 Free";font-size:.875rem;font-weight:900;margin-left:.5em}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed{color:#495057}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed:hover{color:#343a40}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed:after{content:"\f0d7"}#bookly-tbs .bookly-color-picker{height:38px}#bookly-tbs .bookly-color-picker .wp-picker-container{position:absolute;z-index:1;padding:9px 8px 8px;margin:-8px 0 0 -8px;background-color:#fff}#bookly-tbs .bookly-color-picker .wp-picker-container *{box-sizing:content-box}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result{border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:none;box-shadow:0 0 0 1px #ced4da}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:hover{box-shadow:0 0 0 1px #b1bbc4}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:hover .wp-color-result-text{color:#212529;border-color:#b1bbc4;background-color:#ececec}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result.focus,#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:focus{box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result.focus .wp-color-result-text,#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:focus .wp-color-result-text{color:#212529;border-color:#b1bbc4;background-color:#ececec}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result .wp-color-result-text{margin:-1px -1px -1px 0;border:1px solid #ced4da;border-radius:0 .25rem .25rem 0;color:#212529;padding:.375rem .75rem;font-weight:400;font-size:1rem;background-color:#fff;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;line-height:1.5;max-width:130px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result .wp-color-result-text{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-color-picker .wp-picker-container.wp-picker-active{box-shadow:0 5px 10px rgba(0,0,0,.2)}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap{margin-left:8px}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap .wp-color-picker{margin-top:-1px;min-height:26px;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap input.wp-picker-clear{display:none}#bookly-tbs table.dataTable{clear:both;margin-top:6px!important;margin-bottom:6px!important;max-width:none!important;border-collapse:separate!important;border-spacing:0}#bookly-tbs table.dataTable td,#bookly-tbs table.dataTable th{box-sizing:content-box}#bookly-tbs table.dataTable td.dataTables_empty,#bookly-tbs table.dataTable th.dataTables_empty{text-align:center}#bookly-tbs table.dataTable.nowrap td,#bookly-tbs table.dataTable.nowrap th{white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_length label{font-weight:400;text-align:left;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}#bookly-tbs div.dataTables_wrapper div.dataTables_filter{text-align:right}#bookly-tbs div.dataTables_wrapper div.dataTables_filter label{font-weight:400;white-space:nowrap;text-align:left}#bookly-tbs div.dataTables_wrapper div.dataTables_filter input{margin-left:.5em;display:inline-block;width:auto}#bookly-tbs div.dataTables_wrapper div.dataTables_info{padding-top:.85em;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}#bookly-tbs div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}#bookly-tbs table.dataTable thead>tr>td.sorting,#bookly-tbs table.dataTable thead>tr>td.sorting_asc,#bookly-tbs table.dataTable thead>tr>td.sorting_desc,#bookly-tbs table.dataTable thead>tr>th.sorting,#bookly-tbs table.dataTable thead>tr>th.sorting_asc,#bookly-tbs table.dataTable thead>tr>th.sorting_desc{padding-right:30px}#bookly-tbs table.dataTable thead>tr>td:active,#bookly-tbs table.dataTable thead>tr>th:active{outline:0}#bookly-tbs table.dataTable thead .sorting,#bookly-tbs table.dataTable thead .sorting_asc,#bookly-tbs table.dataTable thead .sorting_asc_disabled,#bookly-tbs table.dataTable thead .sorting_desc,#bookly-tbs table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}#bookly-tbs table.dataTable thead .sorting:after,#bookly-tbs table.dataTable thead .sorting:before,#bookly-tbs table.dataTable thead .sorting_asc:after,#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_asc_disabled:after,#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc:after,#bookly-tbs table.dataTable thead .sorting_desc:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after,#bookly-tbs table.dataTable thead .sorting_desc_disabled:before{position:absolute;bottom:.9em;display:block;opacity:.3}#bookly-tbs table.dataTable thead .sorting:before,#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}#bookly-tbs table.dataTable thead .sorting:after,#bookly-tbs table.dataTable thead .sorting_asc:after,#bookly-tbs table.dataTable thead .sorting_asc_disabled:after,#bookly-tbs table.dataTable thead .sorting_desc:after,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after{right:.5em;content:"\2193"}#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_desc:after{opacity:1}#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after{opacity:0}#bookly-tbs div.dataTables_scrollHead table.dataTable{margin-bottom:0!important}#bookly-tbs div.dataTables_scrollBody table{border-top:none;margin-top:0!important;margin-bottom:0!important}#bookly-tbs div.dataTables_scrollBody table thead .sorting:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting:before,#bookly-tbs div.dataTables_scrollBody table thead .sorting_asc:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_asc:before,#bookly-tbs div.dataTables_scrollBody table thead .sorting_desc:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_desc:before{display:none}#bookly-tbs div.dataTables_scrollBody table tbody tr:first-child td,#bookly-tbs div.dataTables_scrollBody table tbody tr:first-child th{border-top:none}#bookly-tbs div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}#bookly-tbs div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0!important;border-top:none}@media screen and (max-width:767px){#bookly-tbs div.dataTables_wrapper div.dataTables_filter,#bookly-tbs div.dataTables_wrapper div.dataTables_info,#bookly-tbs div.dataTables_wrapper div.dataTables_length,#bookly-tbs div.dataTables_wrapper div.dataTables_paginate{text-align:center}}#bookly-tbs table.dataTable.table-sm>thead>tr>th{padding-right:20px}#bookly-tbs table.dataTable.table-sm .sorting:before,#bookly-tbs table.dataTable.table-sm .sorting_asc:before,#bookly-tbs table.dataTable.table-sm .sorting_desc:before{top:5px;right:.85em}#bookly-tbs table.dataTable.table-sm .sorting:after,#bookly-tbs table.dataTable.table-sm .sorting_asc:after,#bookly-tbs table.dataTable.table-sm .sorting_desc:after{top:5px}#bookly-tbs table.table-bordered.dataTable td,#bookly-tbs table.table-bordered.dataTable th{border-left-width:0}#bookly-tbs table.table-bordered.dataTable td:last-child,#bookly-tbs table.table-bordered.dataTable th:last-child{border-right-width:0}#bookly-tbs table.table-bordered.dataTable tbody td,#bookly-tbs table.table-bordered.dataTable tbody th{border-bottom-width:0}#bookly-tbs div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row{margin:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap>div[class^=col-]:first-child,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:first-child{padding-left:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap>div[class^=col-]:last-child,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:last-child{padding-right:0}@keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}#bookly-tbs div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:#fff;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,.3);border-radius:3px;text-align:center;z-index:21}#bookly-tbs div.dt-button-info h2{padding:.5em;margin:0;font-weight:400;border-bottom:1px solid #ddd;background-color:#f3f3f3}#bookly-tbs div.dt-button-info>div{padding:1em}#bookly-tbs div.dt-button-collection-title{text-align:center;padding:.3em 0 .5em;font-size:.9em}#bookly-tbs div.dt-button-collection-title:empty{display:none}#bookly-tbs div.dt-button-collection{position:absolute;z-index:2001}#bookly-tbs div.dt-button-collection div.dropdown-menu{display:block;z-index:2002;min-width:100%}#bookly-tbs div.dt-button-collection div.dt-button-collection-title{background-color:#fff;border:1px solid rgba(0,0,0,.15)}#bookly-tbs div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}#bookly-tbs div.dt-button-collection.fixed.two-column{margin-left:-200px}#bookly-tbs div.dt-button-collection.fixed.three-column{margin-left:-225px}#bookly-tbs div.dt-button-collection.fixed.four-column{margin-left:-300px}#bookly-tbs div.dt-button-collection>:last-child{display:block!important;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}#bookly-tbs div.dt-button-collection>:last-child>*{-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}#bookly-tbs div.dt-button-collection.two-column{width:400px}#bookly-tbs div.dt-button-collection.two-column>:last-child{padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}#bookly-tbs div.dt-button-collection.three-column{width:450px}#bookly-tbs div.dt-button-collection.three-column>:last-child{padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}#bookly-tbs div.dt-button-collection.four-column{width:600px}#bookly-tbs div.dt-button-collection.four-column>:last-child{padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}#bookly-tbs div.dt-button-collection .dt-button{border-radius:0}#bookly-tbs div.dt-button-collection.fixed{max-width:none}#bookly-tbs div.dt-button-collection.fixed:after,#bookly-tbs div.dt-button-collection.fixed:before{display:none}#bookly-tbs div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}@media screen and (max-width:767px){#bookly-tbs div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:.5em}#bookly-tbs .fc div.dt-buttons a.fc-button,#bookly-tbs div.dt-buttons .fc a.fc-button,#bookly-tbs div.dt-buttons a.btn{float:none}}#bookly-tbs .fc div.dt-buttons a.processing.fc-button,#bookly-tbs .fc div.dt-buttons button.processing.fc-button,#bookly-tbs .fc div.dt-buttons div.processing.fc-button,#bookly-tbs div.dt-buttons .fc a.processing.fc-button,#bookly-tbs div.dt-buttons .fc button.processing.fc-button,#bookly-tbs div.dt-buttons .fc div.processing.fc-button,#bookly-tbs div.dt-buttons a.btn.processing,#bookly-tbs div.dt-buttons button.btn.processing,#bookly-tbs div.dt-buttons div.btn.processing{color:rgba(0,0,0,.2)}#bookly-tbs .fc div.dt-buttons a.processing.fc-button:after,#bookly-tbs .fc div.dt-buttons button.processing.fc-button:after,#bookly-tbs .fc div.dt-buttons div.processing.fc-button:after,#bookly-tbs div.dt-buttons .fc a.processing.fc-button:after,#bookly-tbs div.dt-buttons .fc button.processing.fc-button:after,#bookly-tbs div.dt-buttons .fc div.processing.fc-button:after,#bookly-tbs div.dt-buttons a.btn.processing:after,#bookly-tbs div.dt-buttons button.btn.processing:after,#bookly-tbs div.dt-buttons div.btn.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1.5s infinite linear;-o-animation:dtb-spinner 1.5s infinite linear;-ms-animation:dtb-spinner 1.5s infinite linear;-webkit-animation:dtb-spinner 1.5s infinite linear;-moz-animation:dtb-spinner 1.5s infinite linear}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th.child{cursor:default!important}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before{display:none!important}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>td:first-child,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>th:first-child{position:relative;padding-left:30px;cursor:pointer}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>th:first-child:before{top:16px;left:4px;height:14px;width:14px;display:block;position:absolute;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;font-family:'Courier New',Courier,monospace;line-height:14px;content:'+';background-color:#0275d8}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}#bookly-tbs table.dataTable.dtr-column>tbody>tr>td.control,#bookly-tbs table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}#bookly-tbs table.dataTable.dtr-column>tbody>tr>td.control:before,#bookly-tbs table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;font-family:'Courier New',Courier,monospace;line-height:14px;content:'+';background-color:#0275d8}#bookly-tbs table.dataTable.dtr-column>tbody>tr.parent td.control:before,#bookly-tbs table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}#bookly-tbs table.dataTable>tbody>tr.child{padding:.5em 1em}#bookly-tbs table.dataTable>tbody>tr.child:hover{background:0 0!important}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:.5em 0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}#bookly-tbs table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:700}#bookly-tbs div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}#bookly-tbs div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid #000;border-radius:.5em;box-shadow:0 12px 30px rgba(0,0,0,.6)}#bookly-tbs div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}#bookly-tbs div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}#bookly-tbs div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}#bookly-tbs div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,.6)}@media screen and (max-width:767px){#bookly-tbs div.dtr-modal div.dtr-modal-display{width:95%}}#bookly-tbs div.dtr-bs-modal table.table tr:first-child td{border-top:none}#bookly-tbs table.dt-rowReorder-float{position:absolute!important;opacity:.8;table-layout:fixed;outline:2px solid #0275d8;outline-offset:-2px;z-index:2001}#bookly-tbs tr.dt-rowReorder-moving{outline:2px solid #888;outline-offset:-2px}#bookly-tbs body.dt-rowReorder-noOverflow{overflow-x:hidden}#bookly-tbs table.dataTable td.reorder{text-align:center;cursor:move}#bookly-tbs .daterangepicker{position:absolute;color:inherit;background-color:#fff;border-radius:4px;border:1px solid #ddd;width:278px;max-width:none;padding:0;margin-top:7px;top:100px;left:20px;z-index:3001;display:none;font-family:arial;font-size:15px;line-height:1em}#bookly-tbs .daterangepicker:after,#bookly-tbs .daterangepicker:before{position:absolute;display:inline-block;border-bottom-color:rgba(0,0,0,.2);content:''}#bookly-tbs .daterangepicker:before{top:-7px;border-right:7px solid transparent;border-left:7px solid transparent;border-bottom:7px solid #ccc}#bookly-tbs .daterangepicker:after{top:-6px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}#bookly-tbs .daterangepicker.opensleft:before{right:9px}#bookly-tbs .daterangepicker.opensleft:after{right:10px}#bookly-tbs .daterangepicker.openscenter:before{left:0;right:0;width:0;margin-left:auto;margin-right:auto}#bookly-tbs .daterangepicker.openscenter:after{left:0;right:0;width:0;margin-left:auto;margin-right:auto}#bookly-tbs .daterangepicker.opensright:before{left:9px}#bookly-tbs .daterangepicker.opensright:after{left:10px}#bookly-tbs .daterangepicker.drop-up{margin-top:-7px}#bookly-tbs .daterangepicker.drop-up:before{top:initial;bottom:-7px;border-bottom:initial;border-top:7px solid #ccc}#bookly-tbs .daterangepicker.drop-up:after{top:initial;bottom:-6px;border-bottom:initial;border-top:6px solid #fff}#bookly-tbs .daterangepicker.single .daterangepicker .ranges,#bookly-tbs .daterangepicker.single .drp-calendar{float:none}#bookly-tbs .daterangepicker.single .drp-selected{display:none}#bookly-tbs .daterangepicker.show-calendar .drp-calendar{display:block}#bookly-tbs .daterangepicker.show-calendar .drp-calendar select{border:1px solid #ced4da;padding:0 7px}#bookly-tbs .daterangepicker.show-calendar .drp-calendar table th{text-transform:none}#bookly-tbs .daterangepicker.show-calendar .drp-buttons{display:block}#bookly-tbs .daterangepicker.auto-apply .drp-buttons{display:none}#bookly-tbs .daterangepicker .drp-calendar{display:none;max-width:270px}#bookly-tbs .daterangepicker .drp-calendar.left{padding:8px 0 8px 8px}#bookly-tbs .daterangepicker .drp-calendar.right{padding:8px}#bookly-tbs .daterangepicker .drp-calendar.single .calendar-table{border:none}#bookly-tbs .daterangepicker .calendar-table .next span,#bookly-tbs .daterangepicker .calendar-table .prev span{color:#fff;border:solid #000;border-width:0 2px 2px 0;border-radius:0;display:inline-block;padding:3px}#bookly-tbs .daterangepicker .calendar-table .next span{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}#bookly-tbs .daterangepicker .calendar-table .prev span{transform:rotate(135deg);-webkit-transform:rotate(135deg)}#bookly-tbs .daterangepicker .calendar-table td,#bookly-tbs .daterangepicker .calendar-table th{white-space:nowrap;text-align:center;vertical-align:middle;min-width:32px;width:32px;height:24px;line-height:24px;font-size:12px;border-radius:4px;border:1px solid transparent;cursor:pointer}#bookly-tbs .daterangepicker .calendar-table{border:1px solid #fff;border-radius:4px;background-color:#fff}#bookly-tbs .daterangepicker .calendar-table table{width:100%;margin:0;border-spacing:0;border-collapse:collapse}#bookly-tbs .daterangepicker td.available:hover,#bookly-tbs .daterangepicker th.available:hover{background-color:#eee;border-color:transparent;color:inherit}#bookly-tbs .daterangepicker td.week,#bookly-tbs .daterangepicker th.week{font-size:80%;color:#ccc}#bookly-tbs .daterangepicker td.off,#bookly-tbs .daterangepicker td.off.end-date,#bookly-tbs .daterangepicker td.off.in-range,#bookly-tbs .daterangepicker td.off.start-date{background-color:#fff;border-color:transparent;color:#999}#bookly-tbs .daterangepicker td.in-range{background-color:#ebf4f8;border-color:transparent;color:#000;border-radius:0}#bookly-tbs .daterangepicker td.start-date{border-radius:4px 0 0 4px}#bookly-tbs .daterangepicker td.end-date{border-radius:0 4px 4px 0}#bookly-tbs .daterangepicker td.start-date.end-date{border-radius:4px}#bookly-tbs .daterangepicker td.active,#bookly-tbs .daterangepicker td.active:hover{background-color:#357ebd;border-color:transparent;color:#fff}#bookly-tbs .daterangepicker th.month{width:auto}#bookly-tbs .daterangepicker option.disabled,#bookly-tbs .daterangepicker td.disabled{color:#999;cursor:not-allowed;text-decoration:line-through}#bookly-tbs .daterangepicker select.monthselect,#bookly-tbs .daterangepicker select.yearselect{font-size:12px;padding:1px;margin:0;cursor:default}#bookly-tbs .daterangepicker select.monthselect{margin-right:2%;width:56%}#bookly-tbs .daterangepicker select.yearselect{width:40%}#bookly-tbs .daterangepicker select.ampmselect,#bookly-tbs .daterangepicker select.hourselect,#bookly-tbs .daterangepicker select.minuteselect,#bookly-tbs .daterangepicker select.secondselect{width:50px;margin:0 auto;background:#eee;border:1px solid #eee;padding:2px;outline:0;font-size:12px}#bookly-tbs .daterangepicker .calendar-time{text-align:center;margin:4px auto 0 auto;line-height:30px;position:relative}#bookly-tbs .daterangepicker .calendar-time select.disabled{color:#ccc;cursor:not-allowed}#bookly-tbs .daterangepicker .drp-buttons{clear:both;text-align:right;padding:8px;border-top:1px solid #ddd;display:none;line-height:12px;vertical-align:middle}#bookly-tbs .daterangepicker .drp-selected{display:block;font-size:12px;padding:8px}#bookly-tbs .daterangepicker .drp-buttons .btn,#bookly-tbs .daterangepicker .drp-buttons .fc .fc-button,#bookly-tbs .fc .daterangepicker .drp-buttons .fc-button{margin-left:8px;font-size:12px;padding:4px 8px}#bookly-tbs .daterangepicker.show-ranges.single.rtl .drp-calendar.left{border-right:1px solid #ddd}#bookly-tbs .daterangepicker.show-ranges.single.ltr .drp-calendar.left{border-left:1px solid #ddd}#bookly-tbs .daterangepicker.show-ranges.rtl .drp-calendar.right{border-right:1px solid #ddd}#bookly-tbs .daterangepicker.show-calendar.show-ranges .ranges{min-height:246px;border-right:1px solid #ddd}#bookly-tbs .daterangepicker .ranges{float:none;text-align:left;margin:0}#bookly-tbs .daterangepicker .ranges ul{list-style:none;margin:0 auto;padding:0;width:100%}#bookly-tbs .daterangepicker .ranges li{font-size:12px;padding:8px 12px;cursor:pointer;border-radius:0;border:0;background-color:transparent}#bookly-tbs .daterangepicker .ranges li:first-child{border-radius:4px 4px 0 0}#bookly-tbs .daterangepicker .ranges li:last-child{border-radius:0 0 4px 4px}#bookly-tbs .daterangepicker .ranges li:hover{background-color:#f8f9fa;color:#212529}#bookly-tbs .daterangepicker .ranges li.active{background-color:#08c;color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}@media (min-width:564px){#bookly-tbs .daterangepicker{width:auto}#bookly-tbs .daterangepicker.show-calendar.show-ranges{width:646px}#bookly-tbs .daterangepicker .drp-selected{display:inline-block;padding-right:8px}#bookly-tbs .daterangepicker .ranges ul{width:140px}#bookly-tbs .daterangepicker.single .ranges ul{width:100%}#bookly-tbs .daterangepicker.single .drp-calendar.left{clear:none}#bookly-tbs .daterangepicker.single .drp-calendar,#bookly-tbs .daterangepicker.single .ranges{float:left}#bookly-tbs .daterangepicker{direction:ltr;text-align:left}#bookly-tbs .daterangepicker .drp-calendar.left{clear:left;margin-right:0}#bookly-tbs .daterangepicker .drp-calendar.left .calendar-table{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .daterangepicker .drp-calendar.right{margin-left:0}#bookly-tbs .daterangepicker .drp-calendar.right .calendar-table{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .daterangepicker .drp-calendar.left .calendar-table{padding-right:8px}#bookly-tbs .daterangepicker .drp-calendar,#bookly-tbs .daterangepicker .ranges{float:left}}@media (min-width:730px){#bookly-tbs .daterangepicker .ranges{width:auto}#bookly-tbs .daterangepicker .ranges{float:left}#bookly-tbs .daterangepicker.rtl .ranges{float:right}#bookly-tbs .daterangepicker .drp-calendar.left{clear:none!important}}#bookly-tbs .fc .fc-button-group>.fc-button.fc-agendaDay-button:not(:last-child):not(.dropdown-toggle){border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#bookly-tbs .fc .fc-button{background-image:none;height:auto}#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled).fc-state-active{color:#212529;background-color:#e6e6e6;border-color:#aab4bf;box-shadow:none}#bookly-tbs .fc .fc-toolbar .fc-today-button{margin-left:10px}#bookly-tbs .fc .fc-toolbar h2{cursor:pointer;font-size:24px;margin:6px 0 -3px}#bookly-tbs .fc .fc-toolbar h2::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}#bookly-tbs .fc .fc-toolbar h2:empty::after{margin-left:0}#bookly-tbs .fc .fc-toolbar h2::after{font-size:1rem;margin-left:.5rem}#bookly-tbs .fc .fc-toolbar h2:hover{color:#0056b3}@media (max-width:767.98px){#bookly-tbs .fc .fc-toolbar .fc-left,#bookly-tbs .fc .fc-toolbar .fc-right{float:none;margin-bottom:10px}#bookly-tbs .fc .fc-toolbar .fc-left>*,#bookly-tbs .fc .fc-toolbar .fc-right>*{float:none}}#bookly-tbs .fc .fc-view{overflow:auto}#bookly-tbs .fc .fc-view>table{min-width:700px}#bookly-tbs .fc .fc-view .fc-day-header{font-weight:inherit;text-align:center}#bookly-tbs .fc .fc-view .fc-day.bookly-fc-day-active{background-color:#eafcff}#bookly-tbs .fc .fc-view .fc-axis{box-sizing:content-box;font-size:calc(1rem - 1px)}#bookly-tbs .fc .fc-view .fc-event{cursor:pointer;border:none;border-radius:0;padding:3px 2px 3px 5px}#bookly-tbs .fc .fc-view .fc-event:after{content:'';position:absolute;top:0;right:0;width:calc(100% - 2px);height:100%;background-color:rgba(255,255,255,.6)}#bookly-tbs .fc .fc-view .fc-event:hover:after{background-color:rgba(255,255,255,.7)}#bookly-tbs .fc .fc-view .fc-event .fc-time{font-size:inherit;font-weight:700}#bookly-tbs .fc .fc-view .fc-event .fc-time .bookly-fc-icon{cursor:pointer;float:right;font-size:1.2em;line-height:1.3;opacity:.8}#bookly-tbs .fc .fc-view .fc-event .fc-time .bookly-fc-icon:hover{opacity:1}#bookly-tbs .bookly-fc-loading{background-color:rgba(255,255,255,.7);bottom:0;left:0;position:absolute;right:0;top:50px;z-index:9}#bookly-tbs .bookly-fc-loading .bookly-fc-loading-icon{position:absolute;left:calc(50% - 16px);top:calc(50% - 16px);background:rgba(255,0,0,0) url(../../images/ajax_loader_32x32.gif) no-repeat scroll 50% center;width:32px;height:32px}@media (max-width:767.98px){#bookly-tbs .bookly-fc-loading{top:150px}}#bookly-tbs .jCal{width:100%;position:relative}#bookly-tbs .jCalMo{display:block;position:relative;padding:0 15px;margin-bottom:15px;white-space:nowrap}@media (min-width:576px){#bookly-tbs .jCalMo{height:257px}}#bookly-tbs .jCal .month,#bookly-tbs .jCal .monthName,#bookly-tbs .jCal .monthSelect,#bookly-tbs .jCal .monthYear{float:left}#bookly-tbs .jCal .monthName{font-weight:700;padding:.5rem 0;text-align:center;width:100%}#bookly-tbs .jCal .monthYear{float:right;text-align:left}#bookly-tbs .jCal .month{width:100%}#bookly-tbs .jCal .monthSelect{background:#f8f9fa}#bookly-tbs .jCal .monthSelector{position:absolute}#bookly-tbs .jCal .monthSelectorShadow{position:absolute;background:#adb5bd;padding:0}#bookly-tbs .jCal .monthNameHover,#bookly-tbs .jCal .monthYearHover{background:#f8f9fa;color:#adb5bd}#bookly-tbs .jCal .monthSelectHover{background:#007bff;color:#fff}#bookly-tbs .jCalMo .aday,#bookly-tbs .jCalMo .day,#bookly-tbs .jCalMo .dow,#bookly-tbs .jCalMo .invday,#bookly-tbs .jCalMo .overDay,#bookly-tbs .jCalMo .pday,#bookly-tbs .jCalMo .selectedDay{position:relative;float:left;width:calc(14.2857% + 1px);margin-right:-1px;border:1px solid #f8f9fa;border-width:0 1px 1px 1px;text-align:center;cursor:default}#bookly-tbs .jCalMo .dow{font-size:12px;line-height:30px;background:#f8f9fa;border-bottom:0}#bookly-tbs .jCalMo .day{font-size:13px;line-height:30px;cursor:pointer;background:#fff}#bookly-tbs .jCalMo .invday{color:#adb5bd;background:#f8f9fa;text-decoration:line-through}#bookly-tbs .jCalMo .aday,#bookly-tbs .jCalMo .pday{font-size:13px;line-height:30px;color:#f8f9fa;background:rgba(248,249,250,.3)}#bookly-tbs .jCalMo .overDay{color:#212529;background:rgba(0,123,255,.2)}#bookly-tbs .jCalMo .holidayDay{color:#fff;background:#ffc107}#bookly-tbs .jCalMo .holidayDay.repeatDay{color:#fff;background:#dc3545}#bookly-tbs .jCalMo .selectedDay,#bookly-tbs .jCalMo .selectedDay.repeatDay{color:#fff;background:#007bff}#bookly-tbs .jCal .left,#bookly-tbs .jCal .right{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}#bookly-tbs .jCalMask,#bookly-tbs .jCalMove{position:absolute;overflow:hidden;width:700px;height:930px}@media (max-width:991.98px){#bookly-tbs .jCalMo{float:left;width:50%}}@media (min-width:992px){#bookly-tbs .jCalMo{float:left;width:33.33333333%}}#bookly-tbs .intl-tel-input{display:block}#bookly-tbs .intl-tel-input .flag-container{left:0;right:0}#bookly-tbs .intl-tel-input .flag-container ul.country-list{list-style:none;padding:0}#bookly-tbs .intl-tel-input .selected-flag{width:42px;padding:0 0 0 8px}#bookly-tbs .intl-tel-input .selected-flag .arrow{left:auto;right:4px;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #000}#bookly-tbs .intl-tel-input .iti-flag{background-image:url(../../../../frontend/resources/images/flags.png)}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:2dppx){#bookly-tbs .intl-tel-input .iti-flag{background-image:url(../../../../frontend/resources/images/flags@2x.png)}}#bookly-tbs .intl-tel-input .form-control{padding-left:45px}#bookly-tbs .intl-tel-input .country-list{max-width:100%}#bookly-tbs .bookly-thumb{display:block;position:relative;width:106px;height:106px;border:1px solid #ced4da;border-radius:.25rem;background-color:#e9ecef;background-image:url(../../images/sprite.png);background-repeat:no-repeat;background-position:0 0;overflow:hidden}#bookly-tbs .bookly-thumb.w-100{background-image:none}#bookly-tbs .bookly-thumb .bookly-thumb-delete{position:absolute;top:.25rem;right:0;text-decoration:none}#bookly-tbs .bookly-thumb .bookly-thumb-edit{position:absolute;left:0;right:0;bottom:0;background-color:rgba(173,181,189,.5)}#bookly-tbs .bookly-thumb .bookly-thumb-edit:hover{background-color:rgba(173,181,189,.8)}#bookly-tbs .bookly-thumb .bookly-thumb-edit .bookly-thumb-edit-btn{width:100%;padding:0 3px;margin:0;text-align:center;color:#fff;font-size:13px;line-height:25px}#bookly-tbs .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}#bookly-tbs .select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .select2-container .select2-selection--single .select2-selection__clear{position:relative}#bookly-tbs .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}#bookly-tbs .select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .select2-container .select2-search--inline{float:left}#bookly-tbs .select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}#bookly-tbs .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}#bookly-tbs .select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}#bookly-tbs .select2-results{display:block}#bookly-tbs .select2-results__options{list-style:none;margin:0;padding:0}#bookly-tbs .select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-results__option[aria-selected]{cursor:pointer}#bookly-tbs .select2-container--open .select2-dropdown{left:0}#bookly-tbs .select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-search--dropdown{display:block;padding:4px}#bookly-tbs .select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}#bookly-tbs .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}#bookly-tbs .select2-search--dropdown.select2-search--hide{display:none}#bookly-tbs .select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}#bookly-tbs .select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}#bookly-tbs .select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}#bookly-tbs .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}#bookly-tbs .select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px;padding:1px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}#bookly-tbs .select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}#bookly-tbs .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,#bookly-tbs .select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,#bookly-tbs .select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}#bookly-tbs .select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}#bookly-tbs .select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}#bookly-tbs .select2-container--default .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--default .select2-results__option[aria-disabled=true]{color:#999}#bookly-tbs .select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option{padding-left:1em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}#bookly-tbs .select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}#bookly-tbs .select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}#bookly-tbs .select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #dee2e6;border-radius:.25rem;outline:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),to(#eee));background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #dee2e6;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(#ccc));background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #dee2e6;border-radius:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;left:1px;right:auto}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,from(white),color-stop(50%,#eee));background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(white));background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;cursor:text;outline:0}#bookly-tbs .select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #dee2e6;border-radius:.25rem;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #dee2e6;outline:0}#bookly-tbs .select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}#bookly-tbs .select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}#bookly-tbs .select2-container--classic .select2-dropdown--above{border-bottom:none}#bookly-tbs .select2-container--classic .select2-dropdown--below{border-top:none}#bookly-tbs .select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}#bookly-tbs .select2-container--classic .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}#bookly-tbs .select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}#bookly-tbs .select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}#bookly-tbs .select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single{height:calc(1.5em + .75rem + 2px)!important}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__placeholder{color:#757575;line-height:calc(1.5em + .75rem)}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow{position:absolute;top:50%;right:3px;width:20px}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b{top:60%;border-color:#343a40 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;width:0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered{line-height:calc(1.5em + .75rem)}#bookly-tbs .select2-search--dropdown .select2-search__field{border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .select2-results__message{color:#6c757d}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple{min-height:calc(1.5em + .75rem + 2px)!important}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice{color:#343a40;border:1px solid #bdc6d0;border-radius:.2rem;padding:0;padding-right:5px;cursor:pointer;float:left;margin-top:.3em;margin-right:5px}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove{color:#bdc6d0;font-weight:700;margin-left:3px;margin-right:1px;padding-right:3px;padding-left:3px;float:left}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove:hover{color:#343a40}#bookly-tbs .select2-container{display:block}#bookly-tbs .select2-container :focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .input-group .select2-container--bootstrap4{-webkit-box-flex:1;flex-grow:1}#bookly-tbs .input-group-prepend~.select2-container--bootstrap4 .select2-selection{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group>.select2-container--bootstrap4:not(:last-child) .select2-selection{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--bootstrap4 .select2-selection{background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){#bookly-tbs .select2-container--bootstrap4 .select2-selection{-webkit-transition:none;transition:none}}#bookly-tbs .select2-container--bootstrap4.select2-container--focus .select2-selection{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .select2-container--bootstrap4.select2-container--focus.select2-container--open .select2-selection{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--bootstrap4.select2-container--disabled .select2-selection,#bookly-tbs .select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-selection{background-color:#e9ecef;cursor:not-allowed;border-color:#ced4da;box-shadow:none}#bookly-tbs .select2-container--bootstrap4.select2-container--disabled .select2-search__field,#bookly-tbs .select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-search__field{background-color:transparent}form.was-validated select:invalid~#bookly-tbs .select2-container--bootstrap4 .select2-selection,select.is-invalid~#bookly-tbs .select2-container--bootstrap4 .select2-selection{border-color:#dc3545}form.was-validated select:valid~#bookly-tbs .select2-container--bootstrap4 .select2-selection,select.is-valid~#bookly-tbs .select2-container--bootstrap4 .select2-selection{border-color:#28a745}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown{border-color:#ced4da;border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown.select2-dropdown--above{border-top:1px solid #ced4da;border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown .select2-results__option[aria-selected=true]{background-color:#e9ecef}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown .select2-results__option:empty{padding:0}#bookly-tbs .select2-container--bootstrap4 .select2-results__option--highlighted,#bookly-tbs .select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected=true]{background-color:#007bff;color:#f8f9fa}#bookly-tbs .select2-container--bootstrap4 .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--bootstrap4 .select2-results>.select2-results__options{max-height:15em;overflow-y:auto}#bookly-tbs .select2-container--bootstrap4 .select2-results__group{padding:6px;display:list-item;color:#6c757d}#bookly-tbs .select2-container--bootstrap4 .select2-selection__clear{width:1.2em;height:1.2em;line-height:1.15em;padding-left:.3em;margin-top:.5em;color:#6c757d;font-weight:700;float:right;margin-right:.3em}#bookly-tbs .select2-container--bootstrap4 .select2-selection__clear:hover{color:#343a40}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection,#bookly-tbs #bookly-package-dialog .select2 .select2-selection{height:38px;box-shadow:none}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection__choice,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection__choice,#bookly-tbs #bookly-package-dialog .select2 .select2-selection__choice{display:none}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection ul,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection ul,#bookly-tbs #bookly-package-dialog .select2 .select2-selection ul{margin-bottom:0}#bookly-tbs #bookly-appointment-dialog .select2.select2-container--focus,#bookly-tbs #bookly-coupon-modal .select2.select2-container--focus,#bookly-tbs #bookly-package-dialog .select2.select2-container--focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.25);border-radius:.25rem}#bookly-tbs #bookly-appointment-dialog .select2 .select2-search,#bookly-tbs #bookly-coupon-modal .select2 .select2-search,#bookly-tbs #bookly-package-dialog .select2 .select2-search{float:none;margin:3px 0;padding-left:8px;border-radius:.25rem}#bookly-tbs #bookly-appointment-dialog .select2 .select2-search__field,#bookly-tbs #bookly-coupon-modal .select2 .select2-search__field,#bookly-tbs #bookly-package-dialog .select2 .select2-search__field{min-width:50%!important;box-shadow:none;margin:0;padding:0;border:0}#bookly-tbs #select2-bookly-appointment-dialog-select2-results .select2-results__option[aria-selected=true]{background-color:#fff;color:#212529}.rtl #bookly-tbs *{text-align:right}.rtl #bookly-tbs .card-footer>button{margin:.25rem}.rtl #bookly-tbs .close{float:left}.rtl #bookly-tbs i.far,.rtl #bookly-tbs i.fas{margin-left:.5rem}.rtl #bookly-tbs .daterangepicker .calendar-table{text-align:center}.rtl #bookly-tbs .daterangepicker .drp-calendar{max-width:315px}.rtl #bookly-tbs .daterangepicker.show-calendar.show-ranges{width:774px}.rtl #bookly-tbs .fc-center h2{position:absolute;right:50%;top:0}.rtl #bookly-tbs .fc-icon{text-align:center}.rtl #bookly-tbs .input-group .select2-selection{border-radius:0 5px 5px 0!important}.rtl #bookly-tbs .input-group .form-control{border-radius:0 5px 5px 0;right:1px}.rtl #bookly-tbs .fc .input-group .input-group-append .fc-button,.rtl #bookly-tbs .input-group .input-group-append .btn,.rtl #bookly-tbs .input-group .input-group-append .fc .fc-button,.rtl #bookly-tbs .input-group .input-group-append .input-group-text{border-radius:5px 0 0 5px;border-top-left-radius:5px;border-bottom-left-radius:5px}.rtl #bookly-tbs .input-group .input-group-prepend{margin-left:-1px}.rtl #bookly-tbs .input-group .input-group-prepend .input-group-text{border-radius:0 5px 5px 0}.rtl #bookly-tbs #bookly-customer-information-fields .input-group .input-group-append:nth-child(2)>*{border-radius:0!important}.rtl #bookly-tbs .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:20px;padding-left:8px}.rtl #bookly-tbs .btn-group>:first-child,.rtl #bookly-tbs .fc .fc-button-group>:first-child{border-radius:0 3px 3px 0!important}.rtl #bookly-tbs .btn-group>.dropdown-toggle,.rtl #bookly-tbs .btn-group>:last-child,.rtl #bookly-tbs .fc .fc-button-group>.dropdown-toggle,.rtl #bookly-tbs .fc .fc-button-group>:last-child{border-radius:3px 0 0 3px!important;margin-right:0!important}.rtl #bookly-tbs .intl-tel-input .selected-flag{padding:0 16px 0 0}.rtl #bookly-tbs .intl-tel-input .country-list .flag-box{margin-left:6px}.rtl #bookly-tbs .intl-tel-input .form-control{padding-right:45px;padding-left:.75rem}.rtl #bookly-tbs .modal-header button.close{position:absolute;left:0}.rtl #bookly-tbs .custom-control.custom-checkbox{padding-left:0}.rtl #bookly-tbs label.custom-control-label{position:relative;padding-right:1.5rem}.rtl #bookly-tbs label.custom-control-label::after,.rtl #bookly-tbs label.custom-control-label::before{right:0;left:auto}
3
  * Copyright 2011-2019 The Bootstrap Authors
4
  * Copyright 2011-2019 Twitter, Inc.
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
+ */#bookly-tbs{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:transparent}#bookly-tbs *,#bookly-tbs ::after,#bookly-tbs ::before{box-sizing:border-box}#bookly-tbs html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#bookly-tbs article,#bookly-tbs aside,#bookly-tbs figcaption,#bookly-tbs figure,#bookly-tbs footer,#bookly-tbs header,#bookly-tbs hgroup,#bookly-tbs main,#bookly-tbs nav,#bookly-tbs section{display:block}#bookly-tbs body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}#bookly-tbs [tabindex="-1"]:focus:not(:focus-visible){outline:0!important}#bookly-tbs hr{box-sizing:content-box;height:0;overflow:visible}#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-top:0;margin-bottom:.5rem}#bookly-tbs p{margin-top:0;margin-bottom:1rem}#bookly-tbs abbr[data-original-title],#bookly-tbs abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}#bookly-tbs address{margin-bottom:1rem;font-style:normal;line-height:inherit}#bookly-tbs dl,#bookly-tbs ol,#bookly-tbs ul{margin-top:0;margin-bottom:1rem}#bookly-tbs ol ol,#bookly-tbs ol ul,#bookly-tbs ul ol,#bookly-tbs ul ul{margin-bottom:0}#bookly-tbs dt{font-weight:700}#bookly-tbs dd{margin-bottom:.5rem;margin-left:0}#bookly-tbs blockquote{margin:0 0 1rem}#bookly-tbs b,#bookly-tbs strong{font-weight:bolder}#bookly-tbs small{font-size:80%}#bookly-tbs sub,#bookly-tbs sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}#bookly-tbs sub{bottom:-.25em}#bookly-tbs sup{top:-.5em}#bookly-tbs a{color:#007bff;text-decoration:none;background-color:transparent}#bookly-tbs a:hover{color:#0056b3;text-decoration:underline}#bookly-tbs a:not([href]){color:inherit;text-decoration:none}#bookly-tbs a:not([href]):hover{color:inherit;text-decoration:none}#bookly-tbs code,#bookly-tbs kbd,#bookly-tbs pre,#bookly-tbs samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}#bookly-tbs pre{margin-top:0;margin-bottom:1rem;overflow:auto}#bookly-tbs figure{margin:0 0 1rem}#bookly-tbs img{vertical-align:middle;border-style:none}#bookly-tbs svg{overflow:hidden;vertical-align:middle}#bookly-tbs table{border-collapse:collapse}#bookly-tbs caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}#bookly-tbs th{text-align:inherit}#bookly-tbs label{display:inline-block;margin-bottom:.5rem}#bookly-tbs button{border-radius:0}#bookly-tbs button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}#bookly-tbs button,#bookly-tbs input,#bookly-tbs optgroup,#bookly-tbs select,#bookly-tbs textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}#bookly-tbs button,#bookly-tbs input{overflow:visible}#bookly-tbs button,#bookly-tbs select{text-transform:none}#bookly-tbs select{word-wrap:normal}#bookly-tbs [type=button],#bookly-tbs [type=reset],#bookly-tbs [type=submit],#bookly-tbs button{-webkit-appearance:button}#bookly-tbs [type=button]:not(:disabled),#bookly-tbs [type=reset]:not(:disabled),#bookly-tbs [type=submit]:not(:disabled),#bookly-tbs button:not(:disabled){cursor:pointer}#bookly-tbs [type=button]::-moz-focus-inner,#bookly-tbs [type=reset]::-moz-focus-inner,#bookly-tbs [type=submit]::-moz-focus-inner,#bookly-tbs button::-moz-focus-inner{padding:0;border-style:none}#bookly-tbs input[type=checkbox],#bookly-tbs input[type=radio]{box-sizing:border-box;padding:0}#bookly-tbs input[type=date],#bookly-tbs input[type=datetime-local],#bookly-tbs input[type=month],#bookly-tbs input[type=time]{-webkit-appearance:listbox}#bookly-tbs textarea{overflow:auto;resize:vertical}#bookly-tbs fieldset{min-width:0;padding:0;margin:0;border:0}#bookly-tbs legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}#bookly-tbs progress{vertical-align:baseline}#bookly-tbs [type=number]::-webkit-inner-spin-button,#bookly-tbs [type=number]::-webkit-outer-spin-button{height:auto}#bookly-tbs [type=search]{outline-offset:-2px;-webkit-appearance:none}#bookly-tbs [type=search]::-webkit-search-decoration{-webkit-appearance:none}#bookly-tbs ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}#bookly-tbs output{display:inline-block}#bookly-tbs summary{display:list-item;cursor:pointer}#bookly-tbs template{display:none}#bookly-tbs [hidden]{display:none!important}#bookly-tbs .h1,#bookly-tbs .h2,#bookly-tbs .h3,#bookly-tbs .h4,#bookly-tbs .h5,#bookly-tbs .h6,#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}#bookly-tbs .h1,#bookly-tbs h1{font-size:2.5rem}#bookly-tbs .h2,#bookly-tbs h2{font-size:2rem}#bookly-tbs .h3,#bookly-tbs h3{font-size:1.75rem}#bookly-tbs .h4,#bookly-tbs h4{font-size:1.5rem}#bookly-tbs .h5,#bookly-tbs h5{font-size:1.25rem}#bookly-tbs .h6,#bookly-tbs h6{font-size:1rem}#bookly-tbs .lead{font-size:1.25rem;font-weight:300}#bookly-tbs .display-1{font-size:6rem;font-weight:300;line-height:1.2}#bookly-tbs .display-2{font-size:5.5rem;font-weight:300;line-height:1.2}#bookly-tbs .display-3{font-size:4.5rem;font-weight:300;line-height:1.2}#bookly-tbs .display-4{font-size:3.5rem;font-weight:300;line-height:1.2}#bookly-tbs hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}#bookly-tbs .small,#bookly-tbs small{font-size:80%;font-weight:400}#bookly-tbs .mark,#bookly-tbs mark{padding:.2em;background-color:#fcf8e3}#bookly-tbs .list-unstyled{padding-left:0;list-style:none}#bookly-tbs .list-inline{padding-left:0;list-style:none}#bookly-tbs .list-inline-item{display:inline-block}#bookly-tbs .list-inline-item:not(:last-child){margin-right:.5rem}#bookly-tbs .initialism{font-size:90%;text-transform:uppercase}#bookly-tbs .blockquote{margin-bottom:1rem;font-size:1.25rem}#bookly-tbs .blockquote-footer{display:block;font-size:80%;color:#6c757d}#bookly-tbs .blockquote-footer::before{content:"\2014\00A0"}#bookly-tbs .img-fluid{max-width:100%;height:auto}#bookly-tbs .img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}#bookly-tbs .figure{display:inline-block}#bookly-tbs .figure-img{margin-bottom:.5rem;line-height:1}#bookly-tbs .figure-caption{font-size:90%;color:#6c757d}#bookly-tbs code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>#bookly-tbs code{color:inherit}#bookly-tbs kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}#bookly-tbs kbd kbd{padding:0;font-size:100%;font-weight:700}#bookly-tbs pre{display:block;font-size:87.5%;color:#212529}#bookly-tbs pre code{font-size:inherit;color:inherit;word-break:normal}#bookly-tbs .pre-scrollable{max-height:340px;overflow-y:scroll}#bookly-tbs .container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){#bookly-tbs .container{max-width:540px}}@media (min-width:768px){#bookly-tbs .container{max-width:720px}}@media (min-width:992px){#bookly-tbs .container{max-width:960px}}@media (min-width:1200px){#bookly-tbs .container{max-width:1140px}}#bookly-tbs .container-fluid,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm,#bookly-tbs .container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){#bookly-tbs .container,#bookly-tbs .container-sm{max-width:540px}}@media (min-width:768px){#bookly-tbs .container,#bookly-tbs .container-md,#bookly-tbs .container-sm{max-width:720px}}@media (min-width:992px){#bookly-tbs .container,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm{max-width:960px}}@media (min-width:1200px){#bookly-tbs .container,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm,#bookly-tbs .container-xl{max-width:1140px}}#bookly-tbs .jCal-wrap,#bookly-tbs .row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}#bookly-tbs .no-gutters{margin-right:0;margin-left:0}#bookly-tbs .no-gutters>.col,#bookly-tbs .no-gutters>[class*=col-]{padding-right:0;padding-left:0}#bookly-tbs .col,#bookly-tbs .col-1,#bookly-tbs .col-10,#bookly-tbs .col-11,#bookly-tbs .col-12,#bookly-tbs .col-2,#bookly-tbs .col-3,#bookly-tbs .col-4,#bookly-tbs .col-5,#bookly-tbs .col-6,#bookly-tbs .col-7,#bookly-tbs .col-8,#bookly-tbs .col-9,#bookly-tbs .col-auto,#bookly-tbs .col-lg,#bookly-tbs .col-lg-1,#bookly-tbs .col-lg-10,#bookly-tbs .col-lg-11,#bookly-tbs .col-lg-12,#bookly-tbs .col-lg-2,#bookly-tbs .col-lg-3,#bookly-tbs .col-lg-4,#bookly-tbs .col-lg-5,#bookly-tbs .col-lg-6,#bookly-tbs .col-lg-7,#bookly-tbs .col-lg-8,#bookly-tbs .col-lg-9,#bookly-tbs .col-lg-auto,#bookly-tbs .col-md,#bookly-tbs .col-md-1,#bookly-tbs .col-md-10,#bookly-tbs .col-md-11,#bookly-tbs .col-md-12,#bookly-tbs .col-md-2,#bookly-tbs .col-md-3,#bookly-tbs .col-md-4,#bookly-tbs .col-md-5,#bookly-tbs .col-md-6,#bookly-tbs .col-md-7,#bookly-tbs .col-md-8,#bookly-tbs .col-md-9,#bookly-tbs .col-md-auto,#bookly-tbs .col-sm,#bookly-tbs .col-sm-1,#bookly-tbs .col-sm-10,#bookly-tbs .col-sm-11,#bookly-tbs .col-sm-12,#bookly-tbs .col-sm-2,#bookly-tbs .col-sm-3,#bookly-tbs .col-sm-4,#bookly-tbs .col-sm-5,#bookly-tbs .col-sm-6,#bookly-tbs .col-sm-7,#bookly-tbs .col-sm-8,#bookly-tbs .col-sm-9,#bookly-tbs .col-sm-auto,#bookly-tbs .col-xl,#bookly-tbs .col-xl-1,#bookly-tbs .col-xl-10,#bookly-tbs .col-xl-11,#bookly-tbs .col-xl-12,#bookly-tbs .col-xl-2,#bookly-tbs .col-xl-3,#bookly-tbs .col-xl-4,#bookly-tbs .col-xl-5,#bookly-tbs .col-xl-6,#bookly-tbs .col-xl-7,#bookly-tbs .col-xl-8,#bookly-tbs .col-xl-9,#bookly-tbs .col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}#bookly-tbs .col{flex-basis:0;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-1>*{flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-2>*{flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-4>*{flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-5>*{flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-auto{flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-1{flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-2{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-3{flex:0 0 25%;max-width:25%}#bookly-tbs .col-4{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-5{flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-6{flex:0 0 50%;max-width:50%}#bookly-tbs .col-7{flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-8{flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-9{flex:0 0 75%;max-width:75%}#bookly-tbs .col-10{flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-11{flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-12{flex:0 0 100%;max-width:100%}#bookly-tbs .order-first{order:-1}#bookly-tbs .order-last{order:13}#bookly-tbs .order-0{order:0}#bookly-tbs .order-1{order:1}#bookly-tbs .order-2{order:2}#bookly-tbs .order-3{order:3}#bookly-tbs .order-4{order:4}#bookly-tbs .order-5{order:5}#bookly-tbs .order-6{order:6}#bookly-tbs .order-7{order:7}#bookly-tbs .order-8{order:8}#bookly-tbs .order-9{order:9}#bookly-tbs .order-10{order:10}#bookly-tbs .order-11{order:11}#bookly-tbs .order-12{order:12}#bookly-tbs .offset-1{margin-left:8.333333%}#bookly-tbs .offset-2{margin-left:16.666667%}#bookly-tbs .offset-3{margin-left:25%}#bookly-tbs .offset-4{margin-left:33.333333%}#bookly-tbs .offset-5{margin-left:41.666667%}#bookly-tbs .offset-6{margin-left:50%}#bookly-tbs .offset-7{margin-left:58.333333%}#bookly-tbs .offset-8{margin-left:66.666667%}#bookly-tbs .offset-9{margin-left:75%}#bookly-tbs .offset-10{margin-left:83.333333%}#bookly-tbs .offset-11{margin-left:91.666667%}@media (min-width:576px){#bookly-tbs .col-sm{flex-basis:0;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-sm-1>*{flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-sm-2>*{flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-sm-4>*{flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-sm-5>*{flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-sm-3{flex:0 0 25%;max-width:25%}#bookly-tbs .col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-sm-6{flex:0 0 50%;max-width:50%}#bookly-tbs .col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-sm-9{flex:0 0 75%;max-width:75%}#bookly-tbs .col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-sm-12{flex:0 0 100%;max-width:100%}#bookly-tbs .order-sm-first{order:-1}#bookly-tbs .order-sm-last{order:13}#bookly-tbs .order-sm-0{order:0}#bookly-tbs .order-sm-1{order:1}#bookly-tbs .order-sm-2{order:2}#bookly-tbs .order-sm-3{order:3}#bookly-tbs .order-sm-4{order:4}#bookly-tbs .order-sm-5{order:5}#bookly-tbs .order-sm-6{order:6}#bookly-tbs .order-sm-7{order:7}#bookly-tbs .order-sm-8{order:8}#bookly-tbs .order-sm-9{order:9}#bookly-tbs .order-sm-10{order:10}#bookly-tbs .order-sm-11{order:11}#bookly-tbs .order-sm-12{order:12}#bookly-tbs .offset-sm-0{margin-left:0}#bookly-tbs .offset-sm-1{margin-left:8.333333%}#bookly-tbs .offset-sm-2{margin-left:16.666667%}#bookly-tbs .offset-sm-3{margin-left:25%}#bookly-tbs .offset-sm-4{margin-left:33.333333%}#bookly-tbs .offset-sm-5{margin-left:41.666667%}#bookly-tbs .offset-sm-6{margin-left:50%}#bookly-tbs .offset-sm-7{margin-left:58.333333%}#bookly-tbs .offset-sm-8{margin-left:66.666667%}#bookly-tbs .offset-sm-9{margin-left:75%}#bookly-tbs .offset-sm-10{margin-left:83.333333%}#bookly-tbs .offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){#bookly-tbs .col-md{flex-basis:0;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-md-1>*{flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-md-2>*{flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-md-4>*{flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-md-5>*{flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-md-auto{flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-md-1{flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-md-2{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-md-3{flex:0 0 25%;max-width:25%}#bookly-tbs .col-md-4{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-md-5{flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-md-6{flex:0 0 50%;max-width:50%}#bookly-tbs .col-md-7{flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-md-8{flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-md-9{flex:0 0 75%;max-width:75%}#bookly-tbs .col-md-10{flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-md-11{flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-md-12{flex:0 0 100%;max-width:100%}#bookly-tbs .order-md-first{order:-1}#bookly-tbs .order-md-last{order:13}#bookly-tbs .order-md-0{order:0}#bookly-tbs .order-md-1{order:1}#bookly-tbs .order-md-2{order:2}#bookly-tbs .order-md-3{order:3}#bookly-tbs .order-md-4{order:4}#bookly-tbs .order-md-5{order:5}#bookly-tbs .order-md-6{order:6}#bookly-tbs .order-md-7{order:7}#bookly-tbs .order-md-8{order:8}#bookly-tbs .order-md-9{order:9}#bookly-tbs .order-md-10{order:10}#bookly-tbs .order-md-11{order:11}#bookly-tbs .order-md-12{order:12}#bookly-tbs .offset-md-0{margin-left:0}#bookly-tbs .offset-md-1{margin-left:8.333333%}#bookly-tbs .offset-md-2{margin-left:16.666667%}#bookly-tbs .offset-md-3{margin-left:25%}#bookly-tbs .offset-md-4{margin-left:33.333333%}#bookly-tbs .offset-md-5{margin-left:41.666667%}#bookly-tbs .offset-md-6{margin-left:50%}#bookly-tbs .offset-md-7{margin-left:58.333333%}#bookly-tbs .offset-md-8{margin-left:66.666667%}#bookly-tbs .offset-md-9{margin-left:75%}#bookly-tbs .offset-md-10{margin-left:83.333333%}#bookly-tbs .offset-md-11{margin-left:91.666667%}}@media (min-width:992px){#bookly-tbs .col-lg{flex-basis:0;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-lg-1>*{flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-lg-2>*{flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-lg-4>*{flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-lg-5>*{flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-lg-3{flex:0 0 25%;max-width:25%}#bookly-tbs .col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-lg-6{flex:0 0 50%;max-width:50%}#bookly-tbs .col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-lg-9{flex:0 0 75%;max-width:75%}#bookly-tbs .col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-lg-12{flex:0 0 100%;max-width:100%}#bookly-tbs .order-lg-first{order:-1}#bookly-tbs .order-lg-last{order:13}#bookly-tbs .order-lg-0{order:0}#bookly-tbs .order-lg-1{order:1}#bookly-tbs .order-lg-2{order:2}#bookly-tbs .order-lg-3{order:3}#bookly-tbs .order-lg-4{order:4}#bookly-tbs .order-lg-5{order:5}#bookly-tbs .order-lg-6{order:6}#bookly-tbs .order-lg-7{order:7}#bookly-tbs .order-lg-8{order:8}#bookly-tbs .order-lg-9{order:9}#bookly-tbs .order-lg-10{order:10}#bookly-tbs .order-lg-11{order:11}#bookly-tbs .order-lg-12{order:12}#bookly-tbs .offset-lg-0{margin-left:0}#bookly-tbs .offset-lg-1{margin-left:8.333333%}#bookly-tbs .offset-lg-2{margin-left:16.666667%}#bookly-tbs .offset-lg-3{margin-left:25%}#bookly-tbs .offset-lg-4{margin-left:33.333333%}#bookly-tbs .offset-lg-5{margin-left:41.666667%}#bookly-tbs .offset-lg-6{margin-left:50%}#bookly-tbs .offset-lg-7{margin-left:58.333333%}#bookly-tbs .offset-lg-8{margin-left:66.666667%}#bookly-tbs .offset-lg-9{margin-left:75%}#bookly-tbs .offset-lg-10{margin-left:83.333333%}#bookly-tbs .offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){#bookly-tbs .col-xl{flex-basis:0;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-xl-1>*{flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-xl-2>*{flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-xl-4>*{flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-xl-5>*{flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-xl-3{flex:0 0 25%;max-width:25%}#bookly-tbs .col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-xl-6{flex:0 0 50%;max-width:50%}#bookly-tbs .col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-xl-9{flex:0 0 75%;max-width:75%}#bookly-tbs .col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-xl-12{flex:0 0 100%;max-width:100%}#bookly-tbs .order-xl-first{order:-1}#bookly-tbs .order-xl-last{order:13}#bookly-tbs .order-xl-0{order:0}#bookly-tbs .order-xl-1{order:1}#bookly-tbs .order-xl-2{order:2}#bookly-tbs .order-xl-3{order:3}#bookly-tbs .order-xl-4{order:4}#bookly-tbs .order-xl-5{order:5}#bookly-tbs .order-xl-6{order:6}#bookly-tbs .order-xl-7{order:7}#bookly-tbs .order-xl-8{order:8}#bookly-tbs .order-xl-9{order:9}#bookly-tbs .order-xl-10{order:10}#bookly-tbs .order-xl-11{order:11}#bookly-tbs .order-xl-12{order:12}#bookly-tbs .offset-xl-0{margin-left:0}#bookly-tbs .offset-xl-1{margin-left:8.333333%}#bookly-tbs .offset-xl-2{margin-left:16.666667%}#bookly-tbs .offset-xl-3{margin-left:25%}#bookly-tbs .offset-xl-4{margin-left:33.333333%}#bookly-tbs .offset-xl-5{margin-left:41.666667%}#bookly-tbs .offset-xl-6{margin-left:50%}#bookly-tbs .offset-xl-7{margin-left:58.333333%}#bookly-tbs .offset-xl-8{margin-left:66.666667%}#bookly-tbs .offset-xl-9{margin-left:75%}#bookly-tbs .offset-xl-10{margin-left:83.333333%}#bookly-tbs .offset-xl-11{margin-left:91.666667%}}#bookly-tbs .table{width:100%;margin-bottom:1rem;color:#212529}#bookly-tbs .table td,#bookly-tbs .table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}#bookly-tbs .table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}#bookly-tbs .table tbody+tbody{border-top:2px solid #dee2e6}#bookly-tbs .table-sm td,#bookly-tbs .table-sm th{padding:.3rem}#bookly-tbs .table-bordered{border:1px solid #dee2e6}#bookly-tbs .table-bordered td,#bookly-tbs .table-bordered th{border:1px solid #dee2e6}#bookly-tbs .table-bordered thead td,#bookly-tbs .table-bordered thead th{border-bottom-width:2px}#bookly-tbs .table-borderless tbody+tbody,#bookly-tbs .table-borderless td,#bookly-tbs .table-borderless th,#bookly-tbs .table-borderless thead th{border:0}#bookly-tbs .table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}#bookly-tbs .table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}#bookly-tbs .table-primary,#bookly-tbs .table-primary>td,#bookly-tbs .table-primary>th{background-color:#b8daff}#bookly-tbs .table-primary tbody+tbody,#bookly-tbs .table-primary td,#bookly-tbs .table-primary th,#bookly-tbs .table-primary thead th{border-color:#7abaff}#bookly-tbs .table-hover .table-primary:hover{background-color:#9fcdff}#bookly-tbs .table-hover .table-primary:hover>td,#bookly-tbs .table-hover .table-primary:hover>th{background-color:#9fcdff}#bookly-tbs .table-secondary,#bookly-tbs .table-secondary>td,#bookly-tbs .table-secondary>th{background-color:#d6d8db}#bookly-tbs .table-secondary tbody+tbody,#bookly-tbs .table-secondary td,#bookly-tbs .table-secondary th,#bookly-tbs .table-secondary thead th{border-color:#b3b7bb}#bookly-tbs .table-hover .table-secondary:hover{background-color:#c8cbcf}#bookly-tbs .table-hover .table-secondary:hover>td,#bookly-tbs .table-hover .table-secondary:hover>th{background-color:#c8cbcf}#bookly-tbs .table-success,#bookly-tbs .table-success>td,#bookly-tbs .table-success>th{background-color:#c3e6cb}#bookly-tbs .table-success tbody+tbody,#bookly-tbs .table-success td,#bookly-tbs .table-success th,#bookly-tbs .table-success thead th{border-color:#8fd19e}#bookly-tbs .table-hover .table-success:hover{background-color:#b1dfbb}#bookly-tbs .table-hover .table-success:hover>td,#bookly-tbs .table-hover .table-success:hover>th{background-color:#b1dfbb}#bookly-tbs .table-info,#bookly-tbs .table-info>td,#bookly-tbs .table-info>th{background-color:#bee5eb}#bookly-tbs .table-info tbody+tbody,#bookly-tbs .table-info td,#bookly-tbs .table-info th,#bookly-tbs .table-info thead th{border-color:#86cfda}#bookly-tbs .table-hover .table-info:hover{background-color:#abdde5}#bookly-tbs .table-hover .table-info:hover>td,#bookly-tbs .table-hover .table-info:hover>th{background-color:#abdde5}#bookly-tbs .table-warning,#bookly-tbs .table-warning>td,#bookly-tbs .table-warning>th{background-color:#ffeeba}#bookly-tbs .table-warning tbody+tbody,#bookly-tbs .table-warning td,#bookly-tbs .table-warning th,#bookly-tbs .table-warning thead th{border-color:#ffdf7e}#bookly-tbs .table-hover .table-warning:hover{background-color:#ffe8a1}#bookly-tbs .table-hover .table-warning:hover>td,#bookly-tbs .table-hover .table-warning:hover>th{background-color:#ffe8a1}#bookly-tbs .table-danger,#bookly-tbs .table-danger>td,#bookly-tbs .table-danger>th{background-color:#f5c6cb}#bookly-tbs .table-danger tbody+tbody,#bookly-tbs .table-danger td,#bookly-tbs .table-danger th,#bookly-tbs .table-danger thead th{border-color:#ed969e}#bookly-tbs .table-hover .table-danger:hover{background-color:#f1b0b7}#bookly-tbs .table-hover .table-danger:hover>td,#bookly-tbs .table-hover .table-danger:hover>th{background-color:#f1b0b7}#bookly-tbs .table-light,#bookly-tbs .table-light>td,#bookly-tbs .table-light>th{background-color:#fdfdfe}#bookly-tbs .table-light tbody+tbody,#bookly-tbs .table-light td,#bookly-tbs .table-light th,#bookly-tbs .table-light thead th{border-color:#fbfcfc}#bookly-tbs .table-hover .table-light:hover{background-color:#ececf6}#bookly-tbs .table-hover .table-light:hover>td,#bookly-tbs .table-hover .table-light:hover>th{background-color:#ececf6}#bookly-tbs .table-dark,#bookly-tbs .table-dark>td,#bookly-tbs .table-dark>th{background-color:#c6c8ca}#bookly-tbs .table-dark tbody+tbody,#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#95999c}#bookly-tbs .table-hover .table-dark:hover{background-color:#b9bbbe}#bookly-tbs .table-hover .table-dark:hover>td,#bookly-tbs .table-hover .table-dark:hover>th{background-color:#b9bbbe}#bookly-tbs .table-active,#bookly-tbs .table-active>td,#bookly-tbs .table-active>th{background-color:rgba(0,0,0,.075)}#bookly-tbs .table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}#bookly-tbs .table-hover .table-active:hover>td,#bookly-tbs .table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}#bookly-tbs .table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}#bookly-tbs .table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}#bookly-tbs .table-dark{color:#fff;background-color:#343a40}#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#454d55}#bookly-tbs .table-dark.table-bordered{border:0}#bookly-tbs .table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}#bookly-tbs .table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){#bookly-tbs .table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){#bookly-tbs .table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){#bookly-tbs .table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){#bookly-tbs .table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-xl>.table-bordered{border:0}}#bookly-tbs .table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive>.table-bordered{border:0}#bookly-tbs .form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .form-control{transition:none}}#bookly-tbs .form-control::-ms-expand{background-color:transparent;border:0}#bookly-tbs .form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}#bookly-tbs .form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .form-control::-moz-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control:-ms-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::-ms-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control:disabled,#bookly-tbs .form-control[readonly]{background-color:#e9ecef;opacity:1}#bookly-tbs select.form-control:focus::-ms-value{color:#495057;background-color:#fff}#bookly-tbs .form-control-file,#bookly-tbs .form-control-range{display:block;width:100%}#bookly-tbs .col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}#bookly-tbs .col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}#bookly-tbs .col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}#bookly-tbs .form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}#bookly-tbs .form-control-plaintext.form-control-lg,#bookly-tbs .form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}#bookly-tbs .form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs select.form-control[multiple],#bookly-tbs select.form-control[size]{height:auto}#bookly-tbs textarea.form-control{height:auto}#bookly-tbs .form-group{margin-bottom:1rem}#bookly-tbs .form-text{display:block;margin-top:.25rem}#bookly-tbs .form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}#bookly-tbs .form-row>.col,#bookly-tbs .form-row>[class*=col-]{padding-right:5px;padding-left:5px}#bookly-tbs .form-check{position:relative;display:block;padding-left:1.25rem}#bookly-tbs .form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}#bookly-tbs .form-check-input:disabled~.form-check-label,#bookly-tbs .form-check-input[disabled]~.form-check-label{color:#6c757d}#bookly-tbs .form-check-label{margin-bottom:0}#bookly-tbs .form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}#bookly-tbs .form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}#bookly-tbs .valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}#bookly-tbs .valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}#bookly-tbs.is-valid~.valid-feedback,#bookly-tbs.is-valid~.valid-tooltip,.was-validated #bookly-tbs:valid~.valid-feedback,.was-validated #bookly-tbs:valid~.valid-tooltip{display:block}#bookly-tbs .form-control.is-valid,.was-validated #bookly-tbs .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .form-control.is-valid:focus,.was-validated #bookly-tbs .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs textarea.form-control.is-valid,.was-validated #bookly-tbs textarea.form-control:valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}#bookly-tbs .custom-select.is-valid,.was-validated #bookly-tbs .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .custom-select.is-valid:focus,.was-validated #bookly-tbs .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .form-check-input.is-valid~.form-check-label,.was-validated #bookly-tbs .form-check-input:valid~.form-check-label{color:#28a745}#bookly-tbs .form-check-input.is-valid~.valid-feedback,#bookly-tbs .form-check-input.is-valid~.valid-tooltip,.was-validated #bookly-tbs .form-check-input:valid~.valid-feedback,.was-validated #bookly-tbs .form-check-input:valid~.valid-tooltip{display:block}#bookly-tbs .custom-control-input.is-valid~.custom-control-label,.was-validated #bookly-tbs .custom-control-input:valid~.custom-control-label{color:#28a745}#bookly-tbs .custom-control-input.is-valid~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}#bookly-tbs .custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}#bookly-tbs .custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}#bookly-tbs .custom-file-input.is-valid~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:valid~.custom-file-label{border-color:#28a745}#bookly-tbs .custom-file-input.is-valid:focus~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}#bookly-tbs .invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}#bookly-tbs.is-invalid~.invalid-feedback,#bookly-tbs.is-invalid~.invalid-tooltip,.was-validated #bookly-tbs:invalid~.invalid-feedback,.was-validated #bookly-tbs:invalid~.invalid-tooltip{display:block}#bookly-tbs .form-control.is-invalid,.was-validated #bookly-tbs .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .form-control.is-invalid:focus,.was-validated #bookly-tbs .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs textarea.form-control.is-invalid,.was-validated #bookly-tbs textarea.form-control:invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}#bookly-tbs .custom-select.is-invalid,.was-validated #bookly-tbs .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .custom-select.is-invalid:focus,.was-validated #bookly-tbs .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .form-check-input.is-invalid~.form-check-label,.was-validated #bookly-tbs .form-check-input:invalid~.form-check-label{color:#dc3545}#bookly-tbs .form-check-input.is-invalid~.invalid-feedback,#bookly-tbs .form-check-input.is-invalid~.invalid-tooltip,.was-validated #bookly-tbs .form-check-input:invalid~.invalid-feedback,.was-validated #bookly-tbs .form-check-input:invalid~.invalid-tooltip{display:block}#bookly-tbs .custom-control-input.is-invalid~.custom-control-label,.was-validated #bookly-tbs .custom-control-input:invalid~.custom-control-label{color:#dc3545}#bookly-tbs .custom-control-input.is-invalid~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}#bookly-tbs .custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}#bookly-tbs .custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}#bookly-tbs .custom-file-input.is-invalid~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}#bookly-tbs .custom-file-input.is-invalid:focus~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .form-inline{display:flex;flex-flow:row wrap;align-items:center}#bookly-tbs .form-inline .form-check{width:100%}@media (min-width:576px){#bookly-tbs .form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}#bookly-tbs .form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}#bookly-tbs .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}#bookly-tbs .form-inline .form-control-plaintext{display:inline-block}#bookly-tbs .form-inline .custom-select,#bookly-tbs .form-inline .input-group{width:auto}#bookly-tbs .form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}#bookly-tbs .form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}#bookly-tbs .form-inline .custom-control{align-items:center;justify-content:center}#bookly-tbs .form-inline .custom-control-label{margin-bottom:0}}#bookly-tbs .btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .btn{transition:none}}#bookly-tbs .btn:hover{color:#212529;text-decoration:none}#bookly-tbs .btn.focus,#bookly-tbs .btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .btn.disabled,#bookly-tbs .btn:disabled{opacity:.65}#bookly-tbs a.btn.disabled,#bookly-tbs fieldset:disabled a.btn{pointer-events:none}#bookly-tbs .btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}#bookly-tbs .btn-primary.focus,#bookly-tbs .btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}#bookly-tbs .btn-primary.disabled,#bookly-tbs .btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-primary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}#bookly-tbs .btn-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}#bookly-tbs .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}#bookly-tbs .btn-secondary.focus,#bookly-tbs .btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}#bookly-tbs .btn-secondary.disabled,#bookly-tbs .btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-secondary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-secondary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}#bookly-tbs .btn-secondary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-secondary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}#bookly-tbs .btn-success,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-success:hover,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:hover{color:#fff;background-color:#218838;border-color:#1e7e34}#bookly-tbs .btn-success.focus,#bookly-tbs .btn-success:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .focus.btn-primary{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}#bookly-tbs .btn-success.disabled,#bookly-tbs .btn-success:disabled,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:disabled,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .disabled.btn-primary{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-success:not(:disabled):not(.disabled).active,#bookly-tbs .btn-success:not(:disabled):not(.disabled):active,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled).active,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-success.dropdown-toggle,.show>#bookly-tbs .daterangepicker.show-calendar .drp-buttons .dropdown-toggle.btn-primary{color:#fff;background-color:#1e7e34;border-color:#1c7430}#bookly-tbs .btn-success:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-success:not(:disabled):not(.disabled):active:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-success.dropdown-toggle:focus,.show>#bookly-tbs .daterangepicker.show-calendar .drp-buttons .dropdown-toggle.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}#bookly-tbs .btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}#bookly-tbs .btn-info.focus,#bookly-tbs .btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}#bookly-tbs .btn-info.disabled,#bookly-tbs .btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-info:not(:disabled):not(.disabled).active,#bookly-tbs .btn-info:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}#bookly-tbs .btn-info:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-info:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}#bookly-tbs .btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}#bookly-tbs .btn-warning.focus,#bookly-tbs .btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}#bookly-tbs .btn-warning.disabled,#bookly-tbs .btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-warning:not(:disabled):not(.disabled).active,#bookly-tbs .btn-warning:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}#bookly-tbs .btn-warning:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-warning:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}#bookly-tbs .btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}#bookly-tbs .btn-danger.focus,#bookly-tbs .btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}#bookly-tbs .btn-danger.disabled,#bookly-tbs .btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-danger:not(:disabled):not(.disabled).active,#bookly-tbs .btn-danger:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}#bookly-tbs .btn-danger:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-danger:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}#bookly-tbs .btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}#bookly-tbs .btn-light.focus,#bookly-tbs .btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}#bookly-tbs .btn-light.disabled,#bookly-tbs .btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-light:not(:disabled):not(.disabled).active,#bookly-tbs .btn-light:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}#bookly-tbs .btn-light:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-light:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}#bookly-tbs .btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}#bookly-tbs .btn-dark.focus,#bookly-tbs .btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}#bookly-tbs .btn-dark.disabled,#bookly-tbs .btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-dark:not(:disabled):not(.disabled).active,#bookly-tbs .btn-dark:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}#bookly-tbs .btn-dark:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-dark:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}#bookly-tbs .btn-outline-primary{color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary.focus,#bookly-tbs .btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .btn-outline-primary.disabled,#bookly-tbs .btn-outline-primary:disabled{color:#007bff;background-color:transparent}#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .btn-outline-secondary{color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary.focus,#bookly-tbs .btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .btn-outline-secondary.disabled,#bookly-tbs .btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .btn-outline-success{color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success.focus,#bookly-tbs .btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .btn-outline-success.disabled,#bookly-tbs .btn-outline-success:disabled{color:#28a745;background-color:transparent}#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .btn-outline-info{color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info.focus,#bookly-tbs .btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .btn-outline-info.disabled,#bookly-tbs .btn-outline-info:disabled{color:#17a2b8;background-color:transparent}#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .btn-outline-warning{color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning.focus,#bookly-tbs .btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .btn-outline-warning.disabled,#bookly-tbs .btn-outline-warning:disabled{color:#ffc107;background-color:transparent}#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .btn-outline-danger{color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger.focus,#bookly-tbs .btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .btn-outline-danger.disabled,#bookly-tbs .btn-outline-danger:disabled{color:#dc3545;background-color:transparent}#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light.focus,#bookly-tbs .btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .btn-outline-light.disabled,#bookly-tbs .btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .btn-outline-dark{color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark.focus,#bookly-tbs .btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .btn-outline-dark.disabled,#bookly-tbs .btn-outline-dark:disabled{color:#343a40;background-color:transparent}#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .btn-link{font-weight:400;color:#007bff;text-decoration:none}#bookly-tbs .btn-link:hover{color:#0056b3;text-decoration:underline}#bookly-tbs .btn-link.focus,#bookly-tbs .btn-link:focus{text-decoration:underline;box-shadow:none}#bookly-tbs .btn-link.disabled,#bookly-tbs .btn-link:disabled{color:#6c757d;pointer-events:none}#bookly-tbs .btn-group-lg>.btn,#bookly-tbs .btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs .btn-group-sm>.btn,#bookly-tbs .btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .btn-block{display:block;width:100%}#bookly-tbs .btn-block+.btn-block{margin-top:.5rem}#bookly-tbs input[type=button].btn-block,#bookly-tbs input[type=reset].btn-block,#bookly-tbs input[type=submit].btn-block{width:100%}#bookly-tbs .fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){#bookly-tbs .fade{transition:none}}#bookly-tbs .fade:not(.show){opacity:0}#bookly-tbs .collapse:not(.show){display:none}#bookly-tbs .collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .collapsing{transition:none}}#bookly-tbs .dropdown,#bookly-tbs .dropleft,#bookly-tbs .dropright,#bookly-tbs .dropup{position:relative}#bookly-tbs .dropdown-toggle{white-space:nowrap}#bookly-tbs .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}#bookly-tbs .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}#bookly-tbs .dropdown-menu-left{right:auto;left:0}#bookly-tbs .dropdown-menu-right{right:0;left:auto}@media (min-width:576px){#bookly-tbs .dropdown-menu-sm-left{right:auto;left:0}#bookly-tbs .dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){#bookly-tbs .dropdown-menu-md-left{right:auto;left:0}#bookly-tbs .dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){#bookly-tbs .dropdown-menu-lg-left{right:auto;left:0}#bookly-tbs .dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){#bookly-tbs .dropdown-menu-xl-left{right:auto;left:0}#bookly-tbs .dropdown-menu-xl-right{right:0;left:auto}}#bookly-tbs .dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}#bookly-tbs .dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}#bookly-tbs .dropup .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}#bookly-tbs .dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}#bookly-tbs .dropright .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropright .dropdown-toggle::after{vertical-align:0}#bookly-tbs .dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}#bookly-tbs .dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}#bookly-tbs .dropleft .dropdown-toggle::after{display:none}#bookly-tbs .dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}#bookly-tbs .dropleft .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropleft .dropdown-toggle::before{vertical-align:0}#bookly-tbs .dropdown-menu[x-placement^=bottom],#bookly-tbs .dropdown-menu[x-placement^=left],#bookly-tbs .dropdown-menu[x-placement^=right],#bookly-tbs .dropdown-menu[x-placement^=top]{right:auto;bottom:auto}#bookly-tbs .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}#bookly-tbs .dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}#bookly-tbs .dropdown-item:focus,#bookly-tbs .dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .dropdown-item.active,#bookly-tbs .dropdown-item:active{color:#16181b;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .dropdown-item.disabled,#bookly-tbs .dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}#bookly-tbs .dropdown-menu.show{display:block}#bookly-tbs .dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}#bookly-tbs .dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}#bookly-tbs .btn-group,#bookly-tbs .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group>.btn{position:relative;flex:1 1 auto}#bookly-tbs .btn-group-vertical>.btn:hover,#bookly-tbs .btn-group>.btn:hover{z-index:1}#bookly-tbs .btn-group-vertical>.btn.active,#bookly-tbs .btn-group-vertical>.btn:active,#bookly-tbs .btn-group-vertical>.btn:focus,#bookly-tbs .btn-group>.btn.active,#bookly-tbs .btn-group>.btn:active,#bookly-tbs .btn-group>.btn:focus{z-index:1}#bookly-tbs .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}#bookly-tbs .btn-toolbar .input-group{width:auto}#bookly-tbs .btn-group>.btn-group:not(:first-child),#bookly-tbs .btn-group>.btn:not(:first-child){margin-left:-1px}#bookly-tbs .btn-group>.btn-group:not(:last-child)>.btn,#bookly-tbs .btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .btn-group>.btn-group:not(:first-child)>.btn,#bookly-tbs .btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}#bookly-tbs .dropdown-toggle-split::after,.dropright #bookly-tbs .dropdown-toggle-split::after,.dropup #bookly-tbs .dropdown-toggle-split::after{margin-left:0}.dropleft #bookly-tbs .dropdown-toggle-split::before{margin-right:0}#bookly-tbs .btn-group-sm>.btn+.dropdown-toggle-split,#bookly-tbs .btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}#bookly-tbs .btn-group-lg>.btn+.dropdown-toggle-split,#bookly-tbs .btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}#bookly-tbs .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group-vertical>.btn-group{width:100%}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child),#bookly-tbs .btn-group-vertical>.btn:not(:first-child){margin-top:-1px}#bookly-tbs .btn-group-vertical>.btn-group:not(:last-child)>.btn,#bookly-tbs .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child)>.btn,#bookly-tbs .btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .btn-group-toggle>.btn,#bookly-tbs .btn-group-toggle>.btn-group>.btn{margin-bottom:0}#bookly-tbs .btn-group-toggle>.btn input[type=checkbox],#bookly-tbs .btn-group-toggle>.btn input[type=radio],#bookly-tbs .btn-group-toggle>.btn-group>.btn input[type=checkbox],#bookly-tbs .btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}#bookly-tbs .input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}#bookly-tbs .input-group>.custom-file,#bookly-tbs .input-group>.custom-select,#bookly-tbs .input-group>.form-control,#bookly-tbs .input-group>.form-control-plaintext{position:relative;flex:1 1 0%;min-width:0;margin-bottom:0}#bookly-tbs .input-group>.custom-file+.custom-file,#bookly-tbs .input-group>.custom-file+.custom-select,#bookly-tbs .input-group>.custom-file+.form-control,#bookly-tbs .input-group>.custom-select+.custom-file,#bookly-tbs .input-group>.custom-select+.custom-select,#bookly-tbs .input-group>.custom-select+.form-control,#bookly-tbs .input-group>.form-control+.custom-file,#bookly-tbs .input-group>.form-control+.custom-select,#bookly-tbs .input-group>.form-control+.form-control,#bookly-tbs .input-group>.form-control-plaintext+.custom-file,#bookly-tbs .input-group>.form-control-plaintext+.custom-select,#bookly-tbs .input-group>.form-control-plaintext+.form-control{margin-left:-1px}#bookly-tbs .input-group>.custom-file .custom-file-input:focus~.custom-file-label,#bookly-tbs .input-group>.custom-select:focus,#bookly-tbs .input-group>.form-control:focus{z-index:3}#bookly-tbs .input-group>.custom-file .custom-file-input:focus{z-index:4}#bookly-tbs .input-group>.custom-select:not(:last-child),#bookly-tbs .input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.custom-select:not(:first-child),#bookly-tbs .input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group>.custom-file{display:flex;align-items:center}#bookly-tbs .input-group>.custom-file:not(:last-child) .custom-file-label,#bookly-tbs .input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group-append,#bookly-tbs .input-group-prepend{display:flex}#bookly-tbs .input-group-append .btn,#bookly-tbs .input-group-prepend .btn{position:relative;z-index:2}#bookly-tbs .input-group-append .btn:focus,#bookly-tbs .input-group-prepend .btn:focus{z-index:3}#bookly-tbs .input-group-append .btn+.btn,#bookly-tbs .input-group-append .btn+.input-group-text,#bookly-tbs .input-group-append .input-group-text+.btn,#bookly-tbs .input-group-append .input-group-text+.input-group-text,#bookly-tbs .input-group-prepend .btn+.btn,#bookly-tbs .input-group-prepend .btn+.input-group-text,#bookly-tbs .input-group-prepend .input-group-text+.btn,#bookly-tbs .input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}#bookly-tbs .input-group-prepend{margin-right:-1px}#bookly-tbs .input-group-append{margin-left:-1px}#bookly-tbs .input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .input-group-text input[type=checkbox],#bookly-tbs .input-group-text input[type=radio]{margin-top:0}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-lg>.form-control,#bookly-tbs .input-group-lg>.input-group-append>.btn,#bookly-tbs .input-group-lg>.input-group-append>.input-group-text,#bookly-tbs .input-group-lg>.input-group-prepend>.btn,#bookly-tbs .input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs .input-group-sm>.custom-select,#bookly-tbs .input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}#bookly-tbs .input-group-sm>.custom-select,#bookly-tbs .input-group-sm>.form-control,#bookly-tbs .input-group-sm>.input-group-append>.btn,#bookly-tbs .input-group-sm>.input-group-append>.input-group-text,#bookly-tbs .input-group-sm>.input-group-prepend>.btn,#bookly-tbs .input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-sm>.custom-select{padding-right:1.75rem}#bookly-tbs .input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .input-group>.input-group-append:last-child>.input-group-text:not(:last-child),#bookly-tbs .input-group>.input-group-append:not(:last-child)>.btn,#bookly-tbs .input-group>.input-group-append:not(:last-child)>.input-group-text,#bookly-tbs .input-group>.input-group-prepend>.btn,#bookly-tbs .input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.input-group-append>.btn,#bookly-tbs .input-group>.input-group-append>.input-group-text,#bookly-tbs .input-group>.input-group-prepend:first-child>.btn:not(:first-child),#bookly-tbs .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),#bookly-tbs .input-group>.input-group-prepend:not(:first-child)>.btn,#bookly-tbs .input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}#bookly-tbs .custom-control-inline{display:inline-flex;margin-right:1rem}#bookly-tbs .custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}#bookly-tbs .custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}#bookly-tbs .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}#bookly-tbs .custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}#bookly-tbs .custom-control-input:disabled~.custom-control-label,#bookly-tbs .custom-control-input[disabled]~.custom-control-label{color:#6c757d}#bookly-tbs .custom-control-input:disabled~.custom-control-label::before,#bookly-tbs .custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}#bookly-tbs .custom-control-label{position:relative;margin-bottom:0;vertical-align:top}#bookly-tbs .custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}#bookly-tbs .custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}#bookly-tbs .custom-checkbox .custom-control-label::before{border-radius:.25rem}#bookly-tbs .custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}#bookly-tbs .custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}#bookly-tbs .custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}#bookly-tbs .custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-radio .custom-control-label::before{border-radius:50%}#bookly-tbs .custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}#bookly-tbs .custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-switch{padding-left:2.25rem}#bookly-tbs .custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}#bookly-tbs .custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-switch .custom-control-label::after{transition:none}}#bookly-tbs .custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}#bookly-tbs .custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs .custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-select:focus::-ms-value{color:#495057;background-color:#fff}#bookly-tbs .custom-select[multiple],#bookly-tbs .custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}#bookly-tbs .custom-select:disabled{color:#6c757d;background-color:#e9ecef}#bookly-tbs .custom-select::-ms-expand{display:none}#bookly-tbs .custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}#bookly-tbs .custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}#bookly-tbs .custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}#bookly-tbs .custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}#bookly-tbs .custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}#bookly-tbs .custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-file-input:disabled~.custom-file-label,#bookly-tbs .custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}#bookly-tbs .custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}#bookly-tbs .custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}#bookly-tbs .custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}#bookly-tbs .custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs .custom-range:focus{outline:0}#bookly-tbs .custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range::-moz-focus-outer{border:0}#bookly-tbs .custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}#bookly-tbs .custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}#bookly-tbs .custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}#bookly-tbs .custom-range::-moz-range-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}#bookly-tbs .custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-ms-thumb{-ms-transition:none;transition:none}}#bookly-tbs .custom-range::-ms-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}#bookly-tbs .custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}#bookly-tbs .custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}#bookly-tbs .custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}#bookly-tbs .custom-range:disabled::-webkit-slider-runnable-track{cursor:default}#bookly-tbs .custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}#bookly-tbs .custom-range:disabled::-moz-range-track{cursor:default}#bookly-tbs .custom-range:disabled::-ms-thumb{background-color:#adb5bd}#bookly-tbs .custom-control-label::before,#bookly-tbs .custom-file-label,#bookly-tbs .custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-control-label::before,#bookly-tbs .custom-file-label,#bookly-tbs .custom-select{transition:none}}#bookly-tbs .nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .nav-link{display:block;padding:.5rem 1rem}#bookly-tbs .nav-link:focus,#bookly-tbs .nav-link:hover{text-decoration:none}#bookly-tbs .nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}#bookly-tbs .nav-tabs{border-bottom:1px solid #dee2e6}#bookly-tbs .nav-tabs .nav-item{margin-bottom:-1px}#bookly-tbs .nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .nav-tabs .nav-link:focus,#bookly-tbs .nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}#bookly-tbs .nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}#bookly-tbs .nav-tabs .nav-item.show .nav-link,#bookly-tbs .nav-tabs .nav-link.active{color:#343a40;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}#bookly-tbs .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .nav-pills .nav-link{border-radius:.25rem}#bookly-tbs .nav-pills .nav-link.active,#bookly-tbs .nav-pills .show>.nav-link{color:#fff;background-color:#007bff}#bookly-tbs .nav-fill .nav-item{flex:1 1 auto;text-align:center}#bookly-tbs .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}#bookly-tbs .tab-content>.tab-pane{display:none}#bookly-tbs .tab-content>.active{display:block}#bookly-tbs .navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}#bookly-tbs .navbar .container,#bookly-tbs .navbar .container-fluid,#bookly-tbs .navbar .container-lg,#bookly-tbs .navbar .container-md,#bookly-tbs .navbar .container-sm,#bookly-tbs .navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}#bookly-tbs .navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}#bookly-tbs .navbar-brand:focus,#bookly-tbs .navbar-brand:hover{text-decoration:none}#bookly-tbs .navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .navbar-nav .nav-link{padding-right:0;padding-left:0}#bookly-tbs .navbar-nav .dropdown-menu{position:static;float:none}#bookly-tbs .navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}#bookly-tbs .navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}#bookly-tbs .navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}#bookly-tbs .navbar-toggler:focus,#bookly-tbs .navbar-toggler:hover{text-decoration:none}#bookly-tbs .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){#bookly-tbs .navbar-expand-sm>.container,#bookly-tbs .navbar-expand-sm>.container-fluid,#bookly-tbs .navbar-expand-sm>.container-lg,#bookly-tbs .navbar-expand-sm>.container-md,#bookly-tbs .navbar-expand-sm>.container-sm,#bookly-tbs .navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){#bookly-tbs .navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}#bookly-tbs .navbar-expand-sm .navbar-nav{flex-direction:row}#bookly-tbs .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-sm>.container,#bookly-tbs .navbar-expand-sm>.container-fluid,#bookly-tbs .navbar-expand-sm>.container-lg,#bookly-tbs .navbar-expand-sm>.container-md,#bookly-tbs .navbar-expand-sm>.container-sm,#bookly-tbs .navbar-expand-sm>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){#bookly-tbs .navbar-expand-md>.container,#bookly-tbs .navbar-expand-md>.container-fluid,#bookly-tbs .navbar-expand-md>.container-lg,#bookly-tbs .navbar-expand-md>.container-md,#bookly-tbs .navbar-expand-md>.container-sm,#bookly-tbs .navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){#bookly-tbs .navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}#bookly-tbs .navbar-expand-md .navbar-nav{flex-direction:row}#bookly-tbs .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-md>.container,#bookly-tbs .navbar-expand-md>.container-fluid,#bookly-tbs .navbar-expand-md>.container-lg,#bookly-tbs .navbar-expand-md>.container-md,#bookly-tbs .navbar-expand-md>.container-sm,#bookly-tbs .navbar-expand-md>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){#bookly-tbs .navbar-expand-lg>.container,#bookly-tbs .navbar-expand-lg>.container-fluid,#bookly-tbs .navbar-expand-lg>.container-lg,#bookly-tbs .navbar-expand-lg>.container-md,#bookly-tbs .navbar-expand-lg>.container-sm,#bookly-tbs .navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){#bookly-tbs .navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}#bookly-tbs .navbar-expand-lg .navbar-nav{flex-direction:row}#bookly-tbs .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-lg>.container,#bookly-tbs .navbar-expand-lg>.container-fluid,#bookly-tbs .navbar-expand-lg>.container-lg,#bookly-tbs .navbar-expand-lg>.container-md,#bookly-tbs .navbar-expand-lg>.container-sm,#bookly-tbs .navbar-expand-lg>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){#bookly-tbs .navbar-expand-xl>.container,#bookly-tbs .navbar-expand-xl>.container-fluid,#bookly-tbs .navbar-expand-xl>.container-lg,#bookly-tbs .navbar-expand-xl>.container-md,#bookly-tbs .navbar-expand-xl>.container-sm,#bookly-tbs .navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){#bookly-tbs .navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}#bookly-tbs .navbar-expand-xl .navbar-nav{flex-direction:row}#bookly-tbs .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-xl>.container,#bookly-tbs .navbar-expand-xl>.container-fluid,#bookly-tbs .navbar-expand-xl>.container-lg,#bookly-tbs .navbar-expand-xl>.container-md,#bookly-tbs .navbar-expand-xl>.container-sm,#bookly-tbs .navbar-expand-xl>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-xl .navbar-toggler{display:none}}#bookly-tbs .navbar-expand{flex-flow:row nowrap;justify-content:flex-start}#bookly-tbs .navbar-expand>.container,#bookly-tbs .navbar-expand>.container-fluid,#bookly-tbs .navbar-expand>.container-lg,#bookly-tbs .navbar-expand>.container-md,#bookly-tbs .navbar-expand>.container-sm,#bookly-tbs .navbar-expand>.container-xl{padding-right:0;padding-left:0}#bookly-tbs .navbar-expand .navbar-nav{flex-direction:row}#bookly-tbs .navbar-expand .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand>.container,#bookly-tbs .navbar-expand>.container-fluid,#bookly-tbs .navbar-expand>.container-lg,#bookly-tbs .navbar-expand>.container-md,#bookly-tbs .navbar-expand>.container-sm,#bookly-tbs .navbar-expand>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand .navbar-toggler{display:none}#bookly-tbs .navbar-light .navbar-brand{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-brand:focus,#bookly-tbs .navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}#bookly-tbs .navbar-light .navbar-nav .nav-link:focus,#bookly-tbs .navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}#bookly-tbs .navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}#bookly-tbs .navbar-light .navbar-nav .active>.nav-link,#bookly-tbs .navbar-light .navbar-nav .nav-link.active,#bookly-tbs .navbar-light .navbar-nav .nav-link.show,#bookly-tbs .navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}#bookly-tbs .navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}#bookly-tbs .navbar-light .navbar-text{color:rgba(0,0,0,.5)}#bookly-tbs .navbar-light .navbar-text a{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-text a:focus,#bookly-tbs .navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-dark .navbar-brand{color:#fff}#bookly-tbs .navbar-dark .navbar-brand:focus,#bookly-tbs .navbar-dark .navbar-brand:hover{color:#fff}#bookly-tbs .navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}#bookly-tbs .navbar-dark .navbar-nav .nav-link:focus,#bookly-tbs .navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}#bookly-tbs .navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}#bookly-tbs .navbar-dark .navbar-nav .active>.nav-link,#bookly-tbs .navbar-dark .navbar-nav .nav-link.active,#bookly-tbs .navbar-dark .navbar-nav .nav-link.show,#bookly-tbs .navbar-dark .navbar-nav .show>.nav-link{color:#fff}#bookly-tbs .navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}#bookly-tbs .navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}#bookly-tbs .navbar-dark .navbar-text{color:rgba(255,255,255,.5)}#bookly-tbs .navbar-dark .navbar-text a{color:#fff}#bookly-tbs .navbar-dark .navbar-text a:focus,#bookly-tbs .navbar-dark .navbar-text a:hover{color:#fff}#bookly-tbs .card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}#bookly-tbs .card>hr{margin-right:0;margin-left:0}#bookly-tbs .card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}#bookly-tbs .card-title{margin-bottom:.75rem}#bookly-tbs .card-subtitle{margin-top:-.375rem;margin-bottom:0}#bookly-tbs .card-text:last-child{margin-bottom:0}#bookly-tbs .card-link:hover{text-decoration:none}#bookly-tbs .card-link+.card-link{margin-left:1.25rem}#bookly-tbs .card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}#bookly-tbs .card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}#bookly-tbs .card-header+.list-group .list-group-item:first-child{border-top:0}#bookly-tbs .card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}#bookly-tbs .card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}#bookly-tbs .card-header-pills{margin-right:-.625rem;margin-left:-.625rem}#bookly-tbs .card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}#bookly-tbs .card-img,#bookly-tbs .card-img-bottom,#bookly-tbs .card-img-top{flex-shrink:0;width:100%}#bookly-tbs .card-img,#bookly-tbs .card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}#bookly-tbs .card-img,#bookly-tbs .card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}#bookly-tbs .card-deck .card{margin-bottom:15px}@media (min-width:576px){#bookly-tbs .card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}#bookly-tbs .card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}#bookly-tbs .card-group>.card{margin-bottom:15px}@media (min-width:576px){#bookly-tbs .card-group{display:flex;flex-flow:row wrap}#bookly-tbs .card-group>.card{flex:1 0 0%;margin-bottom:0}#bookly-tbs .card-group>.card+.card{margin-left:0;border-left:0}#bookly-tbs .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .card-group>.card:not(:last-child) .card-header,#bookly-tbs .card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}#bookly-tbs .card-group>.card:not(:last-child) .card-footer,#bookly-tbs .card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}#bookly-tbs .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .card-group>.card:not(:first-child) .card-header,#bookly-tbs .card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}#bookly-tbs .card-group>.card:not(:first-child) .card-footer,#bookly-tbs .card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}#bookly-tbs .card-columns .card{margin-bottom:.75rem}@media (min-width:576px){#bookly-tbs .card-columns{-moz-column-count:3;column-count:3;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}#bookly-tbs .card-columns .card{display:inline-block;width:100%}}#bookly-tbs .accordion>.card{overflow:hidden}#bookly-tbs .accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}#bookly-tbs .breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}#bookly-tbs .breadcrumb-item+.breadcrumb-item{padding-left:.5rem}#bookly-tbs .breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}#bookly-tbs .breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}#bookly-tbs .breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}#bookly-tbs .breadcrumb-item.active{color:#6c757d}#bookly-tbs .pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}#bookly-tbs .page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}#bookly-tbs .page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}#bookly-tbs .page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#bookly-tbs .page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}#bookly-tbs .pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}#bookly-tbs .pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}#bookly-tbs .pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}#bookly-tbs .pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}#bookly-tbs .pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}#bookly-tbs .pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}#bookly-tbs .badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .badge{transition:none}}#bookly-tbs a.badge:focus,#bookly-tbs a.badge:hover{text-decoration:none}#bookly-tbs .badge:empty{display:none}#bookly-tbs .btn .badge{position:relative;top:-1px}#bookly-tbs .badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}#bookly-tbs .badge-primary{color:#fff;background-color:#007bff}#bookly-tbs a.badge-primary:focus,#bookly-tbs a.badge-primary:hover{color:#fff;background-color:#0062cc}#bookly-tbs a.badge-primary.focus,#bookly-tbs a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .badge-secondary{color:#fff;background-color:#6c757d}#bookly-tbs a.badge-secondary:focus,#bookly-tbs a.badge-secondary:hover{color:#fff;background-color:#545b62}#bookly-tbs a.badge-secondary.focus,#bookly-tbs a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .badge-success{color:#fff;background-color:#28a745}#bookly-tbs a.badge-success:focus,#bookly-tbs a.badge-success:hover{color:#fff;background-color:#1e7e34}#bookly-tbs a.badge-success.focus,#bookly-tbs a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .badge-info{color:#fff;background-color:#17a2b8}#bookly-tbs a.badge-info:focus,#bookly-tbs a.badge-info:hover{color:#fff;background-color:#117a8b}#bookly-tbs a.badge-info.focus,#bookly-tbs a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .badge-warning{color:#212529;background-color:#ffc107}#bookly-tbs a.badge-warning:focus,#bookly-tbs a.badge-warning:hover{color:#212529;background-color:#d39e00}#bookly-tbs a.badge-warning.focus,#bookly-tbs a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .badge-danger{color:#fff;background-color:#dc3545}#bookly-tbs a.badge-danger:focus,#bookly-tbs a.badge-danger:hover{color:#fff;background-color:#bd2130}#bookly-tbs a.badge-danger.focus,#bookly-tbs a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .badge-light{color:#212529;background-color:#f8f9fa}#bookly-tbs a.badge-light:focus,#bookly-tbs a.badge-light:hover{color:#212529;background-color:#dae0e5}#bookly-tbs a.badge-light.focus,#bookly-tbs a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .badge-dark{color:#fff;background-color:#343a40}#bookly-tbs a.badge-dark:focus,#bookly-tbs a.badge-dark:hover{color:#fff;background-color:#1d2124}#bookly-tbs a.badge-dark.focus,#bookly-tbs a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){#bookly-tbs .jumbotron{padding:4rem 2rem}}#bookly-tbs .jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}#bookly-tbs .alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}#bookly-tbs .alert-heading{color:inherit}#bookly-tbs .alert-link{font-weight:700}#bookly-tbs .alert-dismissible{padding-right:4rem}#bookly-tbs .alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}#bookly-tbs .alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}#bookly-tbs .alert-primary hr{border-top-color:#9fcdff}#bookly-tbs .alert-primary .alert-link{color:#002752}#bookly-tbs .alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}#bookly-tbs .alert-secondary hr{border-top-color:#c8cbcf}#bookly-tbs .alert-secondary .alert-link{color:#202326}#bookly-tbs .alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}#bookly-tbs .alert-success hr{border-top-color:#b1dfbb}#bookly-tbs .alert-success .alert-link{color:#0b2e13}#bookly-tbs .alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}#bookly-tbs .alert-info hr{border-top-color:#abdde5}#bookly-tbs .alert-info .alert-link{color:#062c33}#bookly-tbs .alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}#bookly-tbs .alert-warning hr{border-top-color:#ffe8a1}#bookly-tbs .alert-warning .alert-link{color:#533f03}#bookly-tbs .alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}#bookly-tbs .alert-danger hr{border-top-color:#f1b0b7}#bookly-tbs .alert-danger .alert-link{color:#491217}#bookly-tbs .alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}#bookly-tbs .alert-light hr{border-top-color:#ececf6}#bookly-tbs .alert-light .alert-link{color:#686868}#bookly-tbs .alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}#bookly-tbs .alert-dark hr{border-top-color:#b9bbbe}#bookly-tbs .alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}#bookly-tbs .progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}#bookly-tbs .progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .progress-bar{transition:none}}#bookly-tbs .progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}#bookly-tbs .progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){#bookly-tbs .progress-bar-animated{-webkit-animation:none;animation:none}}#bookly-tbs .media{display:flex;align-items:flex-start}#bookly-tbs .media-body{flex:1}#bookly-tbs .list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}#bookly-tbs .list-group-item-action{width:100%;color:#495057;text-align:inherit}#bookly-tbs .list-group-item-action:focus,#bookly-tbs .list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .list-group-item-action:active{color:#212529;background-color:#e9ecef}#bookly-tbs .list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}#bookly-tbs .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .list-group-item.disabled,#bookly-tbs .list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}#bookly-tbs .list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .list-group-item+#bookly-tbs .list-group-item{border-top-width:0}#bookly-tbs .list-group-item+#bookly-tbs .list-group-item.active{margin-top:-1px;border-top-width:1px}#bookly-tbs .list-group-horizontal{flex-direction:row}#bookly-tbs .list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){#bookly-tbs .list-group-horizontal-sm{flex-direction:row}#bookly-tbs .list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-sm .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){#bookly-tbs .list-group-horizontal-md{flex-direction:row}#bookly-tbs .list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-md .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){#bookly-tbs .list-group-horizontal-lg{flex-direction:row}#bookly-tbs .list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-lg .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){#bookly-tbs .list-group-horizontal-xl{flex-direction:row}#bookly-tbs .list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-xl .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}#bookly-tbs .list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}#bookly-tbs .list-group-flush .list-group-item:first-child{border-top-width:0}#bookly-tbs .list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}#bookly-tbs .list-group-item-primary{color:#004085;background-color:#b8daff}#bookly-tbs .list-group-item-primary.list-group-item-action:focus,#bookly-tbs .list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}#bookly-tbs .list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}#bookly-tbs .list-group-item-secondary{color:#383d41;background-color:#d6d8db}#bookly-tbs .list-group-item-secondary.list-group-item-action:focus,#bookly-tbs .list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}#bookly-tbs .list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}#bookly-tbs .list-group-item-success{color:#155724;background-color:#c3e6cb}#bookly-tbs .list-group-item-success.list-group-item-action:focus,#bookly-tbs .list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}#bookly-tbs .list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}#bookly-tbs .list-group-item-info{color:#0c5460;background-color:#bee5eb}#bookly-tbs .list-group-item-info.list-group-item-action:focus,#bookly-tbs .list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}#bookly-tbs .list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}#bookly-tbs .list-group-item-warning{color:#856404;background-color:#ffeeba}#bookly-tbs .list-group-item-warning.list-group-item-action:focus,#bookly-tbs .list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}#bookly-tbs .list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}#bookly-tbs .list-group-item-danger{color:#721c24;background-color:#f5c6cb}#bookly-tbs .list-group-item-danger.list-group-item-action:focus,#bookly-tbs .list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}#bookly-tbs .list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}#bookly-tbs .list-group-item-light{color:#818182;background-color:#fdfdfe}#bookly-tbs .list-group-item-light.list-group-item-action:focus,#bookly-tbs .list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}#bookly-tbs .list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}#bookly-tbs .list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}#bookly-tbs .list-group-item-dark.list-group-item-action:focus,#bookly-tbs .list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}#bookly-tbs .list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}#bookly-tbs .close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}#bookly-tbs .close:hover{color:#000;text-decoration:none}#bookly-tbs .close:not(:disabled):not(.disabled):focus,#bookly-tbs .close:not(:disabled):not(.disabled):hover{opacity:.75}#bookly-tbs button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs a.close.disabled{pointer-events:none}#bookly-tbs .toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}#bookly-tbs .toast:not(:last-child){margin-bottom:.75rem}#bookly-tbs .toast.showing{opacity:1}#bookly-tbs .toast.show{display:block;opacity:1}#bookly-tbs .toast.hide{display:none}#bookly-tbs .toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}#bookly-tbs .toast-body{padding:.75rem}.bookly-modal-open{overflow:hidden}#bookly-tbs .bookly-modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.bookly-modal-open #bookly-tbs .bookly-modal{overflow-x:hidden;overflow-y:auto}#bookly-tbs .modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}#bookly-tbs .bookly-modal.bookly-fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-modal.bookly-fade .modal-dialog{transition:none}}#bookly-tbs .bookly-modal.show .modal-dialog{transform:none}#bookly-tbs .bookly-modal.modal-static .modal-dialog{transform:scale(1.02)}#bookly-tbs .modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}#bookly-tbs .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}#bookly-tbs .modal-dialog-scrollable .modal-footer,#bookly-tbs .modal-dialog-scrollable .modal-header{flex-shrink:0}#bookly-tbs .modal-dialog-scrollable .modal-body{overflow-y:auto}#bookly-tbs .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}#bookly-tbs .modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable::before{content:none}#bookly-tbs .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.bookly-modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.bookly-modal-backdrop.bookly-fade{transition:opacity .15s linear;opacity:0}@media (prefers-reduced-motion:reduce){.bookly-modal-backdrop.bookly-fade{transition:none}}.bookly-modal-backdrop.show{opacity:.5}.bookly-modal-backdrop+.bookly-modal-backdrop{display:none!important}#bookly-tbs .modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}#bookly-tbs .modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}#bookly-tbs .modal-title{margin-bottom:0;line-height:1.5}#bookly-tbs .modal-body{position:relative;flex:1 1 auto;padding:1rem}#bookly-tbs .modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}#bookly-tbs .modal-footer>*{margin:.25rem}#bookly-tbs .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){#bookly-tbs .modal-dialog{max-width:500px;margin:3rem auto}#bookly-tbs .modal-dialog-scrollable{max-height:calc(100% - 6rem)}#bookly-tbs .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 6rem)}#bookly-tbs .modal-dialog-centered{min-height:calc(100% - 6rem)}#bookly-tbs .modal-dialog-centered::before{height:calc(100vh - 6rem)}#bookly-tbs .modal-sm{max-width:300px}}@media (min-width:992px){#bookly-tbs .modal-lg,#bookly-tbs .modal-xl{max-width:800px}}@media (min-width:1200px){#bookly-tbs .modal-xl{max-width:1140px}}#bookly-tbs .modal-faded{z-index:1039!important}#bookly-tbs .tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}#bookly-tbs .tooltip.show{opacity:.9}#bookly-tbs .tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}#bookly-tbs .tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}#bookly-tbs .bs-tooltip-auto[x-placement^=top],#bookly-tbs .bs-tooltip-top{padding:.4rem 0}#bookly-tbs .bs-tooltip-auto[x-placement^=top] .arrow,#bookly-tbs .bs-tooltip-top .arrow{bottom:0}#bookly-tbs .bs-tooltip-auto[x-placement^=top] .arrow::before,#bookly-tbs .bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=right],#bookly-tbs .bs-tooltip-right{padding:0 .4rem}#bookly-tbs .bs-tooltip-auto[x-placement^=right] .arrow,#bookly-tbs .bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}#bookly-tbs .bs-tooltip-auto[x-placement^=right] .arrow::before,#bookly-tbs .bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom],#bookly-tbs .bs-tooltip-bottom{padding:.4rem 0}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom] .arrow,#bookly-tbs .bs-tooltip-bottom .arrow{top:0}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom] .arrow::before,#bookly-tbs .bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=left],#bookly-tbs .bs-tooltip-left{padding:0 .4rem}#bookly-tbs .bs-tooltip-auto[x-placement^=left] .arrow,#bookly-tbs .bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}#bookly-tbs .bs-tooltip-auto[x-placement^=left] .arrow::before,#bookly-tbs .bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}#bookly-tbs .tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}#bookly-tbs [class*=bs-popover-]>.arrow{overflow:visible;left:auto;top:auto;bottom:auto;right:auto;z-index:1040}#bookly-tbs [class*=bs-popover-]>.arrow::after{left:auto;top:auto;bottom:auto;right:auto;background-color:transparent;box-shadow:none;transform:none;width:auto;height:auto;z-index:1040}#bookly-tbs #bookly-appearance .bookly-popover{z-index:9999!important}#bookly-tbs .bookly-popover{position:absolute;top:0;left:0;z-index:1040;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}#bookly-tbs .bookly-popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}#bookly-tbs .bookly-popover .arrow::after,#bookly-tbs .bookly-popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}#bookly-tbs .bs-popover-auto[x-placement^=top],#bookly-tbs .bs-popover-top{margin-bottom:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow,#bookly-tbs .bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow::before,#bookly-tbs .bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow::after,#bookly-tbs .bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=right],#bookly-tbs .bs-popover-right{margin-left:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow,#bookly-tbs .bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow::before,#bookly-tbs .bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow::after,#bookly-tbs .bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=bottom],#bookly-tbs .bs-popover-bottom{margin-top:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow,#bookly-tbs .bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow::before,#bookly-tbs .bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow::after,#bookly-tbs .bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=bottom] .popover-header::before,#bookly-tbs .bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}#bookly-tbs .bs-popover-auto[x-placement^=left],#bookly-tbs .bs-popover-left{margin-right:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow,#bookly-tbs .bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow::before,#bookly-tbs .bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow::after,#bookly-tbs .bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}#bookly-tbs .popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}#bookly-tbs .popover-header:empty{display:none}#bookly-tbs .popover-body{padding:.5rem .75rem;color:#212529}#bookly-tbs .carousel{position:relative}#bookly-tbs .carousel.pointer-event{touch-action:pan-y}#bookly-tbs .carousel-inner{position:relative;width:100%;overflow:hidden}#bookly-tbs .carousel-inner::after{display:block;clear:both;content:""}#bookly-tbs .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-item{transition:none}}#bookly-tbs .carousel-item-next,#bookly-tbs .carousel-item-prev,#bookly-tbs .carousel-item.active{display:block}#bookly-tbs .active.carousel-item-right,#bookly-tbs .carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}#bookly-tbs .active.carousel-item-left,#bookly-tbs .carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}#bookly-tbs .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}#bookly-tbs .carousel-fade .carousel-item-next.carousel-item-left,#bookly-tbs .carousel-fade .carousel-item-prev.carousel-item-right,#bookly-tbs .carousel-fade .carousel-item.active{z-index:1;opacity:1}#bookly-tbs .carousel-fade .active.carousel-item-left,#bookly-tbs .carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-fade .active.carousel-item-left,#bookly-tbs .carousel-fade .active.carousel-item-right{transition:none}}#bookly-tbs .carousel-control-next,#bookly-tbs .carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-control-next,#bookly-tbs .carousel-control-prev{transition:none}}#bookly-tbs .carousel-control-next:focus,#bookly-tbs .carousel-control-next:hover,#bookly-tbs .carousel-control-prev:focus,#bookly-tbs .carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}#bookly-tbs .carousel-control-prev{left:0}#bookly-tbs .carousel-control-next{right:0}#bookly-tbs .carousel-control-next-icon,#bookly-tbs .carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}#bookly-tbs .carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}#bookly-tbs .carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}#bookly-tbs .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}#bookly-tbs .carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-indicators li{transition:none}}#bookly-tbs .carousel-indicators .active{opacity:1}#bookly-tbs .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}#bookly-tbs .spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}#bookly-tbs .spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}#bookly-tbs .spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}#bookly-tbs .spinner-grow-sm{width:1rem;height:1rem}#bookly-tbs .align-baseline{vertical-align:baseline!important}#bookly-tbs .align-top{vertical-align:top!important}#bookly-tbs .align-middle{vertical-align:middle!important}#bookly-tbs .align-bottom{vertical-align:bottom!important}#bookly-tbs .align-text-bottom{vertical-align:text-bottom!important}#bookly-tbs .align-text-top{vertical-align:text-top!important}#bookly-tbs .bg-primary{background-color:#007bff!important}#bookly-tbs a.bg-primary:focus,#bookly-tbs a.bg-primary:hover,#bookly-tbs button.bg-primary:focus,#bookly-tbs button.bg-primary:hover{background-color:#0062cc!important}#bookly-tbs .bg-secondary{background-color:#6c757d!important}#bookly-tbs a.bg-secondary:focus,#bookly-tbs a.bg-secondary:hover,#bookly-tbs button.bg-secondary:focus,#bookly-tbs button.bg-secondary:hover{background-color:#545b62!important}#bookly-tbs .bg-success{background-color:#28a745!important}#bookly-tbs a.bg-success:focus,#bookly-tbs a.bg-success:hover,#bookly-tbs button.bg-success:focus,#bookly-tbs button.bg-success:hover{background-color:#1e7e34!important}#bookly-tbs .bg-info{background-color:#17a2b8!important}#bookly-tbs a.bg-info:focus,#bookly-tbs a.bg-info:hover,#bookly-tbs button.bg-info:focus,#bookly-tbs button.bg-info:hover{background-color:#117a8b!important}#bookly-tbs .bg-warning{background-color:#ffc107!important}#bookly-tbs a.bg-warning:focus,#bookly-tbs a.bg-warning:hover,#bookly-tbs button.bg-warning:focus,#bookly-tbs button.bg-warning:hover{background-color:#d39e00!important}#bookly-tbs .bg-danger{background-color:#dc3545!important}#bookly-tbs a.bg-danger:focus,#bookly-tbs a.bg-danger:hover,#bookly-tbs button.bg-danger:focus,#bookly-tbs button.bg-danger:hover{background-color:#bd2130!important}#bookly-tbs .bg-light{background-color:#f8f9fa!important}#bookly-tbs a.bg-light:focus,#bookly-tbs a.bg-light:hover,#bookly-tbs button.bg-light:focus,#bookly-tbs button.bg-light:hover{background-color:#dae0e5!important}#bookly-tbs .bg-dark{background-color:#343a40!important}#bookly-tbs a.bg-dark:focus,#bookly-tbs a.bg-dark:hover,#bookly-tbs button.bg-dark:focus,#bookly-tbs button.bg-dark:hover{background-color:#1d2124!important}#bookly-tbs .bg-white{background-color:#fff!important}#bookly-tbs .bg-transparent{background-color:transparent!important}#bookly-tbs .border{border:1px solid #dee2e6!important}#bookly-tbs .border-top{border-top:1px solid #dee2e6!important}#bookly-tbs .border-right{border-right:1px solid #dee2e6!important}#bookly-tbs .border-bottom{border-bottom:1px solid #dee2e6!important}#bookly-tbs .border-left{border-left:1px solid #dee2e6!important}#bookly-tbs .border-0{border:0!important}#bookly-tbs .border-top-0{border-top:0!important}#bookly-tbs .border-right-0{border-right:0!important}#bookly-tbs .border-bottom-0{border-bottom:0!important}#bookly-tbs .border-left-0{border-left:0!important}#bookly-tbs .border-primary{border-color:#007bff!important}#bookly-tbs .border-secondary{border-color:#6c757d!important}#bookly-tbs .border-success{border-color:#28a745!important}#bookly-tbs .border-info{border-color:#17a2b8!important}#bookly-tbs .border-warning{border-color:#ffc107!important}#bookly-tbs .border-danger{border-color:#dc3545!important}#bookly-tbs .border-light{border-color:#f8f9fa!important}#bookly-tbs .border-dark{border-color:#343a40!important}#bookly-tbs .border-white{border-color:#fff!important}#bookly-tbs .rounded-sm{border-radius:.2rem!important}#bookly-tbs .rounded{border-radius:.25rem!important}#bookly-tbs .rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}#bookly-tbs .rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}#bookly-tbs .rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}#bookly-tbs .rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}#bookly-tbs .rounded-lg{border-radius:.3rem!important}#bookly-tbs .rounded-circle{border-radius:50%!important}#bookly-tbs .rounded-pill{border-radius:50rem!important}#bookly-tbs .rounded-0{border-radius:0!important}#bookly-tbs .clearfix::after{display:block;clear:both;content:""}#bookly-tbs .d-none{display:none!important}#bookly-tbs .d-inline{display:inline!important}#bookly-tbs .d-inline-block{display:inline-block!important}#bookly-tbs .d-block{display:block!important}#bookly-tbs .d-table{display:table!important}#bookly-tbs .d-table-row{display:table-row!important}#bookly-tbs .d-table-cell{display:table-cell!important}#bookly-tbs .d-flex{display:flex!important}#bookly-tbs .d-inline-flex{display:inline-flex!important}@media (min-width:576px){#bookly-tbs .d-sm-none{display:none!important}#bookly-tbs .d-sm-inline{display:inline!important}#bookly-tbs .d-sm-inline-block{display:inline-block!important}#bookly-tbs .d-sm-block{display:block!important}#bookly-tbs .d-sm-table{display:table!important}#bookly-tbs .d-sm-table-row{display:table-row!important}#bookly-tbs .d-sm-table-cell{display:table-cell!important}#bookly-tbs .d-sm-flex{display:flex!important}#bookly-tbs .d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){#bookly-tbs .d-md-none{display:none!important}#bookly-tbs .d-md-inline{display:inline!important}#bookly-tbs .d-md-inline-block{display:inline-block!important}#bookly-tbs .d-md-block{display:block!important}#bookly-tbs .d-md-table{display:table!important}#bookly-tbs .d-md-table-row{display:table-row!important}#bookly-tbs .d-md-table-cell{display:table-cell!important}#bookly-tbs .d-md-flex{display:flex!important}#bookly-tbs .d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){#bookly-tbs .d-lg-none{display:none!important}#bookly-tbs .d-lg-inline{display:inline!important}#bookly-tbs .d-lg-inline-block{display:inline-block!important}#bookly-tbs .d-lg-block{display:block!important}#bookly-tbs .d-lg-table{display:table!important}#bookly-tbs .d-lg-table-row{display:table-row!important}#bookly-tbs .d-lg-table-cell{display:table-cell!important}#bookly-tbs .d-lg-flex{display:flex!important}#bookly-tbs .d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){#bookly-tbs .d-xl-none{display:none!important}#bookly-tbs .d-xl-inline{display:inline!important}#bookly-tbs .d-xl-inline-block{display:inline-block!important}#bookly-tbs .d-xl-block{display:block!important}#bookly-tbs .d-xl-table{display:table!important}#bookly-tbs .d-xl-table-row{display:table-row!important}#bookly-tbs .d-xl-table-cell{display:table-cell!important}#bookly-tbs .d-xl-flex{display:flex!important}#bookly-tbs .d-xl-inline-flex{display:inline-flex!important}}@media print{#bookly-tbs .d-print-none{display:none!important}#bookly-tbs .d-print-inline{display:inline!important}#bookly-tbs .d-print-inline-block{display:inline-block!important}#bookly-tbs .d-print-block{display:block!important}#bookly-tbs .d-print-table{display:table!important}#bookly-tbs .d-print-table-row{display:table-row!important}#bookly-tbs .d-print-table-cell{display:table-cell!important}#bookly-tbs .d-print-flex{display:flex!important}#bookly-tbs .d-print-inline-flex{display:inline-flex!important}}#bookly-tbs .embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}#bookly-tbs .embed-responsive::before{display:block;content:""}#bookly-tbs .embed-responsive .embed-responsive-item,#bookly-tbs .embed-responsive embed,#bookly-tbs .embed-responsive iframe,#bookly-tbs .embed-responsive object,#bookly-tbs .embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}#bookly-tbs .embed-responsive-21by9::before{padding-top:42.857143%}#bookly-tbs .embed-responsive-16by9::before{padding-top:56.25%}#bookly-tbs .embed-responsive-4by3::before{padding-top:75%}#bookly-tbs .embed-responsive-1by1::before{padding-top:100%}#bookly-tbs .flex-row{flex-direction:row!important}#bookly-tbs .flex-column{flex-direction:column!important}#bookly-tbs .flex-row-reverse{flex-direction:row-reverse!important}#bookly-tbs .flex-column-reverse{flex-direction:column-reverse!important}#bookly-tbs .flex-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-fill{flex:1 1 auto!important}#bookly-tbs .flex-grow-0{flex-grow:0!important}#bookly-tbs .flex-grow-1{flex-grow:1!important}#bookly-tbs .flex-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-start{justify-content:flex-start!important}#bookly-tbs .justify-content-end{justify-content:flex-end!important}#bookly-tbs .justify-content-center{justify-content:center!important}#bookly-tbs .justify-content-between{justify-content:space-between!important}#bookly-tbs .justify-content-around{justify-content:space-around!important}#bookly-tbs .align-items-start{align-items:flex-start!important}#bookly-tbs .align-items-end{align-items:flex-end!important}#bookly-tbs .align-items-center{align-items:center!important}#bookly-tbs .align-items-baseline{align-items:baseline!important}#bookly-tbs .align-items-stretch{align-items:stretch!important}#bookly-tbs .align-content-start{align-content:flex-start!important}#bookly-tbs .align-content-end{align-content:flex-end!important}#bookly-tbs .align-content-center{align-content:center!important}#bookly-tbs .align-content-between{align-content:space-between!important}#bookly-tbs .align-content-around{align-content:space-around!important}#bookly-tbs .align-content-stretch{align-content:stretch!important}#bookly-tbs .align-self-auto{align-self:auto!important}#bookly-tbs .align-self-start{align-self:flex-start!important}#bookly-tbs .align-self-end{align-self:flex-end!important}#bookly-tbs .align-self-center{align-self:center!important}#bookly-tbs .align-self-baseline{align-self:baseline!important}#bookly-tbs .align-self-stretch{align-self:stretch!important}@media (min-width:576px){#bookly-tbs .flex-sm-row{flex-direction:row!important}#bookly-tbs .flex-sm-column{flex-direction:column!important}#bookly-tbs .flex-sm-row-reverse{flex-direction:row-reverse!important}#bookly-tbs .flex-sm-column-reverse{flex-direction:column-reverse!important}#bookly-tbs .flex-sm-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-sm-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-sm-fill{flex:1 1 auto!important}#bookly-tbs .flex-sm-grow-0{flex-grow:0!important}#bookly-tbs .flex-sm-grow-1{flex-grow:1!important}#bookly-tbs .flex-sm-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-sm-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-sm-start{justify-content:flex-start!important}#bookly-tbs .justify-content-sm-end{justify-content:flex-end!important}#bookly-tbs .justify-content-sm-center{justify-content:center!important}#bookly-tbs .justify-content-sm-between{justify-content:space-between!important}#bookly-tbs .justify-content-sm-around{justify-content:space-around!important}#bookly-tbs .align-items-sm-start{align-items:flex-start!important}#bookly-tbs .align-items-sm-end{align-items:flex-end!important}#bookly-tbs .align-items-sm-center{align-items:center!important}#bookly-tbs .align-items-sm-baseline{align-items:baseline!important}#bookly-tbs .align-items-sm-stretch{align-items:stretch!important}#bookly-tbs .align-content-sm-start{align-content:flex-start!important}#bookly-tbs .align-content-sm-end{align-content:flex-end!important}#bookly-tbs .align-content-sm-center{align-content:center!important}#bookly-tbs .align-content-sm-between{align-content:space-between!important}#bookly-tbs .align-content-sm-around{align-content:space-around!important}#bookly-tbs .align-content-sm-stretch{align-content:stretch!important}#bookly-tbs .align-self-sm-auto{align-self:auto!important}#bookly-tbs .align-self-sm-start{align-self:flex-start!important}#bookly-tbs .align-self-sm-end{align-self:flex-end!important}#bookly-tbs .align-self-sm-center{align-self:center!important}#bookly-tbs .align-self-sm-baseline{align-self:baseline!important}#bookly-tbs .align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){#bookly-tbs .flex-md-row{flex-direction:row!important}#bookly-tbs .flex-md-column{flex-direction:column!important}#bookly-tbs .flex-md-row-reverse{flex-direction:row-reverse!important}#bookly-tbs .flex-md-column-reverse{flex-direction:column-reverse!important}#bookly-tbs .flex-md-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-md-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-md-fill{flex:1 1 auto!important}#bookly-tbs .flex-md-grow-0{flex-grow:0!important}#bookly-tbs .flex-md-grow-1{flex-grow:1!important}#bookly-tbs .flex-md-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-md-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-md-start{justify-content:flex-start!important}#bookly-tbs .justify-content-md-end{justify-content:flex-end!important}#bookly-tbs .justify-content-md-center{justify-content:center!important}#bookly-tbs .justify-content-md-between{justify-content:space-between!important}#bookly-tbs .justify-content-md-around{justify-content:space-around!important}#bookly-tbs .align-items-md-start{align-items:flex-start!important}#bookly-tbs .align-items-md-end{align-items:flex-end!important}#bookly-tbs .align-items-md-center{align-items:center!important}#bookly-tbs .align-items-md-baseline{align-items:baseline!important}#bookly-tbs .align-items-md-stretch{align-items:stretch!important}#bookly-tbs .align-content-md-start{align-content:flex-start!important}#bookly-tbs .align-content-md-end{align-content:flex-end!important}#bookly-tbs .align-content-md-center{align-content:center!important}#bookly-tbs .align-content-md-between{align-content:space-between!important}#bookly-tbs .align-content-md-around{align-content:space-around!important}#bookly-tbs .align-content-md-stretch{align-content:stretch!important}#bookly-tbs .align-self-md-auto{align-self:auto!important}#bookly-tbs .align-self-md-start{align-self:flex-start!important}#bookly-tbs .align-self-md-end{align-self:flex-end!important}#bookly-tbs .align-self-md-center{align-self:center!important}#bookly-tbs .align-self-md-baseline{align-self:baseline!important}#bookly-tbs .align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){#bookly-tbs .flex-lg-row{flex-direction:row!important}#bookly-tbs .flex-lg-column{flex-direction:column!important}#bookly-tbs .flex-lg-row-reverse{flex-direction:row-reverse!important}#bookly-tbs .flex-lg-column-reverse{flex-direction:column-reverse!important}#bookly-tbs .flex-lg-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-lg-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-lg-fill{flex:1 1 auto!important}#bookly-tbs .flex-lg-grow-0{flex-grow:0!important}#bookly-tbs .flex-lg-grow-1{flex-grow:1!important}#bookly-tbs .flex-lg-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-lg-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-lg-start{justify-content:flex-start!important}#bookly-tbs .justify-content-lg-end{justify-content:flex-end!important}#bookly-tbs .justify-content-lg-center{justify-content:center!important}#bookly-tbs .justify-content-lg-between{justify-content:space-between!important}#bookly-tbs .justify-content-lg-around{justify-content:space-around!important}#bookly-tbs .align-items-lg-start{align-items:flex-start!important}#bookly-tbs .align-items-lg-end{align-items:flex-end!important}#bookly-tbs .align-items-lg-center{align-items:center!important}#bookly-tbs .align-items-lg-baseline{align-items:baseline!important}#bookly-tbs .align-items-lg-stretch{align-items:stretch!important}#bookly-tbs .align-content-lg-start{align-content:flex-start!important}#bookly-tbs .align-content-lg-end{align-content:flex-end!important}#bookly-tbs .align-content-lg-center{align-content:center!important}#bookly-tbs .align-content-lg-between{align-content:space-between!important}#bookly-tbs .align-content-lg-around{align-content:space-around!important}#bookly-tbs .align-content-lg-stretch{align-content:stretch!important}#bookly-tbs .align-self-lg-auto{align-self:auto!important}#bookly-tbs .align-self-lg-start{align-self:flex-start!important}#bookly-tbs .align-self-lg-end{align-self:flex-end!important}#bookly-tbs .align-self-lg-center{align-self:center!important}#bookly-tbs .align-self-lg-baseline{align-self:baseline!important}#bookly-tbs .align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){#bookly-tbs .flex-xl-row{flex-direction:row!important}#bookly-tbs .flex-xl-column{flex-direction:column!important}#bookly-tbs .flex-xl-row-reverse{flex-direction:row-reverse!important}#bookly-tbs .flex-xl-column-reverse{flex-direction:column-reverse!important}#bookly-tbs .flex-xl-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-xl-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-xl-fill{flex:1 1 auto!important}#bookly-tbs .flex-xl-grow-0{flex-grow:0!important}#bookly-tbs .flex-xl-grow-1{flex-grow:1!important}#bookly-tbs .flex-xl-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-xl-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-xl-start{justify-content:flex-start!important}#bookly-tbs .justify-content-xl-end{justify-content:flex-end!important}#bookly-tbs .justify-content-xl-center{justify-content:center!important}#bookly-tbs .justify-content-xl-between{justify-content:space-between!important}#bookly-tbs .justify-content-xl-around{justify-content:space-around!important}#bookly-tbs .align-items-xl-start{align-items:flex-start!important}#bookly-tbs .align-items-xl-end{align-items:flex-end!important}#bookly-tbs .align-items-xl-center{align-items:center!important}#bookly-tbs .align-items-xl-baseline{align-items:baseline!important}#bookly-tbs .align-items-xl-stretch{align-items:stretch!important}#bookly-tbs .align-content-xl-start{align-content:flex-start!important}#bookly-tbs .align-content-xl-end{align-content:flex-end!important}#bookly-tbs .align-content-xl-center{align-content:center!important}#bookly-tbs .align-content-xl-between{align-content:space-between!important}#bookly-tbs .align-content-xl-around{align-content:space-around!important}#bookly-tbs .align-content-xl-stretch{align-content:stretch!important}#bookly-tbs .align-self-xl-auto{align-self:auto!important}#bookly-tbs .align-self-xl-start{align-self:flex-start!important}#bookly-tbs .align-self-xl-end{align-self:flex-end!important}#bookly-tbs .align-self-xl-center{align-self:center!important}#bookly-tbs .align-self-xl-baseline{align-self:baseline!important}#bookly-tbs .align-self-xl-stretch{align-self:stretch!important}}#bookly-tbs .float-left{float:left!important}#bookly-tbs .float-right{float:right!important}#bookly-tbs .float-none{float:none!important}@media (min-width:576px){#bookly-tbs .float-sm-left{float:left!important}#bookly-tbs .float-sm-right{float:right!important}#bookly-tbs .float-sm-none{float:none!important}}@media (min-width:768px){#bookly-tbs .float-md-left{float:left!important}#bookly-tbs .float-md-right{float:right!important}#bookly-tbs .float-md-none{float:none!important}}@media (min-width:992px){#bookly-tbs .float-lg-left{float:left!important}#bookly-tbs .float-lg-right{float:right!important}#bookly-tbs .float-lg-none{float:none!important}}@media (min-width:1200px){#bookly-tbs .float-xl-left{float:left!important}#bookly-tbs .float-xl-right{float:right!important}#bookly-tbs .float-xl-none{float:none!important}}#bookly-tbs .overflow-auto{overflow:auto!important}#bookly-tbs .overflow-hidden{overflow:hidden!important}#bookly-tbs .position-static{position:static!important}#bookly-tbs .position-relative{position:relative!important}#bookly-tbs .position-absolute{position:absolute!important}#bookly-tbs .position-fixed{position:fixed!important}#bookly-tbs .position-sticky{position:-webkit-sticky!important;position:sticky!important}#bookly-tbs .fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}#bookly-tbs .fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){#bookly-tbs .sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}#bookly-tbs .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#bookly-tbs .sr-only-focusable:active,#bookly-tbs .sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}#bookly-tbs .shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}#bookly-tbs .shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}#bookly-tbs .shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}#bookly-tbs .shadow-none{box-shadow:none!important}#bookly-tbs .w-25{width:25%!important}#bookly-tbs .w-50{width:50%!important}#bookly-tbs .w-75{width:75%!important}#bookly-tbs .w-100{width:100%!important}#bookly-tbs .w-auto{width:auto!important}#bookly-tbs .h-25{height:25%!important}#bookly-tbs .h-50{height:50%!important}#bookly-tbs .h-75{height:75%!important}#bookly-tbs .h-100{height:100%!important}#bookly-tbs .h-auto{height:auto!important}#bookly-tbs .mw-100{max-width:100%!important}#bookly-tbs .mh-100{max-height:100%!important}#bookly-tbs .min-vw-100{min-width:100vw!important}#bookly-tbs .min-vh-100{min-height:100vh!important}#bookly-tbs .vw-100{width:100vw!important}#bookly-tbs .vh-100{height:100vh!important}#bookly-tbs .stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}#bookly-tbs .m-0{margin:0!important}#bookly-tbs .mt-0,#bookly-tbs .my-0{margin-top:0!important}#bookly-tbs .mr-0,#bookly-tbs .mx-0{margin-right:0!important}#bookly-tbs .mb-0,#bookly-tbs .my-0{margin-bottom:0!important}#bookly-tbs .ml-0,#bookly-tbs .mx-0{margin-left:0!important}#bookly-tbs .m-1{margin:.25rem!important}#bookly-tbs .mt-1,#bookly-tbs .my-1{margin-top:.25rem!important}#bookly-tbs .mr-1,#bookly-tbs .mx-1{margin-right:.25rem!important}#bookly-tbs .mb-1,#bookly-tbs .my-1{margin-bottom:.25rem!important}#bookly-tbs .ml-1,#bookly-tbs .mx-1{margin-left:.25rem!important}#bookly-tbs .m-2{margin:.5rem!important}#bookly-tbs .mt-2,#bookly-tbs .my-2{margin-top:.5rem!important}#bookly-tbs .mr-2,#bookly-tbs .mx-2{margin-right:.5rem!important}#bookly-tbs .mb-2,#bookly-tbs .my-2{margin-bottom:.5rem!important}#bookly-tbs .ml-2,#bookly-tbs .mx-2{margin-left:.5rem!important}#bookly-tbs .m-3{margin:1rem!important}#bookly-tbs .mt-3,#bookly-tbs .my-3{margin-top:1rem!important}#bookly-tbs .mr-3,#bookly-tbs .mx-3{margin-right:1rem!important}#bookly-tbs .mb-3,#bookly-tbs .my-3{margin-bottom:1rem!important}#bookly-tbs .ml-3,#bookly-tbs .mx-3{margin-left:1rem!important}#bookly-tbs .m-4{margin:1.5rem!important}#bookly-tbs .mt-4,#bookly-tbs .my-4{margin-top:1.5rem!important}#bookly-tbs .mr-4,#bookly-tbs .mx-4{margin-right:1.5rem!important}#bookly-tbs .mb-4,#bookly-tbs .my-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-4,#bookly-tbs .mx-4{margin-left:1.5rem!important}#bookly-tbs .m-5{margin:3rem!important}#bookly-tbs .mt-5,#bookly-tbs .my-5{margin-top:3rem!important}#bookly-tbs .mr-5,#bookly-tbs .mx-5{margin-right:3rem!important}#bookly-tbs .mb-5,#bookly-tbs .my-5{margin-bottom:3rem!important}#bookly-tbs .ml-5,#bookly-tbs .mx-5{margin-left:3rem!important}#bookly-tbs .p-0{padding:0!important}#bookly-tbs .pt-0,#bookly-tbs .py-0{padding-top:0!important}#bookly-tbs .pr-0,#bookly-tbs .px-0{padding-right:0!important}#bookly-tbs .pb-0,#bookly-tbs .py-0{padding-bottom:0!important}#bookly-tbs .pl-0,#bookly-tbs .px-0{padding-left:0!important}#bookly-tbs .p-1{padding:.25rem!important}#bookly-tbs .pt-1,#bookly-tbs .py-1{padding-top:.25rem!important}#bookly-tbs .pr-1,#bookly-tbs .px-1{padding-right:.25rem!important}#bookly-tbs .pb-1,#bookly-tbs .py-1{padding-bottom:.25rem!important}#bookly-tbs .pl-1,#bookly-tbs .px-1{padding-left:.25rem!important}#bookly-tbs .p-2{padding:.5rem!important}#bookly-tbs .pt-2,#bookly-tbs .py-2{padding-top:.5rem!important}#bookly-tbs .pr-2,#bookly-tbs .px-2{padding-right:.5rem!important}#bookly-tbs .pb-2,#bookly-tbs .py-2{padding-bottom:.5rem!important}#bookly-tbs .pl-2,#bookly-tbs .px-2{padding-left:.5rem!important}#bookly-tbs .p-3{padding:1rem!important}#bookly-tbs .pt-3,#bookly-tbs .py-3{padding-top:1rem!important}#bookly-tbs .pr-3,#bookly-tbs .px-3{padding-right:1rem!important}#bookly-tbs .pb-3,#bookly-tbs .py-3{padding-bottom:1rem!important}#bookly-tbs .pl-3,#bookly-tbs .px-3{padding-left:1rem!important}#bookly-tbs .p-4{padding:1.5rem!important}#bookly-tbs .pt-4,#bookly-tbs .py-4{padding-top:1.5rem!important}#bookly-tbs .pr-4,#bookly-tbs .px-4{padding-right:1.5rem!important}#bookly-tbs .pb-4,#bookly-tbs .py-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-4,#bookly-tbs .px-4{padding-left:1.5rem!important}#bookly-tbs .p-5{padding:3rem!important}#bookly-tbs .pt-5,#bookly-tbs .py-5{padding-top:3rem!important}#bookly-tbs .pr-5,#bookly-tbs .px-5{padding-right:3rem!important}#bookly-tbs .pb-5,#bookly-tbs .py-5{padding-bottom:3rem!important}#bookly-tbs .pl-5,#bookly-tbs .px-5{padding-left:3rem!important}#bookly-tbs .m-n1{margin:-.25rem!important}#bookly-tbs .mt-n1,#bookly-tbs .my-n1{margin-top:-.25rem!important}#bookly-tbs .mr-n1,#bookly-tbs .mx-n1{margin-right:-.25rem!important}#bookly-tbs .mb-n1,#bookly-tbs .my-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-n1,#bookly-tbs .mx-n1{margin-left:-.25rem!important}#bookly-tbs .m-n2{margin:-.5rem!important}#bookly-tbs .mt-n2,#bookly-tbs .my-n2{margin-top:-.5rem!important}#bookly-tbs .mr-n2,#bookly-tbs .mx-n2{margin-right:-.5rem!important}#bookly-tbs .mb-n2,#bookly-tbs .my-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-n2,#bookly-tbs .mx-n2{margin-left:-.5rem!important}#bookly-tbs .m-n3{margin:-1rem!important}#bookly-tbs .mt-n3,#bookly-tbs .my-n3{margin-top:-1rem!important}#bookly-tbs .mr-n3,#bookly-tbs .mx-n3{margin-right:-1rem!important}#bookly-tbs .mb-n3,#bookly-tbs .my-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-n3,#bookly-tbs .mx-n3{margin-left:-1rem!important}#bookly-tbs .m-n4{margin:-1.5rem!important}#bookly-tbs .mt-n4,#bookly-tbs .my-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-n4,#bookly-tbs .mx-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-n4,#bookly-tbs .my-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-n4,#bookly-tbs .mx-n4{margin-left:-1.5rem!important}#bookly-tbs .m-n5{margin:-3rem!important}#bookly-tbs .mt-n5,#bookly-tbs .my-n5{margin-top:-3rem!important}#bookly-tbs .mr-n5,#bookly-tbs .mx-n5{margin-right:-3rem!important}#bookly-tbs .mb-n5,#bookly-tbs .my-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-n5,#bookly-tbs .mx-n5{margin-left:-3rem!important}#bookly-tbs .m-auto{margin:auto!important}#bookly-tbs .mt-auto,#bookly-tbs .my-auto{margin-top:auto!important}#bookly-tbs .mr-auto,#bookly-tbs .mx-auto{margin-right:auto!important}#bookly-tbs .mb-auto,#bookly-tbs .my-auto{margin-bottom:auto!important}#bookly-tbs .ml-auto,#bookly-tbs .mx-auto{margin-left:auto!important}@media (min-width:576px){#bookly-tbs .m-sm-0{margin:0!important}#bookly-tbs .mt-sm-0,#bookly-tbs .my-sm-0{margin-top:0!important}#bookly-tbs .mr-sm-0,#bookly-tbs .mx-sm-0{margin-right:0!important}#bookly-tbs .mb-sm-0,#bookly-tbs .my-sm-0{margin-bottom:0!important}#bookly-tbs .ml-sm-0,#bookly-tbs .mx-sm-0{margin-left:0!important}#bookly-tbs .m-sm-1{margin:.25rem!important}#bookly-tbs .mt-sm-1,#bookly-tbs .my-sm-1{margin-top:.25rem!important}#bookly-tbs .mr-sm-1,#bookly-tbs .mx-sm-1{margin-right:.25rem!important}#bookly-tbs .mb-sm-1,#bookly-tbs .my-sm-1{margin-bottom:.25rem!important}#bookly-tbs .ml-sm-1,#bookly-tbs .mx-sm-1{margin-left:.25rem!important}#bookly-tbs .m-sm-2{margin:.5rem!important}#bookly-tbs .mt-sm-2,#bookly-tbs .my-sm-2{margin-top:.5rem!important}#bookly-tbs .mr-sm-2,#bookly-tbs .mx-sm-2{margin-right:.5rem!important}#bookly-tbs .mb-sm-2,#bookly-tbs .my-sm-2{margin-bottom:.5rem!important}#bookly-tbs .ml-sm-2,#bookly-tbs .mx-sm-2{margin-left:.5rem!important}#bookly-tbs .m-sm-3{margin:1rem!important}#bookly-tbs .mt-sm-3,#bookly-tbs .my-sm-3{margin-top:1rem!important}#bookly-tbs .mr-sm-3,#bookly-tbs .mx-sm-3{margin-right:1rem!important}#bookly-tbs .mb-sm-3,#bookly-tbs .my-sm-3{margin-bottom:1rem!important}#bookly-tbs .ml-sm-3,#bookly-tbs .mx-sm-3{margin-left:1rem!important}#bookly-tbs .m-sm-4{margin:1.5rem!important}#bookly-tbs .mt-sm-4,#bookly-tbs .my-sm-4{margin-top:1.5rem!important}#bookly-tbs .mr-sm-4,#bookly-tbs .mx-sm-4{margin-right:1.5rem!important}#bookly-tbs .mb-sm-4,#bookly-tbs .my-sm-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-sm-4,#bookly-tbs .mx-sm-4{margin-left:1.5rem!important}#bookly-tbs .m-sm-5{margin:3rem!important}#bookly-tbs .mt-sm-5,#bookly-tbs .my-sm-5{margin-top:3rem!important}#bookly-tbs .mr-sm-5,#bookly-tbs .mx-sm-5{margin-right:3rem!important}#bookly-tbs .mb-sm-5,#bookly-tbs .my-sm-5{margin-bottom:3rem!important}#bookly-tbs .ml-sm-5,#bookly-tbs .mx-sm-5{margin-left:3rem!important}#bookly-tbs .p-sm-0{padding:0!important}#bookly-tbs .pt-sm-0,#bookly-tbs .py-sm-0{padding-top:0!important}#bookly-tbs .pr-sm-0,#bookly-tbs .px-sm-0{padding-right:0!important}#bookly-tbs .pb-sm-0,#bookly-tbs .py-sm-0{padding-bottom:0!important}#bookly-tbs .pl-sm-0,#bookly-tbs .px-sm-0{padding-left:0!important}#bookly-tbs .p-sm-1{padding:.25rem!important}#bookly-tbs .pt-sm-1,#bookly-tbs .py-sm-1{padding-top:.25rem!important}#bookly-tbs .pr-sm-1,#bookly-tbs .px-sm-1{padding-right:.25rem!important}#bookly-tbs .pb-sm-1,#bookly-tbs .py-sm-1{padding-bottom:.25rem!important}#bookly-tbs .pl-sm-1,#bookly-tbs .px-sm-1{padding-left:.25rem!important}#bookly-tbs .p-sm-2{padding:.5rem!important}#bookly-tbs .pt-sm-2,#bookly-tbs .py-sm-2{padding-top:.5rem!important}#bookly-tbs .pr-sm-2,#bookly-tbs .px-sm-2{padding-right:.5rem!important}#bookly-tbs .pb-sm-2,#bookly-tbs .py-sm-2{padding-bottom:.5rem!important}#bookly-tbs .pl-sm-2,#bookly-tbs .px-sm-2{padding-left:.5rem!important}#bookly-tbs .p-sm-3{padding:1rem!important}#bookly-tbs .pt-sm-3,#bookly-tbs .py-sm-3{padding-top:1rem!important}#bookly-tbs .pr-sm-3,#bookly-tbs .px-sm-3{padding-right:1rem!important}#bookly-tbs .pb-sm-3,#bookly-tbs .py-sm-3{padding-bottom:1rem!important}#bookly-tbs .pl-sm-3,#bookly-tbs .px-sm-3{padding-left:1rem!important}#bookly-tbs .p-sm-4{padding:1.5rem!important}#bookly-tbs .pt-sm-4,#bookly-tbs .py-sm-4{padding-top:1.5rem!important}#bookly-tbs .pr-sm-4,#bookly-tbs .px-sm-4{padding-right:1.5rem!important}#bookly-tbs .pb-sm-4,#bookly-tbs .py-sm-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-sm-4,#bookly-tbs .px-sm-4{padding-left:1.5rem!important}#bookly-tbs .p-sm-5{padding:3rem!important}#bookly-tbs .pt-sm-5,#bookly-tbs .py-sm-5{padding-top:3rem!important}#bookly-tbs .pr-sm-5,#bookly-tbs .px-sm-5{padding-right:3rem!important}#bookly-tbs .pb-sm-5,#bookly-tbs .py-sm-5{padding-bottom:3rem!important}#bookly-tbs .pl-sm-5,#bookly-tbs .px-sm-5{padding-left:3rem!important}#bookly-tbs .m-sm-n1{margin:-.25rem!important}#bookly-tbs .mt-sm-n1,#bookly-tbs .my-sm-n1{margin-top:-.25rem!important}#bookly-tbs .mr-sm-n1,#bookly-tbs .mx-sm-n1{margin-right:-.25rem!important}#bookly-tbs .mb-sm-n1,#bookly-tbs .my-sm-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-sm-n1,#bookly-tbs .mx-sm-n1{margin-left:-.25rem!important}#bookly-tbs .m-sm-n2{margin:-.5rem!important}#bookly-tbs .mt-sm-n2,#bookly-tbs .my-sm-n2{margin-top:-.5rem!important}#bookly-tbs .mr-sm-n2,#bookly-tbs .mx-sm-n2{margin-right:-.5rem!important}#bookly-tbs .mb-sm-n2,#bookly-tbs .my-sm-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-sm-n2,#bookly-tbs .mx-sm-n2{margin-left:-.5rem!important}#bookly-tbs .m-sm-n3{margin:-1rem!important}#bookly-tbs .mt-sm-n3,#bookly-tbs .my-sm-n3{margin-top:-1rem!important}#bookly-tbs .mr-sm-n3,#bookly-tbs .mx-sm-n3{margin-right:-1rem!important}#bookly-tbs .mb-sm-n3,#bookly-tbs .my-sm-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-sm-n3,#bookly-tbs .mx-sm-n3{margin-left:-1rem!important}#bookly-tbs .m-sm-n4{margin:-1.5rem!important}#bookly-tbs .mt-sm-n4,#bookly-tbs .my-sm-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-sm-n4,#bookly-tbs .mx-sm-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-sm-n4,#bookly-tbs .my-sm-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-sm-n4,#bookly-tbs .mx-sm-n4{margin-left:-1.5rem!important}#bookly-tbs .m-sm-n5{margin:-3rem!important}#bookly-tbs .mt-sm-n5,#bookly-tbs .my-sm-n5{margin-top:-3rem!important}#bookly-tbs .mr-sm-n5,#bookly-tbs .mx-sm-n5{margin-right:-3rem!important}#bookly-tbs .mb-sm-n5,#bookly-tbs .my-sm-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-sm-n5,#bookly-tbs .mx-sm-n5{margin-left:-3rem!important}#bookly-tbs .m-sm-auto{margin:auto!important}#bookly-tbs .mt-sm-auto,#bookly-tbs .my-sm-auto{margin-top:auto!important}#bookly-tbs .mr-sm-auto,#bookly-tbs .mx-sm-auto{margin-right:auto!important}#bookly-tbs .mb-sm-auto,#bookly-tbs .my-sm-auto{margin-bottom:auto!important}#bookly-tbs .ml-sm-auto,#bookly-tbs .mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){#bookly-tbs .m-md-0{margin:0!important}#bookly-tbs .mt-md-0,#bookly-tbs .my-md-0{margin-top:0!important}#bookly-tbs .mr-md-0,#bookly-tbs .mx-md-0{margin-right:0!important}#bookly-tbs .mb-md-0,#bookly-tbs .my-md-0{margin-bottom:0!important}#bookly-tbs .ml-md-0,#bookly-tbs .mx-md-0{margin-left:0!important}#bookly-tbs .m-md-1{margin:.25rem!important}#bookly-tbs .mt-md-1,#bookly-tbs .my-md-1{margin-top:.25rem!important}#bookly-tbs .mr-md-1,#bookly-tbs .mx-md-1{margin-right:.25rem!important}#bookly-tbs .mb-md-1,#bookly-tbs .my-md-1{margin-bottom:.25rem!important}#bookly-tbs .ml-md-1,#bookly-tbs .mx-md-1{margin-left:.25rem!important}#bookly-tbs .m-md-2{margin:.5rem!important}#bookly-tbs .mt-md-2,#bookly-tbs .my-md-2{margin-top:.5rem!important}#bookly-tbs .mr-md-2,#bookly-tbs .mx-md-2{margin-right:.5rem!important}#bookly-tbs .mb-md-2,#bookly-tbs .my-md-2{margin-bottom:.5rem!important}#bookly-tbs .ml-md-2,#bookly-tbs .mx-md-2{margin-left:.5rem!important}#bookly-tbs .m-md-3{margin:1rem!important}#bookly-tbs .mt-md-3,#bookly-tbs .my-md-3{margin-top:1rem!important}#bookly-tbs .mr-md-3,#bookly-tbs .mx-md-3{margin-right:1rem!important}#bookly-tbs .mb-md-3,#bookly-tbs .my-md-3{margin-bottom:1rem!important}#bookly-tbs .ml-md-3,#bookly-tbs .mx-md-3{margin-left:1rem!important}#bookly-tbs .m-md-4{margin:1.5rem!important}#bookly-tbs .mt-md-4,#bookly-tbs .my-md-4{margin-top:1.5rem!important}#bookly-tbs .mr-md-4,#bookly-tbs .mx-md-4{margin-right:1.5rem!important}#bookly-tbs .mb-md-4,#bookly-tbs .my-md-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-md-4,#bookly-tbs .mx-md-4{margin-left:1.5rem!important}#bookly-tbs .m-md-5{margin:3rem!important}#bookly-tbs .mt-md-5,#bookly-tbs .my-md-5{margin-top:3rem!important}#bookly-tbs .mr-md-5,#bookly-tbs .mx-md-5{margin-right:3rem!important}#bookly-tbs .mb-md-5,#bookly-tbs .my-md-5{margin-bottom:3rem!important}#bookly-tbs .ml-md-5,#bookly-tbs .mx-md-5{margin-left:3rem!important}#bookly-tbs .p-md-0{padding:0!important}#bookly-tbs .pt-md-0,#bookly-tbs .py-md-0{padding-top:0!important}#bookly-tbs .pr-md-0,#bookly-tbs .px-md-0{padding-right:0!important}#bookly-tbs .pb-md-0,#bookly-tbs .py-md-0{padding-bottom:0!important}#bookly-tbs .pl-md-0,#bookly-tbs .px-md-0{padding-left:0!important}#bookly-tbs .p-md-1{padding:.25rem!important}#bookly-tbs .pt-md-1,#bookly-tbs .py-md-1{padding-top:.25rem!important}#bookly-tbs .pr-md-1,#bookly-tbs .px-md-1{padding-right:.25rem!important}#bookly-tbs .pb-md-1,#bookly-tbs .py-md-1{padding-bottom:.25rem!important}#bookly-tbs .pl-md-1,#bookly-tbs .px-md-1{padding-left:.25rem!important}#bookly-tbs .p-md-2{padding:.5rem!important}#bookly-tbs .pt-md-2,#bookly-tbs .py-md-2{padding-top:.5rem!important}#bookly-tbs .pr-md-2,#bookly-tbs .px-md-2{padding-right:.5rem!important}#bookly-tbs .pb-md-2,#bookly-tbs .py-md-2{padding-bottom:.5rem!important}#bookly-tbs .pl-md-2,#bookly-tbs .px-md-2{padding-left:.5rem!important}#bookly-tbs .p-md-3{padding:1rem!important}#bookly-tbs .pt-md-3,#bookly-tbs .py-md-3{padding-top:1rem!important}#bookly-tbs .pr-md-3,#bookly-tbs .px-md-3{padding-right:1rem!important}#bookly-tbs .pb-md-3,#bookly-tbs .py-md-3{padding-bottom:1rem!important}#bookly-tbs .pl-md-3,#bookly-tbs .px-md-3{padding-left:1rem!important}#bookly-tbs .p-md-4{padding:1.5rem!important}#bookly-tbs .pt-md-4,#bookly-tbs .py-md-4{padding-top:1.5rem!important}#bookly-tbs .pr-md-4,#bookly-tbs .px-md-4{padding-right:1.5rem!important}#bookly-tbs .pb-md-4,#bookly-tbs .py-md-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-md-4,#bookly-tbs .px-md-4{padding-left:1.5rem!important}#bookly-tbs .p-md-5{padding:3rem!important}#bookly-tbs .pt-md-5,#bookly-tbs .py-md-5{padding-top:3rem!important}#bookly-tbs .pr-md-5,#bookly-tbs .px-md-5{padding-right:3rem!important}#bookly-tbs .pb-md-5,#bookly-tbs .py-md-5{padding-bottom:3rem!important}#bookly-tbs .pl-md-5,#bookly-tbs .px-md-5{padding-left:3rem!important}#bookly-tbs .m-md-n1{margin:-.25rem!important}#bookly-tbs .mt-md-n1,#bookly-tbs .my-md-n1{margin-top:-.25rem!important}#bookly-tbs .mr-md-n1,#bookly-tbs .mx-md-n1{margin-right:-.25rem!important}#bookly-tbs .mb-md-n1,#bookly-tbs .my-md-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-md-n1,#bookly-tbs .mx-md-n1{margin-left:-.25rem!important}#bookly-tbs .m-md-n2{margin:-.5rem!important}#bookly-tbs .mt-md-n2,#bookly-tbs .my-md-n2{margin-top:-.5rem!important}#bookly-tbs .mr-md-n2,#bookly-tbs .mx-md-n2{margin-right:-.5rem!important}#bookly-tbs .mb-md-n2,#bookly-tbs .my-md-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-md-n2,#bookly-tbs .mx-md-n2{margin-left:-.5rem!important}#bookly-tbs .m-md-n3{margin:-1rem!important}#bookly-tbs .mt-md-n3,#bookly-tbs .my-md-n3{margin-top:-1rem!important}#bookly-tbs .mr-md-n3,#bookly-tbs .mx-md-n3{margin-right:-1rem!important}#bookly-tbs .mb-md-n3,#bookly-tbs .my-md-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-md-n3,#bookly-tbs .mx-md-n3{margin-left:-1rem!important}#bookly-tbs .m-md-n4{margin:-1.5rem!important}#bookly-tbs .mt-md-n4,#bookly-tbs .my-md-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-md-n4,#bookly-tbs .mx-md-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-md-n4,#bookly-tbs .my-md-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-md-n4,#bookly-tbs .mx-md-n4{margin-left:-1.5rem!important}#bookly-tbs .m-md-n5{margin:-3rem!important}#bookly-tbs .mt-md-n5,#bookly-tbs .my-md-n5{margin-top:-3rem!important}#bookly-tbs .mr-md-n5,#bookly-tbs .mx-md-n5{margin-right:-3rem!important}#bookly-tbs .mb-md-n5,#bookly-tbs .my-md-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-md-n5,#bookly-tbs .mx-md-n5{margin-left:-3rem!important}#bookly-tbs .m-md-auto{margin:auto!important}#bookly-tbs .mt-md-auto,#bookly-tbs .my-md-auto{margin-top:auto!important}#bookly-tbs .mr-md-auto,#bookly-tbs .mx-md-auto{margin-right:auto!important}#bookly-tbs .mb-md-auto,#bookly-tbs .my-md-auto{margin-bottom:auto!important}#bookly-tbs .ml-md-auto,#bookly-tbs .mx-md-auto{margin-left:auto!important}}@media (min-width:992px){#bookly-tbs .m-lg-0{margin:0!important}#bookly-tbs .mt-lg-0,#bookly-tbs .my-lg-0{margin-top:0!important}#bookly-tbs .mr-lg-0,#bookly-tbs .mx-lg-0{margin-right:0!important}#bookly-tbs .mb-lg-0,#bookly-tbs .my-lg-0{margin-bottom:0!important}#bookly-tbs .ml-lg-0,#bookly-tbs .mx-lg-0{margin-left:0!important}#bookly-tbs .m-lg-1{margin:.25rem!important}#bookly-tbs .mt-lg-1,#bookly-tbs .my-lg-1{margin-top:.25rem!important}#bookly-tbs .mr-lg-1,#bookly-tbs .mx-lg-1{margin-right:.25rem!important}#bookly-tbs .mb-lg-1,#bookly-tbs .my-lg-1{margin-bottom:.25rem!important}#bookly-tbs .ml-lg-1,#bookly-tbs .mx-lg-1{margin-left:.25rem!important}#bookly-tbs .m-lg-2{margin:.5rem!important}#bookly-tbs .mt-lg-2,#bookly-tbs .my-lg-2{margin-top:.5rem!important}#bookly-tbs .mr-lg-2,#bookly-tbs .mx-lg-2{margin-right:.5rem!important}#bookly-tbs .mb-lg-2,#bookly-tbs .my-lg-2{margin-bottom:.5rem!important}#bookly-tbs .ml-lg-2,#bookly-tbs .mx-lg-2{margin-left:.5rem!important}#bookly-tbs .m-lg-3{margin:1rem!important}#bookly-tbs .mt-lg-3,#bookly-tbs .my-lg-3{margin-top:1rem!important}#bookly-tbs .mr-lg-3,#bookly-tbs .mx-lg-3{margin-right:1rem!important}#bookly-tbs .mb-lg-3,#bookly-tbs .my-lg-3{margin-bottom:1rem!important}#bookly-tbs .ml-lg-3,#bookly-tbs .mx-lg-3{margin-left:1rem!important}#bookly-tbs .m-lg-4{margin:1.5rem!important}#bookly-tbs .mt-lg-4,#bookly-tbs .my-lg-4{margin-top:1.5rem!important}#bookly-tbs .mr-lg-4,#bookly-tbs .mx-lg-4{margin-right:1.5rem!important}#bookly-tbs .mb-lg-4,#bookly-tbs .my-lg-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-lg-4,#bookly-tbs .mx-lg-4{margin-left:1.5rem!important}#bookly-tbs .m-lg-5{margin:3rem!important}#bookly-tbs .mt-lg-5,#bookly-tbs .my-lg-5{margin-top:3rem!important}#bookly-tbs .mr-lg-5,#bookly-tbs .mx-lg-5{margin-right:3rem!important}#bookly-tbs .mb-lg-5,#bookly-tbs .my-lg-5{margin-bottom:3rem!important}#bookly-tbs .ml-lg-5,#bookly-tbs .mx-lg-5{margin-left:3rem!important}#bookly-tbs .p-lg-0{padding:0!important}#bookly-tbs .pt-lg-0,#bookly-tbs .py-lg-0{padding-top:0!important}#bookly-tbs .pr-lg-0,#bookly-tbs .px-lg-0{padding-right:0!important}#bookly-tbs .pb-lg-0,#bookly-tbs .py-lg-0{padding-bottom:0!important}#bookly-tbs .pl-lg-0,#bookly-tbs .px-lg-0{padding-left:0!important}#bookly-tbs .p-lg-1{padding:.25rem!important}#bookly-tbs .pt-lg-1,#bookly-tbs .py-lg-1{padding-top:.25rem!important}#bookly-tbs .pr-lg-1,#bookly-tbs .px-lg-1{padding-right:.25rem!important}#bookly-tbs .pb-lg-1,#bookly-tbs .py-lg-1{padding-bottom:.25rem!important}#bookly-tbs .pl-lg-1,#bookly-tbs .px-lg-1{padding-left:.25rem!important}#bookly-tbs .p-lg-2{padding:.5rem!important}#bookly-tbs .pt-lg-2,#bookly-tbs .py-lg-2{padding-top:.5rem!important}#bookly-tbs .pr-lg-2,#bookly-tbs .px-lg-2{padding-right:.5rem!important}#bookly-tbs .pb-lg-2,#bookly-tbs .py-lg-2{padding-bottom:.5rem!important}#bookly-tbs .pl-lg-2,#bookly-tbs .px-lg-2{padding-left:.5rem!important}#bookly-tbs .p-lg-3{padding:1rem!important}#bookly-tbs .pt-lg-3,#bookly-tbs .py-lg-3{padding-top:1rem!important}#bookly-tbs .pr-lg-3,#bookly-tbs .px-lg-3{padding-right:1rem!important}#bookly-tbs .pb-lg-3,#bookly-tbs .py-lg-3{padding-bottom:1rem!important}#bookly-tbs .pl-lg-3,#bookly-tbs .px-lg-3{padding-left:1rem!important}#bookly-tbs .p-lg-4{padding:1.5rem!important}#bookly-tbs .pt-lg-4,#bookly-tbs .py-lg-4{padding-top:1.5rem!important}#bookly-tbs .pr-lg-4,#bookly-tbs .px-lg-4{padding-right:1.5rem!important}#bookly-tbs .pb-lg-4,#bookly-tbs .py-lg-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-lg-4,#bookly-tbs .px-lg-4{padding-left:1.5rem!important}#bookly-tbs .p-lg-5{padding:3rem!important}#bookly-tbs .pt-lg-5,#bookly-tbs .py-lg-5{padding-top:3rem!important}#bookly-tbs .pr-lg-5,#bookly-tbs .px-lg-5{padding-right:3rem!important}#bookly-tbs .pb-lg-5,#bookly-tbs .py-lg-5{padding-bottom:3rem!important}#bookly-tbs .pl-lg-5,#bookly-tbs .px-lg-5{padding-left:3rem!important}#bookly-tbs .m-lg-n1{margin:-.25rem!important}#bookly-tbs .mt-lg-n1,#bookly-tbs .my-lg-n1{margin-top:-.25rem!important}#bookly-tbs .mr-lg-n1,#bookly-tbs .mx-lg-n1{margin-right:-.25rem!important}#bookly-tbs .mb-lg-n1,#bookly-tbs .my-lg-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-lg-n1,#bookly-tbs .mx-lg-n1{margin-left:-.25rem!important}#bookly-tbs .m-lg-n2{margin:-.5rem!important}#bookly-tbs .mt-lg-n2,#bookly-tbs .my-lg-n2{margin-top:-.5rem!important}#bookly-tbs .mr-lg-n2,#bookly-tbs .mx-lg-n2{margin-right:-.5rem!important}#bookly-tbs .mb-lg-n2,#bookly-tbs .my-lg-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-lg-n2,#bookly-tbs .mx-lg-n2{margin-left:-.5rem!important}#bookly-tbs .m-lg-n3{margin:-1rem!important}#bookly-tbs .mt-lg-n3,#bookly-tbs .my-lg-n3{margin-top:-1rem!important}#bookly-tbs .mr-lg-n3,#bookly-tbs .mx-lg-n3{margin-right:-1rem!important}#bookly-tbs .mb-lg-n3,#bookly-tbs .my-lg-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-lg-n3,#bookly-tbs .mx-lg-n3{margin-left:-1rem!important}#bookly-tbs .m-lg-n4{margin:-1.5rem!important}#bookly-tbs .mt-lg-n4,#bookly-tbs .my-lg-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-lg-n4,#bookly-tbs .mx-lg-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-lg-n4,#bookly-tbs .my-lg-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-lg-n4,#bookly-tbs .mx-lg-n4{margin-left:-1.5rem!important}#bookly-tbs .m-lg-n5{margin:-3rem!important}#bookly-tbs .mt-lg-n5,#bookly-tbs .my-lg-n5{margin-top:-3rem!important}#bookly-tbs .mr-lg-n5,#bookly-tbs .mx-lg-n5{margin-right:-3rem!important}#bookly-tbs .mb-lg-n5,#bookly-tbs .my-lg-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-lg-n5,#bookly-tbs .mx-lg-n5{margin-left:-3rem!important}#bookly-tbs .m-lg-auto{margin:auto!important}#bookly-tbs .mt-lg-auto,#bookly-tbs .my-lg-auto{margin-top:auto!important}#bookly-tbs .mr-lg-auto,#bookly-tbs .mx-lg-auto{margin-right:auto!important}#bookly-tbs .mb-lg-auto,#bookly-tbs .my-lg-auto{margin-bottom:auto!important}#bookly-tbs .ml-lg-auto,#bookly-tbs .mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){#bookly-tbs .m-xl-0{margin:0!important}#bookly-tbs .mt-xl-0,#bookly-tbs .my-xl-0{margin-top:0!important}#bookly-tbs .mr-xl-0,#bookly-tbs .mx-xl-0{margin-right:0!important}#bookly-tbs .mb-xl-0,#bookly-tbs .my-xl-0{margin-bottom:0!important}#bookly-tbs .ml-xl-0,#bookly-tbs .mx-xl-0{margin-left:0!important}#bookly-tbs .m-xl-1{margin:.25rem!important}#bookly-tbs .mt-xl-1,#bookly-tbs .my-xl-1{margin-top:.25rem!important}#bookly-tbs .mr-xl-1,#bookly-tbs .mx-xl-1{margin-right:.25rem!important}#bookly-tbs .mb-xl-1,#bookly-tbs .my-xl-1{margin-bottom:.25rem!important}#bookly-tbs .ml-xl-1,#bookly-tbs .mx-xl-1{margin-left:.25rem!important}#bookly-tbs .m-xl-2{margin:.5rem!important}#bookly-tbs .mt-xl-2,#bookly-tbs .my-xl-2{margin-top:.5rem!important}#bookly-tbs .mr-xl-2,#bookly-tbs .mx-xl-2{margin-right:.5rem!important}#bookly-tbs .mb-xl-2,#bookly-tbs .my-xl-2{margin-bottom:.5rem!important}#bookly-tbs .ml-xl-2,#bookly-tbs .mx-xl-2{margin-left:.5rem!important}#bookly-tbs .m-xl-3{margin:1rem!important}#bookly-tbs .mt-xl-3,#bookly-tbs .my-xl-3{margin-top:1rem!important}#bookly-tbs .mr-xl-3,#bookly-tbs .mx-xl-3{margin-right:1rem!important}#bookly-tbs .mb-xl-3,#bookly-tbs .my-xl-3{margin-bottom:1rem!important}#bookly-tbs .ml-xl-3,#bookly-tbs .mx-xl-3{margin-left:1rem!important}#bookly-tbs .m-xl-4{margin:1.5rem!important}#bookly-tbs .mt-xl-4,#bookly-tbs .my-xl-4{margin-top:1.5rem!important}#bookly-tbs .mr-xl-4,#bookly-tbs .mx-xl-4{margin-right:1.5rem!important}#bookly-tbs .mb-xl-4,#bookly-tbs .my-xl-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-xl-4,#bookly-tbs .mx-xl-4{margin-left:1.5rem!important}#bookly-tbs .m-xl-5{margin:3rem!important}#bookly-tbs .mt-xl-5,#bookly-tbs .my-xl-5{margin-top:3rem!important}#bookly-tbs .mr-xl-5,#bookly-tbs .mx-xl-5{margin-right:3rem!important}#bookly-tbs .mb-xl-5,#bookly-tbs .my-xl-5{margin-bottom:3rem!important}#bookly-tbs .ml-xl-5,#bookly-tbs .mx-xl-5{margin-left:3rem!important}#bookly-tbs .p-xl-0{padding:0!important}#bookly-tbs .pt-xl-0,#bookly-tbs .py-xl-0{padding-top:0!important}#bookly-tbs .pr-xl-0,#bookly-tbs .px-xl-0{padding-right:0!important}#bookly-tbs .pb-xl-0,#bookly-tbs .py-xl-0{padding-bottom:0!important}#bookly-tbs .pl-xl-0,#bookly-tbs .px-xl-0{padding-left:0!important}#bookly-tbs .p-xl-1{padding:.25rem!important}#bookly-tbs .pt-xl-1,#bookly-tbs .py-xl-1{padding-top:.25rem!important}#bookly-tbs .pr-xl-1,#bookly-tbs .px-xl-1{padding-right:.25rem!important}#bookly-tbs .pb-xl-1,#bookly-tbs .py-xl-1{padding-bottom:.25rem!important}#bookly-tbs .pl-xl-1,#bookly-tbs .px-xl-1{padding-left:.25rem!important}#bookly-tbs .p-xl-2{padding:.5rem!important}#bookly-tbs .pt-xl-2,#bookly-tbs .py-xl-2{padding-top:.5rem!important}#bookly-tbs .pr-xl-2,#bookly-tbs .px-xl-2{padding-right:.5rem!important}#bookly-tbs .pb-xl-2,#bookly-tbs .py-xl-2{padding-bottom:.5rem!important}#bookly-tbs .pl-xl-2,#bookly-tbs .px-xl-2{padding-left:.5rem!important}#bookly-tbs .p-xl-3{padding:1rem!important}#bookly-tbs .pt-xl-3,#bookly-tbs .py-xl-3{padding-top:1rem!important}#bookly-tbs .pr-xl-3,#bookly-tbs .px-xl-3{padding-right:1rem!important}#bookly-tbs .pb-xl-3,#bookly-tbs .py-xl-3{padding-bottom:1rem!important}#bookly-tbs .pl-xl-3,#bookly-tbs .px-xl-3{padding-left:1rem!important}#bookly-tbs .p-xl-4{padding:1.5rem!important}#bookly-tbs .pt-xl-4,#bookly-tbs .py-xl-4{padding-top:1.5rem!important}#bookly-tbs .pr-xl-4,#bookly-tbs .px-xl-4{padding-right:1.5rem!important}#bookly-tbs .pb-xl-4,#bookly-tbs .py-xl-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-xl-4,#bookly-tbs .px-xl-4{padding-left:1.5rem!important}#bookly-tbs .p-xl-5{padding:3rem!important}#bookly-tbs .pt-xl-5,#bookly-tbs .py-xl-5{padding-top:3rem!important}#bookly-tbs .pr-xl-5,#bookly-tbs .px-xl-5{padding-right:3rem!important}#bookly-tbs .pb-xl-5,#bookly-tbs .py-xl-5{padding-bottom:3rem!important}#bookly-tbs .pl-xl-5,#bookly-tbs .px-xl-5{padding-left:3rem!important}#bookly-tbs .m-xl-n1{margin:-.25rem!important}#bookly-tbs .mt-xl-n1,#bookly-tbs .my-xl-n1{margin-top:-.25rem!important}#bookly-tbs .mr-xl-n1,#bookly-tbs .mx-xl-n1{margin-right:-.25rem!important}#bookly-tbs .mb-xl-n1,#bookly-tbs .my-xl-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-xl-n1,#bookly-tbs .mx-xl-n1{margin-left:-.25rem!important}#bookly-tbs .m-xl-n2{margin:-.5rem!important}#bookly-tbs .mt-xl-n2,#bookly-tbs .my-xl-n2{margin-top:-.5rem!important}#bookly-tbs .mr-xl-n2,#bookly-tbs .mx-xl-n2{margin-right:-.5rem!important}#bookly-tbs .mb-xl-n2,#bookly-tbs .my-xl-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-xl-n2,#bookly-tbs .mx-xl-n2{margin-left:-.5rem!important}#bookly-tbs .m-xl-n3{margin:-1rem!important}#bookly-tbs .mt-xl-n3,#bookly-tbs .my-xl-n3{margin-top:-1rem!important}#bookly-tbs .mr-xl-n3,#bookly-tbs .mx-xl-n3{margin-right:-1rem!important}#bookly-tbs .mb-xl-n3,#bookly-tbs .my-xl-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-xl-n3,#bookly-tbs .mx-xl-n3{margin-left:-1rem!important}#bookly-tbs .m-xl-n4{margin:-1.5rem!important}#bookly-tbs .mt-xl-n4,#bookly-tbs .my-xl-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-xl-n4,#bookly-tbs .mx-xl-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-xl-n4,#bookly-tbs .my-xl-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-xl-n4,#bookly-tbs .mx-xl-n4{margin-left:-1.5rem!important}#bookly-tbs .m-xl-n5{margin:-3rem!important}#bookly-tbs .mt-xl-n5,#bookly-tbs .my-xl-n5{margin-top:-3rem!important}#bookly-tbs .mr-xl-n5,#bookly-tbs .mx-xl-n5{margin-right:-3rem!important}#bookly-tbs .mb-xl-n5,#bookly-tbs .my-xl-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-xl-n5,#bookly-tbs .mx-xl-n5{margin-left:-3rem!important}#bookly-tbs .m-xl-auto{margin:auto!important}#bookly-tbs .mt-xl-auto,#bookly-tbs .my-xl-auto{margin-top:auto!important}#bookly-tbs .mr-xl-auto,#bookly-tbs .mx-xl-auto{margin-right:auto!important}#bookly-tbs .mb-xl-auto,#bookly-tbs .my-xl-auto{margin-bottom:auto!important}#bookly-tbs .ml-xl-auto,#bookly-tbs .mx-xl-auto{margin-left:auto!important}}#bookly-tbs .text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}#bookly-tbs .text-justify{text-align:justify!important}#bookly-tbs .text-wrap{white-space:normal!important}#bookly-tbs .text-nowrap{white-space:nowrap!important}#bookly-tbs .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .text-left{text-align:left!important}#bookly-tbs .text-right{text-align:right!important}#bookly-tbs .text-center{text-align:center!important}@media (min-width:576px){#bookly-tbs .text-sm-left{text-align:left!important}#bookly-tbs .text-sm-right{text-align:right!important}#bookly-tbs .text-sm-center{text-align:center!important}}@media (min-width:768px){#bookly-tbs .text-md-left{text-align:left!important}#bookly-tbs .text-md-right{text-align:right!important}#bookly-tbs .text-md-center{text-align:center!important}}@media (min-width:992px){#bookly-tbs .text-lg-left{text-align:left!important}#bookly-tbs .text-lg-right{text-align:right!important}#bookly-tbs .text-lg-center{text-align:center!important}}@media (min-width:1200px){#bookly-tbs .text-xl-left{text-align:left!important}#bookly-tbs .text-xl-right{text-align:right!important}#bookly-tbs .text-xl-center{text-align:center!important}}#bookly-tbs .text-lowercase{text-transform:lowercase!important}#bookly-tbs .text-uppercase{text-transform:uppercase!important}#bookly-tbs .text-capitalize{text-transform:capitalize!important}#bookly-tbs .font-weight-light{font-weight:300!important}#bookly-tbs .font-weight-lighter{font-weight:lighter!important}#bookly-tbs .font-weight-normal{font-weight:400!important}#bookly-tbs .font-weight-bold{font-weight:700!important}#bookly-tbs .font-weight-bolder{font-weight:bolder!important}#bookly-tbs .font-italic{font-style:italic!important}#bookly-tbs .text-white{color:#fff!important}#bookly-tbs .text-primary{color:#007bff!important}#bookly-tbs a.text-primary:focus,#bookly-tbs a.text-primary:hover{color:#0056b3!important}#bookly-tbs .text-secondary{color:#6c757d!important}#bookly-tbs a.text-secondary:focus,#bookly-tbs a.text-secondary:hover{color:#494f54!important}#bookly-tbs .text-success{color:#28a745!important}#bookly-tbs a.text-success:focus,#bookly-tbs a.text-success:hover{color:#19692c!important}#bookly-tbs .text-info{color:#17a2b8!important}#bookly-tbs a.text-info:focus,#bookly-tbs a.text-info:hover{color:#0f6674!important}#bookly-tbs .text-warning{color:#ffc107!important}#bookly-tbs a.text-warning:focus,#bookly-tbs a.text-warning:hover{color:#ba8b00!important}#bookly-tbs .text-danger{color:#dc3545!important}#bookly-tbs a.text-danger:focus,#bookly-tbs a.text-danger:hover{color:#a71d2a!important}#bookly-tbs .text-light{color:#f8f9fa!important}#bookly-tbs a.text-light:focus,#bookly-tbs a.text-light:hover{color:#cbd3da!important}#bookly-tbs .text-dark{color:#343a40!important}#bookly-tbs a.text-dark:focus,#bookly-tbs a.text-dark:hover{color:#121416!important}#bookly-tbs .text-body{color:#212529!important}#bookly-tbs .text-muted{color:#6c757d!important}#bookly-tbs .text-black-50{color:rgba(0,0,0,.5)!important}#bookly-tbs .text-white-50{color:rgba(255,255,255,.5)!important}#bookly-tbs .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}#bookly-tbs .text-decoration-none{text-decoration:none!important}#bookly-tbs .text-break{word-break:break-word!important;overflow-wrap:break-word!important}#bookly-tbs .text-reset{color:inherit!important}#bookly-tbs .visible{visibility:visible!important}#bookly-tbs .invisible{visibility:hidden!important}@media print{#bookly-tbs *,#bookly-tbs ::after,#bookly-tbs ::before{text-shadow:none!important;box-shadow:none!important}#bookly-tbs a:not(.btn){text-decoration:underline}#bookly-tbs abbr[title]::after{content:" (" attr(title) ")"}#bookly-tbs pre{white-space:pre-wrap!important}#bookly-tbs blockquote,#bookly-tbs pre{border:1px solid #adb5bd;page-break-inside:avoid}#bookly-tbs thead{display:table-header-group}#bookly-tbs img,#bookly-tbs tr{page-break-inside:avoid}#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs p{orphans:3;widows:3}#bookly-tbs h2,#bookly-tbs h3{page-break-after:avoid}@page{size:a3}#bookly-tbs body{min-width:992px!important}#bookly-tbs .container{min-width:992px!important}#bookly-tbs .navbar{display:none}#bookly-tbs .badge{border:1px solid #000}#bookly-tbs .table{border-collapse:collapse!important}#bookly-tbs .table td,#bookly-tbs .table th{background-color:#fff!important}#bookly-tbs .table-bordered td,#bookly-tbs .table-bordered th{border:1px solid #dee2e6!important}#bookly-tbs .table-dark{color:inherit}#bookly-tbs .table-dark tbody+tbody,#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#dee2e6}#bookly-tbs .table .thead-dark th{color:inherit;border-color:#dee2e6}}#bookly-tbs p{font-size:1rem}#bookly-tbs ol,#bookly-tbs ul{padding:0 0 0 40px}#bookly-tbs ol{margin-left:0}#bookly-tbs ul{list-style:disc}#bookly-tbs li{margin:0}#bookly-tbs a:focus{box-shadow:none}#bookly-tbs .jCal-wrap,#bookly-tbs .row{padding:unset}#bookly-tbs table tr th{background-color:transparent;padding:unset}#bookly-tbs table tr td{padding:unset}#bookly-tbs .form-control{max-width:none}#bookly-tbs .btn{white-space:nowrap}#bookly-tbs .btn-default{color:#212529;background-color:#fff;border-color:#ced4da}#bookly-tbs .btn-default:hover{color:#212529;background-color:#ececec;border-color:#b1bbc4}#bookly-tbs .btn-default.focus,#bookly-tbs .btn-default:focus{color:#212529;background-color:#ececec;border-color:#b1bbc4;box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .btn-default.disabled,#bookly-tbs .btn-default:disabled{color:#212529;background-color:#fff;border-color:#ced4da}#bookly-tbs .btn-default:not(:disabled):not(.disabled).active,#bookly-tbs .btn-default:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-default.dropdown-toggle{color:#212529;background-color:#e6e6e6;border-color:#aab4bf}#bookly-tbs .btn-default:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-default:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-default.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .bookly-fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-fade{transition:none}}#bookly-tbs .bookly-fade:not(.show){opacity:0}#bookly-tbs .dropdown-item:focus,#bookly-tbs .dropdown-item:hover{background-color:#fff}#bookly-tbs .dropdown-item .dropdown-item{padding:.25rem 0 .25rem 1.5rem}#bookly-tbs .dropdown-item .custom-control label{width:100%}#bookly-tbs .dropdown-item .custom-control:focus,#bookly-tbs .dropdown-item .custom-control:hover{background-color:#f8f9fa}#bookly-tbs .bookly-modal .dropdown-menu.show{overflow-y:auto;max-height:320px}#bookly-tbs .dropdown-menu.dropdown-menu-compact{padding:0}#bookly-tbs .dropdown-menu.dropdown-menu-compact .dropdown-item{cursor:pointer;padding:.5rem 1.5rem}#bookly-tbs .dropdown-menu.dropdown-menu-compact .dropdown-item:hover{background-color:#f8f9fa}#bookly-tbs .dropdown-menu.dropdown-menu-compact .dropdown-item:not(:last-child){border-bottom:1px solid #dee2e6}#bookly-tbs .custom-checkbox .custom-control-input.bookly-checkbox-loading~.custom-control-label:before{content:'';width:16px;height:16px;background:url(../../images/ajax_loader_32x32.gif) no-repeat;background-size:contain;border:none;background-color:transparent!important}#bookly-tbs .custom-checkbox .custom-control-input:not(:checked)~.custom-control-label.bookly-toggle-label{color:#6c757d}#bookly-tbs .nav-tabs .nav-link{color:#495057}#bookly-tbs .nav-tabs .nav-link:hover{color:#343a40}#bookly-tbs .nav-tabs .nav-link:focus{box-shadow:none;outline:0}@media (max-width:575.98px){#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:767.98px){#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:991.98px){#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:1199.98px){#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link:hover{border-color:#343a40}}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link:hover{border-color:#343a40}#bookly-tbs .nav-pills .nav-link{background-color:#fff;background-clip:border-box;color:#212529;border:1px solid #ced4da}#bookly-tbs .nav-pills .nav-link i{color:#6c757d}#bookly-tbs .nav-pills .nav-link:hover{color:#fff;background-color:#007bff}#bookly-tbs .nav-pills .nav-link.active,#bookly-tbs .nav-pills .nav-link:hover{border-color:transparent}#bookly-tbs .nav-pills .nav-link.active i,#bookly-tbs .nav-pills .nav-link:hover i{color:#fff}#bookly-tbs .card{margin-top:0;padding:0;max-width:none;box-shadow:none}#bookly-tbs .bookly-card-highlighted{background-color:#f4e9e6}#bookly-tbs .list-group-item+.list-group-item{border-top-width:0}#bookly-tbs .list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}#bookly-tbs .list-group-item[style="display: none;"]+.list-group-item{border-top-left-radius:.25rem;border-top-right-radius:.25rem;border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .list-group-item.ui-sortable-helper,#bookly-tbs .list-group-item.ui-sortable-placeholder+.list-group-item{border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .bookly-cursor-move{cursor:move}#bookly-tbs .bookly-loading{position:relative;height:100px}#bookly-tbs .bookly-loading:before{content:'';position:absolute;left:calc(50% - 16px);top:calc(50% - 16px);width:32px;height:32px;background:url(../../images/ajax_loader_32x32.gif) no-repeat;background-size:contain}#bookly-tbs .bookly-loading.bookly-loading-sm{position:relative;display:inline-block;min-width:16px;min-height:16px;height:16px}#bookly-tbs .bookly-loading.bookly-loading-sm:before{left:0;top:2px;width:16px;height:16px}#bookly-tbs .bookly-hide-empty:empty{display:none}#bookly-tbs .text-pre-wrap{white-space:pre-wrap!important}#bookly-tbs .bookly-cursor-pointer{cursor:pointer}#bookly-tbs .bookly-alert{position:fixed;top:55px;right:13px;z-index:10000;text-align:left}@media (min-width:783px){#bookly-tbs .bookly-alert{right:21px}}#bookly-tbs .bookly-alert button{margin-left:10px}#bookly-tbs .bookly-collapse{margin-bottom:.75rem}#bookly-tbs .bookly-collapse a[data-toggle=collapse]{text-decoration:none;color:#343a40}#bookly-tbs .bookly-collapse a[data-toggle=collapse]:after{content:"\f0d8";font-family:"Font Awesome 5 Free";font-size:.875rem;font-weight:900;margin-left:.5em}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed{color:#495057}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed:hover{color:#343a40}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed:after{content:"\f0d7"}#bookly-tbs .bookly-color-picker{height:38px}#bookly-tbs .bookly-color-picker .wp-picker-container{position:absolute;z-index:1;padding:9px 8px 8px;margin:-8px 0 0 -8px;background-color:#fff}#bookly-tbs .bookly-color-picker .wp-picker-container *{box-sizing:content-box}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result{border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:none;box-shadow:0 0 0 1px #ced4da}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result{transition:none}}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:hover{box-shadow:0 0 0 1px #b1bbc4}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:hover .wp-color-result-text{color:#212529;border-color:#b1bbc4;background-color:#ececec}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result.focus,#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:focus{box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result.focus .wp-color-result-text,#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:focus .wp-color-result-text{color:#212529;border-color:#b1bbc4;background-color:#ececec}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result .wp-color-result-text{margin:-1px -1px -1px 0;border:1px solid #ced4da;border-radius:0 .25rem .25rem 0;color:#212529;padding:.375rem .75rem;font-weight:400;font-size:1rem;background-color:#fff;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;line-height:1.5;max-width:130px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result .wp-color-result-text{transition:none}}#bookly-tbs .bookly-color-picker .wp-picker-container.wp-picker-active{box-shadow:0 5px 10px rgba(0,0,0,.2)}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap{margin-left:8px}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap .wp-color-picker{margin-top:-1px;min-height:26px;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap input.wp-picker-clear{display:none}#bookly-tbs table.dataTable{clear:both;margin-top:6px!important;margin-bottom:6px!important;max-width:none!important;border-collapse:separate!important;border-spacing:0}#bookly-tbs table.dataTable td,#bookly-tbs table.dataTable th{box-sizing:content-box}#bookly-tbs table.dataTable td.dataTables_empty,#bookly-tbs table.dataTable th.dataTables_empty{text-align:center}#bookly-tbs table.dataTable.nowrap td,#bookly-tbs table.dataTable.nowrap th{white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_length label{font-weight:400;text-align:left;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}#bookly-tbs div.dataTables_wrapper div.dataTables_filter{text-align:right}#bookly-tbs div.dataTables_wrapper div.dataTables_filter label{font-weight:400;white-space:nowrap;text-align:left}#bookly-tbs div.dataTables_wrapper div.dataTables_filter input{margin-left:.5em;display:inline-block;width:auto}#bookly-tbs div.dataTables_wrapper div.dataTables_info{padding-top:.85em;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}#bookly-tbs div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}#bookly-tbs table.dataTable thead>tr>td.sorting,#bookly-tbs table.dataTable thead>tr>td.sorting_asc,#bookly-tbs table.dataTable thead>tr>td.sorting_desc,#bookly-tbs table.dataTable thead>tr>th.sorting,#bookly-tbs table.dataTable thead>tr>th.sorting_asc,#bookly-tbs table.dataTable thead>tr>th.sorting_desc{padding-right:30px}#bookly-tbs table.dataTable thead>tr>td:active,#bookly-tbs table.dataTable thead>tr>th:active{outline:0}#bookly-tbs table.dataTable thead .sorting,#bookly-tbs table.dataTable thead .sorting_asc,#bookly-tbs table.dataTable thead .sorting_asc_disabled,#bookly-tbs table.dataTable thead .sorting_desc,#bookly-tbs table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}#bookly-tbs table.dataTable thead .sorting:after,#bookly-tbs table.dataTable thead .sorting:before,#bookly-tbs table.dataTable thead .sorting_asc:after,#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_asc_disabled:after,#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc:after,#bookly-tbs table.dataTable thead .sorting_desc:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after,#bookly-tbs table.dataTable thead .sorting_desc_disabled:before{position:absolute;bottom:.9em;display:block;opacity:.3}#bookly-tbs table.dataTable thead .sorting:before,#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}#bookly-tbs table.dataTable thead .sorting:after,#bookly-tbs table.dataTable thead .sorting_asc:after,#bookly-tbs table.dataTable thead .sorting_asc_disabled:after,#bookly-tbs table.dataTable thead .sorting_desc:after,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after{right:.5em;content:"\2193"}#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_desc:after{opacity:1}#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after{opacity:0}#bookly-tbs div.dataTables_scrollHead table.dataTable{margin-bottom:0!important}#bookly-tbs div.dataTables_scrollBody table{border-top:none;margin-top:0!important;margin-bottom:0!important}#bookly-tbs div.dataTables_scrollBody table thead .sorting:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting:before,#bookly-tbs div.dataTables_scrollBody table thead .sorting_asc:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_asc:before,#bookly-tbs div.dataTables_scrollBody table thead .sorting_desc:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_desc:before{display:none}#bookly-tbs div.dataTables_scrollBody table tbody tr:first-child td,#bookly-tbs div.dataTables_scrollBody table tbody tr:first-child th{border-top:none}#bookly-tbs div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}#bookly-tbs div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0!important;border-top:none}@media screen and (max-width:767px){#bookly-tbs div.dataTables_wrapper div.dataTables_filter,#bookly-tbs div.dataTables_wrapper div.dataTables_info,#bookly-tbs div.dataTables_wrapper div.dataTables_length,#bookly-tbs div.dataTables_wrapper div.dataTables_paginate{text-align:center}}#bookly-tbs table.dataTable.table-sm>thead>tr>th{padding-right:20px}#bookly-tbs table.dataTable.table-sm .sorting:before,#bookly-tbs table.dataTable.table-sm .sorting_asc:before,#bookly-tbs table.dataTable.table-sm .sorting_desc:before{top:5px;right:.85em}#bookly-tbs table.dataTable.table-sm .sorting:after,#bookly-tbs table.dataTable.table-sm .sorting_asc:after,#bookly-tbs table.dataTable.table-sm .sorting_desc:after{top:5px}#bookly-tbs table.table-bordered.dataTable td,#bookly-tbs table.table-bordered.dataTable th{border-left-width:0}#bookly-tbs table.table-bordered.dataTable td:last-child,#bookly-tbs table.table-bordered.dataTable th:last-child{border-right-width:0}#bookly-tbs table.table-bordered.dataTable tbody td,#bookly-tbs table.table-bordered.dataTable tbody th{border-bottom-width:0}#bookly-tbs div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row{margin:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap>div[class^=col-]:first-child,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:first-child{padding-left:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap>div[class^=col-]:last-child,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:last-child{padding-right:0}@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{transform:rotate(360deg)}}#bookly-tbs div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:#fff;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,.3);border-radius:3px;text-align:center;z-index:21}#bookly-tbs div.dt-button-info h2{padding:.5em;margin:0;font-weight:400;border-bottom:1px solid #ddd;background-color:#f3f3f3}#bookly-tbs div.dt-button-info>div{padding:1em}#bookly-tbs div.dt-button-collection-title{text-align:center;padding:.3em 0 .5em;font-size:.9em}#bookly-tbs div.dt-button-collection-title:empty{display:none}#bookly-tbs div.dt-button-collection{position:absolute;z-index:2001}#bookly-tbs div.dt-button-collection div.dropdown-menu{display:block;z-index:2002;min-width:100%}#bookly-tbs div.dt-button-collection div.dt-button-collection-title{background-color:#fff;border:1px solid rgba(0,0,0,.15)}#bookly-tbs div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}#bookly-tbs div.dt-button-collection.fixed.two-column{margin-left:-200px}#bookly-tbs div.dt-button-collection.fixed.three-column{margin-left:-225px}#bookly-tbs div.dt-button-collection.fixed.four-column{margin-left:-300px}#bookly-tbs div.dt-button-collection>:last-child{display:block!important;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}#bookly-tbs div.dt-button-collection>:last-child>*{-moz-column-break-inside:avoid;break-inside:avoid}#bookly-tbs div.dt-button-collection.two-column{width:400px}#bookly-tbs div.dt-button-collection.two-column>:last-child{padding-bottom:1px;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}#bookly-tbs div.dt-button-collection.three-column{width:450px}#bookly-tbs div.dt-button-collection.three-column>:last-child{padding-bottom:1px;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}#bookly-tbs div.dt-button-collection.four-column{width:600px}#bookly-tbs div.dt-button-collection.four-column>:last-child{padding-bottom:1px;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}#bookly-tbs div.dt-button-collection .dt-button{border-radius:0}#bookly-tbs div.dt-button-collection.fixed{max-width:none}#bookly-tbs div.dt-button-collection.fixed:after,#bookly-tbs div.dt-button-collection.fixed:before{display:none}#bookly-tbs div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}@media screen and (max-width:767px){#bookly-tbs div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:.5em}#bookly-tbs div.dt-buttons a.btn{float:none}}#bookly-tbs div.dt-buttons a.btn.processing,#bookly-tbs div.dt-buttons button.btn.processing,#bookly-tbs div.dt-buttons div.btn.processing{color:rgba(0,0,0,.2)}#bookly-tbs div.dt-buttons a.btn.processing:after,#bookly-tbs div.dt-buttons button.btn.processing:after,#bookly-tbs div.dt-buttons div.btn.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1.5s infinite linear;-o-animation:dtb-spinner 1.5s infinite linear;-ms-animation:dtb-spinner 1.5s infinite linear;-webkit-animation:dtb-spinner 1.5s infinite linear;-moz-animation:dtb-spinner 1.5s infinite linear}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th.child{cursor:default!important}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before{display:none!important}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>td:first-child,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>th:first-child{position:relative;padding-left:30px;cursor:pointer}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>th:first-child:before{top:16px;left:4px;height:14px;width:14px;display:block;position:absolute;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;font-family:'Courier New',Courier,monospace;line-height:14px;content:'+';background-color:#0275d8}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}#bookly-tbs table.dataTable.dtr-column>tbody>tr>td.control,#bookly-tbs table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}#bookly-tbs table.dataTable.dtr-column>tbody>tr>td.control:before,#bookly-tbs table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;font-family:'Courier New',Courier,monospace;line-height:14px;content:'+';background-color:#0275d8}#bookly-tbs table.dataTable.dtr-column>tbody>tr.parent td.control:before,#bookly-tbs table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}#bookly-tbs table.dataTable>tbody>tr.child{padding:.5em 1em}#bookly-tbs table.dataTable>tbody>tr.child:hover{background:0 0!important}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:.5em 0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}#bookly-tbs table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:700}#bookly-tbs div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}#bookly-tbs div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid #000;border-radius:.5em;box-shadow:0 12px 30px rgba(0,0,0,.6)}#bookly-tbs div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}#bookly-tbs div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}#bookly-tbs div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}#bookly-tbs div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,.6)}@media screen and (max-width:767px){#bookly-tbs div.dtr-modal div.dtr-modal-display{width:95%}}#bookly-tbs div.dtr-bs-modal table.table tr:first-child td{border-top:none}#bookly-tbs table.dt-rowReorder-float{position:absolute!important;opacity:.8;table-layout:fixed;outline:2px solid #0275d8;outline-offset:-2px;z-index:2001}#bookly-tbs tr.dt-rowReorder-moving{outline:2px solid #888;outline-offset:-2px}#bookly-tbs body.dt-rowReorder-noOverflow{overflow-x:hidden}#bookly-tbs table.dataTable td.reorder{text-align:center;cursor:move}#bookly-tbs .daterangepicker{position:absolute;color:inherit;background-color:#fff;border-radius:4px;border:1px solid #ddd;width:278px;max-width:none;padding:0;margin-top:7px;top:100px;left:20px;z-index:3001;display:none;font-family:arial;font-size:15px;line-height:1em}#bookly-tbs .daterangepicker:after,#bookly-tbs .daterangepicker:before{position:absolute;display:inline-block;border-bottom-color:rgba(0,0,0,.2);content:''}#bookly-tbs .daterangepicker:before{top:-7px;border-right:7px solid transparent;border-left:7px solid transparent;border-bottom:7px solid #ccc}#bookly-tbs .daterangepicker:after{top:-6px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}#bookly-tbs .daterangepicker.opensleft:before{right:9px}#bookly-tbs .daterangepicker.opensleft:after{right:10px}#bookly-tbs .daterangepicker.openscenter:before{left:0;right:0;width:0;margin-left:auto;margin-right:auto}#bookly-tbs .daterangepicker.openscenter:after{left:0;right:0;width:0;margin-left:auto;margin-right:auto}#bookly-tbs .daterangepicker.opensright:before{left:9px}#bookly-tbs .daterangepicker.opensright:after{left:10px}#bookly-tbs .daterangepicker.drop-up{margin-top:-7px}#bookly-tbs .daterangepicker.drop-up:before{top:initial;bottom:-7px;border-bottom:initial;border-top:7px solid #ccc}#bookly-tbs .daterangepicker.drop-up:after{top:initial;bottom:-6px;border-bottom:initial;border-top:6px solid #fff}#bookly-tbs .daterangepicker.single .daterangepicker .ranges,#bookly-tbs .daterangepicker.single .drp-calendar{float:none}#bookly-tbs .daterangepicker.single .drp-selected{display:none}#bookly-tbs .daterangepicker.show-calendar .drp-calendar{display:block}#bookly-tbs .daterangepicker.show-calendar .drp-calendar select{border:1px solid #ced4da;padding:0 7px}#bookly-tbs .daterangepicker.show-calendar .drp-calendar table th{text-transform:none}#bookly-tbs .daterangepicker.show-calendar .drp-buttons{display:block}#bookly-tbs .daterangepicker.auto-apply .drp-buttons{display:none}#bookly-tbs .daterangepicker .drp-calendar{display:none;max-width:270px}#bookly-tbs .daterangepicker .drp-calendar.left{padding:8px 0 8px 8px}#bookly-tbs .daterangepicker .drp-calendar.right{padding:8px}#bookly-tbs .daterangepicker .drp-calendar.single .calendar-table{border:none}#bookly-tbs .daterangepicker .calendar-table .next span,#bookly-tbs .daterangepicker .calendar-table .prev span{color:#fff;border:solid #000;border-width:0 2px 2px 0;border-radius:0;display:inline-block;padding:3px}#bookly-tbs .daterangepicker .calendar-table .next span{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}#bookly-tbs .daterangepicker .calendar-table .prev span{transform:rotate(135deg);-webkit-transform:rotate(135deg)}#bookly-tbs .daterangepicker .calendar-table td,#bookly-tbs .daterangepicker .calendar-table th{white-space:nowrap;text-align:center;vertical-align:middle;min-width:32px;width:32px;height:24px;line-height:24px;font-size:12px;border-radius:4px;border:1px solid transparent;cursor:pointer}#bookly-tbs .daterangepicker .calendar-table{border:1px solid #fff;border-radius:4px;background-color:#fff}#bookly-tbs .daterangepicker .calendar-table table{width:100%;margin:0;border-spacing:0;border-collapse:collapse}#bookly-tbs .daterangepicker td.available:hover,#bookly-tbs .daterangepicker th.available:hover{background-color:#eee;border-color:transparent;color:inherit}#bookly-tbs .daterangepicker td.week,#bookly-tbs .daterangepicker th.week{font-size:80%;color:#ccc}#bookly-tbs .daterangepicker td.off,#bookly-tbs .daterangepicker td.off.end-date,#bookly-tbs .daterangepicker td.off.in-range,#bookly-tbs .daterangepicker td.off.start-date{background-color:#fff;border-color:transparent;color:#999}#bookly-tbs .daterangepicker td.in-range{background-color:#ebf4f8;border-color:transparent;color:#000;border-radius:0}#bookly-tbs .daterangepicker td.start-date{border-radius:4px 0 0 4px}#bookly-tbs .daterangepicker td.end-date{border-radius:0 4px 4px 0}#bookly-tbs .daterangepicker td.start-date.end-date{border-radius:4px}#bookly-tbs .daterangepicker td.active,#bookly-tbs .daterangepicker td.active:hover{background-color:#357ebd;border-color:transparent;color:#fff}#bookly-tbs .daterangepicker th.month{width:auto}#bookly-tbs .daterangepicker option.disabled,#bookly-tbs .daterangepicker td.disabled{color:#999;cursor:not-allowed;text-decoration:line-through}#bookly-tbs .daterangepicker select.monthselect,#bookly-tbs .daterangepicker select.yearselect{font-size:12px;padding:1px;margin:0;cursor:default}#bookly-tbs .daterangepicker select.monthselect{margin-right:2%;width:56%}#bookly-tbs .daterangepicker select.yearselect{width:40%}#bookly-tbs .daterangepicker select.ampmselect,#bookly-tbs .daterangepicker select.hourselect,#bookly-tbs .daterangepicker select.minuteselect,#bookly-tbs .daterangepicker select.secondselect{width:50px;margin:0 auto;background:#eee;border:1px solid #eee;padding:2px;outline:0;font-size:12px}#bookly-tbs .daterangepicker .calendar-time{text-align:center;margin:4px auto 0 auto;line-height:30px;position:relative}#bookly-tbs .daterangepicker .calendar-time select.disabled{color:#ccc;cursor:not-allowed}#bookly-tbs .daterangepicker .drp-buttons{clear:both;text-align:right;padding:8px;border-top:1px solid #ddd;display:none;line-height:12px;vertical-align:middle}#bookly-tbs .daterangepicker .drp-selected{display:block;font-size:12px;padding:8px}#bookly-tbs .daterangepicker .drp-buttons .btn{margin-left:8px;font-size:12px;padding:4px 8px}#bookly-tbs .daterangepicker.show-ranges.single.rtl .drp-calendar.left{border-right:1px solid #ddd}#bookly-tbs .daterangepicker.show-ranges.single.ltr .drp-calendar.left{border-left:1px solid #ddd}#bookly-tbs .daterangepicker.show-ranges.rtl .drp-calendar.right{border-right:1px solid #ddd}#bookly-tbs .daterangepicker.show-calendar.show-ranges .ranges{min-height:246px;border-right:1px solid #ddd}#bookly-tbs .daterangepicker .ranges{float:none;text-align:left;margin:0}#bookly-tbs .daterangepicker .ranges ul{list-style:none;margin:0 auto;padding:0;width:100%}#bookly-tbs .daterangepicker .ranges li{font-size:12px;padding:8px 12px;cursor:pointer;border-radius:0;border:0;background-color:transparent}#bookly-tbs .daterangepicker .ranges li:first-child{border-radius:4px 4px 0 0}#bookly-tbs .daterangepicker .ranges li:last-child{border-radius:0 0 4px 4px}#bookly-tbs .daterangepicker .ranges li:hover{background-color:#f8f9fa;color:#212529}#bookly-tbs .daterangepicker .ranges li.active{background-color:#08c;color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}@media (min-width:564px){#bookly-tbs .daterangepicker{width:auto}#bookly-tbs .daterangepicker.show-calendar.show-ranges{width:646px}#bookly-tbs .daterangepicker .drp-selected{display:inline-block;padding-right:8px}#bookly-tbs .daterangepicker .ranges ul{width:140px}#bookly-tbs .daterangepicker.single .ranges ul{width:100%}#bookly-tbs .daterangepicker.single .drp-calendar.left{clear:none}#bookly-tbs .daterangepicker.single .drp-calendar,#bookly-tbs .daterangepicker.single .ranges{float:left}#bookly-tbs .daterangepicker{direction:ltr;text-align:left}#bookly-tbs .daterangepicker .drp-calendar.left{clear:left;margin-right:0}#bookly-tbs .daterangepicker .drp-calendar.left .calendar-table{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .daterangepicker .drp-calendar.right{margin-left:0}#bookly-tbs .daterangepicker .drp-calendar.right .calendar-table{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .daterangepicker .drp-calendar.left .calendar-table{padding-right:8px}#bookly-tbs .daterangepicker .drp-calendar,#bookly-tbs .daterangepicker .ranges{float:left}}@media (min-width:730px){#bookly-tbs .daterangepicker .ranges{width:auto}#bookly-tbs .daterangepicker .ranges{float:left}#bookly-tbs .daterangepicker.rtl .ranges{float:right}#bookly-tbs .daterangepicker .drp-calendar.left{clear:none!important}}#bookly-tbs .ec .ec-toolbar>*>:not(:first-child){margin-left:.75em}#bookly-tbs .ec .ec-toolbar .ec-title{cursor:pointer;font-size:24px;margin:0}#bookly-tbs .ec .ec-toolbar .ec-title::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}#bookly-tbs .ec .ec-toolbar .ec-title:empty::after{margin-left:0}#bookly-tbs .ec .ec-toolbar .ec-title::after{font-size:1rem;margin-left:.5rem}#bookly-tbs .ec .ec-toolbar .ec-title:hover{color:#0056b3}@media (max-width:767.98px){#bookly-tbs .ec .ec-toolbar{flex-direction:column}#bookly-tbs .ec .ec-toolbar>*{margin-bottom:10px}}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){#bookly-tbs .ec .ec-day{overflow:hidden}}#bookly-tbs .ec .ec-list .ec-day{font-weight:400;z-index:1}#bookly-tbs .ec .ec-list .ec-day:not(.ec-today):not(.ec-highlight){background-color:#fff}#bookly-tbs .ec .ec-event{cursor:pointer;color:inherit;padding:2px 2px 2px 5px;border-radius:0}#bookly-tbs .ec .ec-event:hover{height:auto!important;z-index:999!important}#bookly-tbs .ec .ec-event:hover:before{background-color:rgba(255,255,255,.775)}#bookly-tbs .ec .ec-event:before{content:'';position:absolute;top:0;right:0;width:calc(100% - 2px);height:100%;background-color:rgba(255,255,255,.7)}#bookly-tbs .ec .ec-event .arrow{left:0;width:100%}#bookly-tbs .ec .ec-month .ec-event{position:relative}#bookly-tbs .ec .ec-list .ec-event{padding:8px 14px;flex-wrap:wrap}#bookly-tbs .ec .ec-list .ec-event:before{content:none}#bookly-tbs .ec .ec-list .ec-event:hover{z-index:auto!important;background-color:#fbfbfb}#bookly-tbs .ec .ec-event-time{position:relative;font-weight:700}#bookly-tbs .ec .ec-event-title{position:relative;position:-webkit-sticky;position:sticky}#bookly-tbs .ec .ec-time{font-size:calc(1em - 1px)}#bookly-tbs .ec .bookly-ec-popover{pointer-events:none;opacity:0;position:fixed}#bookly-tbs .ec .ec-event:hover .bookly-ec-popover{opacity:1;pointer-events:auto}#bookly-tbs .bookly-ec-loading{background-color:rgba(255,255,255,.7);bottom:0;left:0;position:absolute;right:0;top:50px;z-index:9}#bookly-tbs .bookly-ec-loading .bookly-ec-loading-icon{position:absolute;left:calc(50% - 16px);top:calc(50% - 16px);background:rgba(255,0,0,0) url(../../images/ajax_loader_32x32.gif) no-repeat scroll 50% center;width:32px;height:32px}@media (max-width:767.98px){#bookly-tbs .bookly-ec-loading{top:150px}}#bookly-tbs .jCal{width:100%;position:relative}#bookly-tbs .jCalMo{display:block;position:relative;padding:0 15px;margin-bottom:15px;white-space:nowrap}@media (min-width:576px){#bookly-tbs .jCalMo{height:257px}}#bookly-tbs .jCal .month,#bookly-tbs .jCal .monthName,#bookly-tbs .jCal .monthSelect,#bookly-tbs .jCal .monthYear{float:left}#bookly-tbs .jCal .monthName{font-weight:700;padding:.5rem 0;text-align:center;width:100%}#bookly-tbs .jCal .monthYear{float:right;text-align:left}#bookly-tbs .jCal .month{width:100%}#bookly-tbs .jCal .monthSelect{background:#f8f9fa}#bookly-tbs .jCal .monthSelector{position:absolute}#bookly-tbs .jCal .monthSelectorShadow{position:absolute;background:#adb5bd;padding:0}#bookly-tbs .jCal .monthNameHover,#bookly-tbs .jCal .monthYearHover{background:#f8f9fa;color:#adb5bd}#bookly-tbs .jCal .monthSelectHover{background:#007bff;color:#fff}#bookly-tbs .jCalMo .aday,#bookly-tbs .jCalMo .day,#bookly-tbs .jCalMo .dow,#bookly-tbs .jCalMo .invday,#bookly-tbs .jCalMo .overDay,#bookly-tbs .jCalMo .pday,#bookly-tbs .jCalMo .selectedDay{position:relative;float:left;width:calc(14.2857% + 1px);margin-right:-1px;border:1px solid #f8f9fa;border-width:0 1px 1px 1px;text-align:center;cursor:default}#bookly-tbs .jCalMo .dow{font-size:12px;line-height:30px;background:#f8f9fa;border-bottom:0}#bookly-tbs .jCalMo .day{font-size:13px;line-height:30px;cursor:pointer;background:#fff}#bookly-tbs .jCalMo .invday{color:#adb5bd;background:#f8f9fa;text-decoration:line-through}#bookly-tbs .jCalMo .aday,#bookly-tbs .jCalMo .pday{font-size:13px;line-height:30px;color:#f8f9fa;background:rgba(248,249,250,.3)}#bookly-tbs .jCalMo .overDay{color:#212529;background:rgba(0,123,255,.2)}#bookly-tbs .jCalMo .holidayDay{color:#fff;background:#ffc107}#bookly-tbs .jCalMo .holidayDay.repeatDay{color:#fff;background:#dc3545}#bookly-tbs .jCalMo .selectedDay,#bookly-tbs .jCalMo .selectedDay.repeatDay{color:#fff;background:#007bff}#bookly-tbs .jCal .left,#bookly-tbs .jCal .right{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}#bookly-tbs .jCalMask,#bookly-tbs .jCalMove{position:absolute;overflow:hidden;width:700px;height:930px}@media (max-width:991.98px){#bookly-tbs .jCalMo{float:left;width:50%}}@media (min-width:992px){#bookly-tbs .jCalMo{float:left;width:33.33333333%}}#bookly-tbs .intl-tel-input{display:block}#bookly-tbs .intl-tel-input .flag-container{left:0;right:0}#bookly-tbs .intl-tel-input .flag-container ul.country-list{list-style:none;padding:0}#bookly-tbs .intl-tel-input .selected-flag{width:42px;padding:0 0 0 8px}#bookly-tbs .intl-tel-input .selected-flag .arrow{left:auto;right:4px;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #000}#bookly-tbs .intl-tel-input .iti-flag{background-image:url(../../../../frontend/resources/images/flags.png)}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:2dppx){#bookly-tbs .intl-tel-input .iti-flag{background-image:url(../../../../frontend/resources/images/flags@2x.png)}}#bookly-tbs .intl-tel-input .form-control{padding-left:45px}#bookly-tbs .intl-tel-input .country-list{max-width:100%}#bookly-tbs .bookly-thumb{display:block;position:relative;width:106px;height:106px;border:1px solid #ced4da;border-radius:.25rem;background-color:#e9ecef;background-image:url(../../images/sprite.png);background-repeat:no-repeat;background-position:0 0;overflow:hidden}#bookly-tbs .bookly-thumb.w-100{background-image:none}#bookly-tbs .bookly-thumb .bookly-thumb-delete{position:absolute;top:.25rem;right:0;text-decoration:none}#bookly-tbs .bookly-thumb .bookly-thumb-edit{position:absolute;left:0;right:0;bottom:0;background-color:rgba(173,181,189,.5)}#bookly-tbs .bookly-thumb .bookly-thumb-edit:hover{background-color:rgba(173,181,189,.8)}#bookly-tbs .bookly-thumb .bookly-thumb-edit .bookly-thumb-edit-btn{width:100%;padding:0 3px;margin:0;text-align:center;color:#fff;font-size:13px;line-height:25px}#bookly-tbs .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}#bookly-tbs .select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .select2-container .select2-selection--single .select2-selection__clear{position:relative}#bookly-tbs .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}#bookly-tbs .select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .select2-container .select2-search--inline{float:left}#bookly-tbs .select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}#bookly-tbs .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}#bookly-tbs .select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}#bookly-tbs .select2-results{display:block}#bookly-tbs .select2-results__options{list-style:none;margin:0;padding:0}#bookly-tbs .select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-results__option[aria-selected]{cursor:pointer}#bookly-tbs .select2-container--open .select2-dropdown{left:0}#bookly-tbs .select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-search--dropdown{display:block;padding:4px}#bookly-tbs .select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}#bookly-tbs .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}#bookly-tbs .select2-search--dropdown.select2-search--hide{display:none}#bookly-tbs .select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}#bookly-tbs .select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}#bookly-tbs .select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}#bookly-tbs .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}#bookly-tbs .select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px;padding:1px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}#bookly-tbs .select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}#bookly-tbs .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,#bookly-tbs .select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,#bookly-tbs .select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}#bookly-tbs .select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}#bookly-tbs .select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}#bookly-tbs .select2-container--default .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--default .select2-results__option[aria-disabled=true]{color:#999}#bookly-tbs .select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option{padding-left:1em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}#bookly-tbs .select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}#bookly-tbs .select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}#bookly-tbs .select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #dee2e6;border-radius:.25rem;outline:0;background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #dee2e6;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #dee2e6;border-radius:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;left:1px;right:auto}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;cursor:text;outline:0}#bookly-tbs .select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #dee2e6;border-radius:.25rem;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #dee2e6;outline:0}#bookly-tbs .select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}#bookly-tbs .select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}#bookly-tbs .select2-container--classic .select2-dropdown--above{border-bottom:none}#bookly-tbs .select2-container--classic .select2-dropdown--below{border-top:none}#bookly-tbs .select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}#bookly-tbs .select2-container--classic .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}#bookly-tbs .select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}#bookly-tbs .select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}#bookly-tbs .select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single{height:calc(1.5em + .75rem + 2px)!important}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__placeholder{color:#757575;line-height:calc(1.5em + .75rem)}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow{position:absolute;top:50%;right:3px;width:20px}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b{top:60%;border-color:#343a40 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;width:0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered{line-height:calc(1.5em + .75rem)}#bookly-tbs .select2-search--dropdown .select2-search__field{border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .select2-results__message{color:#6c757d}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple{min-height:calc(1.5em + .75rem + 2px)!important}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice{color:#343a40;border:1px solid #bdc6d0;border-radius:.2rem;padding:0;padding-right:5px;cursor:pointer;float:left;margin-top:.3em;margin-right:5px}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove{color:#bdc6d0;font-weight:700;margin-left:3px;margin-right:1px;padding-right:3px;padding-left:3px;float:left}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove:hover{color:#343a40}#bookly-tbs .select2-container{display:block}#bookly-tbs .select2-container :focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .input-group .select2-container--bootstrap4{flex-grow:1}#bookly-tbs .input-group-prepend~.select2-container--bootstrap4 .select2-selection{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group>.select2-container--bootstrap4:not(:last-child) .select2-selection{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--bootstrap4 .select2-selection{background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){#bookly-tbs .select2-container--bootstrap4 .select2-selection{transition:none}}#bookly-tbs .select2-container--bootstrap4.select2-container--focus .select2-selection{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .select2-container--bootstrap4.select2-container--focus.select2-container--open .select2-selection{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--bootstrap4.select2-container--disabled .select2-selection,#bookly-tbs .select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-selection{background-color:#e9ecef;cursor:not-allowed;border-color:#ced4da;box-shadow:none}#bookly-tbs .select2-container--bootstrap4.select2-container--disabled .select2-search__field,#bookly-tbs .select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-search__field{background-color:transparent}form.was-validated select:invalid~#bookly-tbs .select2-container--bootstrap4 .select2-selection,select.is-invalid~#bookly-tbs .select2-container--bootstrap4 .select2-selection{border-color:#dc3545}form.was-validated select:valid~#bookly-tbs .select2-container--bootstrap4 .select2-selection,select.is-valid~#bookly-tbs .select2-container--bootstrap4 .select2-selection{border-color:#28a745}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown{border-color:#ced4da;border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown.select2-dropdown--above{border-top:1px solid #ced4da;border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown .select2-results__option[aria-selected=true]{background-color:#e9ecef}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown .select2-results__option:empty{padding:0}#bookly-tbs .select2-container--bootstrap4 .select2-results__option--highlighted,#bookly-tbs .select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected=true]{background-color:#007bff;color:#f8f9fa}#bookly-tbs .select2-container--bootstrap4 .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--bootstrap4 .select2-results>.select2-results__options{max-height:15em;overflow-y:auto}#bookly-tbs .select2-container--bootstrap4 .select2-results__group{padding:6px;display:list-item;color:#6c757d}#bookly-tbs .select2-container--bootstrap4 .select2-selection__clear{width:1.2em;height:1.2em;line-height:1.15em;padding-left:.3em;margin-top:.5em;color:#6c757d;font-weight:700;float:right;margin-right:.3em}#bookly-tbs .select2-container--bootstrap4 .select2-selection__clear:hover{color:#343a40}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection,#bookly-tbs #bookly-package-dialog .select2 .select2-selection{height:38px;box-shadow:none}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection__choice,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection__choice,#bookly-tbs #bookly-package-dialog .select2 .select2-selection__choice{display:none}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection ul,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection ul,#bookly-tbs #bookly-package-dialog .select2 .select2-selection ul{margin-bottom:0}#bookly-tbs #bookly-appointment-dialog .select2.select2-container--focus,#bookly-tbs #bookly-coupon-modal .select2.select2-container--focus,#bookly-tbs #bookly-package-dialog .select2.select2-container--focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.25);border-radius:.25rem}#bookly-tbs #bookly-appointment-dialog .select2 .select2-search,#bookly-tbs #bookly-coupon-modal .select2 .select2-search,#bookly-tbs #bookly-package-dialog .select2 .select2-search{float:none;margin:3px 0;padding-left:8px;border-radius:.25rem}#bookly-tbs #bookly-appointment-dialog .select2 .select2-search__field,#bookly-tbs #bookly-coupon-modal .select2 .select2-search__field,#bookly-tbs #bookly-package-dialog .select2 .select2-search__field{min-width:50%!important;box-shadow:none;margin:0;padding:0;border:0}#bookly-tbs #select2-bookly-appointment-dialog-select2-results .select2-results__option[aria-selected=true]{background-color:#fff;color:#212529}#bookly-tbs .select2-container{z-index:auto}.rtl #bookly-tbs *{text-align:right}.rtl #bookly-tbs .card-footer>button{margin:.25rem}.rtl #bookly-tbs .close{float:left}.rtl #bookly-tbs i.far,.rtl #bookly-tbs i.fas{margin-left:.5rem}.rtl #bookly-tbs .daterangepicker .calendar-table{text-align:center}.rtl #bookly-tbs .daterangepicker .drp-calendar{max-width:315px}.rtl #bookly-tbs .daterangepicker.show-calendar.show-ranges{width:774px}.rtl #bookly-tbs .fc-center h2{position:absolute;right:50%;top:0}.rtl #bookly-tbs .fc-icon{text-align:center}.rtl #bookly-tbs .input-group .select2-selection{border-radius:0 5px 5px 0!important}.rtl #bookly-tbs .input-group .form-control{border-radius:0 5px 5px 0;right:1px}.rtl #bookly-tbs .input-group .input-group-append .btn,.rtl #bookly-tbs .input-group .input-group-append .input-group-text{border-radius:5px 0 0 5px;border-top-left-radius:5px;border-bottom-left-radius:5px}.rtl #bookly-tbs .input-group .input-group-prepend{margin-left:-1px}.rtl #bookly-tbs .input-group .input-group-prepend .input-group-text{border-radius:0 5px 5px 0}.rtl #bookly-tbs #bookly-customer-information-fields .input-group .input-group-append:nth-child(2)>*{border-radius:0!important}.rtl #bookly-tbs .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:20px;padding-left:8px}.rtl #bookly-tbs .btn-group>:first-child{border-radius:0 3px 3px 0!important}.rtl #bookly-tbs .btn-group>.dropdown-toggle,.rtl #bookly-tbs .btn-group>:last-child{border-radius:3px 0 0 3px!important;margin-right:0!important}.rtl #bookly-tbs .intl-tel-input .selected-flag{padding:0 16px 0 0}.rtl #bookly-tbs .intl-tel-input .country-list .flag-box{margin-left:6px}.rtl #bookly-tbs .intl-tel-input .form-control{padding-right:45px;padding-left:.75rem}.rtl #bookly-tbs .modal-header button.close{position:absolute;left:0}.rtl #bookly-tbs .custom-control.custom-checkbox{padding-left:0}.rtl #bookly-tbs label.custom-control-label{position:relative;padding-right:1.5rem}.rtl #bookly-tbs label.custom-control-label::after,.rtl #bookly-tbs label.custom-control-label::before{right:0;left:auto}
backend/resources/bootstrap/js/bootstrap.min.js CHANGED
@@ -3,4 +3,4 @@
3
  * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
  */
6
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],t):t((e=e||self).bootstrap={},e.jQuery)}(this,function(e,p){"use strict";function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function s(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function l(o){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?t(Object(r),!0).forEach(function(e){var t,n,i;t=o,i=r[n=e],n in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(r,e))})}return o}p=p&&p.hasOwnProperty("default")?p.default:p;var n="transitionend";function o(e){var t=this,n=!1;return p(this).one(m.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||m.triggerTransitionEnd(t)},e),this}var m={TRANSITION_END:"bsTransitionEnd",getUID:function(e){for(;e+=~~(1e6*Math.random()),document.getElementById(e););return e},getSelectorFromElement:function(e){var t=e.getAttribute("data-target");if(!t||"#"===t){var n=e.getAttribute("href");t=n&&"#"!==n?n.trim():""}try{return document.querySelector(t)?t:null}catch(e){return null}},getTransitionDurationFromElement:function(e){if(!e)return 0;var t=p(e).css("transition-duration"),n=p(e).css("transition-delay"),i=parseFloat(t),o=parseFloat(n);return i||o?(t=t.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(t)+parseFloat(n))):0},reflow:function(e){return e.offsetHeight},triggerTransitionEnd:function(e){p(e).trigger(n)},supportsTransitionEnd:function(){return Boolean(n)},isElement:function(e){return(e[0]||e).nodeType},typeCheckConfig:function(e,t,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=t[i],s=r&&m.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(e.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(e){if(!document.documentElement.attachShadow)return null;if("function"!=typeof e.getRootNode)return e instanceof ShadowRoot?e:e.parentNode?m.findShadowRoot(e.parentNode):null;var t=e.getRootNode();return t instanceof ShadowRoot?t:null},jQueryDetection:function(){if("undefined"==typeof p)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=p.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};m.jQueryDetection(),p.fn.emulateTransitionEnd=o,p.event.special[m.TRANSITION_END]={bindType:n,delegateType:n,handle:function(e){if(p(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}};var r="alert",a="bs.alert",c="."+a,h=p.fn[r],u={CLOSE:"close"+c,CLOSED:"closed"+c,CLICK_DATA_API:"click"+c+".data-api"},f="alert",d="fade",g="show",_=function(){function i(e){this._element=e}var e=i.prototype;return e.close=function(e){var t=this._element;e&&(t=this._getRootElement(e)),this._triggerCloseEvent(t).isDefaultPrevented()||this._removeElement(t)},e.dispose=function(){p.removeData(this._element,a),this._element=null},e._getRootElement=function(e){var t=m.getSelectorFromElement(e),n=!1;return t&&(n=document.querySelector(t)),n=n||p(e).closest("."+f)[0]},e._triggerCloseEvent=function(e){var t=p.Event(u.CLOSE);return p(e).trigger(t),t},e._removeElement=function(t){var n=this;if(p(t).removeClass(g),p(t).hasClass(d)){var e=m.getTransitionDurationFromElement(t);p(t).one(m.TRANSITION_END,function(e){return n._destroyElement(t,e)}).emulateTransitionEnd(e)}else this._destroyElement(t)},e._destroyElement=function(e){p(e).detach().trigger(u.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(a);t||(t=new i(this),e.data(a,t)),"close"===n&&t[n](this)})},i._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();p(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',_._handleDismiss(new _)),p.fn[r]=_._jQueryInterface,p.fn[r].Constructor=_,p.fn[r].noConflict=function(){return p.fn[r]=h,_._jQueryInterface};var v="button",y="bs.button",E="."+y,b=".data-api",w=p.fn[v],T="active",C="btn",S="focus",D='[data-toggle^="button"]',I='[data-toggle="buttons"]',A='[data-toggle="button"]',O='[data-toggle="buttons"] .btn',N='input:not([type="hidden"])',k=".active",L=".btn",P={CLICK_DATA_API:"click"+E+b,FOCUS_BLUR_DATA_API:"focus"+E+b+" blur"+E+b,LOAD_DATA_API:"load"+E+b},x=function(){function n(e){this._element=e}var e=n.prototype;return e.toggle=function(){var e=!0,t=!0,n=p(this._element).closest(I)[0];if(n){var i=this._element.querySelector(N);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(T))e=!1;else{var o=n.querySelector(k);o&&p(o).removeClass(T)}else("checkbox"!==i.type||"LABEL"===this._element.tagName&&i.checked===this._element.classList.contains(T))&&(e=!1);e&&(i.checked=!this._element.classList.contains(T),p(i).trigger("change")),i.focus(),t=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(t&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(T)),e&&p(this._element).toggleClass(T))},e.dispose=function(){p.removeData(this._element,y),this._element=null},n._jQueryInterface=function(t){return this.each(function(){var e=p(this).data(y);e||(e=new n(this),p(this).data(y,e)),"toggle"===t&&e[t]()})},s(n,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),n}();p(document).on(P.CLICK_DATA_API,D,function(e){var t=e.target;if(p(t).hasClass(C)||(t=p(t).closest(L)[0]),!t||t.hasAttribute("disabled")||t.classList.contains("disabled"))e.preventDefault();else{var n=t.querySelector(N);if(n&&(n.hasAttribute("disabled")||n.classList.contains("disabled")))return void e.preventDefault();x._jQueryInterface.call(p(t),"toggle")}}).on(P.FOCUS_BLUR_DATA_API,D,function(e){var t=p(e.target).closest(L)[0];p(t).toggleClass(S,/^focus(in)?$/.test(e.type))}),p(window).on(P.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(O)),t=0,n=e.length;t<n;t++){var i=e[t],o=i.querySelector(N);o.checked||o.hasAttribute("checked")?i.classList.add(T):i.classList.remove(T)}for(var r=0,s=(e=[].slice.call(document.querySelectorAll(A))).length;r<s;r++){var a=e[r];"true"===a.getAttribute("aria-pressed")?a.classList.add(T):a.classList.remove(T)}}),p.fn[v]=x._jQueryInterface,p.fn[v].Constructor=x,p.fn[v].noConflict=function(){return p.fn[v]=w,x._jQueryInterface};var j="carousel",H="bs.carousel",R="."+H,F=".data-api",M=p.fn[j],W={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},q="next",B="prev",K="left",Q="right",V={SLIDE:"slide"+R,SLID:"slid"+R,KEYDOWN:"keydown"+R,MOUSEENTER:"mouseenter"+R,MOUSELEAVE:"mouseleave"+R,TOUCHSTART:"touchstart"+R,TOUCHMOVE:"touchmove"+R,TOUCHEND:"touchend"+R,POINTERDOWN:"pointerdown"+R,POINTERUP:"pointerup"+R,DRAG_START:"dragstart"+R,LOAD_DATA_API:"load"+R+F,CLICK_DATA_API:"click"+R+F},Y="carousel",z="active",X="slide",G="carousel-item-right",$="carousel-item-left",J="carousel-item-next",Z="carousel-item-prev",ee="pointer-event",te=".active",ne=".active.carousel-item",ie=".carousel-item",oe=".carousel-item img",re=".carousel-item-next, .carousel-item-prev",se=".carousel-indicators",ae="[data-slide], [data-slide-to]",le='[data-ride="carousel"]',ce={TOUCH:"touch",PEN:"pen"},he=function(){function r(e,t){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(t),this._element=e,this._indicatorsElement=this._element.querySelector(se),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=r.prototype;return e.next=function(){this._isSliding||this._slide(q)},e.nextWhenVisible=function(){!document.hidden&&p(this._element).is(":visible")&&"hidden"!==p(this._element).css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide(B)},e.pause=function(e){e||(this._isPaused=!0),this._element.querySelector(re)&&(m.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(e){var t=this;this._activeElement=this._element.querySelector(ne);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)p(this._element).one(V.SLID,function(){return t.to(e)});else{if(n===e)return this.pause(),void this.cycle();var i=n<e?q:B;this._slide(i,this._items[e])}},e.dispose=function(){p(this._element).off(R),p.removeData(this._element,H),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(e){return e=l({},W,{},e),m.typeCheckConfig(j,e,U),e},e._handleSwipe=function(){var e=Math.abs(this.touchDeltaX);if(!(e<=40)){var t=e/this.touchDeltaX;(this.touchDeltaX=0)<t&&this.prev(),t<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&p(this._element).on(V.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&p(this._element).on(V.MOUSEENTER,function(e){return t.pause(e)}).on(V.MOUSELEAVE,function(e){return t.cycle(e)}),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var t=function(e){n._pointerEvent&&ce[e.originalEvent.pointerType.toUpperCase()]?n.touchStartX=e.originalEvent.clientX:n._pointerEvent||(n.touchStartX=e.originalEvent.touches[0].clientX)},i=function(e){n._pointerEvent&&ce[e.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=e.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(e){return n.cycle(e)},500+n._config.interval))};p(this._element.querySelectorAll(oe)).on(V.DRAG_START,function(e){return e.preventDefault()}),this._pointerEvent?(p(this._element).on(V.POINTERDOWN,function(e){return t(e)}),p(this._element).on(V.POINTERUP,function(e){return i(e)}),this._element.classList.add(ee)):(p(this._element).on(V.TOUCHSTART,function(e){return t(e)}),p(this._element).on(V.TOUCHMOVE,function(e){var t;(t=e).originalEvent.touches&&1<t.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=t.originalEvent.touches[0].clientX-n.touchStartX}),p(this._element).on(V.TOUCHEND,function(e){return i(e)}))}},e._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.which){case 37:e.preventDefault(),this.prev();break;case 39:e.preventDefault(),this.next()}},e._getItemIndex=function(e){return this._items=e&&e.parentNode?[].slice.call(e.parentNode.querySelectorAll(ie)):[],this._items.indexOf(e)},e._getItemByDirection=function(e,t){var n=e===q,i=e===B,o=this._getItemIndex(t),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return t;var s=(o+(e===B?-1:1))%this._items.length;return-1==s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),i=this._getItemIndex(this._element.querySelector(ne)),o=p.Event(V.SLIDE,{relatedTarget:e,direction:t,from:i,to:n});return p(this._element).trigger(o),o},e._setActiveIndicatorElement=function(e){if(this._indicatorsElement){var t=[].slice.call(this._indicatorsElement.querySelectorAll(te));p(t).removeClass(z);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&p(n).addClass(z)}},e._slide=function(e,t){var n,i,o,r=this,s=this._element.querySelector(ne),a=this._getItemIndex(s),l=t||s&&this._getItemByDirection(e,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=e===q?(n=$,i=J,K):(n=G,i=Z,Q),l&&p(l).hasClass(z))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=p.Event(V.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(p(this._element).hasClass(X)){p(l).addClass(i),m.reflow(l),p(s).addClass(n),p(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=f):this._config.interval=this._config.defaultInterval||this._config.interval;var d=m.getTransitionDurationFromElement(s);p(s).one(m.TRANSITION_END,function(){p(l).removeClass(n+" "+i).addClass(z),p(s).removeClass(z+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return p(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else p(s).removeClass(z),p(l).addClass(z),this._isSliding=!1,p(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var e=p(this).data(H),t=l({},W,{},p(this).data());"object"==typeof i&&(t=l({},t,{},i));var n="string"==typeof i?i:t.slide;if(e||(e=new r(this,t),p(this).data(H,e)),"number"==typeof i)e.to(i);else if("string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}else t.interval&&t.ride&&(e.pause(),e.cycle())})},r._dataApiClickHandler=function(e){var t=m.getSelectorFromElement(this);if(t){var n=p(t)[0];if(n&&p(n).hasClass(Y)){var i=l({},p(n).data(),{},p(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(p(n),i),o&&p(n).data(H).to(o),e.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return W}}]),r}();p(document).on(V.CLICK_DATA_API,ae,he._dataApiClickHandler),p(window).on(V.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(le)),t=0,n=e.length;t<n;t++){var i=p(e[t]);he._jQueryInterface.call(i,i.data())}}),p.fn[j]=he._jQueryInterface,p.fn[j].Constructor=he,p.fn[j].noConflict=function(){return p.fn[j]=M,he._jQueryInterface};var ue="collapse",fe="bs.collapse",de="."+fe,pe=p.fn[ue],me={toggle:!0,parent:""},ge={toggle:"boolean",parent:"(string|element)"},_e={SHOW:"show"+de,SHOWN:"shown"+de,HIDE:"hide"+de,HIDDEN:"hidden"+de,CLICK_DATA_API:"click"+de+".data-api"},ve="show",ye="collapse",Ee="collapsing",be="collapsed",we="width",Te="height",Ce=".show, .collapsing",Se='[data-toggle="collapse"]',De=function(){function a(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(Se)),i=0,o=n.length;i<o;i++){var r=n[i],s=m.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(e){return e===t});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=a.prototype;return e.toggle=function(){p(this._element).hasClass(ve)?this.hide():this.show()},e.show=function(){var e,t,n=this;if(!this._isTransitioning&&!p(this._element).hasClass(ve)&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(Ce)).filter(function(e){return"string"==typeof n._config.parent?e.getAttribute("data-parent")===n._config.parent:e.classList.contains(ye)})).length&&(e=null),!(e&&(t=p(e).not(this._selector).data(fe))&&t._isTransitioning))){var i=p.Event(_e.SHOW);if(p(this._element).trigger(i),!i.isDefaultPrevented()){e&&(a._jQueryInterface.call(p(e).not(this._selector),"hide"),t||p(e).data(fe,null));var o=this._getDimension();p(this._element).removeClass(ye).addClass(Ee),this._element.style[o]=0,this._triggerArray.length&&p(this._triggerArray).removeClass(be).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){p(n._element).removeClass(Ee).addClass(ye).addClass(ve),n._element.style[o]="",n.setTransitioning(!1),p(n._element).trigger(_e.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},e.hide=function(){var e=this;if(!this._isTransitioning&&p(this._element).hasClass(ve)){var t=p.Event(_e.HIDE);if(p(this._element).trigger(t),!t.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",m.reflow(this._element),p(this._element).addClass(Ee).removeClass(ye).removeClass(ve);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=m.getSelectorFromElement(r);if(null!==s)p([].slice.call(document.querySelectorAll(s))).hasClass(ve)||p(r).addClass(be).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){e.setTransitioning(!1),p(e._element).removeClass(Ee).addClass(ye).trigger(_e.HIDDEN)}).emulateTransitionEnd(a)}}},e.setTransitioning=function(e){this._isTransitioning=e},e.dispose=function(){p.removeData(this._element,fe),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(e){return(e=l({},me,{},e)).toggle=Boolean(e.toggle),m.typeCheckConfig(ue,e,ge),e},e._getDimension=function(){return p(this._element).hasClass(we)?we:Te},e._getParent=function(){var e,n=this;m.isElement(this._config.parent)?(e=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(e=this._config.parent[0])):e=document.querySelector(this._config.parent);var t='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(e.querySelectorAll(t));return p(i).each(function(e,t){n._addAriaAndCollapsedClass(a._getTargetFromElement(t),[t])}),e},e._addAriaAndCollapsedClass=function(e,t){var n=p(e).hasClass(ve);t.length&&p(t).toggleClass(be,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(e){var t=m.getSelectorFromElement(e);return t?document.querySelector(t):null},a._jQueryInterface=function(i){return this.each(function(){var e=p(this),t=e.data(fe),n=l({},me,{},e.data(),{},"object"==typeof i&&i?i:{});if(!t&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),t||(t=new a(this,n),e.data(fe,t)),"string"==typeof i){if("undefined"==typeof t[i])throw new TypeError('No method named "'+i+'"');t[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return me}}]),a}();p(document).on(_e.CLICK_DATA_API,Se,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var n=p(this),t=m.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(t));p(i).each(function(){var e=p(this),t=e.data(fe)?"toggle":n.data();De._jQueryInterface.call(e,t)})}),p.fn[ue]=De._jQueryInterface,p.fn[ue].Constructor=De,p.fn[ue].noConflict=function(){return p.fn[ue]=pe,De._jQueryInterface};var Ie="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,Ae=function(){for(var e=["Edge","Trident","Firefox"],t=0;t<e.length;t+=1)if(Ie&&0<=navigator.userAgent.indexOf(e[t]))return 1;return 0}();var Oe=Ie&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},Ae))}};function Ne(e){return e&&"[object Function]"==={}.toString.call(e)}function ke(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function Le(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function Pe(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=ke(e),n=t.overflow,i=t.overflowX,o=t.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?e:Pe(Le(e))}function xe(e){return e&&e.referenceNode?e.referenceNode:e}var je=Ie&&!(!window.MSInputMethodContext||!document.documentMode),He=Ie&&/MSIE 10/.test(navigator.userAgent);function Re(e){return 11===e?je:10!==e&&je||He}function Fe(e){if(!e)return document.documentElement;for(var t=Re(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===ke(n,"position")?Fe(n):n:e?e.ownerDocument.documentElement:document.documentElement}function Me(e){return null!==e.parentNode?Me(e.parentNode):e}function We(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?e:t,o=n?t:e,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s,a,l=r.commonAncestorContainer;if(e!==l&&t!==l||i.contains(o))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&Fe(s.firstElementChild)!==s?Fe(l):l;var c=Me(e);return c.host?We(c.host,t):We(e,Me(t).host)}function Ue(e,t){var n="top"===(1<arguments.length&&void 0!==t?t:"top")?"scrollTop":"scrollLeft",i=e.nodeName;if("BODY"!==i&&"HTML"!==i)return e[n];var o=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||o)[n]}function qe(e,t){var n="x"===t?"Left":"Top",i="Left"==n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"])+parseFloat(e["border"+i+"Width"])}function Be(e,t,n,i){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],Re(10)?parseInt(n["offset"+e])+parseInt(i["margin"+("Height"===e?"Top":"Left")])+parseInt(i["margin"+("Height"===e?"Bottom":"Right")]):0)}function Ke(e){var t=e.body,n=e.documentElement,i=Re(10)&&getComputedStyle(n);return{height:Be("Height",t,n,i),width:Be("Width",t,n,i)}}var Qe=function(e,t,n){return t&&Ve(e.prototype,t),n&&Ve(e,n),e};function Ve(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function Ye(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ze=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e};function Xe(e){return ze({},e,{right:e.left+e.width,bottom:e.top+e.height})}function Ge(e){var t={};try{if(Re(10)){t=e.getBoundingClientRect();var n=Ue(e,"top"),i=Ue(e,"left");t.top+=n,t.left+=i,t.bottom+=n,t.right+=i}else t=e.getBoundingClientRect()}catch(e){}var o={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},r="HTML"===e.nodeName?Ke(e.ownerDocument):{},s=r.width||e.clientWidth||o.width,a=r.height||e.clientHeight||o.height,l=e.offsetWidth-s,c=e.offsetHeight-a;if(l||c){var h=ke(e);l-=qe(h,"x"),c-=qe(h,"y"),o.width-=l,o.height-=c}return Xe(o)}function $e(e,t,n){var i=2<arguments.length&&void 0!==n&&n,o=Re(10),r="HTML"===t.nodeName,s=Ge(e),a=Ge(t),l=Pe(e),c=ke(t),h=parseFloat(c.borderTopWidth),u=parseFloat(c.borderLeftWidth);i&&r&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var f=Xe({top:s.top-a.top-h,left:s.left-a.left-u,width:s.width,height:s.height});if(f.marginTop=0,f.marginLeft=0,!o&&r){var d=parseFloat(c.marginTop),p=parseFloat(c.marginLeft);f.top-=h-d,f.bottom-=h-d,f.left-=u-p,f.right-=u-p,f.marginTop=d,f.marginLeft=p}return(o&&!i?t.contains(l):t===l&&"BODY"!==l.nodeName)&&(f=function(e,t,n){var i=2<arguments.length&&void 0!==n&&n,o=Ue(t,"top"),r=Ue(t,"left"),s=i?-1:1;return e.top+=o*s,e.bottom+=o*s,e.left+=r*s,e.right+=r*s,e}(f,t)),f}function Je(e){if(!e||!e.parentElement||Re())return document.documentElement;for(var t=e.parentElement;t&&"none"===ke(t,"transform");)t=t.parentElement;return t||document.documentElement}function Ze(e,t,n,i,o){var r=4<arguments.length&&void 0!==o&&o,s={top:0,left:0},a=r?Je(e):We(e,xe(t));if("viewport"===i)s=function(e,t){var n=1<arguments.length&&void 0!==t&&t,i=e.ownerDocument.documentElement,o=$e(e,i),r=Math.max(i.clientWidth,window.innerWidth||0),s=Math.max(i.clientHeight,window.innerHeight||0),a=n?0:Ue(i),l=n?0:Ue(i,"left");return Xe({top:a-o.top+o.marginTop,left:l-o.left+o.marginLeft,width:r,height:s})}(a,r);else{var l=void 0;"scrollParent"===i?"BODY"===(l=Pe(Le(t))).nodeName&&(l=e.ownerDocument.documentElement):l="window"===i?e.ownerDocument.documentElement:i;var c=$e(l,a,r);if("HTML"!==l.nodeName||function e(t){var n=t.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===ke(t,"position"))return!0;var i=Le(t);return!!i&&e(i)}(a))s=c;else{var h=Ke(e.ownerDocument),u=h.height,f=h.width;s.top+=c.top-c.marginTop,s.bottom=u+c.top,s.left+=c.left-c.marginLeft,s.right=f+c.left}}var d="number"==typeof(n=n||0);return s.left+=d?n:n.left||0,s.top+=d?n:n.top||0,s.right-=d?n:n.right||0,s.bottom-=d?n:n.bottom||0,s}function et(e,t,i,n,o,r){var s=5<arguments.length&&void 0!==r?r:0;if(-1===e.indexOf("auto"))return e;var a=Ze(i,n,s,o),l={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},c=Object.keys(l).map(function(e){return ze({key:e},l[e],{area:(t=l[e]).width*t.height});var t}).sort(function(e,t){return t.area-e.area}),h=c.filter(function(e){var t=e.width,n=e.height;return t>=i.clientWidth&&n>=i.clientHeight}),u=0<h.length?h[0].key:c[0].key,f=e.split("-")[1];return u+(f?"-"+f:"")}function tt(e,t,n,i){var o=3<arguments.length&&void 0!==i?i:null;return $e(n,o?Je(t):We(t,xe(n)),o)}function nt(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),i=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+i,height:e.offsetHeight+n}}function it(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function ot(e,t,n){n=n.split("-")[0];var i=nt(e),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=t[s]+t[l]/2-i[l]/2,o[a]=n===a?t[a]-i[c]:t[it(a)],o}function rt(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function st(e,n,t){return(void 0===t?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var i=rt(e,function(e){return e[t]===n});return e.indexOf(i)}(e,"name",t))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var t=e.function||e.fn;e.enabled&&Ne(t)&&(n.offsets.popper=Xe(n.offsets.popper),n.offsets.reference=Xe(n.offsets.reference),n=t(n,e))}),n}function at(e,n){return e.some(function(e){var t=e.name;return e.enabled&&t===n})}function lt(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),i=0;i<t.length;i++){var o=t[i],r=o?""+o+n:e;if("undefined"!=typeof document.body.style[r])return r}return null}function ct(e){var t=e.ownerDocument;return t?t.defaultView:window}function ht(e,t,n,i){n.updateBound=i,ct(e).addEventListener("resize",n.updateBound,{passive:!0});var o=Pe(e);return function e(t,n,i,o){var r="BODY"===t.nodeName,s=r?t.ownerDocument.defaultView:t;s.addEventListener(n,i,{passive:!0}),r||e(Pe(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function ut(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,ct(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function ft(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function dt(n,i){Object.keys(i).forEach(function(e){var t="";-1!==["width","height","top","right","bottom","left"].indexOf(e)&&ft(i[e])&&(t="px"),n.style[e]=i[e]+t})}function pt(e,t){function n(e){return e}var i=e.offsets,o=i.popper,r=i.reference,s=Math.round,a=Math.floor,l=s(r.width),c=s(o.width),h=-1!==["left","right"].indexOf(e.placement),u=-1!==e.placement.indexOf("-"),f=t?h||u||l%2==c%2?s:a:n,d=t?s:n;return{left:f(l%2==1&&c%2==1&&!u&&t?o.left-1:o.left),top:d(o.top),bottom:d(o.bottom),right:f(o.right)}}var mt=Ie&&/Firefox/i.test(navigator.userAgent);function gt(e,t,n){var i=rt(e,function(e){return e.name===t}),o=!!i&&e.some(function(e){return e.name===n&&e.enabled&&e.order<i.order});if(!o){var r="`"+t+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var _t=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],vt=_t.slice(3);function yt(e,t){var n=1<arguments.length&&void 0!==t&&t,i=vt.indexOf(e),o=vt.slice(i+1).concat(vt.slice(0,i));return n?o.reverse():o}var Et="flip",bt="clockwise",wt="counterclockwise";function Tt(e,o,r,t){var s=[0,0],a=-1!==["right","left"].indexOf(t),n=e.split(/(\+|\-)/).map(function(e){return e.trim()}),i=n.indexOf(rt(n,function(e){return-1!==e.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n];return(c=c.map(function(e,t){var n=(1===t?!a:a)?"height":"width",i=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,i=!0,e):i?(e[e.length-1]+=t,i=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,i){var o=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return e;if(0!==s.indexOf("%"))return"vh"!==s&&"vw"!==s?r:("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Xe(a)[t]/100*r}(e,n,o,r)})})).forEach(function(n,i){n.forEach(function(e,t){ft(e)&&(s[i]+=e*("-"===n[t-1]?-1:1))})}),s}var Ct={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],i=t.split("-")[1];if(i){var o=e.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",h={start:Ye({},l,r[l]),end:Ye({},l,r[l]+r[c]-s[c])};e.offsets.popper=ze({},s,h[i])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,i=e.placement,o=e.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=ft(+n)?[+n,0]:Tt(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),e.popper=r,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,i){var t=i.boundariesElement||Fe(e.instance.popper);e.instance.reference===t&&(t=Fe(t));var n=lt("transform"),o=e.instance.popper.style,r=o.top,s=o.left,a=o[n];o.top="",o.left="",o[n]="";var l=Ze(e.instance.popper,e.instance.reference,i.padding,t,e.positionFixed);o.top=r,o.left=s,o[n]=a,i.boundaries=l;var c=i.priority,h=e.offsets.popper,u={primary:function(e){var t=h[e];return h[e]<l[e]&&!i.escapeWithReference&&(t=Math.max(h[e],l[e])),Ye({},e,t)},secondary:function(e){var t="right"===e?"left":"top",n=h[t];return h[e]>l[e]&&!i.escapeWithReference&&(n=Math.min(h[t],l[e]-("right"===e?h.width:h.height))),Ye({},t,n)}};return c.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";h=ze({},h,u[t](e))}),e.offsets.popper=h,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,i=t.reference,o=e.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(e.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(e.offsets.popper[l]=r(i[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!gt(e.instance.modifiers,"arrow","keepTogether"))return e;var i=t.element;if("string"==typeof i){if(!(i=e.instance.popper.querySelector(i)))return e}else if(!e.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var o=e.placement.split("-")[0],r=e.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",h=l?"Top":"Left",u=h.toLowerCase(),f=l?"left":"top",d=l?"bottom":"right",p=nt(i)[c];a[d]-p<s[u]&&(e.offsets.popper[u]-=s[u]-(a[d]-p)),a[u]+p>s[d]&&(e.offsets.popper[u]+=a[u]+p-s[d]),e.offsets.popper=Xe(e.offsets.popper);var m=a[u]+a[c]/2-p/2,g=ke(e.instance.popper),_=parseFloat(g["margin"+h]),v=parseFloat(g["border"+h+"Width"]),y=m-e.offsets.popper[u]-_-v;return y=Math.max(Math.min(s[c]-p,y),0),e.arrowElement=i,e.offsets.arrow=(Ye(n={},u,Math.round(y)),Ye(n,f,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(g,_){if(at(g.instance.modifiers,"inner"))return g;if(g.flipped&&g.placement===g.originalPlacement)return g;var v=Ze(g.instance.popper,g.instance.reference,_.padding,_.boundariesElement,g.positionFixed),y=g.placement.split("-")[0],E=it(y),b=g.placement.split("-")[1]||"",w=[];switch(_.behavior){case Et:w=[y,E];break;case bt:w=yt(y);break;case wt:w=yt(y,!0);break;default:w=_.behavior}return w.forEach(function(e,t){if(y!==e||w.length===t+1)return g;y=g.placement.split("-")[0],E=it(y);var n,i=g.offsets.popper,o=g.offsets.reference,r=Math.floor,s="left"===y&&r(i.right)>r(o.left)||"right"===y&&r(i.left)<r(o.right)||"top"===y&&r(i.bottom)>r(o.top)||"bottom"===y&&r(i.top)<r(o.bottom),a=r(i.left)<r(v.left),l=r(i.right)>r(v.right),c=r(i.top)<r(v.top),h=r(i.bottom)>r(v.bottom),u="left"===y&&a||"right"===y&&l||"top"===y&&c||"bottom"===y&&h,f=-1!==["top","bottom"].indexOf(y),d=!!_.flipVariations&&(f&&"start"===b&&a||f&&"end"===b&&l||!f&&"start"===b&&c||!f&&"end"===b&&h),p=!!_.flipVariationsByContent&&(f&&"start"===b&&l||f&&"end"===b&&a||!f&&"start"===b&&h||!f&&"end"===b&&c),m=d||p;(s||u||m)&&(g.flipped=!0,(s||u)&&(y=w[t+1]),m&&(b="end"===(n=b)?"start":"start"===n?"end":n),g.placement=y+(b?"-"+b:""),g.offsets.popper=ze({},g.offsets.popper,ot(g.instance.popper,g.offsets.reference,g.placement)),g=st(g.instance.modifiers,g,"flip"))}),g},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],i=e.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),e.placement=it(t),e.offsets.popper=Xe(o),e}},hide:{order:800,enabled:!0,fn:function(e){if(!gt(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=rt(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,i=t.y,o=e.offsets.popper,r=rt(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:t.gpuAcceleration,a=Fe(e.instance.popper),l=Ge(a),c={position:o.position},h=pt(e,window.devicePixelRatio<2||!mt),u="bottom"===n?"top":"bottom",f="right"===i?"left":"right",d=lt("transform"),p=void 0,m=void 0;if(m="bottom"==u?"HTML"===a.nodeName?-a.clientHeight+h.bottom:-l.height+h.bottom:h.top,p="right"==f?"HTML"===a.nodeName?-a.clientWidth+h.right:-l.width+h.right:h.left,s&&d)c[d]="translate3d("+p+"px, "+m+"px, 0)",c[u]=0,c[f]=0,c.willChange="transform";else{var g="bottom"==u?-1:1,_="right"==f?-1:1;c[u]=m*g,c[f]=p*_,c.willChange=u+", "+f}var v={"x-placement":e.placement};return e.attributes=ze({},v,e.attributes),e.styles=ze({},c,e.styles),e.arrowStyles=ze({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return dt(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)}),e.arrowElement&&Object.keys(e.arrowStyles).length&&dt(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,i,o){var r=tt(o,t,e,n.positionFixed),s=et(n.placement,r,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",s),dt(t,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},St=(Qe(Dt,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=tt(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=et(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=ot(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=st(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,at(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[lt("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=ht(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return ut.call(this)}}]),Dt);function Dt(e,t){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,Dt),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=Oe(this.update.bind(this)),this.options=ze({},Dt.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=t&&t.jquery?t[0]:t,this.options.modifiers={},Object.keys(ze({},Dt.Defaults.modifiers,i.modifiers)).forEach(function(e){n.options.modifiers[e]=ze({},Dt.Defaults.modifiers[e]||{},i.modifiers?i.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return ze({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&Ne(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}St.Utils=("undefined"!=typeof window?window:global).PopperUtils,St.placements=_t,St.Defaults=Ct;var It="dropdown",At="bs.dropdown",Ot="."+At,Nt=".data-api",kt=p.fn[It],Lt=new RegExp("38|40|27"),Pt={HIDE:"hide"+Ot,HIDDEN:"hidden"+Ot,SHOW:"show"+Ot,SHOWN:"shown"+Ot,CLICK:"click"+Ot,CLICK_DATA_API:"click"+Ot+Nt,KEYDOWN_DATA_API:"keydown"+Ot+Nt,KEYUP_DATA_API:"keyup"+Ot+Nt},xt="disabled",jt="show",Ht="dropup",Rt="dropright",Ft="dropleft",Mt="dropdown-menu-right",Wt="position-static",Ut='[data-toggle="dropdown"]',qt=".dropdown form",Bt=".dropdown-menu",Kt=".navbar-nav",Qt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Vt="top-start",Yt="top-end",zt="bottom-start",Xt="bottom-end",Gt="right-start",$t="left-start",Jt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Zt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},en=function(){function c(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=c.prototype;return e.toggle=function(){if(!this._element.disabled&&!p(this._element).hasClass(xt)){var e=p(this._menu).hasClass(jt);c._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||p(this._element).hasClass(xt)||p(this._menu).hasClass(jt))){var t={relatedTarget:this._element},n=p.Event(Pt.SHOW,t),i=c._getParentFromElement(this._element);if(p(i).trigger(n),!n.isDefaultPrevented()){if(!this._inNavbar&&e){if("undefined"==typeof St)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=i:m.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&p(i).addClass(Wt),this._popper=new St(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===p(i).closest(Kt).length&&p(document.body).children().on("mouseover",null,p.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),p(this._menu).toggleClass(jt),p(i).toggleClass(jt).trigger(p.Event(Pt.SHOWN,t))}}},e.hide=function(){if(!this._element.disabled&&!p(this._element).hasClass(xt)&&p(this._menu).hasClass(jt)){var e={relatedTarget:this._element},t=p.Event(Pt.HIDE,e),n=c._getParentFromElement(this._element);p(n).trigger(t),t.isDefaultPrevented()||(this._popper&&this._popper.destroy(),p(this._menu).toggleClass(jt),p(n).toggleClass(jt).trigger(p.Event(Pt.HIDDEN,e)))}},e.dispose=function(){p.removeData(this._element,At),p(this._element).off(Ot),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;p(this._element).on(Pt.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},e._getConfig=function(e){return e=l({},this.constructor.Default,{},p(this._element).data(),{},e),m.typeCheckConfig(It,e,this.constructor.DefaultType),e},e._getMenuElement=function(){if(!this._menu){var e=c._getParentFromElement(this._element);e&&(this._menu=e.querySelector(Bt))}return this._menu},e._getPlacement=function(){var e=p(this._element.parentNode),t=zt;return e.hasClass(Ht)?(t=Vt,p(this._menu).hasClass(Mt)&&(t=Yt)):e.hasClass(Rt)?t=Gt:e.hasClass(Ft)?t=$t:p(this._menu).hasClass(Mt)&&(t=Xt),t},e._detectNavbar=function(){return 0<p(this._element).closest(".navbar").length},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=l({},e.offsets,{},t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var e={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(e.modifiers.applyStyle={enabled:!1}),l({},e,{},this._config.popperConfig)},c._jQueryInterface=function(t){return this.each(function(){var e=p(this).data(At);if(e||(e=new c(this,"object"==typeof t?t:null),p(this).data(At,e)),"string"==typeof t){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},c._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var t=[].slice.call(document.querySelectorAll(Ut)),n=0,i=t.length;n<i;n++){var o=c._getParentFromElement(t[n]),r=p(t[n]).data(At),s={relatedTarget:t[n]};if(e&&"click"===e.type&&(s.clickEvent=e),r){var a=r._menu;if(p(o).hasClass(jt)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&p.contains(o,e.target))){var l=p.Event(Pt.HIDE,s);p(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),t[n].setAttribute("aria-expanded","false"),r._popper&&r._popper.destroy(),p(a).removeClass(jt),p(o).removeClass(jt).trigger(p.Event(Pt.HIDDEN,s)))}}}},c._getParentFromElement=function(e){var t,n=m.getSelectorFromElement(e);return n&&(t=document.querySelector(n)),t||e.parentNode},c._dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||p(e.target).closest(Bt).length)):Lt.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!p(this).hasClass(xt))){var t=c._getParentFromElement(this),n=p(t).hasClass(jt);if(n||27!==e.which)if(n&&(!n||27!==e.which&&32!==e.which)){var i=[].slice.call(t.querySelectorAll(Qt)).filter(function(e){return p(e).is(":visible")});if(0!==i.length){var o=i.indexOf(e.target);38===e.which&&0<o&&o--,40===e.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===e.which){var r=t.querySelector(Ut);p(r).trigger("focus")}p(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return Jt}},{key:"DefaultType",get:function(){return Zt}}]),c}();p(document).on(Pt.KEYDOWN_DATA_API,Ut,en._dataApiKeydownHandler).on(Pt.KEYDOWN_DATA_API,Bt,en._dataApiKeydownHandler).on(Pt.CLICK_DATA_API+" "+Pt.KEYUP_DATA_API,en._clearMenus).on(Pt.CLICK_DATA_API,Ut,function(e){e.preventDefault(),e.stopPropagation(),en._jQueryInterface.call(p(this),"toggle")}).on(Pt.CLICK_DATA_API,qt,function(e){e.stopPropagation()}),p.fn[It]=en._jQueryInterface,p.fn[It].Constructor=en,p.fn[It].noConflict=function(){return p.fn[It]=kt,en._jQueryInterface},"function"!=typeof NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach);var tn="booklyModal",nn="bs.modal",on="."+nn,rn=p.fn[tn],sn={backdrop:!0,keyboard:!0,focus:!0,show:!0},an={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},ln={HIDE:"hide"+on,HIDE_PREVENTED:"hidePrevented"+on,HIDDEN:"hidden"+on,SHOW:"show"+on,SHOWN:"shown"+on,FOCUSIN:"focusin"+on,RESIZE:"resize"+on,CLICK_DISMISS:"click.dismiss"+on,KEYDOWN_DISMISS:"keydown.dismiss"+on,MOUSEUP_DISMISS:"mouseup.dismiss"+on,MOUSEDOWN_DISMISS:"mousedown.dismiss"+on,CLICK_DATA_API:"click"+on+".data-api"},cn="modal-dialog-scrollable",hn="modal-scrollbar-measure",un="bookly-modal-backdrop",fn="bookly-modal-open",dn="bookly-fade",pn="show",mn="modal-static",gn="modal-faded",_n=".modal-dialog",vn=".modal-body",yn='[data-toggle="bookly-modal"]',En='[data-dismiss="bookly-modal"]',bn=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",wn=".sticky-top",Tn=".bookly-modal",Cn=".bookly-modal.show",Sn=function(){function o(e,t){this._config=this._getConfig(t),this._element=e,this._dialog=e.querySelector(_n),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var e=o.prototype;return e.toggle=function(e){return this._isShown?this.hide():this.show(e)},e.show=function(e){var t=this;if(!this._isShown&&!this._isTransitioning){p(this._element).hasClass(dn)&&(this._isTransitioning=!0);var n=p.Event(ln.SHOW,{relatedTarget:e});p(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),document.querySelectorAll(Tn).forEach(function(e){e.classList.add(gn)}),this._element.classList.remove(gn),p(this._element).on(ln.CLICK_DISMISS,En,function(e){return t.hide(e)}),p(this._dialog).on(ln.MOUSEDOWN_DISMISS,function(){p(t._element).one(ln.MOUSEUP_DISMISS,function(e){p(e.target).is(t._element)&&(t._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return t._showElement(e)}))}},e.hide=function(e){var t=this;if(e&&e.preventDefault(),this._isShown&&!this._isTransitioning){var n=p.Event(ln.HIDE);if(p(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=p(this._element).hasClass(dn);if(document.querySelectorAll(Tn).forEach(function(e){e.classList.remove(gn)}),i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),p(document).off(ln.FOCUSIN),p(this._element).removeClass(pn),p(this._element).off(ln.CLICK_DISMISS),p(this._dialog).off(ln.MOUSEDOWN_DISMISS),i){var o=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(e){return t._hideModal(e)}).emulateTransitionEnd(o)}else this._hideModal()}}},e.dispose=function(){[window,this._element,this._dialog].forEach(function(e){return p(e).off(on)}),p(document).off(ln.FOCUSIN),p.removeData(this._element,nn),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(e){return e=l({},sn,{},e),m.typeCheckConfig(tn,e,an),e},e._triggerBackdropTransition=function(){var e=this;if("static"===this._config.backdrop){var t=p.Event(ln.HIDE_PREVENTED);if(p(this._element).trigger(t),t.defaultPrevented)return;this._element.classList.add(mn);var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){e._element.classList.remove(mn)}).emulateTransitionEnd(n),this._element.focus()}else this.hide()},e._showElement=function(e){var t=this,n=p(this._element).hasClass(dn),i=this._dialog?this._dialog.querySelector(vn):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),p(this._dialog).hasClass(cn)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&m.reflow(this._element),p(this._element).addClass(pn),this._config.focus&&this._enforceFocus();function o(){t._config.focus&&t._element.focus(),t._isTransitioning=!1,p(t._element).trigger(r)}var r=p.Event(ln.SHOWN,{relatedTarget:e});if(n){var s=m.getTransitionDurationFromElement(this._dialog);p(this._dialog).one(m.TRANSITION_END,o).emulateTransitionEnd(s)}else o()},e._enforceFocus=function(){var t=this;p(document).off(ln.FOCUSIN).on(ln.FOCUSIN,function(e){document!==e.target&&t._element!==e.target&&0===p(t._element).has(e.target).length&&t._element.focus()})},e._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?p(this._element).on(ln.KEYDOWN_DISMISS,function(e){27===e.which&&t._triggerBackdropTransition()}):this._isShown||p(this._element).off(ln.KEYDOWN_DISMISS)},e._setResizeEvent=function(){var t=this;this._isShown?p(window).on(ln.RESIZE,function(e){return t.handleUpdate(e)}):p(window).off(ln.RESIZE)},e._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){0===document.querySelectorAll(Cn).length&&p(document.body).removeClass(fn),e._resetAdjustments(),e._resetScrollbar(),p(e._element).trigger(ln.HIDDEN)})},e._removeBackdrop=function(){this._backdrop&&(p(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(e){var t=this,n=p(this._element).hasClass(dn)?dn:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=un,n&&this._backdrop.classList.add(n),p(this._backdrop).appendTo(document.body),p(this._element).on(ln.CLICK_DISMISS,function(e){t._ignoreBackdropClick?t._ignoreBackdropClick=!1:e.target===e.currentTarget&&t._triggerBackdropTransition()}),n&&m.reflow(this._backdrop),p(this._backdrop).addClass(pn),!e)return;if(!n)return void e();var i=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,e).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){p(this._backdrop).removeClass(pn);var o=function(){t._removeBackdrop(),e&&e()};if(p(this._element).hasClass(dn)){var r=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else e&&e()},e._adjustDialog=function(){var e=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var e=[].slice.call(document.querySelectorAll(bn)),t=[].slice.call(document.querySelectorAll(wn));p(e).each(function(e,t){var n=t.style.paddingRight,i=p(t).css("padding-right");p(t).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),p(t).each(function(e,t){var n=t.style.marginRight,i=p(t).css("margin-right");p(t).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=p(document.body).css("padding-right");p(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}p(document.body).addClass(fn)},e._resetScrollbar=function(){var e=[].slice.call(document.querySelectorAll(bn));p(e).each(function(e,t){var n=p(t).data("padding-right");p(t).removeData("padding-right"),t.style.paddingRight=n||""});var t=[].slice.call(document.querySelectorAll(""+wn));p(t).each(function(e,t){var n=p(t).data("margin-right");"undefined"!=typeof n&&p(t).css("margin-right",n).removeData("margin-right")});var n=p(document.body).data("padding-right");p(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},e._getScrollbarWidth=function(){var e=document.createElement("div");e.className=hn,document.body.appendChild(e);var t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t},o._jQueryInterface=function(n,i){return this.each(function(){var e=p(this).data(nn),t=l({},sn,{},p(this).data(),{},"object"==typeof n&&n?n:{});if(e||(e=new o(this,t),p(this).data(nn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](i)}else t.show&&e.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return sn}}]),o}();p(document).on(ln.CLICK_DATA_API,yn,function(e){var t,n=this,i=m.getSelectorFromElement(this);i&&(t=document.querySelector(i));var o=p(t).data(nn)?"toggle":l({},p(t).data(),{},p(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var r=p(t).one(ln.SHOW,function(e){e.isDefaultPrevented()||r.one(ln.HIDDEN,function(){p(n).is(":visible")&&n.focus()})});Sn._jQueryInterface.call(p(t),o,this)}),p.fn[tn]=Sn._jQueryInterface,p.fn[tn].Constructor=Sn,p.fn[tn].noConflict=function(){return p.fn[tn]=rn,Sn._jQueryInterface};var Dn=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],In={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},An=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,On=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function Nn(e,r,t){if(0===e.length)return e;if(t&&"function"==typeof t)return t(e);for(var n=(new window.DOMParser).parseFromString(e,"text/html"),s=Object.keys(r),a=[].slice.call(n.body.querySelectorAll("*")),i=function(e){var t=a[e],n=t.nodeName.toLowerCase();if(-1===s.indexOf(t.nodeName.toLowerCase()))return t.parentNode.removeChild(t),"continue";var i=[].slice.call(t.attributes),o=[].concat(r["*"]||[],r[n]||[]);i.forEach(function(e){!function(e,t){var n=e.nodeName.toLowerCase();if(-1!==t.indexOf(n))return-1===Dn.indexOf(n)||Boolean(e.nodeValue.match(An)||e.nodeValue.match(On));for(var i=t.filter(function(e){return e instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return 1}(e,o)&&t.removeAttribute(e.nodeName)})},o=0,l=a.length;o<l;o++)i(o);return n.body.innerHTML}var kn="tooltip",Ln="bs.tooltip",Pn="."+Ln,xn=p.fn[kn],jn="bs-tooltip",Hn=new RegExp("(^|\\s)"+jn+"\\S+","g"),Rn=["sanitize","whiteList","sanitizeFn"],Fn={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},Mn={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Wn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:In,popperConfig:null},Un="show",qn="out",Bn={HIDE:"hide"+Pn,HIDDEN:"hidden"+Pn,SHOW:"show"+Pn,SHOWN:"shown"+Pn,INSERTED:"inserted"+Pn,CLICK:"click"+Pn,FOCUSIN:"focusin"+Pn,FOCUSOUT:"focusout"+Pn,MOUSEENTER:"mouseenter"+Pn,MOUSELEAVE:"mouseleave"+Pn},Kn="bookly-fade",Qn="show",Vn=".tooltip-inner",Yn=".arrow",zn="hover",Xn="focus",Gn="click",$n="manual",Jn=function(){function i(e,t){if("undefined"==typeof St)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var e=i.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=p(e.currentTarget).data(t);n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(p(this.getTipElement()).hasClass(Qn))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),p.removeData(this.element,this.constructor.DATA_KEY),p(this.element).off(this.constructor.EVENT_KEY),p(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&p(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===p(this.element).css("display"))throw new Error("Please use show on visible elements");var e=p.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){p(this.element).trigger(e);var n=m.findShadowRoot(this.element),i=p.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=m.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&p(o).addClass(Kn);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();p(o).data(this.constructor.DATA_KEY,this),p.contains(this.element.ownerDocument.documentElement,this.tip)||p(o).appendTo(l),p(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new St(this.element,o,this._getPopperConfig(a)),p(o).addClass(Qn),"ontouchstart"in document.documentElement&&p(document.body).children().on("mouseover",null,p.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,p(t.element).trigger(t.constructor.Event.SHOWN),e===qn&&t._leave(null,t)};if(p(this.tip).hasClass(Kn)){var h=m.getTransitionDurationFromElement(this.tip);p(this.tip).one(m.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(e){function t(){n._hoverState!==Un&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),p(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()}var n=this,i=this.getTipElement(),o=p.Event(this.constructor.Event.HIDE);if(p(this.element).trigger(o),!o.isDefaultPrevented()){if(p(i).removeClass(Qn),"ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),this._activeTrigger[Gn]=!1,this._activeTrigger[Xn]=!1,this._activeTrigger[zn]=!1,p(this.tip).hasClass(Kn)){var r=m.getTransitionDurationFromElement(i);p(i).one(m.TRANSITION_END,t).emulateTransitionEnd(r)}else t();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(e){p(this.getTipElement()).addClass(jn+"-"+e)},e.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},e.setContent=function(){var e=this.getTipElement();this.setElementContent(p(e.querySelectorAll(Vn)),this.getTitle()),p(e).removeClass(Kn+" "+Qn)},e.setElementContent=function(e,t){"object"!=typeof t||!t.nodeType&&!t.jquery?this.config.html?(this.config.sanitize&&(t=Nn(t,this.config.whiteList,this.config.sanitizeFn)),e.html(t)):e.text(t):this.config.html?p(t).parent().is(e)||e.empty().append(t):e.text(p(t).text())},e.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e=e||("function"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},e._getPopperConfig=function(e){var t=this;return l({},{placement:e,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Yn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}},{},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=l({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:m.isElement(this.config.container)?p(this.config.container):p(document).find(this.config.container)},e._getAttachment=function(e){return Mn[e.toUpperCase()]},e._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)p(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(e){return i.toggle(e)});else if(e!==$n){var t=e===zn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=e===zn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;p(i.element).on(t,i.config.selector,function(e){return i._enter(e)}).on(n,i.config.selector,function(e){return i._leave(e)})}}),this._hideModalHandler=function(){i.element&&i.hide()},p(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");!this.element.getAttribute("title")&&"string"==e||(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||p(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusin"===e.type?Xn:zn]=!0),p(t.getTipElement()).hasClass(Qn)||t._hoverState===Un?t._hoverState=Un:(clearTimeout(t._timeout),t._hoverState=Un,t.config.delay&&t.config.delay.show?t._timeout=setTimeout(function(){t._hoverState===Un&&t.show()},t.config.delay.show):t.show())},e._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||p(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusout"===e.type?Xn:zn]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=qn,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout(function(){t._hoverState===qn&&t.hide()},t.config.delay.hide):t.hide())},e._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},e._getConfig=function(e){var t=p(this.element).data();return Object.keys(t).forEach(function(e){-1!==Rn.indexOf(e)&&delete t[e]}),"number"==typeof(e=l({},this.constructor.Default,{},t,{},"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),m.typeCheckConfig(kn,e,this.constructor.DefaultType),e.sanitize&&(e.template=Nn(e.template,e.whiteList,e.sanitizeFn)),e},e._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},e._cleanTipClass=function(){var e=p(this.getTipElement()),t=e.attr("class").match(Hn);null!==t&&t.length&&e.removeClass(t.join(""))},e._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(e.placement))},e._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(p(e).removeClass(Kn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},i._jQueryInterface=function(n){return this.each(function(){var e=p(this).data(Ln),t="object"==typeof n&&n;if((e||!/dispose|hide/.test(n))&&(e||(e=new i(this,t),p(this).data(Ln,e)),"string"==typeof n)){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return Wn}},{key:"NAME",get:function(){return kn}},{key:"DATA_KEY",get:function(){return Ln}},{key:"Event",get:function(){return Bn}},{key:"EVENT_KEY",get:function(){return Pn}},{key:"DefaultType",get:function(){return Fn}}]),i}();p.fn[kn]=Jn._jQueryInterface,p.fn[kn].Constructor=Jn,p.fn[kn].noConflict=function(){return p.fn[kn]=xn,Jn._jQueryInterface};var Zn="booklyPopover",ei="bs.popover",ti="."+ei,ni=p.fn[Zn],ii="bs-popover",oi=new RegExp("(^|\\s)"+ii+"\\S+","g"),ri=l({},Jn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="bookly-popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),si=l({},Jn.DefaultType,{content:"(string|element|function)"}),ai="bookly-fade",li="show",ci=".popover-header",hi=".popover-body",ui={HIDE:"hide"+ti,HIDDEN:"hidden"+ti,SHOW:"show"+ti,SHOWN:"shown"+ti,INSERTED:"inserted"+ti,CLICK:"click"+ti,FOCUSIN:"focusin"+ti,FOCUSOUT:"focusout"+ti,MOUSEENTER:"mouseenter"+ti,MOUSELEAVE:"mouseleave"+ti},fi=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),(t.prototype.constructor=t).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(e){p(this.getTipElement()).addClass(ii+"-"+e)},o.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},o.setContent=function(){var e=p(this.getTipElement());this.setElementContent(e.find(ci),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(e.find(hi),t),e.removeClass(ai+" "+li)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var e=p(this.getTipElement()),t=e.attr("class").match(oi);null!==t&&0<t.length&&e.removeClass(t.join(""))},i._jQueryInterface=function(n){return this.each(function(){var e=p(this).data(ei),t="object"==typeof n?n:null;if((e||!/dispose|hide/.test(n))&&(e||(e=new i(this,t),p(this).data(ei,e)),"string"==typeof n)){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return ri}},{key:"NAME",get:function(){return Zn}},{key:"DATA_KEY",get:function(){return ei}},{key:"Event",get:function(){return ui}},{key:"EVENT_KEY",get:function(){return ti}},{key:"DefaultType",get:function(){return si}}]),i}(Jn);p.fn[Zn]=fi._jQueryInterface,p.fn[Zn].Constructor=fi,p.fn[Zn].noConflict=function(){return p.fn[Zn]=ni,fi._jQueryInterface};var di="scrollspy",pi="bs.scrollspy",mi="."+pi,gi=p.fn[di],_i={offset:10,method:"auto",target:""},vi={offset:"number",method:"string",target:"(string|element)"},yi={ACTIVATE:"activate"+mi,SCROLL:"scroll"+mi,LOAD_DATA_API:"load"+mi+".data-api"},Ei="dropdown-item",bi="active",wi='[data-spy="scroll"]',Ti=".nav, .list-group",Ci=".nav-link",Si=".nav-item",Di=".list-group-item",Ii=".dropdown",Ai=".dropdown-item",Oi=".dropdown-toggle",Ni="offset",ki="position",Li=function(){function n(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" "+Ci+","+this._config.target+" "+Di+","+this._config.target+" "+Ai,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,p(this._scrollElement).on(yi.SCROLL,function(e){return n._process(e)}),this.refresh(),this._process()}var e=n.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?Ni:ki,o="auto"===this._config.method?e:this._config.method,r=o===ki?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(e){var t,n=m.getSelectorFromElement(e);if(n&&(t=document.querySelector(n)),t){var i=t.getBoundingClientRect();if(i.width||i.height)return[p(t)[o]().top+r,n]}return null}).filter(function(e){return e}).sort(function(e,t){return e[0]-t[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},e.dispose=function(){p.removeData(this._element,pi),p(this._scrollElement).off(mi),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(e){if("string"!=typeof(e=l({},_i,{},"object"==typeof e&&e?e:{})).target){var t=p(e.target).attr("id");t||(t=m.getUID(di),p(e.target).attr("id",t)),e.target="#"+t}return m.typeCheckConfig(di,e,vi),e},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),n<=e){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&e<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&e>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||e<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map(function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'}),n=p([].slice.call(document.querySelectorAll(e.join(","))));n.hasClass(Ei)?(n.closest(Ii).find(Oi).addClass(bi),n.addClass(bi)):(n.addClass(bi),n.parents(Ti).prev(Ci+", "+Di).addClass(bi),n.parents(Ti).prev(Si).children(Ci).addClass(bi)),p(this._scrollElement).trigger(yi.ACTIVATE,{relatedTarget:t})},e._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(e){return e.classList.contains(bi)}).forEach(function(e){return e.classList.remove(bi)})},n._jQueryInterface=function(t){return this.each(function(){var e=p(this).data(pi);if(e||(e=new n(this,"object"==typeof t&&t),p(this).data(pi,e)),"string"==typeof t){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return _i}}]),n}();p(window).on(yi.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(wi)),t=e.length;t--;){var n=p(e[t]);Li._jQueryInterface.call(n,n.data())}}),p.fn[di]=Li._jQueryInterface,p.fn[di].Constructor=Li,p.fn[di].noConflict=function(){return p.fn[di]=gi,Li._jQueryInterface};var Pi="booklyTab",xi="bs.tab",ji="."+xi,Hi=p.fn[Pi],Ri={HIDE:"hide"+ji,HIDDEN:"hidden"+ji,SHOW:"show"+ji,SHOWN:"shown"+ji,CLICK_DATA_API:"click"+ji+".data-api"},Fi="dropdown-menu",Mi="active",Wi="disabled",Ui="bookly-fade",qi="show",Bi=".dropdown",Ki=".nav, .list-group",Qi=".active",Vi="> li > .active",Yi='[data-toggle="bookly-tab"], [data-toggle="bookly-pill"], [data-toggle="bookly-list"]',zi=".dropdown-toggle",Xi="> .dropdown-menu .active",Gi=function(){function i(e){this._element=e}var e=i.prototype;return e.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&p(this._element).hasClass(Mi)||p(this._element).hasClass(Wi))){var e,i,t=p(this._element).closest(Ki)[0],o=m.getSelectorFromElement(this._element);if(t){var r="UL"===t.nodeName||"OL"===t.nodeName?Vi:Qi;i=(i=p.makeArray(p(t).find(r)))[i.length-1]}var s=p.Event(Ri.HIDE,{relatedTarget:this._element}),a=p.Event(Ri.SHOW,{relatedTarget:i});if(i&&p(i).trigger(s),p(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(e=document.querySelector(o)),this._activate(this._element,t);var l=function(){var e=p.Event(Ri.HIDDEN,{relatedTarget:n._element}),t=p.Event(Ri.SHOWN,{relatedTarget:i});p(i).trigger(e),p(n._element).trigger(t)};e?this._activate(e,e.parentNode,l):l()}}},e.dispose=function(){p.removeData(this._element,xi),this._element=null},e._activate=function(e,t,n){function i(){return o._transitionComplete(e,r,n)}var o=this,r=(!t||"UL"!==t.nodeName&&"OL"!==t.nodeName?p(t).children(Qi):p(t).find(Vi))[0],s=n&&r&&p(r).hasClass(Ui);if(r&&s){var a=m.getTransitionDurationFromElement(r);p(r).removeClass(qi).one(m.TRANSITION_END,i).emulateTransitionEnd(a)}else i()},e._transitionComplete=function(e,t,n){if(t){p(t).removeClass(Mi);var i=p(t.parentNode).find(Xi)[0];i&&p(i).removeClass(Mi),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}if(p(e).addClass(Mi),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),m.reflow(e),e.classList.contains(Ui)&&e.classList.add(qi),e.parentNode&&p(e.parentNode).hasClass(Fi)){var o=p(e).closest(Bi)[0];if(o){var r=[].slice.call(o.querySelectorAll(zi));p(r).addClass(Mi)}e.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(xi);if(t||(t=new i(this),e.data(xi,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();p(document).on(Ri.CLICK_DATA_API,Yi,function(e){e.preventDefault(),Gi._jQueryInterface.call(p(this),"show")}),p.fn[Pi]=Gi._jQueryInterface,p.fn[Pi].Constructor=Gi,p.fn[Pi].noConflict=function(){return p.fn[Pi]=Hi,Gi._jQueryInterface};var $i="toast",Ji="bs.toast",Zi="."+Ji,eo=p.fn[$i],to={CLICK_DISMISS:"click.dismiss"+Zi,HIDE:"hide"+Zi,HIDDEN:"hidden"+Zi,SHOW:"show"+Zi,SHOWN:"shown"+Zi},no="fade",io="hide",oo="show",ro="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},ao={animation:!0,autohide:!0,delay:500},lo='[data-dismiss="toast"]',co=function(){function i(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners()}var e=i.prototype;return e.show=function(){var e=this,t=p.Event(to.SHOW);if(p(this._element).trigger(t),!t.isDefaultPrevented()){this._config.animation&&this._element.classList.add(no);var n=function(){e._element.classList.remove(ro),e._element.classList.add(oo),p(e._element).trigger(to.SHOWN),e._config.autohide&&(e._timeout=setTimeout(function(){e.hide()},e._config.delay))};if(this._element.classList.remove(io),m.reflow(this._element),this._element.classList.add(ro),this._config.animation){var i=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains(oo)){var e=p.Event(to.HIDE);p(this._element).trigger(e),e.isDefaultPrevented()||this._close()}},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(oo)&&this._element.classList.remove(oo),p(this._element).off(to.CLICK_DISMISS),p.removeData(this._element,Ji),this._element=null,this._config=null},e._getConfig=function(e){return e=l({},ao,{},p(this._element).data(),{},"object"==typeof e&&e?e:{}),m.typeCheckConfig($i,e,this.constructor.DefaultType),e},e._setListeners=function(){var e=this;p(this._element).on(to.CLICK_DISMISS,lo,function(){return e.hide()})},e._close=function(){function e(){t._element.classList.add(io),p(t._element).trigger(to.HIDDEN)}var t=this;if(this._element.classList.remove(oo),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(Ji);if(t||(t=new i(this,"object"==typeof n&&n),e.data(Ji,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"DefaultType",get:function(){return so}},{key:"Default",get:function(){return ao}}]),i}();p.fn[$i]=co._jQueryInterface,p.fn[$i].Constructor=co,p.fn[$i].noConflict=function(){return p.fn[$i]=eo,co._jQueryInterface},e.Alert=_,e.Button=x,e.Carousel=he,e.Collapse=De,e.Dropdown=en,e.Modal=Sn,e.Popover=fi,e.Scrollspy=Li,e.Tab=Gi,e.Toast=co,e.Tooltip=Jn,e.Util=m,Object.defineProperty(e,"__esModule",{value:!0})});
3
  * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
  */
6
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap={},t.jQuery)}(this,function(t,e){"use strict";function n(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var p=n(e);function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function a(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function s(e,t){var n,i=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,n)),i}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach(function(t){Object.defineProperty(o,t,Object.getOwnPropertyDescriptor(r,t))})}return o}var o="transitionend";function r(t){var e=this,n=!1;return p.default(this).one(m.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||m.triggerTransitionEnd(e)},t),this}var m={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e,n=t.getAttribute("data-target");n&&"#"!==n||(n=(e=t.getAttribute("href"))&&"#"!==e?e.trim():"");try{return document.querySelector(n)?n:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=p.default(t).css("transition-duration"),n=p.default(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){p.default(t).trigger(o)},supportsTransitionEnd:function(){return Boolean(o)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],a=r&&m.isElement(r)?"element":(s=r,{}.toString.call(s).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+o+'".')}var s},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?m.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null},jQueryDetection:function(){if("undefined"==typeof p.default)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=p.default.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};m.jQueryDetection(),p.default.fn.emulateTransitionEnd=r,p.default.event.special[m.TRANSITION_END]={bindType:o,delegateType:o,handle:function(t){if(p.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var u="alert",f="bs.alert",d="."+f,c=p.default.fn[u],h={CLOSE:"close"+d,CLOSED:"closed"+d,CLICK_DATA_API:"click"+d+".data-api"},g="alert",_="fade",v="show",y=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){p.default.removeData(this._element,f),this._element=null},t._getRootElement=function(t){var e=m.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n=n||p.default(t).closest("."+g)[0]},t._triggerCloseEvent=function(t){var e=p.default.Event(h.CLOSE);return p.default(t).trigger(e),e},t._removeElement=function(e){var t,n=this;p.default(e).removeClass(v),p.default(e).hasClass(_)?(t=m.getTransitionDurationFromElement(e),p.default(e).one(m.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)):this._destroyElement(e)},t._destroyElement=function(t){p.default(t).detach().trigger(h.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=p.default(this),e=t.data(f);e||(e=new i(this),t.data(f,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},a(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();p.default(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',y._handleDismiss(new y)),p.default.fn[u]=y._jQueryInterface,p.default.fn[u].Constructor=y,p.default.fn[u].noConflict=function(){return p.default.fn[u]=c,y._jQueryInterface};var E="button",b="bs.button",w="."+b,T=".data-api",C=p.default.fn[E],S="active",D="btn",I="focus",A='[data-toggle^="button"]',O='[data-toggle="buttons"]',N='[data-toggle="button"]',k='[data-toggle="buttons"] .btn',L='input:not([type="hidden"])',P=".active",x=".btn",j={CLICK_DATA_API:"click"+w+T,FOCUS_BLUR_DATA_API:"focus"+w+T+" blur"+w+T,LOAD_DATA_API:"load"+w+T},H=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t,e,n=!0,i=!0,o=p.default(this._element).closest(O)[0];!o||(t=this._element.querySelector(L))&&("radio"===t.type?t.checked&&this._element.classList.contains(S)?n=!1:(e=o.querySelector(P))&&p.default(e).removeClass(S):("checkbox"!==t.type||"LABEL"===this._element.tagName&&t.checked===this._element.classList.contains(S))&&(n=!1),n&&(t.checked=!this._element.classList.contains(S),p.default(t).trigger("change")),t.focus(),i=!1),this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(i&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(S)),n&&p.default(this._element).toggleClass(S))},t.dispose=function(){p.default.removeData(this._element,b),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=p.default(this).data(b);t||(t=new n(this),p.default(this).data(b,t)),"toggle"===e&&t[e]()})},a(n,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),n}();p.default(document).on(j.CLICK_DATA_API,A,function(t){var e=t.target;if(p.default(e).hasClass(D)||(e=p.default(e).closest(x)[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var n=e.querySelector(L);if(n&&(n.hasAttribute("disabled")||n.classList.contains("disabled")))return void t.preventDefault();H._jQueryInterface.call(p.default(e),"toggle")}}).on(j.FOCUS_BLUR_DATA_API,A,function(t){var e=p.default(t.target).closest(x)[0];p.default(e).toggleClass(I,/^focus(in)?$/.test(t.type))}),p.default(window).on(j.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(k)),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector(L);o.checked||o.hasAttribute("checked")?i.classList.add(S):i.classList.remove(S)}for(var r=0,a=(t=[].slice.call(document.querySelectorAll(N))).length;r<a;r++){var s=t[r];"true"===s.getAttribute("aria-pressed")?s.classList.add(S):s.classList.remove(S)}}),p.default.fn[E]=H._jQueryInterface,p.default.fn[E].Constructor=H,p.default.fn[E].noConflict=function(){return p.default.fn[E]=C,H._jQueryInterface};var R="carousel",F="bs.carousel",M="."+F,W=".data-api",U=p.default.fn[R],q={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},B={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},K="next",Q="prev",V="left",Y="right",z={SLIDE:"slide"+M,SLID:"slid"+M,KEYDOWN:"keydown"+M,MOUSEENTER:"mouseenter"+M,MOUSELEAVE:"mouseleave"+M,TOUCHSTART:"touchstart"+M,TOUCHMOVE:"touchmove"+M,TOUCHEND:"touchend"+M,POINTERDOWN:"pointerdown"+M,POINTERUP:"pointerup"+M,DRAG_START:"dragstart"+M,LOAD_DATA_API:"load"+M+W,CLICK_DATA_API:"click"+M+W},X="carousel",G="active",$="slide",J="carousel-item-right",Z="carousel-item-left",tt="carousel-item-next",et="carousel-item-prev",nt="pointer-event",it=".active",ot=".active.carousel-item",rt=".carousel-item",at=".carousel-item img",st=".carousel-item-next, .carousel-item-prev",lt=".carousel-indicators",ut="[data-slide], [data-slide-to]",ft='[data-ride="carousel"]',dt={TOUCH:"touch",PEN:"pen"},ct=function(){function r(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(lt),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(K)},t.nextWhenVisible=function(){!document.hidden&&p.default(this._element).is(":visible")&&"hidden"!==p.default(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(Q)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(st)&&(m.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(ot);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)p.default(this._element).one(z.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?K:Q;this._slide(i,this._items[t])}},t.dispose=function(){p.default(this._element).off(M),p.default.removeData(this._element,F),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l(l({},q),t),m.typeCheckConfig(R,t,B),t},t._handleSwipe=function(){var t,e=Math.abs(this.touchDeltaX);e<=40||(t=e/this.touchDeltaX,(this.touchDeltaX=0)<t&&this.prev(),t<0&&this.next())},t._addEventListeners=function(){var e=this;this._config.keyboard&&p.default(this._element).on(z.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&p.default(this._element).on(z.MOUSEENTER,function(t){return e.pause(t)}).on(z.MOUSELEAVE,function(t){return e.cycle(t)}),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var t,e,n=this;this._touchSupported&&(t=function(t){n._pointerEvent&&dt[t.originalEvent.pointerType.toUpperCase()]?n.touchStartX=t.originalEvent.clientX:n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX)},e=function(t){n._pointerEvent&&dt[t.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))},p.default(this._element.querySelectorAll(at)).on(z.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(p.default(this._element).on(z.POINTERDOWN,t),p.default(this._element).on(z.POINTERUP,e),this._element.classList.add(nt)):(p.default(this._element).on(z.TOUCHSTART,t),p.default(this._element).on(z.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),p.default(this._element).on(z.TOUCHEND,e)))},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(rt)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===K,i=t===Q,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var a=(o+(t===Q?-1:1))%this._items.length;return-1==a?this._items[this._items.length-1]:this._items[a]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(ot)),o=p.default.Event(z.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return p.default(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){var e,n;this._indicatorsElement&&(e=[].slice.call(this._indicatorsElement.querySelectorAll(it)),p.default(e).removeClass(G),(n=this._indicatorsElement.children[this._getItemIndex(t)])&&p.default(n).addClass(G))},t._slide=function(t,e){var n,i,o,r,a,s=this,l=this._element.querySelector(ot),u=this._getItemIndex(l),f=e||l&&this._getItemByDirection(t,l),d=this._getItemIndex(f),c=Boolean(this._interval),h=t===K?(n=Z,i=tt,V):(n=J,i=et,Y);f&&p.default(f).hasClass(G)?this._isSliding=!1:this._triggerSlideEvent(f,h).isDefaultPrevented()||l&&f&&(this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(f),o=p.default.Event(z.SLID,{relatedTarget:f,direction:h,from:u,to:d}),p.default(this._element).hasClass($)?(p.default(f).addClass(i),m.reflow(f),p.default(l).addClass(n),p.default(f).addClass(n),(r=parseInt(f.getAttribute("data-interval"),10))?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=r):this._config.interval=this._config.defaultInterval||this._config.interval,a=m.getTransitionDurationFromElement(l),p.default(l).one(m.TRANSITION_END,function(){p.default(f).removeClass(n+" "+i).addClass(G),p.default(l).removeClass(G+" "+i+" "+n),s._isSliding=!1,setTimeout(function(){return p.default(s._element).trigger(o)},0)}).emulateTransitionEnd(a)):(p.default(l).removeClass(G),p.default(f).addClass(G),this._isSliding=!1,p.default(this._element).trigger(o)),c&&this.cycle())},r._jQueryInterface=function(i){return this.each(function(){var t=p.default(this).data(F),e=l(l({},q),p.default(this).data());"object"==typeof i&&(e=l(l({},e),i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),p.default(this).data(F,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&e.ride&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e,n,i,o=m.getSelectorFromElement(this);!o||(e=p.default(o)[0])&&p.default(e).hasClass(X)&&(n=l(l({},p.default(e).data()),p.default(this).data()),(i=this.getAttribute("data-slide-to"))&&(n.interval=!1),r._jQueryInterface.call(p.default(e),n),i&&p.default(e).data(F).to(i),t.preventDefault())},a(r,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return q}}]),r}();p.default(document).on(z.CLICK_DATA_API,ut,ct._dataApiClickHandler),p.default(window).on(z.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(ft)),e=0,n=t.length;e<n;e++){var i=p.default(t[e]);ct._jQueryInterface.call(i,i.data())}}),p.default.fn[R]=ct._jQueryInterface,p.default.fn[R].Constructor=ct,p.default.fn[R].noConflict=function(){return p.default.fn[R]=U,ct._jQueryInterface};var ht="collapse",pt="bs.collapse",mt="."+pt,gt=p.default.fn[ht],_t={toggle:!0,parent:""},vt={toggle:"boolean",parent:"(string|element)"},yt={SHOW:"show"+mt,SHOWN:"shown"+mt,HIDE:"hide"+mt,HIDDEN:"hidden"+mt,CLICK_DATA_API:"click"+mt+".data-api"},Et="show",bt="collapse",wt="collapsing",Tt="collapsed",Ct="width",St="height",Dt=".show, .collapsing",It='[data-toggle="collapse"]',At=function(){function s(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(It)),i=0,o=n.length;i<o;i++){var r=n[i],a=m.getSelectorFromElement(r),s=[].slice.call(document.querySelectorAll(a)).filter(function(t){return t===e});null!==a&&0<s.length&&(this._selector=a,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=s.prototype;return t.toggle=function(){p.default(this._element).hasClass(Et)?this.hide():this.show()},t.show=function(){var t,e,n,i,o,r,a=this;this._isTransitioning||p.default(this._element).hasClass(Et)||(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Dt)).filter(function(t){return"string"==typeof a._config.parent?t.getAttribute("data-parent")===a._config.parent:t.classList.contains(bt)})).length&&(t=null),t&&(e=p.default(t).not(this._selector).data(pt))&&e._isTransitioning||(n=p.default.Event(yt.SHOW),p.default(this._element).trigger(n),n.isDefaultPrevented()||(t&&(s._jQueryInterface.call(p.default(t).not(this._selector),"hide"),e||p.default(t).data(pt,null)),i=this._getDimension(),p.default(this._element).removeClass(bt).addClass(wt),this._element.style[i]=0,this._triggerArray.length&&p.default(this._triggerArray).removeClass(Tt).attr("aria-expanded",!0),this.setTransitioning(!0),o="scroll"+(i[0].toUpperCase()+i.slice(1)),r=m.getTransitionDurationFromElement(this._element),p.default(this._element).one(m.TRANSITION_END,function(){p.default(a._element).removeClass(wt).addClass(bt).addClass(Et),a._element.style[i]="",a.setTransitioning(!1),p.default(a._element).trigger(yt.SHOWN)}).emulateTransitionEnd(r),this._element.style[i]=this._element[o]+"px")))},t.hide=function(){var t=this;if(!this._isTransitioning&&p.default(this._element).hasClass(Et)){var e=p.default.Event(yt.HIDE);if(p.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",m.reflow(this._element),p.default(this._element).addClass(wt).removeClass(bt).removeClass(Et);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],a=m.getSelectorFromElement(r);null!==a&&(p.default([].slice.call(document.querySelectorAll(a))).hasClass(Et)||p.default(r).addClass(Tt).attr("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[n]="";var s=m.getTransitionDurationFromElement(this._element);p.default(this._element).one(m.TRANSITION_END,function(){t.setTransitioning(!1),p.default(t._element).removeClass(wt).addClass(bt).trigger(yt.HIDDEN)}).emulateTransitionEnd(s)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){p.default.removeData(this._element,pt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l(l({},_t),t)).toggle=Boolean(t.toggle),m.typeCheckConfig(ht,t,vt),t},t._getDimension=function(){return p.default(this._element).hasClass(Ct)?Ct:St},t._getParent=function(){var t,n=this;m.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return p.default(i).each(function(t,e){n._addAriaAndCollapsedClass(s._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=p.default(t).hasClass(Et);e.length&&p.default(e).toggleClass(Tt,!n).attr("aria-expanded",n)},s._getTargetFromElement=function(t){var e=m.getSelectorFromElement(t);return e?document.querySelector(e):null},s._jQueryInterface=function(i){return this.each(function(){var t=p.default(this),e=t.data(pt),n=l(l(l({},_t),t.data()),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new s(this,n),t.data(pt,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},a(s,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return _t}}]),s}();p.default(document).on(yt.CLICK_DATA_API,It,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=p.default(this),e=m.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));p.default(i).each(function(){var t=p.default(this),e=t.data(pt)?"toggle":n.data();At._jQueryInterface.call(t,e)})}),p.default.fn[ht]=At._jQueryInterface,p.default.fn[ht].Constructor=At,p.default.fn[ht].noConflict=function(){return p.default.fn[ht]=gt,At._jQueryInterface};var Ot="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,Nt=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(Ot&&0<=navigator.userAgent.indexOf(t[e]))return 1;return 0}();var kt=Ot&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},Nt))}};function Lt(t){return t&&"[object Function]"==={}.toString.call(t)}function Pt(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function xt(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function jt(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=Pt(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:jt(xt(t))}function Ht(t){return t&&t.referenceNode?t.referenceNode:t}var Rt=Ot&&!(!window.MSInputMethodContext||!document.documentMode),Ft=Ot&&/MSIE 10/.test(navigator.userAgent);function Mt(t){return 11===t?Rt:10!==t&&Rt||Ft}function Wt(t){if(!t)return document.documentElement;for(var e=Mt(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===Pt(n,"position")?Wt(n):n:t?t.ownerDocument.documentElement:document.documentElement}function Ut(t){return null!==t.parentNode?Ut(t.parentNode):t}function qt(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var a,s,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(s=(a=l).nodeName)||"HTML"!==s&&Wt(a.firstElementChild)!==a?Wt(l):l;var u=Ut(t);return u.host?qt(u.host,e):qt(t,Ut(e).host)}function Bt(t,e){var n="top"===(1<arguments.length&&void 0!==e?e:"top")?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"!==i&&"HTML"!==i)return t[n];var o=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||o)[n]}function Kt(t,e){var n="x"===e?"Left":"Top",i="Left"==n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+i+"Width"])}function Qt(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Mt(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function Vt(t){var e=t.body,n=t.documentElement,i=Mt(10)&&getComputedStyle(n);return{height:Qt("Height",e,n,i),width:Qt("Width",e,n,i)}}var Yt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},zt=function(t,e,n){return e&&Xt(t.prototype,e),n&&Xt(t,n),t};function Xt(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function Gt(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var $t=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function Jt(t){return $t({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Zt(t){var e,n,i={};try{Mt(10)?(i=t.getBoundingClientRect(),e=Bt(t,"top"),n=Bt(t,"left"),i.top+=e,i.left+=n,i.bottom+=e,i.right+=n):i=t.getBoundingClientRect()}catch(t){}var o,r={left:i.left,top:i.top,width:i.right-i.left,height:i.bottom-i.top},a="HTML"===t.nodeName?Vt(t.ownerDocument):{},s=a.width||t.clientWidth||r.width,l=a.height||t.clientHeight||r.height,u=t.offsetWidth-s,f=t.offsetHeight-l;return(u||f)&&(u-=Kt(o=Pt(t),"x"),f-=Kt(o,"y"),r.width-=u,r.height-=f),Jt(r)}function te(t,e,n){var i=2<arguments.length&&void 0!==n&&n,o=Mt(10),r="HTML"===e.nodeName,a=Zt(t),s=Zt(e),l=jt(t),u=Pt(e),f=parseFloat(u.borderTopWidth),d=parseFloat(u.borderLeftWidth);i&&r&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var c,h,p=Jt({top:a.top-s.top-f,left:a.left-s.left-d,width:a.width,height:a.height});return p.marginTop=0,p.marginLeft=0,!o&&r&&(c=parseFloat(u.marginTop),h=parseFloat(u.marginLeft),p.top-=f-c,p.bottom-=f-c,p.left-=d-h,p.right-=d-h,p.marginTop=c,p.marginLeft=h),(o&&!i?e.contains(l):e===l&&"BODY"!==l.nodeName)&&(p=function(t,e,n){var i=2<arguments.length&&void 0!==n&&n,o=Bt(e,"top"),r=Bt(e,"left"),a=i?-1:1;return t.top+=o*a,t.bottom+=o*a,t.left+=r*a,t.right+=r*a,t}(p,e)),p}function ee(t){if(!t||!t.parentElement||Mt())return document.documentElement;for(var e=t.parentElement;e&&"none"===Pt(e,"transform");)e=e.parentElement;return e||document.documentElement}function ne(t,e,n,i,o){var r,a,s,l,u,f=4<arguments.length&&void 0!==o&&o,d={top:0,left:0},c=f?ee(t):qt(t,Ht(e));"viewport"===i?d=function(t,e){var n=1<arguments.length&&void 0!==e&&e,i=t.ownerDocument.documentElement,o=te(t,i),r=Math.max(i.clientWidth,window.innerWidth||0),a=Math.max(i.clientHeight,window.innerHeight||0),s=n?0:Bt(i),l=n?0:Bt(i,"left");return Jt({top:s-o.top+o.marginTop,left:l-o.left+o.marginLeft,width:r,height:a})}(c,f):(r=void 0,"scrollParent"===i?"BODY"===(r=jt(xt(e))).nodeName&&(r=t.ownerDocument.documentElement):r="window"===i?t.ownerDocument.documentElement:i,a=te(r,c,f),"HTML"!==r.nodeName||function t(e){var n=e.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===Pt(e,"position"))return!0;var i=xt(e);return!!i&&t(i)}(c)?d=a:(l=(s=Vt(t.ownerDocument)).height,u=s.width,d.top+=a.top-a.marginTop,d.bottom=l+a.top,d.left+=a.left-a.marginLeft,d.right=u+a.left));var h="number"==typeof(n=n||0);return d.left+=h?n:n.left||0,d.top+=h?n:n.top||0,d.right-=h?n:n.right||0,d.bottom-=h?n:n.bottom||0,d}function ie(t,e,i,n,o,r){var a=5<arguments.length&&void 0!==r?r:0;if(-1===t.indexOf("auto"))return t;var s=ne(i,n,a,o),l={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},u=Object.keys(l).map(function(t){return $t({key:t},l[t],{area:(e=l[t]).width*e.height});var e}).sort(function(t,e){return e.area-t.area}),f=u.filter(function(t){var e=t.width,n=t.height;return e>=i.clientWidth&&n>=i.clientHeight}),d=0<f.length?f[0].key:u[0].key,c=t.split("-")[1];return d+(c?"-"+c:"")}function oe(t,e,n,i){var o=3<arguments.length&&void 0!==i?i:null;return te(n,o?ee(e):qt(e,Ht(n)),o)}function re(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function ae(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function se(t,e,n){n=n.split("-")[0];var i=re(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),a=r?"top":"left",s=r?"left":"top",l=r?"height":"width",u=r?"width":"height";return o[a]=e[a]+e[l]/2-i[l]/2,o[s]=n===s?e[s]-i[u]:e[ae(s)],o}function le(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function ue(t,n,e){return(void 0===e?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=le(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",e))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var e=t.function||t.fn;t.enabled&&Lt(e)&&(n.offsets.popper=Jt(n.offsets.popper),n.offsets.reference=Jt(n.offsets.reference),n=e(n,t))}),n}function fe(t,n){return t.some(function(t){var e=t.name;return t.enabled&&e===n})}function de(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if("undefined"!=typeof document.body.style[r])return r}return null}function ce(t){var e=t.ownerDocument;return e?e.defaultView:window}function he(t,e,n,i){n.updateBound=i,ce(t).addEventListener("resize",n.updateBound,{passive:!0});var o=jt(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,a=r?e.ownerDocument.defaultView:e;a.addEventListener(n,i,{passive:!0}),r||t(jt(a.parentNode),n,i,o),o.push(a)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function pe(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,ce(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function me(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function ge(n,i){Object.keys(i).forEach(function(t){var e="";-1!==["width","height","top","right","bottom","left"].indexOf(t)&&me(i[t])&&(e="px"),n.style[t]=i[t]+e})}function _e(t,e){function n(t){return t}var i=t.offsets,o=i.popper,r=i.reference,a=Math.round,s=Math.floor,l=a(r.width),u=a(o.width),f=-1!==["left","right"].indexOf(t.placement),d=-1!==t.placement.indexOf("-"),c=e?f||d||l%2==u%2?a:s:n,h=e?a:n;return{left:c(l%2==1&&u%2==1&&!d&&e?o.left-1:o.left),top:h(o.top),bottom:h(o.bottom),right:c(o.right)}}var ve=Ot&&/Firefox/i.test(navigator.userAgent);function ye(t,e,n){var i,o,r=le(t,function(t){return t.name===e}),a=!!r&&t.some(function(t){return t.name===n&&t.enabled&&t.order<r.order});return a||(i="`"+e+"`",o="`"+n+"`",console.warn(o+" modifier is required by "+i+" modifier in order to work, be sure to include it before "+i+"!")),a}var Ee=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],be=Ee.slice(3);function we(t,e){var n=1<arguments.length&&void 0!==e&&e,i=be.indexOf(t),o=be.slice(i+1).concat(be.slice(0,i));return n?o.reverse():o}var Te="flip",Ce="clockwise",Se="counterclockwise";function De(t,o,r,e){var a=[0,0],s=-1!==["right","left"].indexOf(e),n=t.split(/(\+|\-)/).map(function(t){return t.trim()}),i=n.indexOf(le(n,function(t){return-1!==t.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/;return(-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n]).map(function(t,e){var n=(1===e?!s:s)?"height":"width",i=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,i=!0,t):i?(t[t.length-1]+=e,i=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],a=o[2];if(!r)return t;if(0!==a.indexOf("%"))return"vh"!==a&&"vw"!==a?r:("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=i}return Jt(s)[e]/100*r}(t,n,o,r)})}).forEach(function(n,i){n.forEach(function(t,e){me(t)&&(a[i]+=t*("-"===n[e-1]?-1:1))})}),a}var Ie={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e,n,i,o,r,a,s,l=t.placement,u=l.split("-")[0],f=l.split("-")[1];return f&&(n=(e=t.offsets).reference,i=e.popper,a=(o=-1!==["bottom","top"].indexOf(u))?"width":"height",s={start:Gt({},r=o?"left":"top",n[r]),end:Gt({},r,n[r]+n[a]-i[a])},t.offsets.popper=$t({},i,s[f])),t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,a=o.reference,s=i.split("-")[0],l=void 0,l=me(+n)?[+n,0]:De(n,r,a,s);return"left"===s?(r.top+=l[0],r.left-=l[1]):"right"===s?(r.top+=l[0],r.left+=l[1]):"top"===s?(r.left+=l[0],r.top-=l[1]):"bottom"===s&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,i){var e=i.boundariesElement||Wt(t.instance.popper);t.instance.reference===e&&(e=Wt(e));var n=de("transform"),o=t.instance.popper.style,r=o.top,a=o.left,s=o[n];o.top="",o.left="",o[n]="";var l=ne(t.instance.popper,t.instance.reference,i.padding,e,t.positionFixed);o.top=r,o.left=a,o[n]=s,i.boundaries=l;var u=i.priority,f=t.offsets.popper,d={primary:function(t){var e=f[t];return f[t]<l[t]&&!i.escapeWithReference&&(e=Math.max(f[t],l[t])),Gt({},t,e)},secondary:function(t){var e="right"===t?"left":"top",n=f[e];return f[t]>l[t]&&!i.escapeWithReference&&(n=Math.min(f[e],l[t]-("right"===t?f.width:f.height))),Gt({},e,n)}};return u.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";f=$t({},f,d[e](t))}),t.offsets.popper=f