Version Description
19 January 2022 = - Added: An options for column count for tablet and mobile in carousel skin - Added: Display repeat method when Show only one occurrence of events option is enabled in the shortcode - Added: An ability to insert/change coupon codes while editing bookings in the backend (pro) - Added: A sold-out style for the calendar date selection method in the booking module (pro) - Improved: The MEC checkout to preview free bookings (pro) - Improved: The MEC settings to be able to insert booking and single date options per language for multi-lingual websites - Fixed: An issue in AWeber integration (pro) - Fixed: An issue in daily skin - Fixed: An issue in ical feed regarding advanced events
Download this release
Release Info
Developer | webnus |
Plugin | Modern Events Calendar Lite |
Version | 6.2.8 |
Comparing to | |
See all releases |
Code changes from version 6.2.6 to 6.2.8
- app/features/booking/calendar_novel.php +9 -3
- app/features/cart/checkout.php +13 -13
- app/features/gateways.php +0 -6631
- app/features/mec.php +6 -2
- app/features/mec/booking.php +8 -1
- app/features/mec/dashboard.php +1 -4
- app/features/mec/integrations.php +4 -4
- app/features/mec/meta_boxes/display_options.php +17 -0
- app/features/mec/settings.php +1 -1
- app/features/mec/single.php +8 -1
- app/features/update.php +5 -5
- app/features/wc.php +11 -3
- app/libraries/main.php +67 -23
- app/libraries/skins.php +27 -4
- app/libraries/transaction.php +3 -1
- app/modules/booking/default.php +1 -0
- app/modules/booking/steps/tickets.php +1 -1
- app/modules/local-time/details.php +2 -1
- app/modules/local-time/type1.php +2 -1
- app/modules/local-time/type2.php +2 -1
- app/modules/local-time/type3.php +2 -1
- app/skins/carousel.php +6 -2
- app/skins/carousel/tpl.php +3 -2
- app/skins/daily_view/render.php +2 -2
- app/skins/monthly_view/calendar_clean.php +2 -2
- app/skins/single.php +3 -2
- assets/css/frontend.css +27 -0
- assets/css/frontend.min.css +1 -1
app/features/booking/calendar_novel.php
CHANGED
@@ -15,6 +15,7 @@ if(!$first_date) return;
|
|
15 |
Â
|
16 |
Â
// Settings
|
17 |
Â
$settings = $this->main->get_settings();
|
Â
|
|
18 |
Â
|
19 |
Â
// Is Booking Enabled for Ongoing Events
|
20 |
Â
$booking_ongoing = (isset($settings['booking_ongoing']) and $settings['booking_ongoing']);
|
@@ -22,7 +23,7 @@ $booking_ongoing = (isset($settings['booking_ongoing']) and $settings['booking_o
|
|
22 |
Â
// Options
|
23 |
Â
$event_color = isset($event->data->meta['mec_color']) ? '#'.$event->data->meta['mec_color'] : '';
|
24 |
Â
$allday = isset($event->data->meta['mec_allday']) ? $event->data->meta['mec_allday'] : 0;
|
25 |
-
$date_format = (isset($
|
26 |
Â
$date_format = trim(str_replace(['H', 'h', 'i', 's', 'A', 'a', 'G', 'g', 'B', 'u', 'v', ':'], '', $date_format), ': ');
|
27 |
Â
$time_format = get_option('time_format');
|
28 |
Â
|
@@ -128,6 +129,7 @@ echo $javascript;
|
|
128 |
Â
$middle_day = '';
|
129 |
Â
$last_day = '';
|
130 |
Â
$repeat = 0;
|
Â
|
|
131 |
Â
|
132 |
Â
foreach($dates as $date)
|
133 |
Â
{
|
@@ -137,7 +139,10 @@ echo $javascript;
|
|
137 |
Â
$date_timestamp = $this->book->timestamp($date['start'], $date['end']);
|
138 |
Â
$start_datetime = $date['start']['date'].' '.sprintf("%02d", $date['start']['hour']).':'.sprintf("%02d", $date['start']['minutes']).' '.$date['start']['ampm'];
|
139 |
Â
|
140 |
-
$
|
Â
|
|
Â
|
|
Â
|
|
141 |
Â
$first_day = strtotime($date['start']['date']) == $time ? ' first-day' : null;
|
142 |
Â
$middle_day = (strtotime($date['end']['date']) != $time && strtotime($date['start']['date']) != $time) ? ' middle-day' : null;
|
143 |
Â
$last_day = strtotime($date['end']['date']) == $time ? ' last-day' : null;
|
@@ -149,8 +154,9 @@ echo $javascript;
|
|
149 |
Â
$date_for_wrap = $repeat == 1 ? 'data-timestamp="'.$date_timestamp.'"' : '';
|
150 |
Â
$custom_class1 = $repeat == 1 ? ' mec-has-one-repeat-in-day' : '';
|
151 |
Â
$custom_class2 = $repeat >= 1 ? ' mec-has-event-for-booking' : '';
|
Â
|
|
152 |
Â
|
153 |
-
echo '<dt class="mec-calendar-day'.$default_day.$repeat_class.$custom_class1.$custom_class2.$first_day.$last_day.$middle_day.'" '.$date_for_wrap.'><div class="mec-calendar-novel-selected-day"><span>'.$list_day.'</span></div>';
|
154 |
Â
echo '<div class="mec-booking-tooltip">'.$render.'</div>';
|
155 |
Â
echo '</dt>';
|
156 |
Â
|
15 |
Â
|
16 |
Â
// Settings
|
17 |
Â
$settings = $this->main->get_settings();
|
18 |
+
$ml_settings = $this->main->get_ml_settings();
|
19 |
Â
|
20 |
Â
// Is Booking Enabled for Ongoing Events
|
21 |
Â
$booking_ongoing = (isset($settings['booking_ongoing']) and $settings['booking_ongoing']);
|
23 |
Â
// Options
|
24 |
Â
$event_color = isset($event->data->meta['mec_color']) ? '#'.$event->data->meta['mec_color'] : '';
|
25 |
Â
$allday = isset($event->data->meta['mec_allday']) ? $event->data->meta['mec_allday'] : 0;
|
26 |
+
$date_format = (isset($ml_settings['booking_date_format1']) and trim($ml_settings['booking_date_format1'])) ? $ml_settings['booking_date_format1'] : 'Y-m-d';
|
27 |
Â
$date_format = trim(str_replace(['H', 'h', 'i', 's', 'A', 'a', 'G', 'g', 'B', 'u', 'v', ':'], '', $date_format), ': ');
|
28 |
Â
$time_format = get_option('time_format');
|
29 |
Â
|
129 |
Â
$middle_day = '';
|
130 |
Â
$last_day = '';
|
131 |
Â
$repeat = 0;
|
132 |
+
$is_soldout = true;
|
133 |
Â
|
134 |
Â
foreach($dates as $date)
|
135 |
Â
{
|
139 |
Â
$date_timestamp = $this->book->timestamp($date['start'], $date['end']);
|
140 |
Â
$start_datetime = $date['start']['date'].' '.sprintf("%02d", $date['start']['hour']).':'.sprintf("%02d", $date['start']['minutes']).' '.$date['start']['ampm'];
|
141 |
Â
|
142 |
+
$soldout = $this->main->is_soldout($event->ID, $start_datetime);
|
143 |
+
if($is_soldout and !$soldout) $is_soldout = false;
|
144 |
+
|
145 |
+
$render .='<div class="mec-booking-calendar-date '.($soldout ? 'mec-booking-calendar-date-soldout' : '').'" data-timestamp="'.$this->book->timestamp($date['start'], $date['end']).'">' .(($date['start']['date'] !== $date['end']['date']) ? '<div class="mec-booking-calendar-date-hover">'.strip_tags($this->main->date_label($date['start'], $date['end'], $date_format, ' - ', false, (isset($date['allday']) ? $date['allday'] : 0), $event)).'</div><div class="mec-booking-calendar-time-hover">' : ($allday != 0 ? esc_html__('All Day' , 'modern-events-calendar-lite') : '')).strip_tags($this->main->date_label($date['start'], $date['end'], $time_format, ' - ', false, (isset($date['allday']) ? $date['allday'] : 0))).(($date['start']['date'] !== $date['end']['date']) ?'</div>' : '') .'</div>';
|
146 |
Â
$first_day = strtotime($date['start']['date']) == $time ? ' first-day' : null;
|
147 |
Â
$middle_day = (strtotime($date['end']['date']) != $time && strtotime($date['start']['date']) != $time) ? ' middle-day' : null;
|
148 |
Â
$last_day = strtotime($date['end']['date']) == $time ? ' last-day' : null;
|
154 |
Â
$date_for_wrap = $repeat == 1 ? 'data-timestamp="'.$date_timestamp.'"' : '';
|
155 |
Â
$custom_class1 = $repeat == 1 ? ' mec-has-one-repeat-in-day' : '';
|
156 |
Â
$custom_class2 = $repeat >= 1 ? ' mec-has-event-for-booking' : '';
|
157 |
+
$soldout_class = ($is_soldout ? ' mec-booking-calendar-date-soldout' : '');
|
158 |
Â
|
159 |
+
echo '<dt class="mec-calendar-day'.$default_day.$repeat_class.$custom_class1.$custom_class2.$first_day.$last_day.$middle_day.$soldout_class.'" '.$date_for_wrap.'><div class="mec-calendar-novel-selected-day"><span>'.$list_day.'</span></div>';
|
160 |
Â
echo '<div class="mec-booking-tooltip">'.$render.'</div>';
|
161 |
Â
echo '</dt>';
|
162 |
Â
|
app/features/cart/checkout.php
CHANGED
@@ -43,25 +43,25 @@ $this->factory->params('footer', $javascript);
|
|
43 |
Â
<?php if($empty): ?>
|
44 |
Â
<p><?php esc_html_e('Cart is empty!', 'modern-events-calendar-lite'); ?></p>
|
45 |
Â
<?php else: ?>
|
46 |
-
<?php if(!$free): ?>
|
47 |
Â
<div class="mec-checkout-price-details-wrapper">
|
48 |
Â
<ul class="mec-checkout-list">
|
49 |
Â
<?php foreach($cart as $transaction_id): $TO = $this->book->get_TO($transaction_id); $price_details = $TO->get_price_details(); ?>
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
Â
<?php endforeach; ?>
|
63 |
Â
</ul>
|
64 |
Â
</div>
|
Â
|
|
65 |
Â
<div class="mec-checkout-footer">
|
66 |
Â
|
67 |
Â
<p id="mec_cart_total_payable"><?php echo $this->main->render_price($this->cart->get_payable($cart)); ?></p>
|
43 |
Â
<?php if($empty): ?>
|
44 |
Â
<p><?php esc_html_e('Cart is empty!', 'modern-events-calendar-lite'); ?></p>
|
45 |
Â
<?php else: ?>
|
Â
|
|
46 |
Â
<div class="mec-checkout-price-details-wrapper">
|
47 |
Â
<ul class="mec-checkout-list">
|
48 |
Â
<?php foreach($cart as $transaction_id): $TO = $this->book->get_TO($transaction_id); $price_details = $TO->get_price_details(); ?>
|
49 |
+
<li class="mec-list-items">
|
50 |
+
<h3><?php echo $TO->get_event_link(); ?> (<?php echo $this->main->render_price($price_details['total'], $TO->get_event_id()); ?>)</h3>
|
51 |
+
<div class="mec-checkout-tickets-wrapper"><?php echo $TO->get_tickets_html(); ?></div>
|
52 |
+
<ul class="mec-checkout-price-details">
|
53 |
+
<?php foreach($price_details['details'] as $detail): ?>
|
54 |
+
<li class="mec-checkout-price-detail mec-checkout-price-detail-type<?php echo $detail['type']; ?>">
|
55 |
+
<span class="mec-checkout-price-detail-description"><?php echo $detail['description']; ?></span>
|
56 |
+
<span class="mec-checkout-price-detail-amount"><?php echo $this->main->render_price($detail['amount'], $TO->get_event_id()); ?></span>
|
57 |
+
</li>
|
58 |
+
<?php endforeach; ?>
|
59 |
+
</ul>
|
60 |
+
</li>
|
61 |
Â
<?php endforeach; ?>
|
62 |
Â
</ul>
|
63 |
Â
</div>
|
64 |
+
<?php if(!$free): ?>
|
65 |
Â
<div class="mec-checkout-footer">
|
66 |
Â
|
67 |
Â
<p id="mec_cart_total_payable"><?php echo $this->main->render_price($this->cart->get_payable($cart)); ?></p>
|
app/features/gateways.php
DELETED
@@ -1,6631 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/** no direct access **/
|
3 |
-
defined('MECEXEC') or die();
|
4 |
-
|
5 |
-
/**
|
6 |
-
* Webnus MEC gateways class.
|
7 |
-
*
|
8 |
-
* @author Webnus <info@webnus.biz>
|
9 |
-
*/
|
10 |
-
class MEC_feature_gateways extends MEC_base
|
11 |
-
{
|
12 |
-
/**
|
13 |
-
* @var MEC_factory
|
14 |
-
*/
|
15 |
-
public $factory;
|
16 |
-
|
17 |
-
/**
|
18 |
-
* @var MEC_main
|
19 |
-
*/
|
20 |
-
public $main;
|
21 |
-
|
22 |
-
/**
|
23 |
-
* Constructor method
|
24 |
-
*
|
25 |
-
* @author Webnus <info@webnus.biz>
|
26 |
-
*/
|
27 |
-
public function __construct()
|
28 |
-
{
|
29 |
-
// Import MEC Factory
|
30 |
-
$this->factory = $this->getFactory();
|
31 |
-
|
32 |
-
// Import MEC Main
|
33 |
-
$this->main = $this->getMain();
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Initialize colors feature
|
38 |
-
*
|
39 |
-
* @author Webnus <info@webnus.biz>
|
40 |
-
*/
|
41 |
-
public function init()
|
42 |
-
{
|
43 |
-
// PRO Version is required
|
44 |
-
if(!$this->getPRO()) return false;
|
45 |
-
|
46 |
-
// MEC Settings
|
47 |
-
$settings = $this->main->get_settings();
|
48 |
-
|
49 |
-
// Booking is disabled
|
50 |
-
if(!isset($settings['booking_status']) or (isset($settings['booking_status']) and !$settings['booking_status'])) return false;
|
51 |
-
|
52 |
-
// WC System
|
53 |
-
$WC_status = (isset($settings['wc_status']) and $settings['wc_status'] and class_exists('WooCommerce')) ? true : false;
|
54 |
-
|
55 |
-
// WC system is enabled so we will skip MEC gateways
|
56 |
-
if($WC_status) return false;
|
57 |
-
|
58 |
-
$this->factory->action('mec_gateways', array($this, 'register_gateways'));
|
59 |
-
$this->factory->action('wp_ajax_mec_do_transaction_free', array($this, 'do_free_booking'));
|
60 |
-
$this->factory->action('wp_ajax_nopriv_mec_do_transaction_free', array($this, 'do_free_booking'));
|
61 |
-
|
62 |
-
new MEC_gateway_pay_locally();
|
63 |
-
new MEC_gateway_paypal_express();
|
64 |
-
new MEC_gateway_paypal_credit_card();
|
65 |
-
new MEC_gateway_stripe();
|
66 |
-
new MEC_gateway_woocommerce();
|
67 |
-
new MEC_gateway_stripe_connect();
|
68 |
-
new MEC_gateway_bank_transfer();
|
69 |
-
|
70 |
-
do_action('MEC_feature_gateways_init');
|
71 |
-
}
|
72 |
-
|
73 |
-
public function register_gateways($gateways = array())
|
74 |
-
{
|
75 |
-
$gateways['pay_locally'] = new MEC_gateway_pay_locally();
|
76 |
-
$gateways['paypal_express'] = new MEC_gateway_paypal_express();
|
77 |
-
$gateways['paypal_credit_card'] = new MEC_gateway_paypal_credit_card();
|
78 |
-
$gateways['stripe'] = new MEC_gateway_stripe();
|
79 |
-
$gateways['woocommerce'] = new MEC_gateway_woocommerce();
|
80 |
-
$gateways['stripe_connect'] = new MEC_gateway_stripe_connect();
|
81 |
-
$gateways['bank_transfer'] = new MEC_gateway_bank_transfer();
|
82 |
-
|
83 |
-
usort($gateways, function($a, $b)
|
84 |
-
{
|
85 |
-
$a_index = (isset($a->options) and isset($a->options['index'])) ? $a->options['index'] : 9999999999;
|
86 |
-
$b_index = (isset($b->options) and isset($b->options['index'])) ? $b->options['index'] : 9999999999;
|
87 |
-
|
88 |
-
if($a_index == $b_index) return 0;
|
89 |
-
return ($a_index < $b_index) ? -1 : 1;
|
90 |
-
});
|
91 |
-
|
92 |
-
return apply_filters('MEC_register_gateways', $gateways);
|
93 |
-
}
|
94 |
-
|
95 |
-
public function do_free_booking()
|
96 |
-
{
|
97 |
-
$transaction_id = isset($_POST['transaction_id']) ? sanitize_text_field($_POST['transaction_id']) : '';
|
98 |
-
|
99 |
-
// Verify that the nonce is valid.
|
100 |
-
if(!wp_verify_nonce(sanitize_text_field($_POST['_wpnonce']), 'mec_transaction_form_' . $transaction_id))
|
101 |
-
{
|
102 |
-
$this->main->response(array(
|
103 |
-
'success' => 0,
|
104 |
-
'code' => 'NONCE_IS_INVALID',
|
105 |
-
'message' => __('Request is invalid!', 'modern-events-calendar-lite'),
|
106 |
-
));
|
107 |
-
}
|
108 |
-
|
109 |
-
$free_gateway = new MEC_gateway_free();
|
110 |
-
$results = $free_gateway->do_transaction($transaction_id);
|
111 |
-
|
112 |
-
$results['output'] = '<h4>' . __('Thanks for your booking.', 'modern-events-calendar-lite') . '</h4>
|
113 |
-
<div class="mec-event-book-message">
|
114 |
-
<div class="' . ($results['success'] ? 'mec-success' : 'mec-error') . '">' . $results['message'] . '</div>
|
115 |
-
</div>';
|
116 |
-
|
117 |
-
$this->main->response($results);
|
118 |
-
}
|
119 |
-
}
|
120 |
-
|
121 |
-
do_action('after_MEC_feature_gateways');
|
122 |
-
|
123 |
-
interface MEC_gateway_interface
|
124 |
-
{
|
125 |
-
public function id();
|
126 |
-
public function label();
|
127 |
-
public function options_form();
|
128 |
-
public function op_form();
|
129 |
-
public function options($transaction_id);
|
130 |
-
public function checkout_form($transaction_id, $params = array());
|
131 |
-
public function enabled();
|
132 |
-
public function op_enabled();
|
133 |
-
public function comment();
|
134 |
-
public function do_transaction();
|
135 |
-
public function register_user($ticket, $args);
|
136 |
-
}
|
137 |
-
|
138 |
-
class MEC_gateway extends MEC_base implements MEC_gateway_interface
|
139 |
-
{
|
140 |
-
/**
|
141 |
-
* @var MEC_main
|
142 |
-
*/
|
143 |
-
public $main;
|
144 |
-
|
145 |
-
/**
|
146 |
-
* @var MEC_book
|
147 |
-
*/
|
148 |
-
public $book;
|
149 |
-
|
150 |
-
/**
|
151 |
-
* @var MEC_factory
|
152 |
-
*/
|
153 |
-
public $factory;
|
154 |
-
|
155 |
-
public $settings;
|
156 |
-
public $gateways_options;
|
157 |
-
public $PT;
|
158 |
-
public $id;
|
159 |
-
public $options;
|
160 |
-
|
161 |
-
public function __construct()
|
162 |
-
{
|
163 |
-
// MEC Main library
|
164 |
-
$this->main = $this->getMain();
|
165 |
-
|
166 |
-
// MEC Main library
|
167 |
-
$this->book = $this->getBook();
|
168 |
-
|
169 |
-
// Import MEC Factory
|
170 |
-
$this->factory = $this->getFactory();
|
171 |
-
|
172 |
-
// MEC settings
|
173 |
-
$this->settings = $this->main->get_settings();
|
174 |
-
|
175 |
-
// MEC gateways options
|
176 |
-
$this->gateways_options = $this->main->get_gateways_options();
|
177 |
-
|
178 |
-
// MEC Book Post Type Name
|
179 |
-
$this->PT = $this->main->get_book_post_type();
|
180 |
-
}
|
181 |
-
|
182 |
-
public function id()
|
183 |
-
{
|
184 |
-
return $this->id;
|
185 |
-
}
|
186 |
-
|
187 |
-
public function label()
|
188 |
-
{
|
189 |
-
return __('Gateway', 'modern-events-calendar-lite');
|
190 |
-
}
|
191 |
-
|
192 |
-
public function color()
|
193 |
-
{
|
194 |
-
return '#E7E9ED';
|
195 |
-
}
|
196 |
-
|
197 |
-
public function title()
|
198 |
-
{
|
199 |
-
return (isset($this->options['title']) and trim($this->options['title'])) ? $this->options['title'] : $this->label();
|
200 |
-
}
|
201 |
-
|
202 |
-
public function options_form()
|
203 |
-
{
|
204 |
-
}
|
205 |
-
|
206 |
-
public function op_form()
|
207 |
-
{
|
208 |
-
}
|
209 |
-
|
210 |
-
public function options($transaction_id = NULL)
|
211 |
-
{
|
212 |
-
$options = isset($this->gateways_options[$this->id]) ? $this->gateways_options[$this->id] : array();
|
213 |
-
return apply_filters('mec_gateway_options', $options, $this->id, $transaction_id);
|
214 |
-
}
|
215 |
-
|
216 |
-
public function checkout_form($transaction_id, $params = array())
|
217 |
-
{
|
218 |
-
}
|
219 |
-
|
220 |
-
public function enabled()
|
221 |
-
{
|
222 |
-
return ((isset($this->options['status']) and $this->options['status']) ? true : false);
|
223 |
-
}
|
224 |
-
|
225 |
-
public function op_enabled()
|
226 |
-
{
|
227 |
-
return false;
|
228 |
-
}
|
229 |
-
|
230 |
-
public function comment()
|
231 |
-
{
|
232 |
-
return ((isset($this->options['comment']) and trim($this->options['comment'])) ? '<p class="mec-gateway-comment">' . __(stripslashes($this->options['comment']), 'modern-events-calendar-lite') . '</p>' : '');
|
233 |
-
}
|
234 |
-
|
235 |
-
public function do_transaction($transaction_id = null)
|
236 |
-
{
|
237 |
-
}
|
238 |
-
|
239 |
-
public function response($response)
|
240 |
-
{
|
241 |
-
$this->main->response($response);
|
242 |
-
}
|
243 |
-
|
244 |
-
public function register_user($attendee, $args = array())
|
245 |
-
{
|
246 |
-
$user = $this->getUser();
|
247 |
-
return $user->register($attendee, $args);
|
248 |
-
}
|
249 |
-
|
250 |
-
public function get_request_string($vars)
|
251 |
-
{
|
252 |
-
$string = '';
|
253 |
-
foreach($vars as $var => $val) $string .= '&' . $var . '=' . urlencode(stripslashes($val));
|
254 |
-
|
255 |
-
return $string;
|
256 |
-
}
|
257 |
-
|
258 |
-
public function decode_custom($encoded)
|
259 |
-
{
|
260 |
-
$base64 = urldecode($encoded);
|
261 |
-
$json = base64_decode($base64);
|
262 |
-
|
263 |
-
return json_decode($json, true);
|
264 |
-
}
|
265 |
-
|
266 |
-
public function get_paypal_response($request_str, $url)
|
267 |
-
{
|
268 |
-
$results = null;
|
269 |
-
|
270 |
-
$api_url = $url;
|
271 |
-
$parsed_url = parse_url($api_url);
|
272 |
-
$fp = fsockopen('ssl://' . $parsed_url['host'], '443', $errNum, $errStr, 30);
|
273 |
-
|
274 |
-
if(!$fp)
|
275 |
-
{
|
276 |
-
// @TODO log error here
|
277 |
-
return '';
|
278 |
-
}
|
279 |
-
else
|
280 |
-
{
|
281 |
-
fputs($fp, 'POST ' . $parsed_url['path'] . " HTTP/1.1\r\n");
|
282 |
-
fputs($fp, 'Host: ' . $parsed_url['host'] . "\r\n");
|
283 |
-
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
|
284 |
-
fputs($fp, 'Content-length: ' . strlen($request_str) . "\r\n");
|
285 |
-
fputs($fp, "Connection: close\r\n\r\n");
|
286 |
-
fputs($fp, $request_str . "\r\n\r\n");
|
287 |
-
|
288 |
-
$results = '';
|
289 |
-
while(!feof($fp)) $results .= fgets($fp, 1024);
|
290 |
-
|
291 |
-
fclose($fp);
|
292 |
-
|
293 |
-
list($header, $body) = preg_split('/\R\R/', $results, 2);
|
294 |
-
$results = $body;
|
295 |
-
}
|
296 |
-
|
297 |
-
return $results;
|
298 |
-
}
|
299 |
-
|
300 |
-
public function get_cancel_url($event_id)
|
301 |
-
{
|
302 |
-
return trim(get_permalink($event_id), '/') . '/gateway-cancel/';
|
303 |
-
}
|
304 |
-
|
305 |
-
public function get_return_url($event_id, $thankyou = true)
|
306 |
-
{
|
307 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
308 |
-
if($thankyou_page_id and $thankyou)
|
309 |
-
{
|
310 |
-
return $this->book->get_thankyou_page($thankyou_page_id, NULL);
|
311 |
-
}
|
312 |
-
|
313 |
-
return trim(get_permalink($event_id), '/') . '/gateway-return/';
|
314 |
-
}
|
315 |
-
|
316 |
-
public function validate($transaction_id)
|
317 |
-
{
|
318 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
319 |
-
|
320 |
-
// Check Transaction State
|
321 |
-
if(isset($transaction['booking_id']) and trim($transaction['booking_id'])) return true;
|
322 |
-
|
323 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
324 |
-
$date = isset($transaction['date']) ? $transaction['date'] : '';
|
325 |
-
$timestamps = explode(':', $date);
|
326 |
-
|
327 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : 0;
|
328 |
-
if(!$event_id) return true;
|
329 |
-
|
330 |
-
$tickets = array();
|
331 |
-
foreach($attendees as $attendee)
|
332 |
-
{
|
333 |
-
$ticket_id = (isset($attendee['id']) ? $attendee['id'] : 0);
|
334 |
-
if(!$ticket_id) continue;
|
335 |
-
|
336 |
-
if(!isset($tickets[$ticket_id])) $tickets[$ticket_id] = 1;
|
337 |
-
else $tickets[$ticket_id]++;
|
338 |
-
}
|
339 |
-
|
340 |
-
$availability = $this->book->get_tickets_availability($event_id, $timestamps[0]);
|
341 |
-
$event_tickets = get_post_meta($event_id, 'mec_tickets', true);
|
342 |
-
|
343 |
-
foreach($tickets as $ticket_id => $quantity)
|
344 |
-
{
|
345 |
-
// Ticket is not available
|
346 |
-
if(!isset($availability[$ticket_id]) or (isset($availability[$ticket_id]) and $availability[$ticket_id] != '-1' and $availability[$ticket_id] < $quantity))
|
347 |
-
{
|
348 |
-
if($availability[$ticket_id] == '0') $this->response(array('success' => 0, 'code' => 'SOLDOUT', 'message' => sprintf(__('%s ticket is sold out! Please go back and select another ticket if available.', 'modern-events-calendar-lite'), $event_tickets[$ticket_id]['name'])));
|
349 |
-
else $this->response(array('success' => 0, 'code' => 'SOLDOUT', 'message' => sprintf(__('Only %s slots remained for %s ticket so you cannot book %s ones.', 'modern-events-calendar-lite'), $availability[$ticket_id], $event_tickets[$ticket_id]['name'], $quantity)));
|
350 |
-
}
|
351 |
-
}
|
352 |
-
|
353 |
-
return true;
|
354 |
-
}
|
355 |
-
|
356 |
-
public function stripe_multiply($amount, $currency = NULL)
|
357 |
-
{
|
358 |
-
if(is_null($currency)) $currency = $this->main->get_currency_code();
|
359 |
-
|
360 |
-
// Zero Decimal Currencies
|
361 |
-
if(in_array($currency, array('BIF', 'CLP', 'DJF', 'GNF', 'JPY', 'KMF', 'KRW', 'MGA', 'PYG', 'RWF', 'UGX', 'VND', 'VUV', 'XAF', 'XOF', 'XPF'))) return (int) $amount;
|
362 |
-
else return (int) ($amount * 100);
|
363 |
-
}
|
364 |
-
|
365 |
-
public function get_stripe_charge_description($transaction_id)
|
366 |
-
{
|
367 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
368 |
-
$event_title = (isset($transaction['event_id']) ? get_the_title($transaction['event_id']) : 'N/A');
|
369 |
-
|
370 |
-
return sprintf(__('MEC Transaction ID: %s, Event Title: %s', 'modern-events-calendar-lite'), $transaction_id, $event_title);
|
371 |
-
}
|
372 |
-
|
373 |
-
public function cart_validate($cart_id)
|
374 |
-
{
|
375 |
-
// Cart Library
|
376 |
-
$c = $this->getCart();
|
377 |
-
|
378 |
-
$cart = $c->get_cart($cart_id);
|
379 |
-
|
380 |
-
$validity = true;
|
381 |
-
$messages = array();
|
382 |
-
|
383 |
-
foreach($cart as $transaction_id)
|
384 |
-
{
|
385 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
386 |
-
|
387 |
-
// Check Transaction State
|
388 |
-
if(isset($transaction['booking_id']) and trim($transaction['booking_id'])) continue;
|
389 |
-
|
390 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
391 |
-
$date = isset($transaction['date']) ? $transaction['date'] : '';
|
392 |
-
$timestamps = explode(':', $date);
|
393 |
-
|
394 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : 0;
|
395 |
-
if(!$event_id) continue;
|
396 |
-
|
397 |
-
$tickets = array();
|
398 |
-
foreach($attendees as $attendee)
|
399 |
-
{
|
400 |
-
$ticket_id = (isset($attendee['id']) ? $attendee['id'] : 0);
|
401 |
-
if(!$ticket_id) continue;
|
402 |
-
|
403 |
-
if(!isset($tickets[$ticket_id])) $tickets[$ticket_id] = 1;
|
404 |
-
else $tickets[$ticket_id]++;
|
405 |
-
}
|
406 |
-
|
407 |
-
$availability = $this->book->get_tickets_availability($event_id, $timestamps[0]);
|
408 |
-
$event_tickets = get_post_meta($event_id, 'mec_tickets', true);
|
409 |
-
|
410 |
-
foreach($tickets as $ticket_id => $quantity)
|
411 |
-
{
|
412 |
-
// Ticket is not available
|
413 |
-
if(!isset($availability[$ticket_id]) or (isset($availability[$ticket_id]) and $availability[$ticket_id] != '-1' and $availability[$ticket_id] < $quantity))
|
414 |
-
{
|
415 |
-
$validity = false;
|
416 |
-
|
417 |
-
if($availability[$ticket_id] == '0') $messages[] = sprintf(__('%s Transaction: %s ticket is sold out! Please remove it and book another ticket if available.', 'modern-events-calendar-lite'), $transaction_id, $event_tickets[$ticket_id]['name']);
|
418 |
-
else $messages[] = sprintf(__('%s Transaction: Only %s slots remained for %s ticket so you cannot book %s ones.', 'modern-events-calendar-lite'), $transaction_id, $availability[$ticket_id], $event_tickets[$ticket_id]['name'], $quantity);
|
419 |
-
}
|
420 |
-
}
|
421 |
-
}
|
422 |
-
|
423 |
-
if(!$validity)
|
424 |
-
{
|
425 |
-
$this->response(array(
|
426 |
-
'success' => 0,
|
427 |
-
'code' => 'SOLDOUT',
|
428 |
-
'message' => implode('<br>', $messages)
|
429 |
-
));
|
430 |
-
}
|
431 |
-
|
432 |
-
return true;
|
433 |
-
}
|
434 |
-
|
435 |
-
public function do_cart_transaction($cart_id, $params = array())
|
436 |
-
{
|
437 |
-
$gateway_key = ((isset($params['gateway']) and trim($params['gateway'])) ? $params['gateway'] : '');
|
438 |
-
|
439 |
-
// Cart Library
|
440 |
-
$c = $this->getCart();
|
441 |
-
|
442 |
-
$cart = $c->get_cart($cart_id);
|
443 |
-
|
444 |
-
$book_ids = array();
|
445 |
-
foreach($cart as $transaction_id)
|
446 |
-
{
|
447 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
448 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
449 |
-
|
450 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
451 |
-
$attention_times = explode(':', $attention_date);
|
452 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
453 |
-
|
454 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
455 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
456 |
-
|
457 |
-
$ticket_ids = '';
|
458 |
-
$attendees_info = array();
|
459 |
-
|
460 |
-
foreach($attendees as $i => $attendee)
|
461 |
-
{
|
462 |
-
if(!is_numeric($i)) continue;
|
463 |
-
|
464 |
-
$ticket_ids .= $attendee['id'] . ',';
|
465 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
466 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
467 |
-
}
|
468 |
-
|
469 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
470 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
471 |
-
|
472 |
-
// Remove Sensitive Data
|
473 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
474 |
-
{
|
475 |
-
unset($transaction['username']);
|
476 |
-
unset($transaction['password']);
|
477 |
-
|
478 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
479 |
-
}
|
480 |
-
|
481 |
-
// MEC User
|
482 |
-
$u = $this->getUser();
|
483 |
-
|
484 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
485 |
-
$book_id = $this->book->add(
|
486 |
-
array(
|
487 |
-
'post_author' => $user_id,
|
488 |
-
'post_type' => $this->PT,
|
489 |
-
'post_title' => $book_subject,
|
490 |
-
'post_date' => $date,
|
491 |
-
'attendees_info' => $attendees_info,
|
492 |
-
'mec_attendees' => $attendees,
|
493 |
-
'mec_gateway' => $gateway_key,
|
494 |
-
'mec_gateway_label' => $this->title()
|
495 |
-
),
|
496 |
-
$transaction_id,
|
497 |
-
$ticket_ids
|
498 |
-
);
|
499 |
-
|
500 |
-
if(!$book_id) $book_id = $this->book->get_book_id_transaction_id($transaction_id);
|
501 |
-
|
502 |
-
// Assign User
|
503 |
-
$u->assign($book_id, $user_id);
|
504 |
-
|
505 |
-
// Fires after completely creating a new booking
|
506 |
-
do_action('mec_booking_completed', $book_id);
|
507 |
-
|
508 |
-
$book_ids[] = $book_id;
|
509 |
-
}
|
510 |
-
|
511 |
-
$invoice_status = (isset($this->settings['mec_cart_invoice']) and $this->settings['mec_cart_invoice']);
|
512 |
-
$invoice_link = (!$invoice_status) ? '' : $c->get_invoice_link($cart_id);
|
513 |
-
|
514 |
-
$message = stripslashes($this->main->m('cart_success_message', __('Thank you for your booking. Your bookings are made, booking verification might be needed, please check your email.', 'modern-events-calendar-lite')));
|
515 |
-
if(trim($invoice_link)) $message .= ' <a class="mec-invoice-download" href="'.esc_url($invoice_link).'">'.__('Download Invoice', 'modern-events-calendar-lite').'</a>';
|
516 |
-
|
517 |
-
// Make the Cart Empty
|
518 |
-
$c->clear($cart_id);
|
519 |
-
|
520 |
-
return array(
|
521 |
-
'success' => 1,
|
522 |
-
'message' => $message,
|
523 |
-
'data' => array(
|
524 |
-
'book_ids' => $book_ids,
|
525 |
-
'invoice_link' => $invoice_link,
|
526 |
-
),
|
527 |
-
);
|
528 |
-
}
|
529 |
-
}
|
530 |
-
|
531 |
-
class MEC_gateway_stripe extends MEC_gateway
|
532 |
-
{
|
533 |
-
public $id = 5;
|
534 |
-
public $options;
|
535 |
-
|
536 |
-
public function __construct()
|
537 |
-
{
|
538 |
-
parent::__construct();
|
539 |
-
|
540 |
-
// Gateway options
|
541 |
-
$this->options = $this->options();
|
542 |
-
|
543 |
-
$this->factory->action('init', array($this, 'include_api'));
|
544 |
-
|
545 |
-
// Register actions
|
546 |
-
$this->factory->action('wp_ajax_mec_do_transaction_stripe', array($this, 'do_transaction'));
|
547 |
-
$this->factory->action('wp_ajax_nopriv_mec_do_transaction_stripe', array($this, 'do_transaction'));
|
548 |
-
|
549 |
-
// Add Stripe JS Library
|
550 |
-
if($this->enabled() and !is_admin()) $this->factory->action('wp_enqueue_scripts', array($this, 'frontend_assets'));
|
551 |
-
|
552 |
-
// iDEAL verification
|
553 |
-
$this->factory->action('init', array($this, 'do_ideal_transaction'));
|
554 |
-
|
555 |
-
// MEC Cart
|
556 |
-
$this->factory->action('wp_ajax_mec_cart_do_transaction_stripe', array($this, 'cart_do_transaction'));
|
557 |
-
$this->factory->action('wp_ajax_nopriv_mec_cart_do_transaction_stripe', array($this, 'cart_do_transaction'));
|
558 |
-
$this->factory->action('init', array($this, 'cart_do_ideal_transaction'));
|
559 |
-
}
|
560 |
-
|
561 |
-
public function frontend_assets()
|
562 |
-
{
|
563 |
-
$stripe_js = apply_filters('mec_gateways_stripe_js', true);
|
564 |
-
if($stripe_js) wp_enqueue_script('mec-stripe', 'https://js.stripe.com/v3/');
|
565 |
-
}
|
566 |
-
|
567 |
-
public function label()
|
568 |
-
{
|
569 |
-
return __('Stripe', 'modern-events-calendar-lite');
|
570 |
-
}
|
571 |
-
|
572 |
-
public function color()
|
573 |
-
{
|
574 |
-
return '#FF7D51';
|
575 |
-
}
|
576 |
-
|
577 |
-
public function include_api()
|
578 |
-
{
|
579 |
-
if(class_exists('Stripe')) return;
|
580 |
-
|
581 |
-
MEC::import('app.api.Stripe.autoload', false);
|
582 |
-
}
|
583 |
-
|
584 |
-
public function do_transaction($transaction_id = null)
|
585 |
-
{
|
586 |
-
if(!trim($transaction_id)) $transaction_id = isset($_GET['transaction_id']) ? sanitize_text_field($_GET['transaction_id']) : 0;
|
587 |
-
|
588 |
-
// Verify that the nonce is valid.
|
589 |
-
if(!wp_verify_nonce(sanitize_text_field($_GET['_wpnonce']), 'mec_transaction_form_' . $transaction_id))
|
590 |
-
{
|
591 |
-
$this->response(array(
|
592 |
-
'success' => 0,
|
593 |
-
'code' => 'NONCE_IS_INVALID',
|
594 |
-
'message' => __('Request is invalid!', 'modern-events-calendar-lite'),
|
595 |
-
));
|
596 |
-
}
|
597 |
-
|
598 |
-
// Validate Ticket Availability
|
599 |
-
$this->validate($transaction_id);
|
600 |
-
|
601 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
602 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
603 |
-
|
604 |
-
// Invalid Transaction
|
605 |
-
if(!is_array($transaction) or (is_array($transaction) and !isset($transaction['price']))) return false;
|
606 |
-
|
607 |
-
// Is there any attendee?
|
608 |
-
if(!count($attendees))
|
609 |
-
{
|
610 |
-
$this->response(
|
611 |
-
array(
|
612 |
-
'success' => 0,
|
613 |
-
'code' => 'NO_TICKET',
|
614 |
-
'message' => __(
|
615 |
-
'There is no attendee for booking!',
|
616 |
-
'mec'
|
617 |
-
),
|
618 |
-
)
|
619 |
-
);
|
620 |
-
}
|
621 |
-
|
622 |
-
// Transaction is not done
|
623 |
-
if(!isset($transaction['done']))
|
624 |
-
{
|
625 |
-
// Stripe Payment Details
|
626 |
-
$payment_method_id = isset($_GET['payment_method_id']) ? sanitize_text_field($_GET['payment_method_id']) : '';
|
627 |
-
$payment_intent_id = isset($_GET['payment_intent_id']) ? sanitize_text_field($_GET['payment_intent_id']) : '';
|
628 |
-
|
629 |
-
// Pay
|
630 |
-
$results = $this->pay($payment_method_id, $payment_intent_id, $transaction_id);
|
631 |
-
|
632 |
-
// Payment is invalid
|
633 |
-
if(!$results['success'])
|
634 |
-
{
|
635 |
-
$this->response(
|
636 |
-
array(
|
637 |
-
'success' => 0,
|
638 |
-
'code' => 'INVALID_PAYMENT',
|
639 |
-
'message' => $results['message'],
|
640 |
-
)
|
641 |
-
);
|
642 |
-
}
|
643 |
-
|
644 |
-
// Payment requires more actions
|
645 |
-
if($results['success'] == 2)
|
646 |
-
{
|
647 |
-
$this->response(
|
648 |
-
array(
|
649 |
-
'success' => 2,
|
650 |
-
'requires_action' => 1,
|
651 |
-
'code' => 'REQUIRES_ACTION',
|
652 |
-
'payment_intent_client_secret' => $results['payment_intent_client_secret'],
|
653 |
-
)
|
654 |
-
);
|
655 |
-
}
|
656 |
-
|
657 |
-
// Get Options Compatible with Organizer Payment
|
658 |
-
$options = $this->options($transaction_id);
|
659 |
-
|
660 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
661 |
-
$attention_times = explode(':', $attention_date);
|
662 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
663 |
-
|
664 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
665 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
666 |
-
|
667 |
-
$ticket_ids = '';
|
668 |
-
$attendees_info = array();
|
669 |
-
|
670 |
-
foreach($attendees as $i => $attendee)
|
671 |
-
{
|
672 |
-
if(!is_numeric($i)) continue;
|
673 |
-
|
674 |
-
$ticket_ids .= $attendee['id'] . ',';
|
675 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
676 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
677 |
-
}
|
678 |
-
|
679 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
680 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
681 |
-
|
682 |
-
// Remove Sensitive Data
|
683 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
684 |
-
{
|
685 |
-
unset($transaction['username']);
|
686 |
-
unset($transaction['password']);
|
687 |
-
}
|
688 |
-
|
689 |
-
$transaction['done'] = 1;
|
690 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
691 |
-
|
692 |
-
// MEC User
|
693 |
-
$u = $this->getUser();
|
694 |
-
|
695 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
696 |
-
$book_id = $this->book->add(
|
697 |
-
array(
|
698 |
-
'post_author' => $user_id,
|
699 |
-
'post_type' => $this->PT,
|
700 |
-
'post_title' => $book_subject,
|
701 |
-
'post_date' => $date,
|
702 |
-
'attendees_info' => $attendees_info,
|
703 |
-
'mec_attendees' => $attendees,
|
704 |
-
'mec_gateway' => 'MEC_gateway_stripe',
|
705 |
-
'mec_gateway_label' => $this->title()
|
706 |
-
),
|
707 |
-
$transaction_id,
|
708 |
-
$ticket_ids
|
709 |
-
);
|
710 |
-
|
711 |
-
// Assign User
|
712 |
-
$u->assign($book_id, $user_id);
|
713 |
-
|
714 |
-
// Gateway Referrer
|
715 |
-
update_post_meta($book_id, 'mec_gateway_ref_type', 'intent');
|
716 |
-
update_post_meta($book_id, 'mec_gateway_ref_id', (isset($results['id']) ? $results['id'] : ''));
|
717 |
-
|
718 |
-
// Fires after completely creating a new booking
|
719 |
-
do_action('mec_booking_completed', $book_id);
|
720 |
-
|
721 |
-
// Create Stripe Customer
|
722 |
-
if(isset($results['id']))
|
723 |
-
{
|
724 |
-
$user_email = $u->get($user_id)->user_email;
|
725 |
-
|
726 |
-
$stripe = new \Stripe\StripeClient($options['secret_key']);
|
727 |
-
|
728 |
-
// Search Customers
|
729 |
-
$customers = $stripe->customers->all([
|
730 |
-
'email' => $user_email,
|
731 |
-
'limit' => 1,
|
732 |
-
]);
|
733 |
-
|
734 |
-
if($customers->count()) $customer = $customers->first();
|
735 |
-
else
|
736 |
-
{
|
737 |
-
$customer = $stripe->customers->create([
|
738 |
-
'name' => $name,
|
739 |
-
'email' => $user_email,
|
740 |
-
]);
|
741 |
-
}
|
742 |
-
|
743 |
-
if($customer and isset($customer->id)) $stripe->paymentIntents->update($results['id'], ['customer' => $customer->id, 'receipt_email' => $user_email]);
|
744 |
-
}
|
745 |
-
}
|
746 |
-
else $book_id = (isset($transaction['booking_id']) ? $transaction['booking_id'] : 0);
|
747 |
-
|
748 |
-
$event_id = (isset($transaction['event_id']) ? $transaction['event_id'] : 0);
|
749 |
-
$redirect_to = '';
|
750 |
-
|
751 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
752 |
-
if($thankyou_page_id) $redirect_to = $this->book->get_thankyou_page($thankyou_page_id, $transaction_id);
|
753 |
-
|
754 |
-
// Invoice Link
|
755 |
-
$mec_confirmed = get_post_meta($book_id, 'mec_confirmed', true);
|
756 |
-
$invoice_link = (!$mec_confirmed) ? '' : $this->book->get_invoice_link($transaction_id);
|
757 |
-
$dl_file_link = (!$mec_confirmed) ? '' : $this->book->get_dl_file_link($book_id);
|
758 |
-
|
759 |
-
$extra_info = apply_filters('MEC_extra_info_gateways', '', $this->book->get_event_id_by_transaction_id($transaction_id), $book_id);
|
760 |
-
|
761 |
-
$this->response(
|
762 |
-
array(
|
763 |
-
'success' => 1,
|
764 |
-
'message' => stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite'))),
|
765 |
-
'data' => array(
|
766 |
-
'book_id' => $book_id,
|
767 |
-
'redirect_to' => $redirect_to,
|
768 |
-
'invoice_link' => $invoice_link,
|
769 |
-
'dl_file_link' => $dl_file_link,
|
770 |
-
'extra_info' => $extra_info,
|
771 |
-
),
|
772 |
-
)
|
773 |
-
);
|
774 |
-
}
|
775 |
-
|
776 |
-
public function pay($payment_method_id, $payment_intent_id, $transaction_id)
|
777 |
-
{
|
778 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
779 |
-
|
780 |
-
// Get Options Compatible with Organizer Payment
|
781 |
-
$options = $this->options($transaction_id);
|
782 |
-
|
783 |
-
// Set Stripe Secret Key
|
784 |
-
\Stripe\Stripe::setApiKey($options['secret_key']);
|
785 |
-
|
786 |
-
// Get Status of Payment Intent
|
787 |
-
if($payment_intent_id)
|
788 |
-
{
|
789 |
-
$intent = \Stripe\PaymentIntent::retrieve($payment_intent_id);
|
790 |
-
$intent->confirm();
|
791 |
-
|
792 |
-
if($intent->status == 'succeeded') return array('success' => 1, 'id' => $intent->id);
|
793 |
-
else if($intent->status == 'requires_confirmation') return array('success' => 0, 'message' => __('Your payment needs to be confirmed!', 'modern-events-calendar-lite'));
|
794 |
-
else return array('success' => 0, 'message' => __('Unknown Error!', 'modern-events-calendar-lite'));
|
795 |
-
}
|
796 |
-
|
797 |
-
try
|
798 |
-
{
|
799 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : 0;
|
800 |
-
$currency_code = $this->main->get_currency_code($event_id);
|
801 |
-
|
802 |
-
$intent = \Stripe\PaymentIntent::create(
|
803 |
-
array(
|
804 |
-
'payment_method' => $payment_method_id,
|
805 |
-
'amount' => (isset($transaction['price']) ? ((int) $this->stripe_multiply($transaction['price'], $currency_code)) : 0),
|
806 |
-
'currency' => $currency_code,
|
807 |
-
'description' => $this->get_stripe_charge_description($transaction_id),
|
808 |
-
'confirmation_method' => 'manual',
|
809 |
-
'confirm' => true,
|
810 |
-
)
|
811 |
-
);
|
812 |
-
}
|
813 |
-
catch(Exception $e)
|
814 |
-
{
|
815 |
-
return array(
|
816 |
-
'success' => 0,
|
817 |
-
'message' => $e->getMessage(),
|
818 |
-
);
|
819 |
-
}
|
820 |
-
|
821 |
-
if($intent->status == 'requires_action' and $intent->next_action->type == 'use_stripe_sdk')
|
822 |
-
{
|
823 |
-
# Tell the client to handle the action
|
824 |
-
return array(
|
825 |
-
'success' => 2,
|
826 |
-
'requires_action' => true,
|
827 |
-
'payment_intent_client_secret' => $intent->client_secret
|
828 |
-
);
|
829 |
-
}
|
830 |
-
elseif($intent->status == 'succeeded') return array('success' => 1, 'id' => $intent->id);
|
831 |
-
else return array('success' => 0, 'message' => __('Unknown Error!', 'modern-events-calendar-lite'));
|
832 |
-
}
|
833 |
-
|
834 |
-
public function do_ideal_transaction()
|
835 |
-
{
|
836 |
-
$transaction_id = isset($_GET['mec_ideal_transaction_id']) ? sanitize_text_field($_GET['mec_ideal_transaction_id']) : NULL;
|
837 |
-
if(!trim($transaction_id)) return false;
|
838 |
-
|
839 |
-
$source = isset($_GET['source']) ? sanitize_text_field($_GET['source']) : NULL;
|
840 |
-
if(!trim($source)) return false;
|
841 |
-
|
842 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
843 |
-
|
844 |
-
// Invalid Transaction
|
845 |
-
if(!is_array($transaction) or (is_array($transaction) and !isset($transaction['price']))) return false;
|
846 |
-
|
847 |
-
// Transaction is done
|
848 |
-
if(isset($transaction['done']) and $transaction['done'] == '1') return false;
|
849 |
-
|
850 |
-
// Get Options Compatible with Organizer Payment
|
851 |
-
$options = $this->options($transaction_id);
|
852 |
-
|
853 |
-
try
|
854 |
-
{
|
855 |
-
// Set Stripe Secret Key
|
856 |
-
\Stripe\Stripe::setApiKey($options['secret_key']);
|
857 |
-
|
858 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : 0;
|
859 |
-
$currency_code = $this->main->get_currency_code($event_id);
|
860 |
-
|
861 |
-
$charge = \Stripe\Charge::create([
|
862 |
-
'amount' => (isset($transaction['price']) ? ((int) $this->stripe_multiply($transaction['price'], $currency_code)) : 0),
|
863 |
-
'currency' => $currency_code,
|
864 |
-
'source' => $source,
|
865 |
-
]);
|
866 |
-
}
|
867 |
-
catch(Exception $e)
|
868 |
-
{
|
869 |
-
return false;
|
870 |
-
}
|
871 |
-
|
872 |
-
// Payment Invalid
|
873 |
-
if(!$charge->captured or !$charge->paid) return false;
|
874 |
-
|
875 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
876 |
-
|
877 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
878 |
-
$attention_times = explode(':', $attention_date);
|
879 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
880 |
-
|
881 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
882 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
883 |
-
|
884 |
-
$ticket_ids = '';
|
885 |
-
$attendees_info = array();
|
886 |
-
|
887 |
-
foreach($attendees as $i => $attendee)
|
888 |
-
{
|
889 |
-
if(!is_numeric($i)) continue;
|
890 |
-
|
891 |
-
$ticket_ids .= $attendee['id'] . ',';
|
892 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
893 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
894 |
-
}
|
895 |
-
|
896 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
897 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
898 |
-
|
899 |
-
// Remove Sensitive Data
|
900 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
901 |
-
{
|
902 |
-
unset($transaction['username']);
|
903 |
-
unset($transaction['password']);
|
904 |
-
}
|
905 |
-
|
906 |
-
$transaction['done'] = 1;
|
907 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
908 |
-
|
909 |
-
// MEC User
|
910 |
-
$u = $this->getUser();
|
911 |
-
|
912 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
913 |
-
$book_id = $this->book->add(
|
914 |
-
array(
|
915 |
-
'post_author' => $user_id,
|
916 |
-
'post_type' => $this->PT,
|
917 |
-
'post_title' => $book_subject,
|
918 |
-
'post_date' => $date,
|
919 |
-
'attendees_info' => $attendees_info,
|
920 |
-
'mec_attendees' => $attendees,
|
921 |
-
'mec_gateway' => 'MEC_gateway_stripe',
|
922 |
-
'mec_gateway_label' => $this->title()
|
923 |
-
),
|
924 |
-
$transaction_id,
|
925 |
-
$ticket_ids
|
926 |
-
);
|
927 |
-
|
928 |
-
// Assign User
|
929 |
-
$u->assign($book_id, $user_id);
|
930 |
-
|
931 |
-
// Gateway Referrer
|
932 |
-
update_post_meta($book_id, 'mec_gateway_ref_type', 'charge');
|
933 |
-
update_post_meta($book_id, 'mec_gateway_ref_id', (isset($charge->id) ? $charge->id : ''));
|
934 |
-
|
935 |
-
// Fires after completely creating a new booking
|
936 |
-
do_action('mec_booking_completed', $book_id);
|
937 |
-
|
938 |
-
$event_id = (isset($transaction['event_id']) ? $transaction['event_id'] : 0);
|
939 |
-
$redirect_to = '';
|
940 |
-
|
941 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
942 |
-
if($thankyou_page_id) $redirect_to = $this->book->get_thankyou_page($thankyou_page_id, $transaction_id);
|
943 |
-
|
944 |
-
// Create Stripe Customer
|
945 |
-
if($charge and $charge->id)
|
946 |
-
{
|
947 |
-
$user_email = $u->get($user_id)->user_email;
|
948 |
-
|
949 |
-
$stripe = new \Stripe\StripeClient($options['secret_key']);
|
950 |
-
|
951 |
-
// Search Customers
|
952 |
-
$customers = $stripe->customers->all([
|
953 |
-
'email' => $user_email,
|
954 |
-
'limit' => 1,
|
955 |
-
]);
|
956 |
-
|
957 |
-
if($customers->count()) $customer = $customers->first();
|
958 |
-
else
|
959 |
-
{
|
960 |
-
$customer = $stripe->customers->create([
|
961 |
-
'name' => $name,
|
962 |
-
'email' => $user_email,
|
963 |
-
]);
|
964 |
-
}
|
965 |
-
|
966 |
-
if($customer and isset($customer->id)) $stripe->charges->update($charge->id, ['customer' => $customer->id]);
|
967 |
-
}
|
968 |
-
|
969 |
-
// Redirect
|
970 |
-
if(trim($redirect_to))
|
971 |
-
{
|
972 |
-
wp_redirect($redirect_to);
|
973 |
-
exit;
|
974 |
-
}
|
975 |
-
}
|
976 |
-
|
977 |
-
public function refund($booking_id, $amount = NULL)
|
978 |
-
{
|
979 |
-
$gateway_ref_type = get_post_meta($booking_id, 'mec_gateway_ref_type', true);
|
980 |
-
$gateway_ref_id = get_post_meta($booking_id, 'mec_gateway_ref_id', true);
|
981 |
-
|
982 |
-
// Amount
|
983 |
-
if(trim($amount) == '') $amount = get_post_meta($booking_id, 'mec_price', true);
|
984 |
-
|
985 |
-
// Transaction ID
|
986 |
-
$transaction_id = $this->book->get_transaction_id_book_id($booking_id);
|
987 |
-
|
988 |
-
// Get Options Compatible with Organizer Payment
|
989 |
-
$options = $this->options($transaction_id);
|
990 |
-
|
991 |
-
// Set Stripe Secret Key
|
992 |
-
\Stripe\Stripe::setApiKey($options['secret_key']);
|
993 |
-
|
994 |
-
try
|
995 |
-
{
|
996 |
-
if($gateway_ref_type == 'intent')
|
997 |
-
{
|
998 |
-
$args = array(
|
999 |
-
'payment_intent' => $gateway_ref_id,
|
1000 |
-
'amount' => ((int) $this->stripe_multiply($amount))
|
1001 |
-
);
|
1002 |
-
}
|
1003 |
-
else
|
1004 |
-
{
|
1005 |
-
$args = array(
|
1006 |
-
'charge' => $gateway_ref_id,
|
1007 |
-
'amount' => ((int) $this->stripe_multiply($amount))
|
1008 |
-
);
|
1009 |
-
}
|
1010 |
-
|
1011 |
-
// Refund
|
1012 |
-
$results = \Stripe\Refund::create($args);
|
1013 |
-
|
1014 |
-
// Refund ID
|
1015 |
-
update_post_meta($booking_id, 'mec_refund_ref_id', (isset($results->id) ? $results->id : NULL));
|
1016 |
-
|
1017 |
-
if($results and isset($results->id)) return true;
|
1018 |
-
else return false;
|
1019 |
-
}
|
1020 |
-
catch(Exception $e)
|
1021 |
-
{
|
1022 |
-
return false;
|
1023 |
-
}
|
1024 |
-
}
|
1025 |
-
|
1026 |
-
public function checkout_form($transaction_id, $params = array())
|
1027 |
-
{
|
1028 |
-
// Get Options Compatible with Organizer Payment
|
1029 |
-
$options = $this->options($transaction_id);
|
1030 |
-
|
1031 |
-
// Payment Method
|
1032 |
-
$payment_method = (isset($options['payment_method']) and trim($options['payment_method'])) ? $options['payment_method'] : 'cc';
|
1033 |
-
|
1034 |
-
if($payment_method == 'cc') $this->checkout_form_cc($transaction_id, $options, $params);
|
1035 |
-
elseif($payment_method == 'ideal') $this->checkout_form_ideal($transaction_id, $options, $params);
|
1036 |
-
}
|
1037 |
-
|
1038 |
-
public function checkout_form_cc($transaction_id, $options, $params = array())
|
1039 |
-
{
|
1040 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
1041 |
-
|
1042 |
-
$main_attendee_name = ((isset($transaction['tickets']) and isset($transaction['tickets'][0]) and isset($transaction['tickets'][0]['name'])) ? $transaction['tickets'][0]['name'] : '');
|
1043 |
-
$main_attendee_email = ((isset($transaction['tickets']) and isset($transaction['tickets'][0]) and isset($transaction['tickets'][0]['email'])) ? $transaction['tickets'][0]['email'] : '');
|
1044 |
-
?>
|
1045 |
-
<script type="text/javascript">
|
1046 |
-
var stripe = Stripe("<?php echo(isset($options['publishable_key']) ? $options['publishable_key'] : ''); ?>");
|
1047 |
-
var elements = stripe.elements();
|
1048 |
-
var style = {
|
1049 |
-
base: {
|
1050 |
-
color: '#32325d',
|
1051 |
-
fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
|
1052 |
-
fontSmoothing: 'antialiased',
|
1053 |
-
fontSize: '16px',
|
1054 |
-
minHeight: '40px',
|
1055 |
-
'::placeholder': {
|
1056 |
-
color: '#aab7c4'
|
1057 |
-
},
|
1058 |
-
},
|
1059 |
-
invalid: {
|
1060 |
-
color: '#fa755a',
|
1061 |
-
iconColor: '#fa755a'
|
1062 |
-
}
|
1063 |
-
};
|
1064 |
-
|
1065 |
-
var card = elements.create('card');
|
1066 |
-
card.mount('#mec_card_element_stripe_<?php echo $transaction_id; ?>');
|
1067 |
-
|
1068 |
-
// Validation
|
1069 |
-
card.addEventListener('change', function(event)
|
1070 |
-
{
|
1071 |
-
// Show the Error
|
1072 |
-
if(event.error) jQuery('#mec_do_transaction_stripe_message<?php echo $transaction_id; ?>').text(event.error.message).addClass('mec-error').show();
|
1073 |
-
// Hide the Message
|
1074 |
-
else jQuery("#mec_do_transaction_stripe_message<?php echo $transaction_id; ?>").removeClass("mec-success mec-error").hide();
|
1075 |
-
});
|
1076 |
-
|
1077 |
-
jQuery('#mec_do_transaction_stripe_form<?php echo $transaction_id; ?>').on('submit', function(e)
|
1078 |
-
{
|
1079 |
-
// Prevent the form from submitting
|
1080 |
-
e.preventDefault();
|
1081 |
-
|
1082 |
-
var form = jQuery(this);
|
1083 |
-
var transaction_id = '<?php echo $transaction_id; ?>';
|
1084 |
-
|
1085 |
-
// No pressing the buy now button more than once
|
1086 |
-
form.find('button').prop('disabled', true);
|
1087 |
-
|
1088 |
-
// Hide the Message
|
1089 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).removeClass("mec-success mec-error").hide();
|
1090 |
-
|
1091 |
-
// Add loading Class to the button
|
1092 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id + " button[type=submit]").addClass("loading");
|
1093 |
-
|
1094 |
-
var payer_name = jQuery("#mec_name_stripe_" + transaction_id).val();
|
1095 |
-
var payer_email = jQuery("#mec_email_stripe_" + transaction_id).val();
|
1096 |
-
var payer_details = {
|
1097 |
-
billing_details: {}
|
1098 |
-
};
|
1099 |
-
|
1100 |
-
if(payer_name !== '') payer_details.billing_details.name = payer_name;
|
1101 |
-
if(payer_email !== '') payer_details.billing_details.email = payer_email;
|
1102 |
-
|
1103 |
-
stripe.createPaymentMethod('card', card, payer_details).then(function(result)
|
1104 |
-
{
|
1105 |
-
if(result.error)
|
1106 |
-
{
|
1107 |
-
// Remove the loading Class from the button
|
1108 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
1109 |
-
|
1110 |
-
// Show the user what they did wrong
|
1111 |
-
jQuery('#mec_do_transaction_stripe_message' + transaction_id).text(result.error.message).addClass('mec-error').show();
|
1112 |
-
|
1113 |
-
// Make the submit clickable again
|
1114 |
-
form.find('button').prop('disabled', false);
|
1115 |
-
}
|
1116 |
-
else
|
1117 |
-
{
|
1118 |
-
// Hide the Message
|
1119 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).removeClass("mec-success mec-error").hide();
|
1120 |
-
|
1121 |
-
// Set Payment Method ID
|
1122 |
-
jQuery("#mec_do_transaction_stripe_payment_method_id" + transaction_id).val(result.paymentMethod.id);
|
1123 |
-
|
1124 |
-
var data = form.serialize();
|
1125 |
-
jQuery.ajax(
|
1126 |
-
{
|
1127 |
-
type: "GET",
|
1128 |
-
url: "<?php echo admin_url('admin-ajax.php', NULL); ?>",
|
1129 |
-
data: data,
|
1130 |
-
dataType: "JSON",
|
1131 |
-
success: function(data)
|
1132 |
-
{
|
1133 |
-
if(data.success === 1)
|
1134 |
-
{
|
1135 |
-
// Remove the loading Class from the button
|
1136 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
1137 |
-
|
1138 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id).hide();
|
1139 |
-
jQuery(".mec-book-form-gateway-label").remove();
|
1140 |
-
jQuery(".mec-book-form-coupon").hide();
|
1141 |
-
jQuery(".mec-gateway-comment").hide();
|
1142 |
-
|
1143 |
-
jQuery("#mec-book-form-back-btn-step-3").remove();
|
1144 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).addClass("mec-success").html(data.message).show();
|
1145 |
-
|
1146 |
-
// Show Invoice Link
|
1147 |
-
if(typeof data.data.invoice_link !== "undefined" && data.data.invoice_link != "")
|
1148 |
-
{
|
1149 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).append(' <a class="mec-invoice-download" href="' + data.data.invoice_link + '"><?php echo esc_js(__('Download Invoice', 'modern-events-calendar-lite')); ?></a>');
|
1150 |
-
}
|
1151 |
-
|
1152 |
-
// Show Downloadable Link
|
1153 |
-
if(typeof data.data.dl_file_link !== "undefined" && data.data.dl_file_link != "")
|
1154 |
-
{
|
1155 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).append(' — <a class="mec-dl-file-download" href="' + data.data.dl_file_link + '"><?php echo esc_js(__('Download File', 'modern-events-calendar-lite')); ?></a>');
|
1156 |
-
}
|
1157 |
-
|
1158 |
-
// Show Extra info
|
1159 |
-
if(typeof data.data.extra_info !== "undefined" && data.data.extra_info != "" && data.data.extra_info != null)
|
1160 |
-
{
|
1161 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).append('<div>' + data.data.extra_info+'</div>');
|
1162 |
-
}
|
1163 |
-
|
1164 |
-
// Redirect to thank you page
|
1165 |
-
if(typeof data.data.redirect_to !== "undefined" && data.data.redirect_to !== "")
|
1166 |
-
{
|
1167 |
-
setTimeout(function()
|
1168 |
-
{
|
1169 |
-
window.location.href = data.data.redirect_to;
|
1170 |
-
}, <?php echo $this->main->get_thankyou_page_time($transaction_id); ?>);
|
1171 |
-
}
|
1172 |
-
}
|
1173 |
-
else if(data.requires_action)
|
1174 |
-
{
|
1175 |
-
stripe.handleCardAction(data.payment_intent_client_secret).then(function(result)
|
1176 |
-
{
|
1177 |
-
if(result.error)
|
1178 |
-
{
|
1179 |
-
// Show the user what they did wrong
|
1180 |
-
jQuery('#mec_do_transaction_stripe_message' + transaction_id).text(result.error.message).addClass('mec-error').show();
|
1181 |
-
|
1182 |
-
// Remove the loading Class from the button
|
1183 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
1184 |
-
|
1185 |
-
// Make the submit clickable again
|
1186 |
-
form.find('button').prop('disabled', false);
|
1187 |
-
}
|
1188 |
-
else
|
1189 |
-
{
|
1190 |
-
// Set Payment Intent ID
|
1191 |
-
jQuery("#mec_do_transaction_stripe_payment_intent_id" + transaction_id).val(result.paymentIntent.id);
|
1192 |
-
|
1193 |
-
var data = form.serialize();
|
1194 |
-
jQuery.ajax(
|
1195 |
-
{
|
1196 |
-
type: "GET",
|
1197 |
-
url: "<?php echo admin_url('admin-ajax.php', NULL); ?>",
|
1198 |
-
data: data,
|
1199 |
-
dataType: "JSON",
|
1200 |
-
success: function(data)
|
1201 |
-
{
|
1202 |
-
if(data.success === 1)
|
1203 |
-
{
|
1204 |
-
// Remove the loading Class from the button
|
1205 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
1206 |
-
|
1207 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id).hide();
|
1208 |
-
jQuery(".mec-book-form-gateway-label").remove();
|
1209 |
-
jQuery(".mec-book-form-coupon").hide();
|
1210 |
-
jQuery(".mec-gateway-comment").hide();
|
1211 |
-
|
1212 |
-
jQuery("#mec-book-form-back-btn-step-3").remove();
|
1213 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).addClass("mec-success").html(data.message).show();
|
1214 |
-
|
1215 |
-
// Show Invoice Link
|
1216 |
-
if(typeof data.data.invoice_link !== "undefined" && data.data.invoice_link != "")
|
1217 |
-
{
|
1218 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).append(' <a class="mec-invoice-download" href="' + data.data.invoice_link + '"><?php echo esc_js(__('Download Invoice', 'modern-events-calendar-lite')); ?></a>');
|
1219 |
-
}
|
1220 |
-
|
1221 |
-
// Show Downloadable Link
|
1222 |
-
if(typeof data.data.dl_file_link !== "undefined" && data.data.dl_file_link != "")
|
1223 |
-
{
|
1224 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).append(' — <a class="mec-dl-file-download" href="' + data.data.dl_file_link + '"><?php echo esc_js(__('Download File', 'modern-events-calendar-lite')); ?></a>');
|
1225 |
-
}
|
1226 |
-
|
1227 |
-
// Show Extra info
|
1228 |
-
if(typeof data.data.extra_info !== "undefined" && data.data.extra_info != "" && data.data.extra_info != null)
|
1229 |
-
{
|
1230 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).append('<div>' + data.data.extra_info+'</div>');
|
1231 |
-
}
|
1232 |
-
|
1233 |
-
// Redirect to thank you page
|
1234 |
-
if(typeof data.data.redirect_to !== "undefined" && data.data.redirect_to !== "")
|
1235 |
-
{
|
1236 |
-
setTimeout(function()
|
1237 |
-
{
|
1238 |
-
window.location.href = data.data.redirect_to;
|
1239 |
-
}, <?php echo $this->main->get_thankyou_page_time($transaction_id); ?>);
|
1240 |
-
}
|
1241 |
-
}
|
1242 |
-
else
|
1243 |
-
{
|
1244 |
-
// Remove the loading Class from the button
|
1245 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
1246 |
-
|
1247 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).addClass("mec-error").html(data.message).show();
|
1248 |
-
}
|
1249 |
-
},
|
1250 |
-
error: function(jqXHR, textStatus, errorThrown)
|
1251 |
-
{
|
1252 |
-
// Remove the loading Class from the button
|
1253 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
1254 |
-
}
|
1255 |
-
});
|
1256 |
-
}
|
1257 |
-
});
|
1258 |
-
}
|
1259 |
-
else
|
1260 |
-
{
|
1261 |
-
// Remove the loading Class from the button
|
1262 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
1263 |
-
|
1264 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).addClass("mec-error").html(data.message).show();
|
1265 |
-
}
|
1266 |
-
},
|
1267 |
-
error: function(jqXHR, textStatus, errorThrown)
|
1268 |
-
{
|
1269 |
-
// Remove the loading Class from the button
|
1270 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
1271 |
-
}
|
1272 |
-
});
|
1273 |
-
}
|
1274 |
-
});
|
1275 |
-
});
|
1276 |
-
</script>
|
1277 |
-
<div class="mec-gateway-message mec-util-hidden"
|
1278 |
-
id="mec_do_transaction_stripe_message<?php echo $transaction_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
1279 |
-
<form id="mec_do_transaction_stripe_form<?php echo $transaction_id; ?>">
|
1280 |
-
<div class="mec-form-row mec-name-stripe">
|
1281 |
-
<label for="mec_name_stripe_<?php echo $transaction_id; ?>">
|
1282 |
-
<?php _e('Name', 'modern-events-calendar-lite'); ?>
|
1283 |
-
</label>
|
1284 |
-
<input id="mec_name_stripe_<?php echo $transaction_id; ?>" type="text" value="<?php echo esc_attr($main_attendee_name); ?>">
|
1285 |
-
</div>
|
1286 |
-
<div class="mec-form-row mec-email-stripe">
|
1287 |
-
<label for="mec_email_stripe_<?php echo $transaction_id; ?>">
|
1288 |
-
<?php _e('Email', 'modern-events-calendar-lite'); ?>
|
1289 |
-
</label>
|
1290 |
-
<input id="mec_email_stripe_<?php echo $transaction_id; ?>" type="email" value="<?php echo esc_attr($main_attendee_email); ?>">
|
1291 |
-
</div>
|
1292 |
-
<div class="mec-form-row mec-card-element-stripe">
|
1293 |
-
<label for="mec_card_element_stripe_<?php echo $transaction_id; ?>">
|
1294 |
-
<?php _e('Credit or debit card', 'modern-events-calendar-lite'); ?>
|
1295 |
-
</label>
|
1296 |
-
<div id="mec_card_element_stripe_<?php echo $transaction_id; ?>">
|
1297 |
-
</div>
|
1298 |
-
</div>
|
1299 |
-
<div class="mec-form-row mec-click-pay">
|
1300 |
-
<input type="hidden" name="action" value="mec_do_transaction_stripe"/>
|
1301 |
-
<input type="hidden" name="transaction_id" value="<?php echo $transaction_id; ?>"/>
|
1302 |
-
<input type="hidden" name="gateway_id" value="<?php echo $this->id(); ?>"/>
|
1303 |
-
<input type="hidden" name="payment_method_id" value="" id="mec_do_transaction_stripe_payment_method_id<?php echo $transaction_id; ?>"/>
|
1304 |
-
<input type="hidden" name="payment_intent_id" value="" id="mec_do_transaction_stripe_payment_intent_id<?php echo $transaction_id; ?>"/>
|
1305 |
-
<?php wp_nonce_field('mec_transaction_form_' . $transaction_id); ?>
|
1306 |
-
<button type="submit" class="mec-book-form-next-button"><?php _e('Pay', 'modern-events-calendar-lite'); ?></button>
|
1307 |
-
</div>
|
1308 |
-
</form>
|
1309 |
-
<?php
|
1310 |
-
}
|
1311 |
-
|
1312 |
-
public function checkout_form_ideal($transaction_id, $options, $params = array())
|
1313 |
-
{
|
1314 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
1315 |
-
|
1316 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : 0;
|
1317 |
-
$main_attendee_name = ((isset($transaction['tickets']) and isset($transaction['tickets'][0]) and isset($transaction['tickets'][0]['name'])) ? $transaction['tickets'][0]['name'] : '');
|
1318 |
-
?>
|
1319 |
-
<script type="text/javascript">
|
1320 |
-
var stripe = Stripe("<?php echo(isset($options['publishable_key']) ? $options['publishable_key'] : ''); ?>");
|
1321 |
-
var elements = stripe.elements();
|
1322 |
-
|
1323 |
-
var idealBank = elements.create('idealBank');
|
1324 |
-
idealBank.mount('#mec_card_element_stripe_<?php echo $transaction_id; ?>');
|
1325 |
-
|
1326 |
-
jQuery('#mec_do_transaction_stripe_form<?php echo $transaction_id; ?>').on('submit', function(e)
|
1327 |
-
{
|
1328 |
-
// Prevent the form from submitting
|
1329 |
-
e.preventDefault();
|
1330 |
-
|
1331 |
-
var form = jQuery(this);
|
1332 |
-
var transaction_id = '<?php echo $transaction_id; ?>';
|
1333 |
-
|
1334 |
-
// No pressing the buy now button more than once
|
1335 |
-
form.find('button').prop('disabled', true);
|
1336 |
-
|
1337 |
-
// Hide the Message
|
1338 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).removeClass("mec-success mec-error").hide();
|
1339 |
-
|
1340 |
-
// Add loading Class to the button
|
1341 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id + " button[type=submit]").addClass("loading");
|
1342 |
-
|
1343 |
-
var payer_name = jQuery("#mec_name_stripe_" + transaction_id).val();
|
1344 |
-
var payable = jQuery("#mec_ideal_stripe_amount").val();
|
1345 |
-
var source = {
|
1346 |
-
type: 'ideal',
|
1347 |
-
amount: payable,
|
1348 |
-
currency: '<?php echo $this->main->get_currency_code($event_id); ?>',
|
1349 |
-
owner:
|
1350 |
-
{
|
1351 |
-
name: payer_name,
|
1352 |
-
},
|
1353 |
-
redirect:
|
1354 |
-
{
|
1355 |
-
return_url: '<?php echo $this->main->add_qs_var('mec_ideal_transaction_id', $transaction_id, $this->get_return_url($event_id, false)); ?>',
|
1356 |
-
}
|
1357 |
-
};
|
1358 |
-
|
1359 |
-
stripe.createSource(idealBank, source).then(function(result)
|
1360 |
-
{
|
1361 |
-
if(result.error) jQuery("#mec_do_transaction_stripe_message" + transaction_id).addClass("mec-error").html(result.error.message).show();
|
1362 |
-
else document.location.href = result.source.redirect.url;
|
1363 |
-
});
|
1364 |
-
});
|
1365 |
-
</script>
|
1366 |
-
<div class="mec-gateway-message mec-util-hidden"
|
1367 |
-
id="mec_do_transaction_stripe_message<?php echo $transaction_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
1368 |
-
<form id="mec_do_transaction_stripe_form<?php echo $transaction_id; ?>">
|
1369 |
-
<div class="info-msg"><?php esc_html_e("You should complete the payment by returning back to the website.", 'modern-events-calendar-lite'); ?></div>
|
1370 |
-
<div class="mec-form-row mec-name-stripe">
|
1371 |
-
<label for="mec_name_stripe_<?php echo $transaction_id; ?>">
|
1372 |
-
<?php _e('Name', 'modern-events-calendar-lite'); ?>
|
1373 |
-
</label>
|
1374 |
-
<input id="mec_name_stripe_<?php echo $transaction_id; ?>" type="text" value="<?php echo esc_attr($main_attendee_name); ?>" required>
|
1375 |
-
</div>
|
1376 |
-
<div class="mec-form-row mec-ideal-element-stripe">
|
1377 |
-
<label for="mec_card_element_stripe_<?php echo $transaction_id; ?>">
|
1378 |
-
<?php _e('iDEAL Bank', 'modern-events-calendar-lite'); ?>
|
1379 |
-
</label>
|
1380 |
-
<div id="mec_card_element_stripe_<?php echo $transaction_id; ?>">
|
1381 |
-
</div>
|
1382 |
-
</div>
|
1383 |
-
<div class="mec-form-row mec-click-pay">
|
1384 |
-
<input type="hidden" id="mec_ideal_stripe_amount" value="<?php echo (isset($transaction['price']) ? ((int) $this->stripe_multiply($transaction['price'], $this->main->get_currency_code($event_id))) : 0); ?>">
|
1385 |
-
<button type="submit" class="mec-book-form-next-button"><?php _e('Pay', 'modern-events-calendar-lite'); ?></button>
|
1386 |
-
</div>
|
1387 |
-
</form>
|
1388 |
-
<?php
|
1389 |
-
}
|
1390 |
-
|
1391 |
-
public function options_form()
|
1392 |
-
{
|
1393 |
-
?>
|
1394 |
-
<div class="mec-form-row">
|
1395 |
-
<label>
|
1396 |
-
<input type="hidden" name="mec[gateways][<?php echo $this->id(); ?>][status]" value="0"/>
|
1397 |
-
<input onchange="jQuery('#mec_gateways<?php echo $this->id(); ?>_container_toggle').toggle();" value="1"
|
1398 |
-
type="checkbox" name="mec[gateways][<?php echo $this->id(); ?>][status]"
|
1399 |
-
<?php
|
1400 |
-
if (isset($this->options['status']) and $this->options['status']) {
|
1401 |
-
echo 'checked="checked"';
|
1402 |
-
}
|
1403 |
-
?>
|
1404 |
-
/> <?php _e('Stripe', 'modern-events-calendar-lite'); ?>
|
1405 |
-
</label>
|
1406 |
-
</div>
|
1407 |
-
<div id="mec_gateways<?php echo $this->id(); ?>_container_toggle" class="mec-gateway-options-form <?php
|
1408 |
-
if ((isset($this->options['status']) and !$this->options['status']) or !isset($this->options['status'])) {
|
1409 |
-
echo 'mec-util-hidden';
|
1410 |
-
}
|
1411 |
-
?>">
|
1412 |
-
<div class="mec-form-row">
|
1413 |
-
<label class="mec-col-3"
|
1414 |
-
for="mec_gateways<?php echo $this->id(); ?>_title"><?php _e('Title', 'modern-events-calendar-lite'); ?></label>
|
1415 |
-
<div class="mec-col-9">
|
1416 |
-
<input type="text" id="mec_gateways<?php echo $this->id(); ?>_title"
|
1417 |
-
name="mec[gateways][<?php echo $this->id(); ?>][title]"
|
1418 |
-
value="<?php echo (isset($this->options['title']) and trim($this->options['title'])) ? $this->options['title'] : ''; ?>"
|
1419 |
-
placeholder="<?php echo $this->label(); ?>"/>
|
1420 |
-
</div>
|
1421 |
-
</div>
|
1422 |
-
<div class="mec-form-row">
|
1423 |
-
<label class="mec-col-3"
|
1424 |
-
for="mec_gateways<?php echo $this->id(); ?>_comment"><?php _e('Comment', 'modern-events-calendar-lite'); ?></label>
|
1425 |
-
<div class="mec-col-9">
|
1426 |
-
<textarea id="mec_gateways<?php echo $this->id(); ?>_comment"
|
1427 |
-
name="mec[gateways][<?php echo $this->id(); ?>][comment]"><?php echo (isset($this->options['comment']) and trim($this->options['comment'])) ? stripslashes($this->options['comment']) : esc_html__('Stripe Gateway Description', 'modern-events-calendar-lite'); ?></textarea>
|
1428 |
-
<span class="mec-tooltip">
|
1429 |
-
<div class="box left">
|
1430 |
-
<h5 class="title"><?php _e('Comment', 'modern-events-calendar-lite'); ?></h5>
|
1431 |
-
<div class="content"><p><?php esc_attr_e('HTML allowed.', 'modern-events-calendar-lite'); ?><a
|
1432 |
-
href="https://webnus.net/dox/modern-events-calendar/booking/"
|
1433 |
-
target="_blank"><?php _e('Read More', 'modern-events-calendar-lite'); ?></a></p></div>
|
1434 |
-
</div>
|
1435 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
1436 |
-
</span>
|
1437 |
-
</div>
|
1438 |
-
</div>
|
1439 |
-
<div class="mec-form-row">
|
1440 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_payment_method"><?php _e('Payment Method', 'modern-events-calendar-lite'); ?></label>
|
1441 |
-
<div class="mec-col-9">
|
1442 |
-
<select name="mec[gateways][<?php echo $this->id(); ?>][payment_method]" id="mec_gateways<?php echo $this->id(); ?>_comment">
|
1443 |
-
<option value="cc" <?php echo (isset($this->options['payment_method']) and $this->options['payment_method'] == 'cc') ? 'selected="selected"' : ''; ?>><?php esc_html_e('Credit Card', 'modern-events-calendar-lite'); ?></option>
|
1444 |
-
<option value="ideal" <?php echo (isset($this->options['payment_method']) and $this->options['payment_method'] == 'ideal') ? 'selected="selected"' : ''; ?>><?php esc_html_e('iDEAL', 'modern-events-calendar-lite'); ?></option>
|
1445 |
-
</select>
|
1446 |
-
</div>
|
1447 |
-
</div>
|
1448 |
-
<div class="mec-form-row">
|
1449 |
-
<label class="mec-col-3"
|
1450 |
-
for="mec_gateways<?php echo $this->id(); ?>_secret_key"><?php _e('Secret Key', 'modern-events-calendar-lite'); ?></label>
|
1451 |
-
<div class="mec-col-9">
|
1452 |
-
<input class="mec-required" type="text" id="mec_gateways<?php echo $this->id(); ?>_secret_key"
|
1453 |
-
name="mec[gateways][<?php echo $this->id(); ?>][secret_key]"
|
1454 |
-
value="<?php echo isset($this->options['secret_key']) ? $this->options['secret_key'] : ''; ?>"/>
|
1455 |
-
</div>
|
1456 |
-
</div>
|
1457 |
-
<div class="mec-form-row">
|
1458 |
-
<label class="mec-col-3"
|
1459 |
-
for="mec_gateways<?php echo $this->id(); ?>_publishable_key"><?php _e('Publishable Key', 'modern-events-calendar-lite'); ?></label>
|
1460 |
-
<div class="mec-col-9">
|
1461 |
-
<input class="mec-required" type="text" id="mec_gateways<?php echo $this->id(); ?>_publishable_key"
|
1462 |
-
name="mec[gateways][<?php echo $this->id(); ?>][publishable_key]"
|
1463 |
-
value="<?php echo isset($this->options['publishable_key']) ? $this->options['publishable_key'] : ''; ?>"/>
|
1464 |
-
</div>
|
1465 |
-
</div>
|
1466 |
-
<div class="mec-form-row">
|
1467 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_index"><?php _e('Position', 'modern-events-calendar-lite'); ?></label>
|
1468 |
-
<div class="mec-col-9">
|
1469 |
-
<input type="number" min="0" step="1" id="mec_gateways<?php echo $this->id(); ?>_index"
|
1470 |
-
name="mec[gateways][<?php echo $this->id(); ?>][index]"
|
1471 |
-
value="<?php echo (isset($this->options['index']) and trim($this->options['index'])) ? $this->options['index'] : 4; ?>"
|
1472 |
-
placeholder="<?php echo esc_attr__('Position', 'modern-events-calendar-lite'); ?>"/>
|
1473 |
-
</div>
|
1474 |
-
</div>
|
1475 |
-
</div>
|
1476 |
-
<?php
|
1477 |
-
}
|
1478 |
-
|
1479 |
-
public function op_enabled()
|
1480 |
-
{
|
1481 |
-
return true;
|
1482 |
-
}
|
1483 |
-
|
1484 |
-
public function op_form($options = array())
|
1485 |
-
{
|
1486 |
-
?>
|
1487 |
-
<h4><?php echo $this->label(); ?></h4>
|
1488 |
-
<div class="mec-gateway-options-form">
|
1489 |
-
<div class="mec-form-row">
|
1490 |
-
<label class="mec-col-3" for="mec_op<?php echo $this->id(); ?>_secret_key"><?php _e('Secret Key', 'modern-events-calendar-lite'); ?></label>
|
1491 |
-
<div class="mec-col-9">
|
1492 |
-
<input type="text" id="mec_op<?php echo $this->id(); ?>_secret_key" name="mec[op][<?php echo $this->id(); ?>][secret_key]" value="<?php echo isset($options['secret_key']) ? $options['secret_key'] : ''; ?>" />
|
1493 |
-
</div>
|
1494 |
-
</div>
|
1495 |
-
<div class="mec-form-row">
|
1496 |
-
<label class="mec-col-3" for="mec_op<?php echo $this->id(); ?>_publishable_key"><?php _e('Publishable Key', 'modern-events-calendar-lite'); ?></label>
|
1497 |
-
<div class="mec-col-9">
|
1498 |
-
<input type="text" id="mec_op<?php echo $this->id(); ?>_publishable_key" name="mec[op][<?php echo $this->id(); ?>][publishable_key]" value="<?php echo isset($options['publishable_key']) ? $options['publishable_key'] : ''; ?>"/>
|
1499 |
-
</div>
|
1500 |
-
</div>
|
1501 |
-
</div>
|
1502 |
-
<?php
|
1503 |
-
}
|
1504 |
-
|
1505 |
-
public function cart_checkout_form($cart_id, $params = array())
|
1506 |
-
{
|
1507 |
-
// Get Options
|
1508 |
-
$options = $this->options();
|
1509 |
-
|
1510 |
-
// Payment Method
|
1511 |
-
$payment_method = (isset($options['payment_method']) and trim($options['payment_method'])) ? $options['payment_method'] : 'cc';
|
1512 |
-
|
1513 |
-
if($payment_method == 'cc') $this->cart_checkout_form_cc($cart_id, $options, $params);
|
1514 |
-
elseif($payment_method == 'ideal') $this->cart_checkout_form_ideal($cart_id, $options, $params);
|
1515 |
-
}
|
1516 |
-
|
1517 |
-
public function cart_checkout_form_cc($cart_id, $options, $params = array())
|
1518 |
-
{
|
1519 |
-
?>
|
1520 |
-
<div class="mec-gateway-message mec-util-hidden"
|
1521 |
-
id="mec_do_transaction_stripe_message<?php echo $cart_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
1522 |
-
<form id="mec_do_transaction_stripe_form<?php echo $cart_id; ?>">
|
1523 |
-
<div class="mec-form-row mec-name-stripe">
|
1524 |
-
<label for="mec_name_stripe_<?php echo $cart_id; ?>">
|
1525 |
-
<?php _e('Name', 'modern-events-calendar-lite'); ?>
|
1526 |
-
</label>
|
1527 |
-
<input id="mec_name_stripe_<?php echo $cart_id; ?>" type="text" value="">
|
1528 |
-
</div>
|
1529 |
-
<div class="mec-form-row mec-email-stripe">
|
1530 |
-
<label for="mec_email_stripe_<?php echo $cart_id; ?>">
|
1531 |
-
<?php _e('Email', 'modern-events-calendar-lite'); ?>
|
1532 |
-
</label>
|
1533 |
-
<input id="mec_email_stripe_<?php echo $cart_id; ?>" type="email" value="">
|
1534 |
-
</div>
|
1535 |
-
<div class="mec-form-row mec-card-element-stripe">
|
1536 |
-
<label for="mec_card_element_stripe_<?php echo $cart_id; ?>">
|
1537 |
-
<?php _e('Credit or debit card', 'modern-events-calendar-lite'); ?>
|
1538 |
-
</label>
|
1539 |
-
<div id="mec_card_element_stripe_<?php echo $cart_id; ?>">
|
1540 |
-
</div>
|
1541 |
-
</div>
|
1542 |
-
<div class="mec-form-row mec-click-pay">
|
1543 |
-
<input type="hidden" name="action" value="mec_cart_do_transaction_stripe"/>
|
1544 |
-
<input type="hidden" name="cart_id" value="<?php echo $cart_id; ?>"/>
|
1545 |
-
<input type="hidden" name="gateway_id" value="<?php echo $this->id(); ?>"/>
|
1546 |
-
<input type="hidden" name="payment_method_id" value="" id="mec_do_transaction_stripe_payment_method_id<?php echo $cart_id; ?>"/>
|
1547 |
-
<input type="hidden" name="payment_intent_id" value="" id="mec_do_transaction_stripe_payment_intent_id<?php echo $cart_id; ?>"/>
|
1548 |
-
<?php wp_nonce_field('mec_transaction_form_' . $cart_id); ?>
|
1549 |
-
<button type="submit" class="mec-book-form-next-button"><?php _e('Pay', 'modern-events-calendar-lite'); ?></button>
|
1550 |
-
</div>
|
1551 |
-
</form>
|
1552 |
-
<script type="text/javascript">
|
1553 |
-
var stripe = Stripe("<?php echo(isset($options['publishable_key']) ? $options['publishable_key'] : ''); ?>");
|
1554 |
-
var elements = stripe.elements();
|
1555 |
-
var style = {
|
1556 |
-
base: {
|
1557 |
-
color: '#32325d',
|
1558 |
-
fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
|
1559 |
-
fontSmoothing: 'antialiased',
|
1560 |
-
fontSize: '16px',
|
1561 |
-
minHeight: '40px',
|
1562 |
-
'::placeholder': {
|
1563 |
-
color: '#aab7c4'
|
1564 |
-
},
|
1565 |
-
},
|
1566 |
-
invalid: {
|
1567 |
-
color: '#fa755a',
|
1568 |
-
iconColor: '#fa755a'
|
1569 |
-
}
|
1570 |
-
};
|
1571 |
-
|
1572 |
-
var card = elements.create('card');
|
1573 |
-
card.mount('#mec_card_element_stripe_<?php echo $cart_id; ?>');
|
1574 |
-
|
1575 |
-
// Validation
|
1576 |
-
card.addEventListener('change', function(event)
|
1577 |
-
{
|
1578 |
-
// Show the Error
|
1579 |
-
if(event.error) jQuery('#mec_do_transaction_stripe_message<?php echo $cart_id; ?>').text(event.error.message).addClass('mec-error').show();
|
1580 |
-
// Hide the Message
|
1581 |
-
else jQuery("#mec_do_transaction_stripe_message<?php echo $cart_id; ?>").removeClass("mec-success mec-error").hide();
|
1582 |
-
});
|
1583 |
-
|
1584 |
-
jQuery('#mec_do_transaction_stripe_form<?php echo $cart_id; ?>').on('submit', function(e)
|
1585 |
-
{
|
1586 |
-
// Prevent the form from submitting
|
1587 |
-
e.preventDefault();
|
1588 |
-
|
1589 |
-
var form = jQuery(this);
|
1590 |
-
var cart_id = '<?php echo $cart_id; ?>';
|
1591 |
-
|
1592 |
-
// No pressing the buy now button more than once
|
1593 |
-
form.find('button').prop('disabled', true);
|
1594 |
-
|
1595 |
-
// Hide the Message
|
1596 |
-
jQuery("#mec_do_transaction_stripe_message" + cart_id).removeClass("mec-success mec-error").hide();
|
1597 |
-
|
1598 |
-
// Add loading Class to the button
|
1599 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id + " button[type=submit]").addClass("loading");
|
1600 |
-
|
1601 |
-
var payer_name = jQuery("#mec_name_stripe_" + cart_id).val();
|
1602 |
-
var payer_email = jQuery("#mec_email_stripe_" + cart_id).val();
|
1603 |
-
var payer_details = {
|
1604 |
-
billing_details: {}
|
1605 |
-
};
|
1606 |
-
|
1607 |
-
if(payer_name !== '') payer_details.billing_details.name = payer_name;
|
1608 |
-
if(payer_email !== '') payer_details.billing_details.email = payer_email;
|
1609 |
-
|
1610 |
-
stripe.createPaymentMethod('card', card, payer_details).then(function(result)
|
1611 |
-
{
|
1612 |
-
if(result.error)
|
1613 |
-
{
|
1614 |
-
// Remove the loading Class from the button
|
1615 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id + " button[type=submit]").removeClass("loading");
|
1616 |
-
|
1617 |
-
// Show the user what they did wrong
|
1618 |
-
jQuery('#mec_do_transaction_stripe_message' + cart_id).text(result.error.message).addClass('mec-error').show();
|
1619 |
-
|
1620 |
-
// Make the submit clickable again
|
1621 |
-
form.find('button').prop('disabled', false);
|
1622 |
-
}
|
1623 |
-
else
|
1624 |
-
{
|
1625 |
-
// Hide the Message
|
1626 |
-
jQuery("#mec_do_transaction_stripe_message" + cart_id).removeClass("mec-success mec-error").hide();
|
1627 |
-
|
1628 |
-
// Set Payment Method ID
|
1629 |
-
jQuery("#mec_do_transaction_stripe_payment_method_id" + cart_id).val(result.paymentMethod.id);
|
1630 |
-
|
1631 |
-
var data = form.serialize();
|
1632 |
-
jQuery.ajax(
|
1633 |
-
{
|
1634 |
-
type: "GET",
|
1635 |
-
url: "<?php echo admin_url('admin-ajax.php', NULL); ?>",
|
1636 |
-
data: data,
|
1637 |
-
dataType: "JSON",
|
1638 |
-
success: function(data)
|
1639 |
-
{
|
1640 |
-
if(data.success === 1)
|
1641 |
-
{
|
1642 |
-
// Remove the loading Class from the button
|
1643 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id + " button[type=submit]").removeClass("loading");
|
1644 |
-
|
1645 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id).hide();
|
1646 |
-
jQuery(".mec-checkout-form-gateway-label").remove();
|
1647 |
-
jQuery(".mec-gateway-comment").hide();
|
1648 |
-
|
1649 |
-
jQuery("#mec_do_transaction_stripe_message" + cart_id).addClass("mec-success").html(data.message).show();
|
1650 |
-
}
|
1651 |
-
else if(data.requires_action)
|
1652 |
-
{
|
1653 |
-
stripe.handleCardAction(data.payment_intent_client_secret).then(function(result)
|
1654 |
-
{
|
1655 |
-
if(result.error)
|
1656 |
-
{
|
1657 |
-
// Show the user what they did wrong
|
1658 |
-
jQuery('#mec_do_transaction_stripe_message' + cart_id).text(result.error.message).addClass('mec-error').show();
|
1659 |
-
|
1660 |
-
// Remove the loading Class from the button
|
1661 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id + " button[type=submit]").removeClass("loading");
|
1662 |
-
|
1663 |
-
// Make the submit clickable again
|
1664 |
-
form.find('button').prop('disabled', false);
|
1665 |
-
}
|
1666 |
-
else
|
1667 |
-
{
|
1668 |
-
// Set Payment Intent ID
|
1669 |
-
jQuery("#mec_do_transaction_stripe_payment_intent_id" + cart_id).val(result.paymentIntent.id);
|
1670 |
-
|
1671 |
-
var data = form.serialize();
|
1672 |
-
jQuery.ajax(
|
1673 |
-
{
|
1674 |
-
type: "GET",
|
1675 |
-
url: "<?php echo admin_url('admin-ajax.php', NULL); ?>",
|
1676 |
-
data: data,
|
1677 |
-
dataType: "JSON",
|
1678 |
-
success: function(data)
|
1679 |
-
{
|
1680 |
-
if(data.success === 1)
|
1681 |
-
{
|
1682 |
-
// Remove the loading Class from the button
|
1683 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id + " button[type=submit]").removeClass("loading");
|
1684 |
-
|
1685 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id).hide();
|
1686 |
-
jQuery(".mec-checkout-form-gateway-label").remove();
|
1687 |
-
jQuery(".mec-gateway-comment").hide();
|
1688 |
-
|
1689 |
-
jQuery("#mec_do_transaction_stripe_message" + cart_id).addClass("mec-success").html(data.message).show();
|
1690 |
-
}
|
1691 |
-
else
|
1692 |
-
{
|
1693 |
-
// Remove the loading Class from the button
|
1694 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id + " button[type=submit]").removeClass("loading");
|
1695 |
-
|
1696 |
-
jQuery("#mec_do_transaction_stripe_message" + cart_id).addClass("mec-error").html(data.message).show();
|
1697 |
-
}
|
1698 |
-
},
|
1699 |
-
error: function(jqXHR, textStatus, errorThrown)
|
1700 |
-
{
|
1701 |
-
// Remove the loading Class from the button
|
1702 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id + " button[type=submit]").removeClass("loading");
|
1703 |
-
}
|
1704 |
-
});
|
1705 |
-
}
|
1706 |
-
});
|
1707 |
-
}
|
1708 |
-
else
|
1709 |
-
{
|
1710 |
-
// Remove the loading Class from the button
|
1711 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id + " button[type=submit]").removeClass("loading");
|
1712 |
-
|
1713 |
-
jQuery("#mec_do_transaction_stripe_message" + cart_id).addClass("mec-error").html(data.message).show();
|
1714 |
-
}
|
1715 |
-
},
|
1716 |
-
error: function(jqXHR, textStatus, errorThrown)
|
1717 |
-
{
|
1718 |
-
// Remove the loading Class from the button
|
1719 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id + " button[type=submit]").removeClass("loading");
|
1720 |
-
}
|
1721 |
-
});
|
1722 |
-
}
|
1723 |
-
});
|
1724 |
-
});
|
1725 |
-
</script>
|
1726 |
-
<?php
|
1727 |
-
}
|
1728 |
-
|
1729 |
-
public function cart_checkout_form_ideal($cart_id, $options, $params = array())
|
1730 |
-
{
|
1731 |
-
$c = $this->getCart();
|
1732 |
-
$cart = $c->get_cart($cart_id);
|
1733 |
-
|
1734 |
-
$payable = $c->get_payable($cart);
|
1735 |
-
$event_id = $c->get_first_event_id($cart);
|
1736 |
-
?>
|
1737 |
-
<div class="mec-gateway-message mec-util-hidden"
|
1738 |
-
id="mec_do_transaction_stripe_message<?php echo $cart_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
1739 |
-
<form id="mec_do_transaction_stripe_form<?php echo $cart_id; ?>">
|
1740 |
-
<div class="info-msg"><?php esc_html_e("You should complete the payment by returning back to the website.", 'modern-events-calendar-lite'); ?></div>
|
1741 |
-
<div class="mec-form-row mec-name-stripe">
|
1742 |
-
<label for="mec_name_stripe_<?php echo $cart_id; ?>">
|
1743 |
-
<?php _e('Name', 'modern-events-calendar-lite'); ?> <span class="mec-required">*</span>
|
1744 |
-
</label>
|
1745 |
-
<input id="mec_name_stripe_<?php echo $cart_id; ?>" type="text" value="" required>
|
1746 |
-
</div>
|
1747 |
-
<div class="mec-form-row mec-ideal-element-stripe">
|
1748 |
-
<label for="mec_card_element_stripe_<?php echo $cart_id; ?>">
|
1749 |
-
<?php _e('iDEAL Bank', 'modern-events-calendar-lite'); ?>
|
1750 |
-
</label>
|
1751 |
-
<div id="mec_card_element_stripe_<?php echo $cart_id; ?>">
|
1752 |
-
</div>
|
1753 |
-
</div>
|
1754 |
-
<div class="mec-form-row mec-click-pay">
|
1755 |
-
<input type="hidden" id="mec_ideal_stripe_amount" value="<?php echo ((int) $this->stripe_multiply($payable, $this->main->get_currency_code())); ?>">
|
1756 |
-
<button type="submit" class="mec-book-form-next-button"><?php _e('Pay', 'modern-events-calendar-lite'); ?></button>
|
1757 |
-
</div>
|
1758 |
-
</form>
|
1759 |
-
<script type="text/javascript">
|
1760 |
-
var stripe = Stripe("<?php echo(isset($options['publishable_key']) ? $options['publishable_key'] : ''); ?>");
|
1761 |
-
var elements = stripe.elements();
|
1762 |
-
|
1763 |
-
var idealBank = elements.create('idealBank');
|
1764 |
-
idealBank.mount('#mec_card_element_stripe_<?php echo $cart_id; ?>');
|
1765 |
-
|
1766 |
-
jQuery('#mec_do_transaction_stripe_form<?php echo $cart_id; ?>').on('submit', function(e)
|
1767 |
-
{
|
1768 |
-
// Prevent the form from submitting
|
1769 |
-
e.preventDefault();
|
1770 |
-
|
1771 |
-
var form = jQuery(this);
|
1772 |
-
var cart_id = '<?php echo $cart_id; ?>';
|
1773 |
-
|
1774 |
-
// No pressing the buy now button more than once
|
1775 |
-
form.find('button').prop('disabled', true);
|
1776 |
-
|
1777 |
-
// Hide the Message
|
1778 |
-
jQuery("#mec_do_transaction_stripe_message" + cart_id).removeClass("mec-success mec-error").hide();
|
1779 |
-
|
1780 |
-
// Add loading Class to the button
|
1781 |
-
jQuery("#mec_do_transaction_stripe_form" + cart_id + " button[type=submit]").addClass("loading");
|
1782 |
-
|
1783 |
-
var payer_name = jQuery("#mec_name_stripe_" + cart_id).val();
|
1784 |
-
var payable = jQuery("#mec_ideal_stripe_amount").val();
|
1785 |
-
var source = {
|
1786 |
-
type: 'ideal',
|
1787 |
-
amount: payable,
|
1788 |
-
currency: '<?php echo $this->main->get_currency_code(); ?>',
|
1789 |
-
owner:
|
1790 |
-
{
|
1791 |
-
name: payer_name,
|
1792 |
-
},
|
1793 |
-
redirect:
|
1794 |
-
{
|
1795 |
-
return_url: '<?php echo $this->main->add_qs_var('mec_ideal_cart_id', $cart_id, $this->get_return_url($event_id, false)); ?>',
|
1796 |
-
}
|
1797 |
-
};
|
1798 |
-
|
1799 |
-
stripe.createSource(idealBank, source).then(function(result)
|
1800 |
-
{
|
1801 |
-
if(result.error) jQuery("#mec_do_transaction_stripe_message" + cart_id).addClass("mec-error").html(result.error.message).show();
|
1802 |
-
else document.location.href = result.source.redirect.url;
|
1803 |
-
});
|
1804 |
-
});
|
1805 |
-
</script>
|
1806 |
-
<?php
|
1807 |
-
}
|
1808 |
-
|
1809 |
-
public function cart_pay($payment_method_id, $payment_intent_id, $cart_id)
|
1810 |
-
{
|
1811 |
-
// Get Options Compatible with Organizer Payment
|
1812 |
-
$options = $this->options();
|
1813 |
-
|
1814 |
-
// Set Stripe Secret Key
|
1815 |
-
\Stripe\Stripe::setApiKey($options['secret_key']);
|
1816 |
-
|
1817 |
-
// Get Status of Payment Intent
|
1818 |
-
if($payment_intent_id)
|
1819 |
-
{
|
1820 |
-
$intent = \Stripe\PaymentIntent::retrieve($payment_intent_id);
|
1821 |
-
$intent->confirm();
|
1822 |
-
|
1823 |
-
if($intent->status == 'succeeded') return array('success' => 1, 'id' => $intent->id);
|
1824 |
-
else if($intent->status == 'requires_confirmation') return array('success' => 0, 'message' => __('Your payment needs to be confirmed!', 'modern-events-calendar-lite'));
|
1825 |
-
else return array('success' => 0, 'message' => __('Unknown Error!', 'modern-events-calendar-lite'));
|
1826 |
-
}
|
1827 |
-
|
1828 |
-
try
|
1829 |
-
{
|
1830 |
-
$c = $this->getCart();
|
1831 |
-
$cart = $c->get_cart($cart_id);
|
1832 |
-
|
1833 |
-
$payable = $c->get_payable($cart);
|
1834 |
-
$currency_code = $this->main->get_currency_code();
|
1835 |
-
|
1836 |
-
$intent = \Stripe\PaymentIntent::create(array(
|
1837 |
-
'payment_method' => $payment_method_id,
|
1838 |
-
'amount' => ((int) $this->stripe_multiply($payable, $currency_code)),
|
1839 |
-
'currency' => $currency_code,
|
1840 |
-
'description' => sprintf(__('Transaction IDs: %s', 'modern-events-calendar-lite'), implode(', ', $cart)),
|
1841 |
-
'confirmation_method' => 'manual',
|
1842 |
-
'confirm' => true,
|
1843 |
-
));
|
1844 |
-
}
|
1845 |
-
catch(Exception $e)
|
1846 |
-
{
|
1847 |
-
return array(
|
1848 |
-
'success' => 0,
|
1849 |
-
'message' => $e->getMessage(),
|
1850 |
-
);
|
1851 |
-
}
|
1852 |
-
|
1853 |
-
if($intent->status == 'requires_action' and $intent->next_action->type == 'use_stripe_sdk')
|
1854 |
-
{
|
1855 |
-
# Tell the client to handle the action
|
1856 |
-
return array(
|
1857 |
-
'success' => 2,
|
1858 |
-
'requires_action' => true,
|
1859 |
-
'payment_intent_client_secret' => $intent->client_secret
|
1860 |
-
);
|
1861 |
-
}
|
1862 |
-
elseif($intent->status == 'succeeded') return array('success' => 1, 'id' => $intent->id);
|
1863 |
-
else return array('success' => 0, 'message' => __('Unknown Error!', 'modern-events-calendar-lite'));
|
1864 |
-
}
|
1865 |
-
|
1866 |
-
public function cart_do_transaction()
|
1867 |
-
{
|
1868 |
-
$cart_id = isset($_GET['cart_id']) ? sanitize_text_field($_GET['cart_id']) : 0;
|
1869 |
-
|
1870 |
-
// Verify that the nonce is valid.
|
1871 |
-
if(!wp_verify_nonce(sanitize_text_field($_GET['_wpnonce']), 'mec_transaction_form_' . $cart_id))
|
1872 |
-
{
|
1873 |
-
$this->response(array(
|
1874 |
-
'success' => 0,
|
1875 |
-
'code' => 'NONCE_IS_INVALID',
|
1876 |
-
'message' => __('Request is invalid!', 'modern-events-calendar-lite'),
|
1877 |
-
));
|
1878 |
-
}
|
1879 |
-
|
1880 |
-
// Validate Ticket Availability
|
1881 |
-
$this->cart_validate($cart_id);
|
1882 |
-
|
1883 |
-
// Cart Library
|
1884 |
-
$c = $this->getCart();
|
1885 |
-
|
1886 |
-
$cart = $c->get_cart($cart_id);
|
1887 |
-
|
1888 |
-
/**
|
1889 |
-
* Payment
|
1890 |
-
*/
|
1891 |
-
$payment_method_id = isset($_GET['payment_method_id']) ? sanitize_text_field($_GET['payment_method_id']) : '';
|
1892 |
-
$payment_intent_id = isset($_GET['payment_intent_id']) ? sanitize_text_field($_GET['payment_intent_id']) : '';
|
1893 |
-
|
1894 |
-
// Pay
|
1895 |
-
$results = $this->cart_pay($payment_method_id, $payment_intent_id, $cart_id);
|
1896 |
-
|
1897 |
-
// Payment is invalid
|
1898 |
-
if(!$results['success'])
|
1899 |
-
{
|
1900 |
-
$this->response(array(
|
1901 |
-
'success' => 0,
|
1902 |
-
'code' => 'INVALID_PAYMENT',
|
1903 |
-
'message' => $results['message'],
|
1904 |
-
));
|
1905 |
-
}
|
1906 |
-
|
1907 |
-
// Payment requires more actions
|
1908 |
-
if($results['success'] == 2)
|
1909 |
-
{
|
1910 |
-
$this->response(array(
|
1911 |
-
'success' => 2,
|
1912 |
-
'requires_action' => 1,
|
1913 |
-
'code' => 'REQUIRES_ACTION',
|
1914 |
-
'payment_intent_client_secret' => $results['payment_intent_client_secret'],
|
1915 |
-
));
|
1916 |
-
}
|
1917 |
-
|
1918 |
-
$book_ids = array();
|
1919 |
-
foreach($cart as $transaction_id)
|
1920 |
-
{
|
1921 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
1922 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
1923 |
-
|
1924 |
-
// Transaction is not done
|
1925 |
-
if(!isset($transaction['done']))
|
1926 |
-
{
|
1927 |
-
// Get Options
|
1928 |
-
$options = $this->options();
|
1929 |
-
|
1930 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
1931 |
-
$attention_times = explode(':', $attention_date);
|
1932 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
1933 |
-
|
1934 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
1935 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
1936 |
-
|
1937 |
-
$ticket_ids = '';
|
1938 |
-
$attendees_info = array();
|
1939 |
-
|
1940 |
-
foreach($attendees as $i => $attendee)
|
1941 |
-
{
|
1942 |
-
if(!is_numeric($i)) continue;
|
1943 |
-
|
1944 |
-
$ticket_ids .= $attendee['id'] . ',';
|
1945 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
1946 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
1947 |
-
}
|
1948 |
-
|
1949 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
1950 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
1951 |
-
|
1952 |
-
// Remove Sensitive Data
|
1953 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
1954 |
-
{
|
1955 |
-
unset($transaction['username']);
|
1956 |
-
unset($transaction['password']);
|
1957 |
-
}
|
1958 |
-
|
1959 |
-
$transaction['done'] = 1;
|
1960 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
1961 |
-
|
1962 |
-
// MEC User
|
1963 |
-
$u = $this->getUser();
|
1964 |
-
|
1965 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
1966 |
-
$book_id = $this->book->add(
|
1967 |
-
array(
|
1968 |
-
'post_author' => $user_id,
|
1969 |
-
'post_type' => $this->PT,
|
1970 |
-
'post_title' => $book_subject,
|
1971 |
-
'post_date' => $date,
|
1972 |
-
'attendees_info' => $attendees_info,
|
1973 |
-
'mec_attendees' => $attendees,
|
1974 |
-
'mec_gateway' => 'MEC_gateway_stripe',
|
1975 |
-
'mec_gateway_label' => $this->title()
|
1976 |
-
),
|
1977 |
-
$transaction_id,
|
1978 |
-
$ticket_ids
|
1979 |
-
);
|
1980 |
-
|
1981 |
-
// Assign User
|
1982 |
-
$u->assign($book_id, $user_id);
|
1983 |
-
|
1984 |
-
// Gateway Referrer
|
1985 |
-
update_post_meta($book_id, 'mec_gateway_ref_type', 'intent');
|
1986 |
-
update_post_meta($book_id, 'mec_gateway_ref_id', (isset($results['id']) ? $results['id'] : ''));
|
1987 |
-
|
1988 |
-
// Fires after completely creating a new booking
|
1989 |
-
do_action('mec_booking_completed', $book_id);
|
1990 |
-
|
1991 |
-
// Create Stripe Customer
|
1992 |
-
if(isset($results['id']))
|
1993 |
-
{
|
1994 |
-
$user_email = $u->get($user_id)->user_email;
|
1995 |
-
|
1996 |
-
$stripe = new \Stripe\StripeClient($options['secret_key']);
|
1997 |
-
|
1998 |
-
// Search Customers
|
1999 |
-
$customers = $stripe->customers->all([
|
2000 |
-
'email' => $user_email,
|
2001 |
-
'limit' => 1,
|
2002 |
-
]);
|
2003 |
-
|
2004 |
-
if($customers->count()) $customer = $customers->first();
|
2005 |
-
else
|
2006 |
-
{
|
2007 |
-
$customer = $stripe->customers->create([
|
2008 |
-
'name' => $name,
|
2009 |
-
'email' => $user_email,
|
2010 |
-
]);
|
2011 |
-
}
|
2012 |
-
|
2013 |
-
if($customer and isset($customer->id)) $stripe->paymentIntents->update($results['id'], ['customer' => $customer->id, 'receipt_email' => $user_email]);
|
2014 |
-
}
|
2015 |
-
}
|
2016 |
-
else $book_id = (isset($transaction['booking_id']) ? $transaction['booking_id'] : 0);
|
2017 |
-
|
2018 |
-
$book_ids[] = $book_id;
|
2019 |
-
}
|
2020 |
-
|
2021 |
-
$invoice_status = (isset($this->settings['mec_cart_invoice']) and $this->settings['mec_cart_invoice']);
|
2022 |
-
$invoice_link = (!$invoice_status) ? '' : $c->get_invoice_link($cart_id);
|
2023 |
-
|
2024 |
-
$message = stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite')));
|
2025 |
-
if(trim($invoice_link)) $message .= ' <a class="mec-invoice-download" href="'.esc_url($invoice_link).'">'.__('Download Invoice', 'modern-events-calendar-lite').'</a>';
|
2026 |
-
|
2027 |
-
// Make the Cart Empty
|
2028 |
-
$c->clear($cart_id);
|
2029 |
-
|
2030 |
-
$this->response(
|
2031 |
-
array(
|
2032 |
-
'success' => 1,
|
2033 |
-
'message' => $message,
|
2034 |
-
'data' => array(
|
2035 |
-
'book_ids' => $book_ids,
|
2036 |
-
'invoice_link' => $invoice_link,
|
2037 |
-
),
|
2038 |
-
)
|
2039 |
-
);
|
2040 |
-
}
|
2041 |
-
|
2042 |
-
public function cart_do_ideal_transaction()
|
2043 |
-
{
|
2044 |
-
$cart_id = isset($_GET['mec_ideal_cart_id']) ? sanitize_text_field($_GET['mec_ideal_cart_id']) : NULL;
|
2045 |
-
if(!trim($cart_id)) return false;
|
2046 |
-
|
2047 |
-
$source = isset($_GET['source']) ? sanitize_text_field($_GET['source']) : NULL;
|
2048 |
-
if(!trim($source)) return false;
|
2049 |
-
|
2050 |
-
// Cart Library
|
2051 |
-
$c = $this->getCart();
|
2052 |
-
|
2053 |
-
$cart = $c->get_cart($cart_id);
|
2054 |
-
|
2055 |
-
// Get Options
|
2056 |
-
$options = $this->options();
|
2057 |
-
|
2058 |
-
/**
|
2059 |
-
* Payment
|
2060 |
-
*/
|
2061 |
-
|
2062 |
-
try
|
2063 |
-
{
|
2064 |
-
// Set Stripe Secret Key
|
2065 |
-
\Stripe\Stripe::setApiKey($options['secret_key']);
|
2066 |
-
|
2067 |
-
$payable = $c->get_payable($cart);
|
2068 |
-
$currency_code = $this->main->get_currency_code();
|
2069 |
-
|
2070 |
-
$charge = \Stripe\Charge::create([
|
2071 |
-
'amount' => ((int) $this->stripe_multiply($payable, $currency_code)),
|
2072 |
-
'currency' => $currency_code,
|
2073 |
-
'source' => $source,
|
2074 |
-
]);
|
2075 |
-
}
|
2076 |
-
catch(Exception $e)
|
2077 |
-
{
|
2078 |
-
return false;
|
2079 |
-
}
|
2080 |
-
|
2081 |
-
// Payment Invalid
|
2082 |
-
if(!$charge->captured or !$charge->paid) return false;
|
2083 |
-
|
2084 |
-
foreach($cart as $transaction_id)
|
2085 |
-
{
|
2086 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
2087 |
-
|
2088 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
2089 |
-
|
2090 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
2091 |
-
$attention_times = explode(':', $attention_date);
|
2092 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
2093 |
-
|
2094 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
2095 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
2096 |
-
|
2097 |
-
$ticket_ids = '';
|
2098 |
-
$attendees_info = array();
|
2099 |
-
|
2100 |
-
foreach($attendees as $i => $attendee)
|
2101 |
-
{
|
2102 |
-
if(!is_numeric($i)) continue;
|
2103 |
-
|
2104 |
-
$ticket_ids .= $attendee['id'] . ',';
|
2105 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
2106 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
2107 |
-
}
|
2108 |
-
|
2109 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
2110 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
2111 |
-
|
2112 |
-
// Remove Sensitive Data
|
2113 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
2114 |
-
{
|
2115 |
-
unset($transaction['username']);
|
2116 |
-
unset($transaction['password']);
|
2117 |
-
}
|
2118 |
-
|
2119 |
-
$transaction['done'] = 1;
|
2120 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
2121 |
-
|
2122 |
-
// MEC User
|
2123 |
-
$u = $this->getUser();
|
2124 |
-
|
2125 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
2126 |
-
$book_id = $this->book->add(
|
2127 |
-
array(
|
2128 |
-
'post_author' => $user_id,
|
2129 |
-
'post_type' => $this->PT,
|
2130 |
-
'post_title' => $book_subject,
|
2131 |
-
'post_date' => $date,
|
2132 |
-
'attendees_info' => $attendees_info,
|
2133 |
-
'mec_attendees' => $attendees,
|
2134 |
-
'mec_gateway' => 'MEC_gateway_stripe',
|
2135 |
-
'mec_gateway_label' => $this->title()
|
2136 |
-
),
|
2137 |
-
$transaction_id,
|
2138 |
-
$ticket_ids
|
2139 |
-
);
|
2140 |
-
|
2141 |
-
// Assign User
|
2142 |
-
$u->assign($book_id, $user_id);
|
2143 |
-
|
2144 |
-
// Gateway Referrer
|
2145 |
-
update_post_meta($book_id, 'mec_gateway_ref_type', 'charge');
|
2146 |
-
update_post_meta($book_id, 'mec_gateway_ref_id', (isset($charge->id) ? $charge->id : ''));
|
2147 |
-
|
2148 |
-
// Fires after completely creating a new booking
|
2149 |
-
do_action('mec_booking_completed', $book_id);
|
2150 |
-
|
2151 |
-
// Create Stripe Customer
|
2152 |
-
if($charge and $charge->id)
|
2153 |
-
{
|
2154 |
-
$user_email = $u->get($user_id)->user_email;
|
2155 |
-
|
2156 |
-
$stripe = new \Stripe\StripeClient($options['secret_key']);
|
2157 |
-
|
2158 |
-
// Search Customers
|
2159 |
-
$customers = $stripe->customers->all([
|
2160 |
-
'email' => $user_email,
|
2161 |
-
'limit' => 1,
|
2162 |
-
]);
|
2163 |
-
|
2164 |
-
if($customers->count()) $customer = $customers->first();
|
2165 |
-
else
|
2166 |
-
{
|
2167 |
-
$customer = $stripe->customers->create([
|
2168 |
-
'name' => $name,
|
2169 |
-
'email' => $user_email,
|
2170 |
-
]);
|
2171 |
-
}
|
2172 |
-
|
2173 |
-
if($customer and isset($customer->id)) $stripe->charges->update($charge->id, ['customer' => $customer->id]);
|
2174 |
-
}
|
2175 |
-
}
|
2176 |
-
|
2177 |
-
// Make the Cart Empty
|
2178 |
-
$c->clear($cart_id);
|
2179 |
-
|
2180 |
-
return true;
|
2181 |
-
}
|
2182 |
-
}
|
2183 |
-
|
2184 |
-
class MEC_gateway_stripe_connect extends MEC_gateway
|
2185 |
-
{
|
2186 |
-
public $id = 7;
|
2187 |
-
public $options;
|
2188 |
-
|
2189 |
-
public function __construct()
|
2190 |
-
{
|
2191 |
-
parent::__construct();
|
2192 |
-
|
2193 |
-
// Gateway options
|
2194 |
-
$this->options = $this->options();
|
2195 |
-
|
2196 |
-
$this->factory->action('init', array($this, 'include_api'));
|
2197 |
-
$this->factory->action('init', array($this, 'authenticate'));
|
2198 |
-
$this->factory->action('init', array($this, 'express_redirect'));
|
2199 |
-
$this->factory->action('init', array($this, 'express_refresh'));
|
2200 |
-
$this->factory->action('init', array($this, 'express_return'));
|
2201 |
-
$this->factory->action('init', array($this, 'express_dashboard'));
|
2202 |
-
|
2203 |
-
// Register actions
|
2204 |
-
$this->factory->action('wp_ajax_mec_check_stripe_connection', array($this, 'check_connection'));
|
2205 |
-
$this->factory->action('wp_ajax_nopriv_mec_check_stripe_connection', array($this, 'check_connection'));
|
2206 |
-
|
2207 |
-
$this->factory->action('wp_ajax_mec_do_transaction_stripe_connect', array($this, 'do_transaction'));
|
2208 |
-
$this->factory->action('wp_ajax_nopriv_mec_do_transaction_stripe_connect', array($this, 'do_transaction'));
|
2209 |
-
|
2210 |
-
// Add Stripe JS Library
|
2211 |
-
if($this->enabled() and !is_admin()) $this->factory->action('wp_enqueue_scripts', array($this, 'frontend_assets'));
|
2212 |
-
|
2213 |
-
// iDEAL verification
|
2214 |
-
$this->factory->action('init', array($this, 'do_ideal_transaction'));
|
2215 |
-
}
|
2216 |
-
|
2217 |
-
public function frontend_assets()
|
2218 |
-
{
|
2219 |
-
$stripe_js = apply_filters('mec_gateways_stripe_js', true);
|
2220 |
-
if($stripe_js) wp_enqueue_script('mec-stripe', 'https://js.stripe.com/v3/');
|
2221 |
-
}
|
2222 |
-
|
2223 |
-
public function label()
|
2224 |
-
{
|
2225 |
-
return __('Stripe Connect', 'modern-events-calendar-lite');
|
2226 |
-
}
|
2227 |
-
|
2228 |
-
public function color()
|
2229 |
-
{
|
2230 |
-
return '#FFBE0C';
|
2231 |
-
}
|
2232 |
-
|
2233 |
-
public function get_connection_method()
|
2234 |
-
{
|
2235 |
-
return ((isset($this->options['connection_method']) and trim($this->options['connection_method'])) ? $this->options['connection_method'] : 'standard');
|
2236 |
-
}
|
2237 |
-
|
2238 |
-
public function include_api()
|
2239 |
-
{
|
2240 |
-
if(class_exists('Stripe')) return;
|
2241 |
-
|
2242 |
-
MEC::import('app.api.Stripe.autoload', false);
|
2243 |
-
}
|
2244 |
-
|
2245 |
-
/**
|
2246 |
-
* It run after come back from Stripe
|
2247 |
-
*/
|
2248 |
-
public function authenticate()
|
2249 |
-
{
|
2250 |
-
// Is it a request to autheticate?
|
2251 |
-
$called = (isset($_GET['mec-stripe-connect']) and $_GET['mec-stripe-connect'] == 1) ? true : false;
|
2252 |
-
if(!$called) return;
|
2253 |
-
|
2254 |
-
$code = (isset($_GET['code']) and trim($_GET['code'])) ? $_GET['code'] : NULL;
|
2255 |
-
if(!$code) return;
|
2256 |
-
|
2257 |
-
$current_user_id = get_current_user_id();
|
2258 |
-
if(!$current_user_id) return;
|
2259 |
-
|
2260 |
-
// Call Stripe API to validate the request
|
2261 |
-
$post = array(
|
2262 |
-
'client_secret' => $this->options['secret_key'],
|
2263 |
-
'code' => $code,
|
2264 |
-
'grant_type' => 'authorization_code'
|
2265 |
-
);
|
2266 |
-
|
2267 |
-
$ch = curl_init('https://connect.stripe.com/oauth/token');
|
2268 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
2269 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
2270 |
-
|
2271 |
-
$JSON = curl_exec($ch);
|
2272 |
-
curl_close($ch);
|
2273 |
-
|
2274 |
-
// Get Stripe Account ID
|
2275 |
-
$response = json_decode($JSON);
|
2276 |
-
$stripe_user_id = isset($response->stripe_user_id) ? $response->stripe_user_id : NULL;
|
2277 |
-
|
2278 |
-
// Stripe Account ID not found!
|
2279 |
-
if(!$stripe_user_id) return;
|
2280 |
-
|
2281 |
-
// Save User ID
|
2282 |
-
update_user_meta($current_user_id, 'mec_stripe_id', $stripe_user_id);
|
2283 |
-
|
2284 |
-
// Redirect
|
2285 |
-
$redirect_to = (isset($this->options['redirection_page']) and trim($this->options['redirection_page'])) ? get_permalink($this->options['redirection_page']) : get_home_url();
|
2286 |
-
|
2287 |
-
wp_redirect($redirect_to);
|
2288 |
-
exit;
|
2289 |
-
}
|
2290 |
-
|
2291 |
-
/**
|
2292 |
-
* It redirects the user to stripe for onboarding
|
2293 |
-
*/
|
2294 |
-
public function express_redirect()
|
2295 |
-
{
|
2296 |
-
// Is it a request to redirect?
|
2297 |
-
$called = (isset($_GET['mec-stripe-connect-express-redirect']) and $_GET['mec-stripe-connect-express-redirect'] == 1) ? true : false;
|
2298 |
-
if(!$called) return;
|
2299 |
-
|
2300 |
-
// Is Nonce Valid?
|
2301 |
-
if(!wp_verify_nonce(sanitize_text_field($_GET['_wpnonce']), 'mec_stripe_connect_express_redirect')) return;
|
2302 |
-
|
2303 |
-
// Do the Redirect
|
2304 |
-
$this->express_do_redirect();
|
2305 |
-
}
|
2306 |
-
|
2307 |
-
/**
|
2308 |
-
* It calls whenever use came back to refresh URL
|
2309 |
-
*/
|
2310 |
-
public function express_refresh()
|
2311 |
-
{
|
2312 |
-
// Is it a request to refresh?
|
2313 |
-
$called = (isset($_GET['mec-stripe-connect-express-refresh']) and $_GET['mec-stripe-connect-express-refresh'] == 1) ? true : false;
|
2314 |
-
if(!$called) return;
|
2315 |
-
|
2316 |
-
// Do the Redirect
|
2317 |
-
$this->express_do_redirect();
|
2318 |
-
}
|
2319 |
-
|
2320 |
-
/**
|
2321 |
-
* It calls whenever use came back to refresh URL
|
2322 |
-
*/
|
2323 |
-
public function express_return()
|
2324 |
-
{
|
2325 |
-
// Is user returned?
|
2326 |
-
$called = (isset($_GET['mec-stripe-connect-express-return']) and $_GET['mec-stripe-connect-express-return'] == 1) ? true : false;
|
2327 |
-
if(!$called) return;
|
2328 |
-
|
2329 |
-
$current_user_id = get_current_user_id();
|
2330 |
-
if(!$current_user_id) return;
|
2331 |
-
|
2332 |
-
$strip_account_id_temp = get_user_meta($current_user_id, 'mec_stripe_id_temp', true);
|
2333 |
-
if(!$strip_account_id_temp) return;
|
2334 |
-
|
2335 |
-
// Set Stripe Secret Key
|
2336 |
-
\Stripe\Stripe::setApiKey($this->options['secret_key']);
|
2337 |
-
$account = \Stripe\Account::retrieve($strip_account_id_temp);
|
2338 |
-
|
2339 |
-
// A problem occurred in getting account
|
2340 |
-
if(!$account or (is_object($account) and !isset($account->id)))
|
2341 |
-
{
|
2342 |
-
wp_redirect($this->main->URL('site'));
|
2343 |
-
exit;
|
2344 |
-
}
|
2345 |
-
|
2346 |
-
// Onboarding Completed ...
|
2347 |
-
if($account->charges_enabled) update_user_meta($current_user_id, 'mec_stripe_id', $account->id);
|
2348 |
-
|
2349 |
-
// Redirect
|
2350 |
-
$redirect_to = (isset($this->options['redirection_page']) and trim($this->options['redirection_page'])) ? get_permalink($this->options['redirection_page']) : get_home_url();
|
2351 |
-
|
2352 |
-
wp_redirect($redirect_to);
|
2353 |
-
exit;
|
2354 |
-
}
|
2355 |
-
|
2356 |
-
public function express_do_redirect()
|
2357 |
-
{
|
2358 |
-
$current_user_id = get_current_user_id();
|
2359 |
-
if(!$current_user_id) return;
|
2360 |
-
|
2361 |
-
// Set Stripe Secret Key
|
2362 |
-
\Stripe\Stripe::setApiKey($this->options['secret_key']);
|
2363 |
-
|
2364 |
-
$temp_account_id = get_user_meta($current_user_id, 'mec_stripe_id_temp', true);
|
2365 |
-
if(!$temp_account_id)
|
2366 |
-
{
|
2367 |
-
try
|
2368 |
-
{
|
2369 |
-
// Account
|
2370 |
-
$account = \Stripe\Account::create([
|
2371 |
-
'type' => 'express',
|
2372 |
-
]);
|
2373 |
-
|
2374 |
-
// A problem occurred in account creation
|
2375 |
-
if(!$account or (is_object($account) and !isset($account->id)))
|
2376 |
-
{
|
2377 |
-
wp_redirect($this->main->URL('site'));
|
2378 |
-
exit;
|
2379 |
-
}
|
2380 |
-
|
2381 |
-
// Save User ID
|
2382 |
-
update_user_meta($current_user_id, 'mec_stripe_id_temp', $account->id);
|
2383 |
-
$temp_account_id = $account->id;
|
2384 |
-
}
|
2385 |
-
catch(Exception $e)
|
2386 |
-
{
|
2387 |
-
wp_die($e->getMessage(), 'Stripe Error');
|
2388 |
-
exit;
|
2389 |
-
}
|
2390 |
-
}
|
2391 |
-
|
2392 |
-
$account_link = \Stripe\AccountLink::create([
|
2393 |
-
'account' => $temp_account_id,
|
2394 |
-
'refresh_url' => $this->main->URL('site').'?mec-stripe-connect-express-refresh=1',
|
2395 |
-
'return_url' => $this->main->URL('site').'?mec-stripe-connect-express-return=1',
|
2396 |
-
'type' => 'account_onboarding',
|
2397 |
-
]);
|
2398 |
-
|
2399 |
-
// A problem occurred in account creation
|
2400 |
-
if(!$account_link or (is_object($account_link) and !isset($account_link->url)))
|
2401 |
-
{
|
2402 |
-
wp_redirect($this->main->URL('site'));
|
2403 |
-
exit;
|
2404 |
-
}
|
2405 |
-
|
2406 |
-
wp_redirect($account_link->url);
|
2407 |
-
exit;
|
2408 |
-
}
|
2409 |
-
|
2410 |
-
/**
|
2411 |
-
* It redirects the user to stripe dashboard
|
2412 |
-
*/
|
2413 |
-
public function express_dashboard()
|
2414 |
-
{
|
2415 |
-
$current_user_id = get_current_user_id();
|
2416 |
-
if(!$current_user_id) return;
|
2417 |
-
|
2418 |
-
// Is it a request to redirect?
|
2419 |
-
$called = (isset($_GET['mec-stripe-connect-express-dashboard']) and $_GET['mec-stripe-connect-express-dashboard'] == 1) ? true : false;
|
2420 |
-
if(!$called) return;
|
2421 |
-
|
2422 |
-
// Is Nonce Valid?
|
2423 |
-
if(!wp_verify_nonce(sanitize_text_field($_GET['_wpnonce']), 'mec_stripe_connect_express_dashboard')) return;
|
2424 |
-
|
2425 |
-
try
|
2426 |
-
{
|
2427 |
-
// Set Stripe Secret Key
|
2428 |
-
\Stripe\Stripe::setApiKey($this->options['secret_key']);
|
2429 |
-
|
2430 |
-
$account_id = get_user_meta($current_user_id, 'mec_stripe_id', true);
|
2431 |
-
$dashboard = \Stripe\Account::createLoginLink($account_id);
|
2432 |
-
|
2433 |
-
wp_redirect($dashboard->url);
|
2434 |
-
exit;
|
2435 |
-
}
|
2436 |
-
catch(Exception $e)
|
2437 |
-
{
|
2438 |
-
delete_user_meta($current_user_id, 'mec_stripe_id');
|
2439 |
-
}
|
2440 |
-
}
|
2441 |
-
|
2442 |
-
public function do_transaction($transaction_id = null)
|
2443 |
-
{
|
2444 |
-
if(!trim($transaction_id)) $transaction_id = isset($_GET['transaction_id']) ? sanitize_text_field($_GET['transaction_id']) : 0;
|
2445 |
-
|
2446 |
-
// Verify that the nonce is valid.
|
2447 |
-
if(!wp_verify_nonce(sanitize_text_field($_GET['_wpnonce']), 'mec_transaction_form_' . $transaction_id))
|
2448 |
-
{
|
2449 |
-
$this->response(array(
|
2450 |
-
'success' => 0,
|
2451 |
-
'code' => 'NONCE_IS_INVALID',
|
2452 |
-
'message' => __('Request is invalid!', 'modern-events-calendar-lite'),
|
2453 |
-
));
|
2454 |
-
}
|
2455 |
-
|
2456 |
-
// Validate Ticket Availability
|
2457 |
-
$this->validate($transaction_id);
|
2458 |
-
|
2459 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
2460 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
2461 |
-
|
2462 |
-
// Invalid Transaction
|
2463 |
-
if(!is_array($transaction) or (is_array($transaction) and !isset($transaction['price']))) return false;
|
2464 |
-
|
2465 |
-
// Is there any attendee?
|
2466 |
-
if(!count($attendees))
|
2467 |
-
{
|
2468 |
-
$this->response(
|
2469 |
-
array(
|
2470 |
-
'success' => 0,
|
2471 |
-
'code' => 'NO_TICKET',
|
2472 |
-
'message' => __(
|
2473 |
-
'There is no attendee for booking!',
|
2474 |
-
'mec'
|
2475 |
-
),
|
2476 |
-
)
|
2477 |
-
);
|
2478 |
-
}
|
2479 |
-
|
2480 |
-
// Transaction is not done
|
2481 |
-
if(!isset($transaction['done']))
|
2482 |
-
{
|
2483 |
-
// Stripe Payment Details
|
2484 |
-
$payment_method_id = isset($_GET['payment_method_id']) ? sanitize_text_field($_GET['payment_method_id']) : '';
|
2485 |
-
$payment_intent_id = isset($_GET['payment_intent_id']) ? sanitize_text_field($_GET['payment_intent_id']) : '';
|
2486 |
-
|
2487 |
-
// Pay by Stripe Token
|
2488 |
-
$results = $this->pay($payment_method_id, $payment_intent_id, $transaction_id);
|
2489 |
-
|
2490 |
-
// Payment is invalid
|
2491 |
-
if(!$results['success'])
|
2492 |
-
{
|
2493 |
-
$this->response(
|
2494 |
-
array(
|
2495 |
-
'success' => 0,
|
2496 |
-
'code' => 'INVALID_PAYMENT',
|
2497 |
-
'message' => $results['message'],
|
2498 |
-
)
|
2499 |
-
);
|
2500 |
-
}
|
2501 |
-
|
2502 |
-
// Payment requires more actions
|
2503 |
-
if($results['success'] == 2)
|
2504 |
-
{
|
2505 |
-
$this->response(
|
2506 |
-
array(
|
2507 |
-
'success' => 2,
|
2508 |
-
'requires_action' => 1,
|
2509 |
-
'code' => 'REQUIRES_ACTION',
|
2510 |
-
'payment_intent_client_secret' => $results['payment_intent_client_secret'],
|
2511 |
-
)
|
2512 |
-
);
|
2513 |
-
}
|
2514 |
-
|
2515 |
-
// Get Options Compatible with Organizer Payment
|
2516 |
-
$options = $this->options($transaction_id);
|
2517 |
-
|
2518 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
2519 |
-
$attention_times = explode(':', $attention_date);
|
2520 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
2521 |
-
|
2522 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
2523 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
2524 |
-
|
2525 |
-
$ticket_ids = '';
|
2526 |
-
$attendees_info = array();
|
2527 |
-
|
2528 |
-
foreach($attendees as $i => $attendee)
|
2529 |
-
{
|
2530 |
-
if(!is_numeric($i)) continue;
|
2531 |
-
|
2532 |
-
$ticket_ids .= $attendee['id'] . ',';
|
2533 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
2534 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
2535 |
-
}
|
2536 |
-
|
2537 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
2538 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
2539 |
-
|
2540 |
-
// Remove Sensitive Data
|
2541 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
2542 |
-
{
|
2543 |
-
unset($transaction['username']);
|
2544 |
-
unset($transaction['password']);
|
2545 |
-
|
2546 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
2547 |
-
}
|
2548 |
-
|
2549 |
-
// MEC User
|
2550 |
-
$u = $this->getUser();
|
2551 |
-
|
2552 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
2553 |
-
$book_id = $this->book->add(
|
2554 |
-
array(
|
2555 |
-
'post_author' => $user_id,
|
2556 |
-
'post_type' => $this->PT,
|
2557 |
-
'post_title' => $book_subject,
|
2558 |
-
'post_date' => $date,
|
2559 |
-
'attendees_info' => $attendees_info,
|
2560 |
-
'mec_attendees' => $attendees,
|
2561 |
-
'mec_gateway' => 'MEC_gateway_stripe',
|
2562 |
-
'mec_gateway_label' => $this->title()
|
2563 |
-
),
|
2564 |
-
$transaction_id,
|
2565 |
-
$ticket_ids
|
2566 |
-
);
|
2567 |
-
|
2568 |
-
// Assign User
|
2569 |
-
$u->assign($book_id, $user_id);
|
2570 |
-
|
2571 |
-
// Gateway Referrer
|
2572 |
-
update_post_meta($book_id, 'mec_gateway_ref_type', 'intent');
|
2573 |
-
update_post_meta($book_id, 'mec_gateway_ref_id', (isset($results['id']) ? $results['id'] : ''));
|
2574 |
-
|
2575 |
-
// Fires after completely creating a new booking
|
2576 |
-
do_action('mec_booking_completed', $book_id);
|
2577 |
-
|
2578 |
-
// Create Stripe Customer
|
2579 |
-
if(isset($results['id']))
|
2580 |
-
{
|
2581 |
-
$user_email = $u->get($user_id)->user_email;
|
2582 |
-
|
2583 |
-
$stripe = new \Stripe\StripeClient($options['secret_key']);
|
2584 |
-
|
2585 |
-
// Search Customers
|
2586 |
-
$customers = $stripe->customers->all([
|
2587 |
-
'email' => $user_email,
|
2588 |
-
'limit' => 1,
|
2589 |
-
]);
|
2590 |
-
|
2591 |
-
if($customers->count()) $customer = $customers->first();
|
2592 |
-
else
|
2593 |
-
{
|
2594 |
-
$customer = $stripe->customers->create([
|
2595 |
-
'name' => $name,
|
2596 |
-
'email' => $user_email,
|
2597 |
-
]);
|
2598 |
-
}
|
2599 |
-
|
2600 |
-
if($customer and isset($customer->id)) $stripe->paymentIntents->update($results['id'], ['customer' => $customer->id, 'receipt_email' => $user_email]);
|
2601 |
-
}
|
2602 |
-
}
|
2603 |
-
else $book_id = (isset($transaction['booking_id']) ? $transaction['booking_id'] : 0);
|
2604 |
-
|
2605 |
-
$event_id = (isset($transaction['event_id']) ? $transaction['event_id'] : 0);
|
2606 |
-
$redirect_to = '';
|
2607 |
-
|
2608 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
2609 |
-
if($thankyou_page_id) $redirect_to = $this->book->get_thankyou_page($thankyou_page_id, $transaction_id);
|
2610 |
-
|
2611 |
-
// Invoice Link
|
2612 |
-
$mec_confirmed = get_post_meta($book_id, 'mec_confirmed', true);
|
2613 |
-
$invoice_link = (!$mec_confirmed) ? '' : $this->book->get_invoice_link($transaction_id);
|
2614 |
-
$dl_file_link = (!$mec_confirmed) ? '' : $this->book->get_dl_file_link($book_id);
|
2615 |
-
|
2616 |
-
$extra_info = apply_filters('MEC_extra_info_gateways', '', $this->book->get_event_id_by_transaction_id($transaction_id), $book_id);
|
2617 |
-
|
2618 |
-
$this->response(
|
2619 |
-
array(
|
2620 |
-
'success' => 1,
|
2621 |
-
'message' => stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite'))),
|
2622 |
-
'data' => array(
|
2623 |
-
'book_id' => $book_id,
|
2624 |
-
'redirect_to' => $redirect_to,
|
2625 |
-
'invoice_link' => $invoice_link,
|
2626 |
-
'dl_file_link' => $dl_file_link,
|
2627 |
-
'extra_info' => $extra_info,
|
2628 |
-
),
|
2629 |
-
)
|
2630 |
-
);
|
2631 |
-
}
|
2632 |
-
|
2633 |
-
public function pay($payment_method_id, $payment_intent_id, $transaction_id)
|
2634 |
-
{
|
2635 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
2636 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : NULL;
|
2637 |
-
$event = get_post($event_id);
|
2638 |
-
|
2639 |
-
$author_id = $event->post_author;
|
2640 |
-
$stripe_user_id = get_user_meta($author_id, 'mec_stripe_id', true);
|
2641 |
-
|
2642 |
-
if($stripe_user_id) $charge_options = array('stripe_account' => $stripe_user_id);
|
2643 |
-
else $charge_options = NULL;
|
2644 |
-
|
2645 |
-
// Set Stripe Secret Key
|
2646 |
-
\Stripe\Stripe::setApiKey($this->options['secret_key']);
|
2647 |
-
|
2648 |
-
// Get Status of Payment Intent
|
2649 |
-
if($payment_intent_id)
|
2650 |
-
{
|
2651 |
-
$intent = \Stripe\PaymentIntent::retrieve($payment_intent_id, $charge_options);
|
2652 |
-
$intent->confirm();
|
2653 |
-
|
2654 |
-
if($intent->status == 'succeeded') return array('success' => 1, 'id' => $intent->id);
|
2655 |
-
else if($intent->status == 'requires_confirmation') return array('success' => 0, 'message' => __('Your payment needs to be confirmed!', 'modern-events-calendar-lite'));
|
2656 |
-
else return array('success' => 0, 'message' => __('Unknown Error!', 'modern-events-calendar-lite'));
|
2657 |
-
}
|
2658 |
-
|
2659 |
-
try
|
2660 |
-
{
|
2661 |
-
if($stripe_user_id)
|
2662 |
-
{
|
2663 |
-
$application_fee_amount = $this->get_fee_amount($transaction);
|
2664 |
-
$currency_code = $this->main->get_currency_code($event_id);
|
2665 |
-
|
2666 |
-
$charge = array(
|
2667 |
-
'payment_method' => $payment_method_id,
|
2668 |
-
'amount' => (isset($transaction['price']) ? ((int) $this->stripe_multiply($transaction['price'], $currency_code)) : 0),
|
2669 |
-
'currency' => $currency_code,
|
2670 |
-
'description' => $this->get_stripe_charge_description($transaction_id),
|
2671 |
-
'application_fee_amount' => (int) $this->stripe_multiply($application_fee_amount, $currency_code),
|
2672 |
-
'confirmation_method' => 'manual',
|
2673 |
-
'confirm' => true,
|
2674 |
-
);
|
2675 |
-
}
|
2676 |
-
else
|
2677 |
-
{
|
2678 |
-
$currency_code = $this->main->get_currency_code($event_id);
|
2679 |
-
$charge = array(
|
2680 |
-
'payment_method' => $payment_method_id,
|
2681 |
-
'amount' => (isset($transaction['price']) ? ((int) $this->stripe_multiply($transaction['price'], $currency_code)) : 0),
|
2682 |
-
'currency' => $currency_code,
|
2683 |
-
'description' => $this->get_stripe_charge_description($transaction_id),
|
2684 |
-
'confirmation_method' => 'manual',
|
2685 |
-
'confirm' => true,
|
2686 |
-
);
|
2687 |
-
}
|
2688 |
-
|
2689 |
-
$intent = \Stripe\PaymentIntent::create($charge, $charge_options);
|
2690 |
-
}
|
2691 |
-
catch(Exception $e)
|
2692 |
-
{
|
2693 |
-
return array(
|
2694 |
-
'success' => 0,
|
2695 |
-
'message' => $e->getMessage(),
|
2696 |
-
);
|
2697 |
-
}
|
2698 |
-
|
2699 |
-
if($intent->status == 'requires_action' and $intent->next_action->type == 'use_stripe_sdk')
|
2700 |
-
{
|
2701 |
-
return array(
|
2702 |
-
'success' => 2,
|
2703 |
-
'requires_action' => true,
|
2704 |
-
'payment_intent_client_secret' => $intent->client_secret
|
2705 |
-
);
|
2706 |
-
}
|
2707 |
-
elseif($intent->status == 'succeeded') return array('success' => 1, 'id' => $intent->id);
|
2708 |
-
else return array('success' => 0, 'message' => __('Unknown Error!', 'modern-events-calendar-lite'));
|
2709 |
-
}
|
2710 |
-
|
2711 |
-
public function get_fee_amount($transaction)
|
2712 |
-
{
|
2713 |
-
$fee = isset($this->options['fee']) ? $this->options['fee'] : 0;
|
2714 |
-
$fee_type = isset($this->options['fee_type']) ? $this->options['fee_type'] : 'amount';
|
2715 |
-
$fee_per = isset($this->options['fee_per']) ? $this->options['fee_per'] : 'ticket';
|
2716 |
-
|
2717 |
-
if($fee_type == 'amount')
|
2718 |
-
{
|
2719 |
-
if($fee_per == 'ticket')
|
2720 |
-
{
|
2721 |
-
$amount = $fee * count($transaction['tickets']);
|
2722 |
-
}
|
2723 |
-
// Booking
|
2724 |
-
else
|
2725 |
-
{
|
2726 |
-
$amount = $fee;
|
2727 |
-
}
|
2728 |
-
}
|
2729 |
-
// Percent
|
2730 |
-
else
|
2731 |
-
{
|
2732 |
-
if($fee_per == 'ticket')
|
2733 |
-
{
|
2734 |
-
$tickets_price = 0;
|
2735 |
-
foreach($transaction['price_details']['details'] as $p)
|
2736 |
-
{
|
2737 |
-
if(isset($p['type']) and $p['type'] == 'tickets')
|
2738 |
-
{
|
2739 |
-
$tickets_price = $p['amount'];
|
2740 |
-
break;
|
2741 |
-
}
|
2742 |
-
}
|
2743 |
-
|
2744 |
-
$amount = ($fee * $tickets_price) / 100;
|
2745 |
-
}
|
2746 |
-
// Booking
|
2747 |
-
else
|
2748 |
-
{
|
2749 |
-
$amount = ($fee * $transaction['price']) / 100;
|
2750 |
-
}
|
2751 |
-
}
|
2752 |
-
|
2753 |
-
return $amount;
|
2754 |
-
}
|
2755 |
-
|
2756 |
-
public function do_ideal_transaction()
|
2757 |
-
{
|
2758 |
-
$transaction_id = isset($_GET['mec_ideal_transaction_id']) ? sanitize_text_field($_GET['mec_ideal_transaction_id']) : NULL;
|
2759 |
-
if(!trim($transaction_id)) return false;
|
2760 |
-
|
2761 |
-
$source = isset($_GET['source']) ? sanitize_text_field($_GET['source']) : NULL;
|
2762 |
-
if(!trim($source)) return false;
|
2763 |
-
|
2764 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
2765 |
-
|
2766 |
-
// Invalid Transaction
|
2767 |
-
if(!is_array($transaction) or (is_array($transaction) and !isset($transaction['price']))) return false;
|
2768 |
-
|
2769 |
-
// Transaction is done
|
2770 |
-
if(isset($transaction['done']) and $transaction['done'] == '1') return false;
|
2771 |
-
|
2772 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : NULL;
|
2773 |
-
$event = get_post($event_id);
|
2774 |
-
|
2775 |
-
$author_id = $event->post_author;
|
2776 |
-
$stripe_user_id = get_user_meta($author_id, 'mec_stripe_id', true);
|
2777 |
-
|
2778 |
-
if($stripe_user_id) $charge_options = array('stripe_account' => $stripe_user_id);
|
2779 |
-
else $charge_options = NULL;
|
2780 |
-
|
2781 |
-
try
|
2782 |
-
{
|
2783 |
-
// Set Stripe Secret Key
|
2784 |
-
\Stripe\Stripe::setApiKey($this->options['secret_key']);
|
2785 |
-
|
2786 |
-
// Currency
|
2787 |
-
$currency_code = $this->main->get_currency_code($event_id);
|
2788 |
-
|
2789 |
-
if($stripe_user_id)
|
2790 |
-
{
|
2791 |
-
$application_fee_amount = $this->get_fee_amount($transaction);
|
2792 |
-
|
2793 |
-
$ch = array(
|
2794 |
-
'amount' => (isset($transaction['price']) ? ((int) $this->stripe_multiply($transaction['price'], $currency_code)) : 0),
|
2795 |
-
'currency' => $currency_code,
|
2796 |
-
'source' => $source,
|
2797 |
-
'description' => $this->get_stripe_charge_description($transaction_id),
|
2798 |
-
'application_fee_amount' => (int) $this->stripe_multiply($application_fee_amount, $currency_code),
|
2799 |
-
);
|
2800 |
-
}
|
2801 |
-
else
|
2802 |
-
{
|
2803 |
-
$ch = array(
|
2804 |
-
'amount' => (isset($transaction['price']) ? ((int) $this->stripe_multiply($transaction['price'], $currency_code)) : 0),
|
2805 |
-
'currency' => $currency_code,
|
2806 |
-
'source' => $source,
|
2807 |
-
'description' => $this->get_stripe_charge_description($transaction_id),
|
2808 |
-
);
|
2809 |
-
}
|
2810 |
-
|
2811 |
-
$charge = \Stripe\Charge::create($ch, $charge_options);
|
2812 |
-
}
|
2813 |
-
catch(Exception $e)
|
2814 |
-
{
|
2815 |
-
return false;
|
2816 |
-
}
|
2817 |
-
|
2818 |
-
// Payment Invalid
|
2819 |
-
if(!$charge->captured or !$charge->paid) return false;
|
2820 |
-
|
2821 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
2822 |
-
|
2823 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
2824 |
-
$attention_times = explode(':', $attention_date);
|
2825 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
2826 |
-
|
2827 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
2828 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
2829 |
-
|
2830 |
-
$ticket_ids = '';
|
2831 |
-
$attendees_info = array();
|
2832 |
-
|
2833 |
-
foreach($attendees as $i => $attendee)
|
2834 |
-
{
|
2835 |
-
if(!is_numeric($i)) continue;
|
2836 |
-
|
2837 |
-
$ticket_ids .= $attendee['id'] . ',';
|
2838 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
2839 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
2840 |
-
}
|
2841 |
-
|
2842 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
2843 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
2844 |
-
|
2845 |
-
// Remove Sensitive Data
|
2846 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
2847 |
-
{
|
2848 |
-
unset($transaction['username']);
|
2849 |
-
unset($transaction['password']);
|
2850 |
-
}
|
2851 |
-
|
2852 |
-
$transaction['done'] = 1;
|
2853 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
2854 |
-
|
2855 |
-
// MEC User
|
2856 |
-
$u = $this->getUser();
|
2857 |
-
|
2858 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
2859 |
-
$book_id = $this->book->add(
|
2860 |
-
array(
|
2861 |
-
'post_author' => $user_id,
|
2862 |
-
'post_type' => $this->PT,
|
2863 |
-
'post_title' => $book_subject,
|
2864 |
-
'post_date' => $date,
|
2865 |
-
'attendees_info' => $attendees_info,
|
2866 |
-
'mec_attendees' => $attendees,
|
2867 |
-
'mec_gateway' => 'MEC_gateway_stripe',
|
2868 |
-
'mec_gateway_label' => $this->title()
|
2869 |
-
),
|
2870 |
-
$transaction_id,
|
2871 |
-
$ticket_ids
|
2872 |
-
);
|
2873 |
-
|
2874 |
-
// Assign User
|
2875 |
-
$u->assign($book_id, $user_id);
|
2876 |
-
|
2877 |
-
// Gateway Referrer
|
2878 |
-
update_post_meta($book_id, 'mec_gateway_ref_type', 'charge');
|
2879 |
-
update_post_meta($book_id, 'mec_gateway_ref_id', (isset($charge->id) ? $charge->id : ''));
|
2880 |
-
|
2881 |
-
// Fires after completely creating a new booking
|
2882 |
-
do_action('mec_booking_completed', $book_id);
|
2883 |
-
|
2884 |
-
$event_id = (isset($transaction['event_id']) ? $transaction['event_id'] : 0);
|
2885 |
-
$redirect_to = '';
|
2886 |
-
|
2887 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
2888 |
-
if($thankyou_page_id) $redirect_to = $this->book->get_thankyou_page($thankyou_page_id, $transaction_id);
|
2889 |
-
|
2890 |
-
// Create Stripe Customer
|
2891 |
-
if($charge and $charge->id)
|
2892 |
-
{
|
2893 |
-
$user_email = $u->get($user_id)->user_email;
|
2894 |
-
|
2895 |
-
$stripe = new \Stripe\StripeClient($this->options['secret_key']);
|
2896 |
-
|
2897 |
-
// Search Customers
|
2898 |
-
$customers = $stripe->customers->all([
|
2899 |
-
'email' => $user_email,
|
2900 |
-
'limit' => 1,
|
2901 |
-
]);
|
2902 |
-
|
2903 |
-
if($customers->count()) $customer = $customers->first();
|
2904 |
-
else
|
2905 |
-
{
|
2906 |
-
$customer = $stripe->customers->create([
|
2907 |
-
'name' => $name,
|
2908 |
-
'email' => $user_email,
|
2909 |
-
]);
|
2910 |
-
}
|
2911 |
-
|
2912 |
-
if($customer and isset($customer->id)) $stripe->charges->update($charge->id, ['customer' => $customer->id]);
|
2913 |
-
}
|
2914 |
-
|
2915 |
-
// Redirect
|
2916 |
-
if(trim($redirect_to))
|
2917 |
-
{
|
2918 |
-
wp_redirect($redirect_to);
|
2919 |
-
exit;
|
2920 |
-
}
|
2921 |
-
}
|
2922 |
-
|
2923 |
-
public function checkout_form($transaction_id, $params = array())
|
2924 |
-
{
|
2925 |
-
// Payment Method
|
2926 |
-
$payment_method = (isset($this->options['payment_method']) and trim($this->options['payment_method'])) ? $this->options['payment_method'] : 'cc';
|
2927 |
-
|
2928 |
-
if($payment_method == 'cc') $this->checkout_form_cc($transaction_id, $params);
|
2929 |
-
elseif($payment_method == 'ideal') $this->checkout_form_ideal($transaction_id, $params);
|
2930 |
-
}
|
2931 |
-
|
2932 |
-
public function checkout_form_cc($transaction_id, $params = array())
|
2933 |
-
{
|
2934 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
2935 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : NULL;
|
2936 |
-
|
2937 |
-
$main_attendee_name = ((isset($transaction['tickets']) and isset($transaction['tickets'][0]) and isset($transaction['tickets'][0]['name'])) ? $transaction['tickets'][0]['name'] : '');
|
2938 |
-
$main_attendee_email = ((isset($transaction['tickets']) and isset($transaction['tickets'][0]) and isset($transaction['tickets'][0]['email'])) ? $transaction['tickets'][0]['email'] : '');
|
2939 |
-
|
2940 |
-
$event = get_post($event_id);
|
2941 |
-
|
2942 |
-
$author_id = $event->post_author;
|
2943 |
-
$stripe_user_id = get_user_meta($author_id, 'mec_stripe_id', true);
|
2944 |
-
?>
|
2945 |
-
<script type="text/javascript">
|
2946 |
-
var stripe;
|
2947 |
-
|
2948 |
-
<?php if($stripe_user_id): ?>
|
2949 |
-
stripe = Stripe("<?php echo(isset($this->options['publishable_key']) ? $this->options['publishable_key'] : ''); ?>", {
|
2950 |
-
stripeAccount: "<?php echo $stripe_user_id; ?>"
|
2951 |
-
});
|
2952 |
-
<?php else: ?>
|
2953 |
-
stripe = Stripe("<?php echo(isset($this->options['publishable_key']) ? $this->options['publishable_key'] : ''); ?>");
|
2954 |
-
<?php endif; ?>
|
2955 |
-
|
2956 |
-
var elements = stripe.elements();
|
2957 |
-
var style = {
|
2958 |
-
base: {
|
2959 |
-
color: '#32325d',
|
2960 |
-
fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
|
2961 |
-
fontSmoothing: 'antialiased',
|
2962 |
-
fontSize: '16px',
|
2963 |
-
minHeight: '40px',
|
2964 |
-
'::placeholder': {
|
2965 |
-
color: '#aab7c4'
|
2966 |
-
},
|
2967 |
-
},
|
2968 |
-
invalid: {
|
2969 |
-
color: '#fa755a',
|
2970 |
-
iconColor: '#fa755a'
|
2971 |
-
}
|
2972 |
-
};
|
2973 |
-
|
2974 |
-
var card = elements.create('card');
|
2975 |
-
card.mount('#mec_card_element_stripe_connect_<?php echo $transaction_id; ?>');
|
2976 |
-
|
2977 |
-
// Validation
|
2978 |
-
card.addEventListener('change', function(event)
|
2979 |
-
{
|
2980 |
-
// Show the Error
|
2981 |
-
if(event.error) jQuery('#mec_do_transaction_stripe_connect_message<?php echo $transaction_id; ?>').text(event.error.message).addClass('mec-error').show();
|
2982 |
-
// Hide the Message
|
2983 |
-
else jQuery("#mec_do_transaction_stripe_connect_message<?php echo $transaction_id; ?>").removeClass("mec-success mec-error").hide();
|
2984 |
-
});
|
2985 |
-
|
2986 |
-
jQuery('#mec_do_transaction_stripe_connect_form<?php echo $transaction_id; ?>').on('submit', function(e)
|
2987 |
-
{
|
2988 |
-
// Prevent the form from submitting
|
2989 |
-
e.preventDefault();
|
2990 |
-
|
2991 |
-
var form = jQuery(this);
|
2992 |
-
var transaction_id = '<?php echo $transaction_id; ?>';
|
2993 |
-
|
2994 |
-
// No pressing the buy now button more than once
|
2995 |
-
form.find('button').prop('disabled', true);
|
2996 |
-
|
2997 |
-
// Add loading Class to the button
|
2998 |
-
jQuery("#mec_do_transaction_stripe_connect_form" + transaction_id + " button[type=submit]").addClass("loading");
|
2999 |
-
|
3000 |
-
// Hide the Message
|
3001 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).removeClass("mec-success mec-error").hide();
|
3002 |
-
|
3003 |
-
var payer_name = jQuery("#mec_name_stripe_connect_" + transaction_id).val();
|
3004 |
-
var payer_email = jQuery("#mec_email_stripe_connect_" + transaction_id).val();
|
3005 |
-
var payer_details = {
|
3006 |
-
billing_details: {}
|
3007 |
-
};
|
3008 |
-
|
3009 |
-
if(payer_name !== '') payer_details.billing_details.name = payer_name;
|
3010 |
-
if(payer_email !== '') payer_details.billing_details.email = payer_email;
|
3011 |
-
|
3012 |
-
stripe.createPaymentMethod('card', card, payer_details).then(function(result)
|
3013 |
-
{
|
3014 |
-
if(result.error)
|
3015 |
-
{
|
3016 |
-
// Remove the loading Class from the button
|
3017 |
-
jQuery("#mec_do_transaction_stripe_connect_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
3018 |
-
|
3019 |
-
// Show the user what they did wrong
|
3020 |
-
jQuery('#mec_do_transaction_stripe_connect_message' + transaction_id).text(result.error.message).addClass('mec-error').show();
|
3021 |
-
|
3022 |
-
// Make the submit clickable again
|
3023 |
-
form.find('button').prop('disabled', false);
|
3024 |
-
}
|
3025 |
-
else
|
3026 |
-
{
|
3027 |
-
// Make the submit clickable again
|
3028 |
-
form.find('button').prop('disabled', false);
|
3029 |
-
|
3030 |
-
// Hide the Message
|
3031 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).removeClass("mec-success mec-error").hide();
|
3032 |
-
|
3033 |
-
// Set Payment Method ID
|
3034 |
-
jQuery("#mec_do_transaction_stripe_connect_payment_method_id" + transaction_id).val(result.paymentMethod.id);
|
3035 |
-
|
3036 |
-
var data = form.serialize();
|
3037 |
-
jQuery.ajax(
|
3038 |
-
{
|
3039 |
-
type: "GET",
|
3040 |
-
url: "<?php echo admin_url('admin-ajax.php', NULL); ?>",
|
3041 |
-
data: data,
|
3042 |
-
dataType: "JSON",
|
3043 |
-
success: function(data)
|
3044 |
-
{
|
3045 |
-
if(data.success === 1)
|
3046 |
-
{
|
3047 |
-
// Remove the loading Class from the button
|
3048 |
-
jQuery("#mec_do_transaction_stripe_connect_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
3049 |
-
|
3050 |
-
jQuery("#mec_do_transaction_stripe_connect_form" + transaction_id).hide();
|
3051 |
-
jQuery(".mec-book-form-gateway-label").remove();
|
3052 |
-
jQuery(".mec-book-form-coupon").hide();
|
3053 |
-
jQuery(".mec-gateway-comment").hide();
|
3054 |
-
|
3055 |
-
jQuery("#mec-book-form-back-btn-step-3").remove();
|
3056 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).addClass("mec-success").html(data.message).show();
|
3057 |
-
|
3058 |
-
// Show Invoice Link
|
3059 |
-
if(typeof data.data.invoice_link !== "undefined" && data.data.invoice_link != "")
|
3060 |
-
{
|
3061 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).append(' <a class="mec-invoice-download" href="' + data.data.invoice_link + '"><?php echo esc_js(__('Download Invoice', 'modern-events-calendar-lite')); ?></a>');
|
3062 |
-
}
|
3063 |
-
|
3064 |
-
// Show Downloadable Link
|
3065 |
-
if(typeof data.data.dl_file_link !== "undefined" && data.data.dl_file_link != "")
|
3066 |
-
{
|
3067 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).append(' — <a class="mec-dl-file-download" href="' + data.data.dl_file_link + '"><?php echo esc_js(__('Download File', 'modern-events-calendar-lite')); ?></a>');
|
3068 |
-
}
|
3069 |
-
|
3070 |
-
// Show Extra info
|
3071 |
-
if(typeof data.data.extra_info !== "undefined" && data.data.extra_info != "" && data.data.extra_info != null)
|
3072 |
-
{
|
3073 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).append('<div>' + data.data.extra_info+'</div>');
|
3074 |
-
}
|
3075 |
-
|
3076 |
-
// Redirect to thank you page
|
3077 |
-
if(typeof data.data.redirect_to !== "undefined" && data.data.redirect_to !== "")
|
3078 |
-
{
|
3079 |
-
setTimeout(function()
|
3080 |
-
{
|
3081 |
-
window.location.href = data.data.redirect_to;
|
3082 |
-
}, <?php echo $this->main->get_thankyou_page_time($transaction_id); ?>);
|
3083 |
-
}
|
3084 |
-
}
|
3085 |
-
else if(data.requires_action)
|
3086 |
-
{
|
3087 |
-
stripe.handleCardAction(data.payment_intent_client_secret).then(function(result)
|
3088 |
-
{
|
3089 |
-
if(result.error)
|
3090 |
-
{
|
3091 |
-
// Show the user what they did wrong
|
3092 |
-
jQuery('#mec_do_transaction_stripe_connect_message' + transaction_id).text(result.error.message).addClass('mec-error').show();
|
3093 |
-
|
3094 |
-
// Remove the loading Class from the button
|
3095 |
-
jQuery("#mec_do_transaction_stripe_connect_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
3096 |
-
|
3097 |
-
// Make the submit clickable again
|
3098 |
-
form.find('button').prop('disabled', false);
|
3099 |
-
}
|
3100 |
-
else
|
3101 |
-
{
|
3102 |
-
// Set Payment Intent ID
|
3103 |
-
jQuery("#mec_do_transaction_stripe_connect_payment_intent_id" + transaction_id).val(result.paymentIntent.id);
|
3104 |
-
|
3105 |
-
var data = form.serialize();
|
3106 |
-
jQuery.ajax(
|
3107 |
-
{
|
3108 |
-
type: "GET",
|
3109 |
-
url: "<?php echo admin_url('admin-ajax.php', NULL); ?>",
|
3110 |
-
data: data,
|
3111 |
-
dataType: "JSON",
|
3112 |
-
success: function(data)
|
3113 |
-
{
|
3114 |
-
if(data.success === 1)
|
3115 |
-
{
|
3116 |
-
// Remove the loading Class from the button
|
3117 |
-
jQuery("#mec_do_transaction_stripe_connect_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
3118 |
-
|
3119 |
-
jQuery("#mec_do_transaction_stripe_connect_form" + transaction_id).hide();
|
3120 |
-
jQuery(".mec-book-form-gateway-label").remove();
|
3121 |
-
jQuery(".mec-book-form-coupon").hide();
|
3122 |
-
jQuery(".mec-gateway-comment").hide();
|
3123 |
-
|
3124 |
-
jQuery("#mec-book-form-back-btn-step-3").remove();
|
3125 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).addClass("mec-success").html(data.message).show();
|
3126 |
-
|
3127 |
-
// Show Invoice Link
|
3128 |
-
if(typeof data.data.invoice_link !== "undefined" && data.data.invoice_link != "")
|
3129 |
-
{
|
3130 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).append(' <a class="mec-invoice-download" href="' + data.data.invoice_link + '"><?php echo esc_js(__('Download Invoice', 'modern-events-calendar-lite')); ?></a>');
|
3131 |
-
}
|
3132 |
-
|
3133 |
-
// Show Downloadable Link
|
3134 |
-
if(typeof data.data.dl_file_link !== "undefined" && data.data.dl_file_link != "")
|
3135 |
-
{
|
3136 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).append(' — <a class="mec-dl-file-download" href="' + data.data.dl_file_link + '"><?php echo esc_js(__('Download File', 'modern-events-calendar-lite')); ?></a>');
|
3137 |
-
}
|
3138 |
-
|
3139 |
-
// Show Extra info
|
3140 |
-
if(typeof data.data.extra_info !== "undefined" && data.data.extra_info != "" && data.data.extra_info != null)
|
3141 |
-
{
|
3142 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).append('<div>' + data.data.extra_info+'</div>');
|
3143 |
-
}
|
3144 |
-
|
3145 |
-
// Redirect to thank you page
|
3146 |
-
if(typeof data.data.redirect_to !== "undefined" && data.data.redirect_to !== "")
|
3147 |
-
{
|
3148 |
-
setTimeout(function()
|
3149 |
-
{
|
3150 |
-
window.location.href = data.data.redirect_to;
|
3151 |
-
}, <?php echo $this->main->get_thankyou_page_time($transaction_id); ?>);
|
3152 |
-
}
|
3153 |
-
}
|
3154 |
-
else
|
3155 |
-
{
|
3156 |
-
// Remove the loading Class from the button
|
3157 |
-
jQuery("#mec_do_transaction_stripe_connect_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
3158 |
-
|
3159 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).addClass("mec-error").html(data.message).show();
|
3160 |
-
}
|
3161 |
-
},
|
3162 |
-
error: function(jqXHR, textStatus, errorThrown)
|
3163 |
-
{
|
3164 |
-
// Remove the loading Class from the button
|
3165 |
-
jQuery("#mec_do_transaction_stripe_connect_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
3166 |
-
}
|
3167 |
-
});
|
3168 |
-
}
|
3169 |
-
});
|
3170 |
-
}
|
3171 |
-
else
|
3172 |
-
{
|
3173 |
-
// Remove the loading Class from the button
|
3174 |
-
jQuery("#mec_do_transaction_stripe_connect_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
3175 |
-
|
3176 |
-
jQuery("#mec_do_transaction_stripe_connect_message" + transaction_id).addClass("mec-error").html(data.message).show();
|
3177 |
-
}
|
3178 |
-
},
|
3179 |
-
error: function(jqXHR, textStatus, errorThrown)
|
3180 |
-
{
|
3181 |
-
// Remove the loading Class from the button
|
3182 |
-
jQuery("#mec_do_transaction_stripe_connect_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
3183 |
-
}
|
3184 |
-
});
|
3185 |
-
}
|
3186 |
-
});
|
3187 |
-
});
|
3188 |
-
</script>
|
3189 |
-
<div class="mec-gateway-message mec-util-hidden" id="mec_do_transaction_stripe_connect_message<?php echo $transaction_id; ?>" role="alert"></div>
|
3190 |
-
<form id="mec_do_transaction_stripe_connect_form<?php echo $transaction_id; ?>">
|
3191 |
-
<div class="mec-form-row">
|
3192 |
-
<label for="mec_name_stripe_connect_<?php echo $transaction_id; ?>">
|
3193 |
-
<?php _e('Name', 'modern-events-calendar-lite'); ?>
|
3194 |
-
</label>
|
3195 |
-
<input id="mec_name_stripe_connect_<?php echo $transaction_id; ?>" type="text" value="<?php echo esc_attr($main_attendee_name); ?>">
|
3196 |
-
</div>
|
3197 |
-
<div class="mec-form-row">
|
3198 |
-
<label for="mec_email_stripe_connect_<?php echo $transaction_id; ?>">
|
3199 |
-
<?php _e('Email', 'modern-events-calendar-lite'); ?>
|
3200 |
-
</label>
|
3201 |
-
<input id="mec_email_stripe_connect_<?php echo $transaction_id; ?>" type="email" value="<?php echo esc_attr($main_attendee_email); ?>">
|
3202 |
-
</div>
|
3203 |
-
<div class="mec-form-row">
|
3204 |
-
<label for="mec_card_element_stripe_connect_<?php echo $transaction_id; ?>">
|
3205 |
-
<?php _e('Credit or debit card', 'modern-events-calendar-lite'); ?>
|
3206 |
-
</label>
|
3207 |
-
<div id="mec_card_element_stripe_connect_<?php echo $transaction_id; ?>">
|
3208 |
-
</div>
|
3209 |
-
</div>
|
3210 |
-
<div class="mec-form-row mec-click-pay">
|
3211 |
-
<input type="hidden" name="action" value="mec_do_transaction_stripe_connect"/>
|
3212 |
-
<input type="hidden" name="transaction_id" value="<?php echo $transaction_id; ?>"/>
|
3213 |
-
<input type="hidden" name="gateway_id" value="<?php echo $this->id(); ?>"/>
|
3214 |
-
<input type="hidden" name="payment_method_id" value="" id="mec_do_transaction_stripe_connect_payment_method_id<?php echo $transaction_id; ?>"/>
|
3215 |
-
<input type="hidden" name="payment_intent_id" value="" id="mec_do_transaction_stripe_connect_payment_intent_id<?php echo $transaction_id; ?>"/>
|
3216 |
-
<?php wp_nonce_field('mec_transaction_form_' . $transaction_id); ?>
|
3217 |
-
<button type="submit" class="mec-book-form-next-button"><?php _e('Pay', 'modern-events-calendar-lite'); ?></button>
|
3218 |
-
</div>
|
3219 |
-
</form>
|
3220 |
-
<?php
|
3221 |
-
}
|
3222 |
-
|
3223 |
-
public function checkout_form_ideal($transaction_id, $params = array())
|
3224 |
-
{
|
3225 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
3226 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : 0;
|
3227 |
-
|
3228 |
-
$main_attendee_name = ((isset($transaction['tickets']) and isset($transaction['tickets'][0]) and isset($transaction['tickets'][0]['name'])) ? $transaction['tickets'][0]['name'] : '');
|
3229 |
-
$event = get_post($event_id);
|
3230 |
-
|
3231 |
-
$author_id = $event->post_author;
|
3232 |
-
$stripe_user_id = get_user_meta($author_id, 'mec_stripe_id', true);
|
3233 |
-
?>
|
3234 |
-
<script type="text/javascript">
|
3235 |
-
var stripe;
|
3236 |
-
|
3237 |
-
<?php if($stripe_user_id): ?>
|
3238 |
-
stripe = Stripe("<?php echo(isset($this->options['publishable_key']) ? $this->options['publishable_key'] : ''); ?>", {
|
3239 |
-
stripeAccount: "<?php echo $stripe_user_id; ?>"
|
3240 |
-
});
|
3241 |
-
<?php else: ?>
|
3242 |
-
stripe = Stripe("<?php echo(isset($this->options['publishable_key']) ? $this->options['publishable_key'] : ''); ?>");
|
3243 |
-
<?php endif; ?>
|
3244 |
-
|
3245 |
-
var elements = stripe.elements();
|
3246 |
-
|
3247 |
-
var idealBank = elements.create('idealBank');
|
3248 |
-
idealBank.mount('#mec_card_element_stripe_<?php echo $transaction_id; ?>');
|
3249 |
-
|
3250 |
-
jQuery('#mec_do_transaction_stripe_form<?php echo $transaction_id; ?>').on('submit', function(e)
|
3251 |
-
{
|
3252 |
-
// Prevent the form from submitting
|
3253 |
-
e.preventDefault();
|
3254 |
-
|
3255 |
-
var form = jQuery(this);
|
3256 |
-
var transaction_id = '<?php echo $transaction_id; ?>';
|
3257 |
-
|
3258 |
-
// No pressing the buy now button more than once
|
3259 |
-
form.find('button').prop('disabled', true);
|
3260 |
-
|
3261 |
-
// Hide the Message
|
3262 |
-
jQuery("#mec_do_transaction_stripe_message" + transaction_id).removeClass("mec-success mec-error").hide();
|
3263 |
-
|
3264 |
-
// Add loading Class to the button
|
3265 |
-
jQuery("#mec_do_transaction_stripe_form" + transaction_id + " button[type=submit]").addClass("loading");
|
3266 |
-
|
3267 |
-
var payer_name = jQuery("#mec_name_stripe_" + transaction_id).val();
|
3268 |
-
var source = {
|
3269 |
-
type: 'ideal',
|
3270 |
-
amount: <?php echo (isset($transaction['price']) ? ((int) $this->stripe_multiply($transaction['price'], $this->main->get_currency_code($event_id))) : 0); ?>,
|
3271 |
-
currency: '<?php echo $this->main->get_currency_code($event_id); ?>',
|
3272 |
-
owner:
|
3273 |
-
{
|
3274 |
-
name: payer_name,
|
3275 |
-
},
|
3276 |
-
redirect:
|
3277 |
-
{
|
3278 |
-
return_url: '<?php echo $this->main->add_qs_var('mec_ideal_transaction_id', $transaction_id, $this->get_return_url($event_id, false)); ?>',
|
3279 |
-
}
|
3280 |
-
};
|
3281 |
-
|
3282 |
-
stripe.createSource(idealBank, source).then(function(result)
|
3283 |
-
{
|
3284 |
-
if(result.error) jQuery("#mec_do_transaction_stripe_message" + transaction_id).addClass("mec-error").html(result.error.message).show();
|
3285 |
-
else document.location.href = result.source.redirect.url;
|
3286 |
-
});
|
3287 |
-
});
|
3288 |
-
</script>
|
3289 |
-
<div class="mec-gateway-message mec-util-hidden"
|
3290 |
-
id="mec_do_transaction_stripe_message<?php echo $transaction_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
3291 |
-
<form id="mec_do_transaction_stripe_form<?php echo $transaction_id; ?>">
|
3292 |
-
<div class="info-msg"><?php esc_html_e("You should complete the payment by returning back to the website.", 'modern-events-calendar-lite'); ?></div>
|
3293 |
-
<div class="mec-form-row mec-name-stripe">
|
3294 |
-
<label for="mec_name_stripe_<?php echo $transaction_id; ?>">
|
3295 |
-
<?php _e('Name', 'modern-events-calendar-lite'); ?>
|
3296 |
-
</label>
|
3297 |
-
<input id="mec_name_stripe_<?php echo $transaction_id; ?>" type="text" value="<?php echo esc_attr($main_attendee_name); ?>">
|
3298 |
-
</div>
|
3299 |
-
<div class="mec-form-row mec-ideal-element-stripe">
|
3300 |
-
<label for="mec_card_element_stripe_<?php echo $transaction_id; ?>">
|
3301 |
-
<?php _e('iDEAL Bank', 'modern-events-calendar-lite'); ?>
|
3302 |
-
</label>
|
3303 |
-
<div id="mec_card_element_stripe_<?php echo $transaction_id; ?>">
|
3304 |
-
</div>
|
3305 |
-
</div>
|
3306 |
-
<div class="mec-form-row mec-click-pay">
|
3307 |
-
<button type="submit" class="mec-book-form-next-button"><?php _e('Pay', 'modern-events-calendar-lite'); ?></button>
|
3308 |
-
</div>
|
3309 |
-
</form>
|
3310 |
-
<?php
|
3311 |
-
}
|
3312 |
-
|
3313 |
-
public function options_form()
|
3314 |
-
{
|
3315 |
-
$pages = get_pages();
|
3316 |
-
$connection_method = (isset($this->options['connection_method']) and trim($this->options['connection_method'])) ? $this->options['connection_method'] : 'standard';
|
3317 |
-
?>
|
3318 |
-
<div class="mec-form-row">
|
3319 |
-
<label>
|
3320 |
-
<input type="hidden" name="mec[gateways][<?php echo $this->id(); ?>][status]" value="0"/>
|
3321 |
-
<input onchange="jQuery('#mec_gateways<?php echo $this->id(); ?>_container_toggle').toggle(); if(jQuery(this).is(':checked')) jQuery('#mec_gateways_op_status').prop('checked', 'checked');" value="1"
|
3322 |
-
type="checkbox" name="mec[gateways][<?php echo $this->id(); ?>][status]"
|
3323 |
-
<?php
|
3324 |
-
if (isset($this->options['status']) and $this->options['status']) {
|
3325 |
-
echo 'checked="checked"';
|
3326 |
-
}
|
3327 |
-
?>
|
3328 |
-
/> <?php _e('Stripe Connect', 'modern-events-calendar-lite'); ?>
|
3329 |
-
</label>
|
3330 |
-
</div>
|
3331 |
-
<div id="mec_gateways<?php echo $this->id(); ?>_container_toggle" class="mec-gateway-options-form
|
3332 |
-
<?php
|
3333 |
-
if ((isset($this->options['status']) and !$this->options['status']) or !isset($this->options['status'])) {
|
3334 |
-
echo 'mec-util-hidden';
|
3335 |
-
}
|
3336 |
-
?>">
|
3337 |
-
<p><?php _e("Using this gateway, booking fee goes to the organizer account directly but you can get your fee in your Stripe account.", 'modern-events-calendar-lite'); ?></p>
|
3338 |
-
<p><?php _e("If organizer connects their account, then it will be the only enabled gateway for organizer events even if other gateways are enabled. Organizer Payment Module must be enabled to use this!", 'modern-events-calendar-lite'); ?></p>
|
3339 |
-
<p class="mec-only-strip-connect-standard <?php echo ($connection_method == 'express' ? 'w-hide' : ''); ?>"><?php echo sprintf(__("You should set %s as Redirect URL in your Stripe dashboard.", 'modern-events-calendar-lite'), '<code>'.rtrim(get_home_url(), '/').'/?mec-stripe-connect=1</code>'); ?></p>
|
3340 |
-
<br>
|
3341 |
-
<div class="mec-form-row">
|
3342 |
-
<label class="mec-col-3"
|
3343 |
-
for="mec_gateways<?php echo $this->id(); ?>_title"><?php _e('Title', 'modern-events-calendar-lite'); ?></label>
|
3344 |
-
<div class="mec-col-9">
|
3345 |
-
<input type="text" id="mec_gateways<?php echo $this->id(); ?>_title" name="mec[gateways][<?php echo $this->id(); ?>][title]" value="<?php echo (isset($this->options['title']) and trim($this->options['title'])) ? $this->options['title'] : ''; ?>" placeholder="<?php echo $this->label(); ?>"/>
|
3346 |
-
</div>
|
3347 |
-
</div>
|
3348 |
-
<div class="mec-form-row">
|
3349 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_comment"><?php _e('Comment', 'modern-events-calendar-lite'); ?></label>
|
3350 |
-
<div class="mec-col-9">
|
3351 |
-
<textarea id="mec_gateways<?php echo $this->id(); ?>_comment" name="mec[gateways][<?php echo $this->id(); ?>][comment]"><?php echo (isset($this->options['comment']) and trim($this->options['comment'])) ? stripslashes($this->options['comment']) : esc_html__('Stripe Gateway Description', 'modern-events-calendar-lite'); ?></textarea>
|
3352 |
-
<span class="mec-tooltip">
|
3353 |
-
<div class="box left">
|
3354 |
-
<h5 class="title"><?php _e('Comment', 'modern-events-calendar-lite'); ?></h5>
|
3355 |
-
<div class="content"><p><?php esc_attr_e('HTML allowed.', 'modern-events-calendar-lite'); ?><a href="https://webnus.net/dox/modern-events-calendar/booking/" target="_blank"><?php _e('Read More', 'modern-events-calendar-lite'); ?></a></p></div>
|
3356 |
-
</div>
|
3357 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
3358 |
-
</span>
|
3359 |
-
</div>
|
3360 |
-
</div>
|
3361 |
-
<div class="mec-form-row">
|
3362 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_organizer_comment"><?php _e('Comment for Organizer', 'modern-events-calendar-lite'); ?></label>
|
3363 |
-
<div class="mec-col-9">
|
3364 |
-
<textarea id="mec_gateways<?php echo $this->id(); ?>organizer_comment" name="mec[gateways][<?php echo $this->id(); ?>][organizer_comment]"><?php echo (isset($this->options['organizer_comment']) and trim($this->options['organizer_comment'])) ? stripslashes($this->options['organizer_comment']) : ''; ?></textarea>
|
3365 |
-
<span class="mec-tooltip">
|
3366 |
-
<div class="box left">
|
3367 |
-
<h5 class="title"><?php _e('Comment', 'modern-events-calendar-lite'); ?></h5>
|
3368 |
-
<div class="content"><p><?php esc_attr_e('HTML allowed.', 'modern-events-calendar-lite'); ?><a href="https://webnus.net/dox/modern-events-calendar/booking/" target="_blank"><?php _e('Read More', 'modern-events-calendar-lite'); ?></a></p></div>
|
3369 |
-
</div>
|
3370 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
3371 |
-
</span>
|
3372 |
-
</div>
|
3373 |
-
</div>
|
3374 |
-
<div class="mec-form-row">
|
3375 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_connection_method"><?php _e('Connection Method', 'modern-events-calendar-lite'); ?></label>
|
3376 |
-
<div class="mec-col-9">
|
3377 |
-
<select name="mec[gateways][<?php echo $this->id(); ?>][connection_method]" id="mec_gateways<?php echo $this->id(); ?>_connection_method" onchange="if(this.value === 'express') jQuery('.mec-only-strip-connect-standard').addClass('w-hide'); else jQuery('.mec-only-strip-connect-standard').removeClass('w-hide');">
|
3378 |
-
<option value="standard" <?php echo (isset($this->options['connection_method']) and $this->options['connection_method'] == 'standard') ? 'selected="selected"' : ''; ?>><?php esc_html_e('Standard', 'modern-events-calendar-lite'); ?></option>
|
3379 |
-
<option value="express" <?php echo (isset($this->options['connection_method']) and $this->options['connection_method'] == 'express') ? 'selected="selected"' : ''; ?>><?php esc_html_e('Express', 'modern-events-calendar-lite'); ?></option>
|
3380 |
-
</select>
|
3381 |
-
</div>
|
3382 |
-
</div>
|
3383 |
-
<div class="mec-form-row">
|
3384 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_payment_method"><?php _e('Payment Method', 'modern-events-calendar-lite'); ?></label>
|
3385 |
-
<div class="mec-col-9">
|
3386 |
-
<select name="mec[gateways][<?php echo $this->id(); ?>][payment_method]" id="mec_gateways<?php echo $this->id(); ?>_payment_method">
|
3387 |
-
<option value="cc" <?php echo (isset($this->options['payment_method']) and $this->options['payment_method'] == 'cc') ? 'selected="selected"' : ''; ?>><?php esc_html_e('Credit Card', 'modern-events-calendar-lite'); ?></option>
|
3388 |
-
<option value="ideal" <?php echo (isset($this->options['payment_method']) and $this->options['payment_method'] == 'ideal') ? 'selected="selected"' : ''; ?>><?php esc_html_e('iDEAL', 'modern-events-calendar-lite'); ?></option>
|
3389 |
-
</select>
|
3390 |
-
</div>
|
3391 |
-
</div>
|
3392 |
-
<div class="mec-form-row mec-only-strip-connect-standard <?php echo ($connection_method == 'express' ? 'w-hide' : ''); ?>">
|
3393 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_client_id"><?php _e('Client ID', 'modern-events-calendar-lite'); ?></label>
|
3394 |
-
<div class="mec-col-9">
|
3395 |
-
<input class="mec-required" type="text" id="mec_gateways<?php echo $this->id(); ?>_client_id" name="mec[gateways][<?php echo $this->id(); ?>][client_id]" value="<?php echo isset($this->options['client_id']) ? $this->options['client_id'] : ''; ?>">
|
3396 |
-
</div>
|
3397 |
-
</div>
|
3398 |
-
<div class="mec-form-row">
|
3399 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_secret_key"><?php _e('Secret Key', 'modern-events-calendar-lite'); ?></label>
|
3400 |
-
<div class="mec-col-9">
|
3401 |
-
<input class="mec-required" type="text" id="mec_gateways<?php echo $this->id(); ?>_secret_key" name="mec[gateways][<?php echo $this->id(); ?>][secret_key]" value="<?php echo isset($this->options['secret_key']) ? $this->options['secret_key'] : ''; ?>"/>
|
3402 |
-
</div>
|
3403 |
-
</div>
|
3404 |
-
<div class="mec-form-row">
|
3405 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_publishable_key"><?php _e('Publishable Key', 'modern-events-calendar-lite'); ?></label>
|
3406 |
-
<div class="mec-col-9">
|
3407 |
-
<input class="mec-required" type="text" id="mec_gateways<?php echo $this->id(); ?>_publishable_key" name="mec[gateways][<?php echo $this->id(); ?>][publishable_key]" value="<?php echo isset($this->options['publishable_key']) ? $this->options['publishable_key'] : ''; ?>"/>
|
3408 |
-
</div>
|
3409 |
-
</div>
|
3410 |
-
<div class="mec-form-row">
|
3411 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_fee"><?php _e('Your Fee', 'modern-events-calendar-lite'); ?></label>
|
3412 |
-
<div class="mec-col-9">
|
3413 |
-
<div class="mec-form-row">
|
3414 |
-
<div class="mec-col-4">
|
3415 |
-
<input type="number" id="mec_gateways<?php echo $this->id(); ?>_fee" name="mec[gateways][<?php echo $this->id(); ?>][fee]" value="<?php echo isset($this->options['fee']) ? $this->options['fee'] : 10; ?>">
|
3416 |
-
</div>
|
3417 |
-
<div class="mec-col-4">
|
3418 |
-
<select id="mec_gateways<?php echo $this->id(); ?>_fee_type" name="mec[gateways][<?php echo $this->id(); ?>][fee_type]" title="<?php esc_attr_e('Fee Type', 'modern-events-calendar-lite'); ?>">
|
3419 |
-
<option value="amount" <?php echo ((isset($this->options['fee_type']) and $this->options['fee_type'] == 'amount') ? 'selected="selected"' : ''); ?>><?php _e('Amount', 'modern-events-calendar-lite'); ?></option>
|
3420 |
-
<option value="percent" <?php echo ((isset($this->options['fee_type']) and $this->options['fee_type'] == 'percent') ? 'selected="selected"' : ''); ?>><?php _e('Percent', 'modern-events-calendar-lite'); ?></option>
|
3421 |
-
</select>
|
3422 |
-
</div>
|
3423 |
-
<div class="mec-col-4">
|
3424 |
-
<select id="mec_gateways<?php echo $this->id(); ?>_fee_per" name="mec[gateways][<?php echo $this->id(); ?>][fee_per]" title="<?php esc_attr_e('Per', 'modern-events-calendar-lite'); ?>">
|
3425 |
-
<option value="booking" <?php echo ((isset($this->options['fee_per']) and $this->options['fee_per'] == 'booking') ? 'selected="selected"' : ''); ?>><?php _e('Booking', 'modern-events-calendar-lite'); ?></option>
|
3426 |
-
<option value="ticket" <?php echo ((isset($this->options['fee_per']) and $this->options['fee_per'] == 'ticket') ? 'selected="selected"' : ''); ?>><?php _e('Ticket', 'modern-events-calendar-lite'); ?></option>
|
3427 |
-
</select>
|
3428 |
-
</div>
|
3429 |
-
</div>
|
3430 |
-
</div>
|
3431 |
-
|
3432 |
-
</div>
|
3433 |
-
<div class="mec-form-row">
|
3434 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_redirection_page"><?php _e('Redirection Page', 'modern-events-calendar-lite'); ?></label>
|
3435 |
-
<div class="mec-col-9">
|
3436 |
-
<select id="mec_gateways<?php echo $this->id(); ?>_redirection_page" name="mec[gateways][<?php echo $this->id(); ?>][redirection_page]">
|
3437 |
-
<option value="">-----</option>
|
3438 |
-
<?php foreach($pages as $page): if(!trim($page->post_title)) continue; ?>
|
3439 |
-
<option value="<?php echo $page->ID; ?>" <?php echo ((isset($this->options['redirection_page']) and $this->options['redirection_page'] == $page->ID) ? 'selected="selected"' : ''); ?>><?php echo $page->post_title; ?></option>
|
3440 |
-
<?php endforeach; ?>
|
3441 |
-
</select>
|
3442 |
-
<span class="mec-tooltip">
|
3443 |
-
<div class="box left">
|
3444 |
-
<h5 class="title"><?php _e('Redirection Page', 'modern-events-calendar-lite'); ?></h5>
|
3445 |
-
<div class="content"><p><?php esc_attr_e('Users will redirect to this page after connecting to your Stripe account. You can create a page to thank them. If you leave it empty then users will redirect to home page!', 'modern-events-calendar-lite'); ?></p></div>
|
3446 |
-
</div>
|
3447 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
3448 |
-
</span>
|
3449 |
-
</div>
|
3450 |
-
</div>
|
3451 |
-
<div class="mec-form-row">
|
3452 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_index"><?php _e('Position', 'modern-events-calendar-lite'); ?></label>
|
3453 |
-
<div class="mec-col-9">
|
3454 |
-
<input type="number" min="0" step="1" id="mec_gateways<?php echo $this->id(); ?>_index"
|
3455 |
-
name="mec[gateways][<?php echo $this->id(); ?>][index]"
|
3456 |
-
value="<?php echo (isset($this->options['index']) and trim($this->options['index'])) ? $this->options['index'] : 6; ?>"
|
3457 |
-
placeholder="<?php echo esc_attr__('Position', 'modern-events-calendar-lite'); ?>"/>
|
3458 |
-
</div>
|
3459 |
-
</div>
|
3460 |
-
</div>
|
3461 |
-
<?php
|
3462 |
-
}
|
3463 |
-
|
3464 |
-
public function op_enabled()
|
3465 |
-
{
|
3466 |
-
return true;
|
3467 |
-
}
|
3468 |
-
|
3469 |
-
public function op_form($options = array())
|
3470 |
-
{
|
3471 |
-
$client_id = isset($this->options['client_id']) ? trim($this->options['client_id']) : NULL;
|
3472 |
-
$secret_key = isset($this->options['secret_key']) ? trim($this->options['secret_key']) : NULL;
|
3473 |
-
|
3474 |
-
if(!$client_id or !$secret_key) return '';
|
3475 |
-
|
3476 |
-
global $post;
|
3477 |
-
$strip_account_id = get_user_meta($post->post_author, 'mec_stripe_id', true);
|
3478 |
-
|
3479 |
-
$connection_method = $this->get_connection_method();
|
3480 |
-
if($connection_method === 'express')
|
3481 |
-
{
|
3482 |
-
try
|
3483 |
-
{
|
3484 |
-
// Set Stripe Secret Key
|
3485 |
-
\Stripe\Stripe::setApiKey($this->options['secret_key']);
|
3486 |
-
\Stripe\Account::createLoginLink($strip_account_id);
|
3487 |
-
}
|
3488 |
-
catch(Exception $e)
|
3489 |
-
{
|
3490 |
-
delete_user_meta($post->post_author, 'mec_stripe_id');
|
3491 |
-
$strip_account_id = NULL;
|
3492 |
-
}
|
3493 |
-
}
|
3494 |
-
?>
|
3495 |
-
<h4><?php echo $this->label(); ?></h4>
|
3496 |
-
<div class="mec-gateway-options-form">
|
3497 |
-
|
3498 |
-
<?php if(isset($this->options['organizer_comment']) and trim($this->options['organizer_comment'])): ?>
|
3499 |
-
<p><?php echo $this->options['organizer_comment']; ?></p>
|
3500 |
-
<?php endif; ?>
|
3501 |
-
|
3502 |
-
<div class="mec-form-row">
|
3503 |
-
<div class="mec-col-12">
|
3504 |
-
|
3505 |
-
<?php if($connection_method === 'express'): ?>
|
3506 |
-
<a id="mec_gateway_options_form_stripe_connection_button" class="button button-primary" onclick="mec_stripe_connection_checker();" href="<?php echo $this->main->URL('site'); ?>?mec-stripe-connect-express-redirect=1&_wpnonce=<?php echo wp_create_nonce('mec_stripe_connect_express_redirect'); ?>" target="_blank"><?php echo ($strip_account_id ? __('Connect New Account', 'modern-events-calendar-lite') : __('Connect', 'modern-events-calendar-lite')); ?></a>
|
3507 |
-
|
3508 |
-
<div id="mec_gateway_options_form_stripe_connection_success" class="<?php echo $strip_account_id ? '' : 'mec-util-hidden'; ?>">
|
3509 |
-
<p class="mec-success"><?php _e("You're connected to our account successfully and you will receive payments in your stripe account directly after deducting the fees.", 'modern-events-calendar-lite'); ?></p>
|
3510 |
-
<a href="<?php echo $this->main->URL('site'); ?>?mec-stripe-connect-express-dashboard=1&_wpnonce=<?php echo wp_create_nonce('mec_stripe_connect_express_dashboard'); ?>" target="_blank"><?php echo esc_html__('Visit your dashboard', 'modern-events-calendar-lite'); ?></a>
|
3511 |
-
</div>
|
3512 |
-
<?php else: ?>
|
3513 |
-
<a id="mec_gateway_options_form_stripe_connection_button" class="button button-primary" onclick="mec_stripe_connection_checker();" href="https://connect.stripe.com/oauth/authorize?response_type=code&client_id=<?php echo $client_id; ?>&scope=read_write" target="_blank"><?php echo ($strip_account_id ? __('Connect New Account', 'modern-events-calendar-lite') : __('Connect Your Account', 'modern-events-calendar-lite')); ?></a>
|
3514 |
-
|
3515 |
-
<div id="mec_gateway_options_form_stripe_connection_success" class="<?php echo $strip_account_id ? '' : 'mec-util-hidden'; ?>">
|
3516 |
-
<p class="mec-success"><?php _e("You're connected to our account successfully and you will receive payments in your stripe account directly after deducting the fees.", 'modern-events-calendar-lite'); ?></p>
|
3517 |
-
</div>
|
3518 |
-
<?php endif; ?>
|
3519 |
-
|
3520 |
-
</div>
|
3521 |
-
</div>
|
3522 |
-
</div>
|
3523 |
-
<script>
|
3524 |
-
function mec_stripe_connection_checker()
|
3525 |
-
{
|
3526 |
-
jQuery.ajax(
|
3527 |
-
{
|
3528 |
-
type: "GET",
|
3529 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
3530 |
-
data: "action=mec_check_stripe_connection",
|
3531 |
-
dataType: "JSON",
|
3532 |
-
success: function(data)
|
3533 |
-
{
|
3534 |
-
if(data.success === 1)
|
3535 |
-
{
|
3536 |
-
jQuery("#mec_gateway_options_form_stripe_connection_button").hide();
|
3537 |
-
|
3538 |
-
jQuery("#mec_gateway_options_form_stripe_connection_success").removeClass("mec-util-hidden");
|
3539 |
-
}
|
3540 |
-
else
|
3541 |
-
{
|
3542 |
-
setTimeout(function()
|
3543 |
-
{
|
3544 |
-
mec_stripe_connection_checker();
|
3545 |
-
}, 10000);
|
3546 |
-
}
|
3547 |
-
},
|
3548 |
-
error: function (jqXHR, textStatus, errorThrown)
|
3549 |
-
{
|
3550 |
-
}
|
3551 |
-
});
|
3552 |
-
}
|
3553 |
-
</script>
|
3554 |
-
<?php
|
3555 |
-
}
|
3556 |
-
|
3557 |
-
public function check_connection()
|
3558 |
-
{
|
3559 |
-
$success = 2;
|
3560 |
-
$message = __('Waiting for a response from gateway.', 'modern-events-calendar-lite');
|
3561 |
-
|
3562 |
-
$current_user_id = get_current_user_id();
|
3563 |
-
$stripe_user_id = get_user_meta($current_user_id, 'mec_stripe_id', true);
|
3564 |
-
|
3565 |
-
if($stripe_user_id)
|
3566 |
-
{
|
3567 |
-
$success = 1;
|
3568 |
-
$message = __('User connected successfully!', 'modern-events-calendar-lite');
|
3569 |
-
}
|
3570 |
-
|
3571 |
-
$this->response(
|
3572 |
-
array(
|
3573 |
-
'success' => $success,
|
3574 |
-
'message' => $message,
|
3575 |
-
)
|
3576 |
-
);
|
3577 |
-
}
|
3578 |
-
}
|
3579 |
-
|
3580 |
-
do_action('after_MEC_gateway');
|
3581 |
-
|
3582 |
-
class MEC_gateway_pay_locally extends MEC_gateway
|
3583 |
-
{
|
3584 |
-
public $id = 1;
|
3585 |
-
public $options;
|
3586 |
-
|
3587 |
-
public function __construct()
|
3588 |
-
{
|
3589 |
-
parent::__construct();
|
3590 |
-
|
3591 |
-
// Gateway options
|
3592 |
-
$this->options = $this->options();
|
3593 |
-
|
3594 |
-
// Register actions
|
3595 |
-
$this->factory->action('wp_ajax_mec_do_transaction_pay_locally', array($this, 'do_transaction'));
|
3596 |
-
$this->factory->action('wp_ajax_nopriv_mec_do_transaction_pay_locally', array($this, 'do_transaction'));
|
3597 |
-
|
3598 |
-
$this->factory->action('wp_ajax_mec_cart_do_transaction_pay_locally', array($this, 'cart_do_transaction'));
|
3599 |
-
$this->factory->action('wp_ajax_nopriv_mec_cart_do_transaction_pay_locally', array($this, 'cart_do_transaction'));
|
3600 |
-
}
|
3601 |
-
|
3602 |
-
public function label()
|
3603 |
-
{
|
3604 |
-
return __('Pay Locally', 'modern-events-calendar-lite');
|
3605 |
-
}
|
3606 |
-
|
3607 |
-
public function color()
|
3608 |
-
{
|
3609 |
-
return '#2DCA73';
|
3610 |
-
}
|
3611 |
-
|
3612 |
-
public function options_form()
|
3613 |
-
{
|
3614 |
-
?>
|
3615 |
-
<div class="mec-form-row mec-click-pay">
|
3616 |
-
<label>
|
3617 |
-
<input type="hidden" name="mec[gateways][<?php echo $this->id(); ?>][status]" value="0"/>
|
3618 |
-
<input onchange="jQuery('#mec_gateways<?php echo $this->id(); ?>_container_toggle').toggle();" value="1"
|
3619 |
-
type="checkbox" name="mec[gateways][<?php echo $this->id(); ?>][status]"
|
3620 |
-
<?php
|
3621 |
-
if (isset($this->options['status']) and $this->options['status']) {
|
3622 |
-
echo 'checked="checked"';
|
3623 |
-
}
|
3624 |
-
?>
|
3625 |
-
/> <?php _e('Pay Locally', 'modern-events-calendar-lite'); ?>
|
3626 |
-
</label>
|
3627 |
-
</div>
|
3628 |
-
<div id="mec_gateways<?php echo $this->id(); ?>_container_toggle" class="mec-gateway-options-form
|
3629 |
-
<?php
|
3630 |
-
if ((isset($this->options['status']) and !$this->options['status']) or !isset($this->options['status'])) {
|
3631 |
-
echo 'mec-util-hidden';
|
3632 |
-
}
|
3633 |
-
?>">
|
3634 |
-
<div class="mec-form-row">
|
3635 |
-
<label class="mec-col-3"
|
3636 |
-
for="mec_gateways<?php echo $this->id(); ?>_title"><?php _e('Title', 'modern-events-calendar-lite'); ?></label>
|
3637 |
-
<div class="mec-col-9">
|
3638 |
-
<input type="text" id="mec_gateways<?php echo $this->id(); ?>_title"
|
3639 |
-
name="mec[gateways][<?php echo $this->id(); ?>][title]"
|
3640 |
-
value="<?php echo (isset($this->options['title']) and trim($this->options['title'])) ? $this->options['title'] : ''; ?>"
|
3641 |
-
placeholder="<?php echo $this->label(); ?>"/>
|
3642 |
-
</div>
|
3643 |
-
</div>
|
3644 |
-
<div class="mec-form-row">
|
3645 |
-
<label class="mec-col-3"
|
3646 |
-
for="mec_gateways<?php echo $this->id(); ?>_comment"><?php _e('Comment', 'modern-events-calendar-lite'); ?></label>
|
3647 |
-
<div class="mec-col-9">
|
3648 |
-
<textarea id="mec_gateways<?php echo $this->id(); ?>_comment"
|
3649 |
-
name="mec[gateways][<?php echo $this->id(); ?>][comment]"><?php echo (isset($this->options['comment']) and trim($this->options['comment'])) ? stripslashes($this->options['comment']) : esc_html__('Pay Locally Description', 'modern-events-calendar-lite'); ?></textarea>
|
3650 |
-
<span class="mec-tooltip">
|
3651 |
-
<div class="box left">
|
3652 |
-
<h5 class="title"><?php _e('Comment', 'modern-events-calendar-lite'); ?></h5>
|
3653 |
-
<div class="content"><p><?php esc_attr_e('HTML allowed.', 'modern-events-calendar-lite'); ?><a
|
3654 |
-
href="https://webnus.net/dox/modern-events-calendar/booking/"
|
3655 |
-
target="_blank"><?php _e('Read More', 'modern-events-calendar-lite'); ?></a></p></div>
|
3656 |
-
</div>
|
3657 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
3658 |
-
</span>
|
3659 |
-
</div>
|
3660 |
-
</div>
|
3661 |
-
<div class="mec-form-row">
|
3662 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_index"><?php _e('Position', 'modern-events-calendar-lite'); ?></label>
|
3663 |
-
<div class="mec-col-9">
|
3664 |
-
<input type="number" min="0" step="1" id="mec_gateways<?php echo $this->id(); ?>_index"
|
3665 |
-
name="mec[gateways][<?php echo $this->id(); ?>][index]"
|
3666 |
-
value="<?php echo (isset($this->options['index']) and trim($this->options['index'])) ? $this->options['index'] : 1; ?>"
|
3667 |
-
placeholder="<?php echo esc_attr__('Position', 'modern-events-calendar-lite'); ?>"/>
|
3668 |
-
</div>
|
3669 |
-
</div>
|
3670 |
-
<div class="mec-form-row">
|
3671 |
-
<label class="mec-col-12">
|
3672 |
-
<input type="hidden" name="mec[gateways][<?php echo $this->id(); ?>][disable_auto_confirmation]" value="0">
|
3673 |
-
<input value="1" type="checkbox" name="mec[gateways][<?php echo $this->id(); ?>][disable_auto_confirmation]" <?php echo (isset($this->options['disable_auto_confirmation']) and trim($this->options['disable_auto_confirmation'])) ? 'checked="checked"' : ''; ?>>
|
3674 |
-
<?php _e('Disable Auto Confirmation', 'modern-events-calendar-lite'); ?>
|
3675 |
-
</label>
|
3676 |
-
</div>
|
3677 |
-
</div>
|
3678 |
-
<?php
|
3679 |
-
}
|
3680 |
-
|
3681 |
-
public function checkout_form($transaction_id, $params = array())
|
3682 |
-
{
|
3683 |
-
?>
|
3684 |
-
<script type="text/javascript">
|
3685 |
-
jQuery("#mec_do_transaction_pay_locally_form<?php echo $transaction_id; ?>").on("submit", function(event)
|
3686 |
-
{
|
3687 |
-
event.preventDefault();
|
3688 |
-
jQuery(this).find('button').attr('disabled', true);
|
3689 |
-
|
3690 |
-
// Add loading Class to the button
|
3691 |
-
jQuery("#mec_do_transaction_pay_locally_form<?php echo $transaction_id; ?> button[type=submit]").addClass("loading");
|
3692 |
-
jQuery("#mec_do_transaction_pay_locally_message<?php echo $transaction_id; ?>").removeClass("mec-success mec-error").hide();
|
3693 |
-
|
3694 |
-
var data = jQuery("#mec_do_transaction_pay_locally_form<?php echo $transaction_id; ?>").serialize();
|
3695 |
-
jQuery.ajax(
|
3696 |
-
{
|
3697 |
-
type: "GET",
|
3698 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
3699 |
-
data: data,
|
3700 |
-
dataType: "JSON",
|
3701 |
-
success: function (data)
|
3702 |
-
{
|
3703 |
-
// Remove the loading Class from the button
|
3704 |
-
jQuery("#mec_do_transaction_pay_locally_form<?php echo $transaction_id; ?> button[type=submit]").removeClass("loading");
|
3705 |
-
|
3706 |
-
jQuery("#mec_do_transaction_pay_locally_form<?php echo $transaction_id; ?>").hide();
|
3707 |
-
jQuery(".mec-book-form-gateway-label").remove();
|
3708 |
-
|
3709 |
-
if(data.success)
|
3710 |
-
{
|
3711 |
-
jQuery(".mec-book-form-coupon").hide();
|
3712 |
-
jQuery(".mec-gateway-comment").hide();
|
3713 |
-
|
3714 |
-
jQuery("#mec-book-form-back-btn-step-3").remove();
|
3715 |
-
jQuery("#mec_do_transaction_pay_locally_message<?php echo $transaction_id; ?>").addClass("mec-success").html(data.message).show();
|
3716 |
-
|
3717 |
-
// Show Invoice Link
|
3718 |
-
if(typeof data.data.invoice_link !== "undefined" && data.data.invoice_link != "")
|
3719 |
-
{
|
3720 |
-
jQuery("#mec_do_transaction_pay_locally_message<?php echo $transaction_id; ?>").append(' <a class="mec-invoice-download" href="' + data.data.invoice_link + '"><?php echo esc_js(__('Download Invoice', 'modern-events-calendar-lite')); ?></a>');
|
3721 |
-
}
|
3722 |
-
|
3723 |
-
// Show Downloadable Link
|
3724 |
-
if(typeof data.data.dl_file_link !== "undefined" && data.data.dl_file_link != "")
|
3725 |
-
{
|
3726 |
-
jQuery("#mec_do_transaction_pay_locally_message<?php echo $transaction_id; ?>").append(' — <a class="mec-dl-file-download" href="' + data.data.dl_file_link + '"><?php echo esc_js(__('Download File', 'modern-events-calendar-lite')); ?></a>');
|
3727 |
-
}
|
3728 |
-
|
3729 |
-
// Show Extra info
|
3730 |
-
if(typeof data.data.extra_info !== "undefined" && data.data.extra_info != "" && data.data.extra_info != null)
|
3731 |
-
{
|
3732 |
-
jQuery("#mec_do_transaction_pay_locally_message<?php echo $transaction_id; ?>").append('<div>' + data.data.extra_info+'</div>');
|
3733 |
-
}
|
3734 |
-
|
3735 |
-
// Redirect to thank you page
|
3736 |
-
if (typeof data.data.redirect_to != "undefined" && data.data.redirect_to != "") {
|
3737 |
-
setTimeout(function () {
|
3738 |
-
window.location.href = data.data.redirect_to;
|
3739 |
-
}, <?php echo $this->main->get_thankyou_page_time($transaction_id); ?>);
|
3740 |
-
}
|
3741 |
-
jQuery(this).find('button').removeAttr('disabled');
|
3742 |
-
}
|
3743 |
-
else {
|
3744 |
-
jQuery("#mec_do_transaction_pay_locally_message<?php echo $transaction_id; ?>").addClass("mec-error").html(data.message).show();
|
3745 |
-
}
|
3746 |
-
|
3747 |
-
},
|
3748 |
-
error: function (jqXHR, textStatus, errorThrown) {
|
3749 |
-
// Remove the loading Class from the button
|
3750 |
-
jQuery("#mec_do_transaction_pay_locally_form<?php echo $transaction_id; ?> button[type=submit]").removeClass("loading");
|
3751 |
-
}
|
3752 |
-
});
|
3753 |
-
});
|
3754 |
-
</script>
|
3755 |
-
<div class="mec-gateway-message mec-util-hidden"
|
3756 |
-
id="mec_do_transaction_pay_locally_message<?php echo $transaction_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
3757 |
-
<form id="mec_do_transaction_pay_locally_form<?php echo $transaction_id; ?>" class="mec-click-pay">
|
3758 |
-
<input type="hidden" name="action" value="mec_do_transaction_pay_locally"/>
|
3759 |
-
<input type="hidden" name="transaction_id" value="<?php echo $transaction_id; ?>"/>
|
3760 |
-
<input type="hidden" name="gateway_id" value="<?php echo $this->id(); ?>"/>
|
3761 |
-
<?php wp_nonce_field('mec_transaction_form_' . $transaction_id); ?>
|
3762 |
-
<button class="mec-book-form-next-button" type="submit"><?php _e('Submit', 'modern-events-calendar-lite'); ?></button>
|
3763 |
-
<?php do_action('mec_booking_checkout_form_before_end', $transaction_id); ?>
|
3764 |
-
</form>
|
3765 |
-
<?php
|
3766 |
-
}
|
3767 |
-
|
3768 |
-
public function do_transaction($transaction_id = null)
|
3769 |
-
{
|
3770 |
-
if(!trim($transaction_id)) $transaction_id = isset($_GET['transaction_id']) ? sanitize_text_field($_GET['transaction_id']) : 0;
|
3771 |
-
|
3772 |
-
// Verify that the nonce is valid.
|
3773 |
-
if(!wp_verify_nonce(sanitize_text_field($_GET['_wpnonce']), 'mec_transaction_form_' . $transaction_id))
|
3774 |
-
{
|
3775 |
-
$this->response(array(
|
3776 |
-
'success' => 0,
|
3777 |
-
'code' => 'NONCE_IS_INVALID',
|
3778 |
-
'message' => __('Request is invalid!', 'modern-events-calendar-lite'),
|
3779 |
-
));
|
3780 |
-
}
|
3781 |
-
|
3782 |
-
// Validate Ticket Availability
|
3783 |
-
$this->validate($transaction_id);
|
3784 |
-
|
3785 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
3786 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
3787 |
-
|
3788 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
3789 |
-
$attention_times = explode(':', $attention_date);
|
3790 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
3791 |
-
|
3792 |
-
// Is there any attendee?
|
3793 |
-
if (!count($attendees)) {
|
3794 |
-
$this->response(
|
3795 |
-
array(
|
3796 |
-
'success' => 0,
|
3797 |
-
'code' => 'NO_TICKET',
|
3798 |
-
'message' => __(
|
3799 |
-
'There is no attendee for booking!',
|
3800 |
-
'mec'
|
3801 |
-
),
|
3802 |
-
)
|
3803 |
-
);
|
3804 |
-
}
|
3805 |
-
|
3806 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
3807 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
3808 |
-
|
3809 |
-
$ticket_ids = '';
|
3810 |
-
$attendees_info = array();
|
3811 |
-
|
3812 |
-
foreach($attendees as $i => $attendee)
|
3813 |
-
{
|
3814 |
-
if(!is_numeric($i)) continue;
|
3815 |
-
|
3816 |
-
$ticket_ids .= $attendee['id'] . ',';
|
3817 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
3818 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
3819 |
-
}
|
3820 |
-
|
3821 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
3822 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
3823 |
-
|
3824 |
-
// Remove Sensitive Data
|
3825 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
3826 |
-
{
|
3827 |
-
unset($transaction['username']);
|
3828 |
-
unset($transaction['password']);
|
3829 |
-
|
3830 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
3831 |
-
}
|
3832 |
-
|
3833 |
-
// MEC User
|
3834 |
-
$u = $this->getUser();
|
3835 |
-
|
3836 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
3837 |
-
$book_id = $this->book->add(
|
3838 |
-
array(
|
3839 |
-
'post_author' => $user_id,
|
3840 |
-
'post_type' => $this->PT,
|
3841 |
-
'post_title' => $book_subject,
|
3842 |
-
'post_date' => $date,
|
3843 |
-
'attendees_info' => $attendees_info,
|
3844 |
-
'mec_attendees' => $attendees,
|
3845 |
-
'mec_gateway' => 'MEC_gateway_pay_locally',
|
3846 |
-
'mec_gateway_label' => $this->title()
|
3847 |
-
),
|
3848 |
-
$transaction_id,
|
3849 |
-
$ticket_ids
|
3850 |
-
);
|
3851 |
-
|
3852 |
-
// Assign User
|
3853 |
-
$u->assign($book_id, $user_id);
|
3854 |
-
|
3855 |
-
// Fires after completely creating a new booking
|
3856 |
-
do_action('mec_booking_completed', $book_id);
|
3857 |
-
|
3858 |
-
$event_id = (isset($transaction['event_id']) ? $transaction['event_id'] : 0);
|
3859 |
-
$redirect_to = '';
|
3860 |
-
|
3861 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
3862 |
-
if($thankyou_page_id) $redirect_to = $this->book->get_thankyou_page($thankyou_page_id, $transaction_id);
|
3863 |
-
|
3864 |
-
// Invoice Link
|
3865 |
-
$mec_confirmed = get_post_meta($book_id, 'mec_confirmed', true);
|
3866 |
-
$invoice_link = (!$mec_confirmed) ? '' : $this->book->get_invoice_link($transaction_id);
|
3867 |
-
$dl_file_link = (!$mec_confirmed) ? '' : $this->book->get_dl_file_link($book_id);
|
3868 |
-
|
3869 |
-
$extra_info = apply_filters('MEC_extra_info_gateways', '', $this->book->get_event_id_by_transaction_id($transaction_id), $book_id);
|
3870 |
-
|
3871 |
-
$this->response(
|
3872 |
-
array(
|
3873 |
-
'success' => 1,
|
3874 |
-
'message' => stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite'))),
|
3875 |
-
'data' => array(
|
3876 |
-
'book_id' => $book_id,
|
3877 |
-
'redirect_to' => $redirect_to,
|
3878 |
-
'invoice_link' => $invoice_link,
|
3879 |
-
'dl_file_link' => $dl_file_link,
|
3880 |
-
'extra_info' => $extra_info,
|
3881 |
-
),
|
3882 |
-
)
|
3883 |
-
);
|
3884 |
-
}
|
3885 |
-
|
3886 |
-
public function cart_checkout_form($cart_id, $params = array())
|
3887 |
-
{
|
3888 |
-
?>
|
3889 |
-
<div class="mec-gateway-message mec-util-hidden" id="mec_do_cart_pay_locally_message<?php echo $cart_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
3890 |
-
<form id="mec_do_cart_pay_locally_form<?php echo $cart_id; ?>" class="mec-click-pay">
|
3891 |
-
<input type="hidden" name="action" value="mec_cart_do_transaction_pay_locally"/>
|
3892 |
-
<input type="hidden" name="cart_id" value="<?php echo $cart_id; ?>"/>
|
3893 |
-
<input type="hidden" name="gateway_id" value="<?php echo $this->id(); ?>"/>
|
3894 |
-
<?php wp_nonce_field('mec_cart_form_' . $cart_id); ?>
|
3895 |
-
<button class="mec-book-form-next-button" type="submit"><?php _e('Submit', 'modern-events-calendar-lite'); ?></button>
|
3896 |
-
<?php do_action('mec_cart_checkout_form_before_end', $cart_id); ?>
|
3897 |
-
</form>
|
3898 |
-
<script type="text/javascript">
|
3899 |
-
jQuery("#mec_do_cart_pay_locally_form<?php echo $cart_id; ?>").on("submit", function(e)
|
3900 |
-
{
|
3901 |
-
e.preventDefault();
|
3902 |
-
jQuery(this).find('button').attr('disabled', true);
|
3903 |
-
|
3904 |
-
// Add loading Class to the button
|
3905 |
-
jQuery("#mec_do_cart_pay_locally_form<?php echo $cart_id; ?> button[type=submit]").addClass("loading");
|
3906 |
-
jQuery("#mec_do_cart_pay_locally_message<?php echo $cart_id; ?>").removeClass("mec-success mec-error").hide();
|
3907 |
-
|
3908 |
-
var data = jQuery("#mec_do_cart_pay_locally_form<?php echo $cart_id; ?>").serialize();
|
3909 |
-
jQuery.ajax(
|
3910 |
-
{
|
3911 |
-
type: "GET",
|
3912 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
3913 |
-
data: data,
|
3914 |
-
dataType: "JSON",
|
3915 |
-
success: function (data)
|
3916 |
-
{
|
3917 |
-
// Remove the loading Class from the button
|
3918 |
-
jQuery("#mec_do_cart_pay_locally_form<?php echo $cart_id; ?> button[type=submit]").removeClass("loading");
|
3919 |
-
|
3920 |
-
if(data.success)
|
3921 |
-
{
|
3922 |
-
jQuery("#mec_do_cart_pay_locally_form<?php echo $cart_id; ?>").hide();
|
3923 |
-
jQuery(".mec-checkout-form-gateway-label").remove();
|
3924 |
-
|
3925 |
-
jQuery(".mec-gateway-comment").hide();
|
3926 |
-
jQuery("#mec_do_cart_pay_locally_message<?php echo $cart_id; ?>").addClass("mec-success").html(data.message).show();
|
3927 |
-
|
3928 |
-
jQuery(this).find('button').removeAttr('disabled');
|
3929 |
-
}
|
3930 |
-
else
|
3931 |
-
{
|
3932 |
-
jQuery("#mec_do_cart_pay_locally_message<?php echo $cart_id; ?>").addClass("mec-error").html(data.message).show();
|
3933 |
-
}
|
3934 |
-
},
|
3935 |
-
error: function(jqXHR, textStatus, errorThrown)
|
3936 |
-
{
|
3937 |
-
// Remove the loading Class from the button
|
3938 |
-
jQuery("#mec_do_cart_pay_locally_form<?php echo $cart_id; ?> button[type=submit]").removeClass("loading");
|
3939 |
-
}
|
3940 |
-
});
|
3941 |
-
});
|
3942 |
-
</script>
|
3943 |
-
<?php
|
3944 |
-
}
|
3945 |
-
|
3946 |
-
public function cart_do_transaction()
|
3947 |
-
{
|
3948 |
-
$cart_id = isset($_GET['cart_id']) ? sanitize_text_field($_GET['cart_id']) : NULL;
|
3949 |
-
|
3950 |
-
// Verify that the nonce is valid.
|
3951 |
-
if(!wp_verify_nonce(sanitize_text_field($_GET['_wpnonce']), 'mec_cart_form_' . $cart_id))
|
3952 |
-
{
|
3953 |
-
$this->response(array(
|
3954 |
-
'success' => 0,
|
3955 |
-
'code' => 'NONCE_IS_INVALID',
|
3956 |
-
'message' => __('Request is invalid!', 'modern-events-calendar-lite'),
|
3957 |
-
));
|
3958 |
-
}
|
3959 |
-
|
3960 |
-
// Validate Ticket Availability
|
3961 |
-
$this->cart_validate($cart_id);
|
3962 |
-
|
3963 |
-
// Parent Function
|
3964 |
-
$this->response($this->do_cart_transaction($cart_id, array(
|
3965 |
-
'gateway' => 'MEC_gateway_pay_locally',
|
3966 |
-
)));
|
3967 |
-
}
|
3968 |
-
}
|
3969 |
-
|
3970 |
-
class MEC_gateway_paypal_express extends MEC_gateway
|
3971 |
-
{
|
3972 |
-
public $id = 2;
|
3973 |
-
public $options;
|
3974 |
-
|
3975 |
-
public function __construct()
|
3976 |
-
{
|
3977 |
-
parent::__construct();
|
3978 |
-
|
3979 |
-
// Gateway options
|
3980 |
-
$this->options = $this->options();
|
3981 |
-
|
3982 |
-
// Register actions
|
3983 |
-
$this->factory->action('wp_ajax_mec_check_transaction_paypal_express', array($this, 'check_transaction'));
|
3984 |
-
$this->factory->action('wp_ajax_nopriv_mec_check_transaction_paypal_express', array($this, 'check_transaction'));
|
3985 |
-
$this->factory->action('wp_ajax_mec_pre_transaction_paypal_express', array($this, 'pre_validation'));
|
3986 |
-
$this->factory->action('wp_ajax_nopriv_mec_pre_transaction_paypal_express', array($this, 'pre_validation'));
|
3987 |
-
|
3988 |
-
$this->factory->action('wp_ajax_mec_cart_check_transaction_paypal_express', array($this, 'cart_check_transaction'));
|
3989 |
-
$this->factory->action('wp_ajax_nopriv_mec_cart_check_transaction_paypal_express', array($this, 'cart_check_transaction'));
|
3990 |
-
$this->factory->action('wp_ajax_mec_cart_pre_transaction_paypal_express', array($this, 'cart_pre_validation'));
|
3991 |
-
$this->factory->action('wp_ajax_nopriv_mec_cart_pre_transaction_paypal_express', array($this, 'cart_pre_validation'));
|
3992 |
-
}
|
3993 |
-
|
3994 |
-
public function label()
|
3995 |
-
{
|
3996 |
-
return __('PayPal Express', 'modern-events-calendar-lite');
|
3997 |
-
}
|
3998 |
-
|
3999 |
-
public function color()
|
4000 |
-
{
|
4001 |
-
return '#8338ec';
|
4002 |
-
}
|
4003 |
-
|
4004 |
-
public function op_enabled()
|
4005 |
-
{
|
4006 |
-
return true;
|
4007 |
-
}
|
4008 |
-
|
4009 |
-
public function op_form($options = array())
|
4010 |
-
{
|
4011 |
-
?>
|
4012 |
-
<h4><?php echo $this->label(); ?></h4>
|
4013 |
-
<div class="mec-gateway-options-form">
|
4014 |
-
<div class="mec-form-row">
|
4015 |
-
<label class="mec-col-3" for="mec_op<?php echo $this->id(); ?>_account"><?php _e('Business Account', 'modern-events-calendar-lite'); ?></label>
|
4016 |
-
<div class="mec-col-9">
|
4017 |
-
<input type="text" id="mec_op<?php echo $this->id(); ?>_account" name="mec[op][<?php echo $this->id(); ?>][account]" value="<?php echo isset($options['account']) ? $options['account'] : ''; ?>" />
|
4018 |
-
<span class="mec-tooltip">
|
4019 |
-
<div class="box left">
|
4020 |
-
<h5 class="title"><?php _e('Business Account', 'modern-events-calendar-lite'); ?></h5>
|
4021 |
-
<div class="content"><p><?php esc_attr_e('Normally PayPal Email.', 'modern-events-calendar-lite'); ?><a href="https://webnus.net/dox/modern-events-calendar/booking/" target="_blank"><?php _e('Read More', 'modern-events-calendar-lite'); ?></a></p></div>
|
4022 |
-
</div>
|
4023 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
4024 |
-
</span>
|
4025 |
-
</div>
|
4026 |
-
</div>
|
4027 |
-
</div>
|
4028 |
-
<?php
|
4029 |
-
}
|
4030 |
-
|
4031 |
-
public function options_form()
|
4032 |
-
{
|
4033 |
-
?>
|
4034 |
-
<div class="mec-form-row mec-click-pay">
|
4035 |
-
<label>
|
4036 |
-
<input type="hidden" name="mec[gateways][<?php echo $this->id(); ?>][status]" value="0"/>
|
4037 |
-
<input onchange="jQuery('#mec_gateways<?php echo $this->id(); ?>_container_toggle').toggle();" value="1"
|
4038 |
-
type="checkbox" name="mec[gateways][<?php echo $this->id(); ?>][status]"
|
4039 |
-
<?php
|
4040 |
-
if (isset($this->options['status']) and $this->options['status']) {
|
4041 |
-
echo 'checked="checked"';
|
4042 |
-
}
|
4043 |
-
?>
|
4044 |
-
/> <?php _e('PayPal Express', 'modern-events-calendar-lite'); ?>
|
4045 |
-
</label>
|
4046 |
-
</div>
|
4047 |
-
<div id="mec_gateways<?php echo $this->id(); ?>_container_toggle" class="mec-gateway-options-form
|
4048 |
-
<?php
|
4049 |
-
if ((isset($this->options['status']) and !$this->options['status']) or !isset($this->options['status'])) {
|
4050 |
-
echo 'mec-util-hidden';
|
4051 |
-
}
|
4052 |
-
?>">
|
4053 |
-
<div class="mec-form-row">
|
4054 |
-
<label class="mec-col-3"
|
4055 |
-
for="mec_gateways<?php echo $this->id(); ?>_title"><?php _e('Title', 'modern-events-calendar-lite'); ?></label>
|
4056 |
-
<div class="mec-col-9">
|
4057 |
-
<input type="text" id="mec_gateways<?php echo $this->id(); ?>_title"
|
4058 |
-
name="mec[gateways][<?php echo $this->id(); ?>][title]"
|
4059 |
-
value="<?php echo (isset($this->options['title']) and trim($this->options['title'])) ? $this->options['title'] : ''; ?>"
|
4060 |
-
placeholder="<?php echo $this->label(); ?>"/>
|
4061 |
-
</div>
|
4062 |
-
</div>
|
4063 |
-
<div class="mec-form-row">
|
4064 |
-
<label class="mec-col-3"
|
4065 |
-
for="mec_gateways<?php echo $this->id(); ?>_comment"><?php _e('Comment', 'modern-events-calendar-lite'); ?></label>
|
4066 |
-
<div class="mec-col-9">
|
4067 |
-
<textarea id="mec_gateways<?php echo $this->id(); ?>_comment"
|
4068 |
-
name="mec[gateways][<?php echo $this->id(); ?>][comment]"><?php echo (isset($this->options['comment']) and trim($this->options['comment'])) ? stripslashes($this->options['comment']) : esc_html__('Paypal Express Description', 'modern-events-calendar-lite'); ?></textarea>
|
4069 |
-
<span class="mec-tooltip">
|
4070 |
-
<div class="box left">
|
4071 |
-
<h5 class="title"><?php _e('Comment', 'modern-events-calendar-lite'); ?></h5>
|
4072 |
-
<div class="content"><p><?php esc_attr_e('HTML allowed.', 'modern-events-calendar-lite'); ?><a
|
4073 |
-
href="https://webnus.net/dox/modern-events-calendar/booking/"
|
4074 |
-
target="_blank"><?php _e('Read More', 'modern-events-calendar-lite'); ?></a></p></div>
|
4075 |
-
</div>
|
4076 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
4077 |
-
</span>
|
4078 |
-
</div>
|
4079 |
-
</div>
|
4080 |
-
<div class="mec-form-row">
|
4081 |
-
<label class="mec-col-3"
|
4082 |
-
for="mec_gateways<?php echo $this->id(); ?>_account"><?php _e('Business Account', 'modern-events-calendar-lite'); ?></label>
|
4083 |
-
<div class="mec-col-9">
|
4084 |
-
<input class="mec-required" type="text" id="mec_gateways<?php echo $this->id(); ?>_account"
|
4085 |
-
name="mec[gateways][<?php echo $this->id(); ?>][account]"
|
4086 |
-
value="<?php echo isset($this->options['account']) ? $this->options['account'] : ''; ?>" />
|
4087 |
-
<span class="mec-tooltip">
|
4088 |
-
<div class="box left">
|
4089 |
-
<h5 class="title"><?php _e('Business Account', 'modern-events-calendar-lite'); ?></h5>
|
4090 |
-
<div class="content"><p><?php esc_attr_e('Normally PayPal Email.', 'modern-events-calendar-lite'); ?><a
|
4091 |
-
href="https://webnus.net/dox/modern-events-calendar/booking/"
|
4092 |
-
target="_blank"><?php _e('Read More', 'modern-events-calendar-lite'); ?></a></p></div>
|
4093 |
-
</div>
|
4094 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
4095 |
-
</span>
|
4096 |
-
</div>
|
4097 |
-
</div>
|
4098 |
-
<div class="mec-form-row">
|
4099 |
-
<label class="mec-col-3"
|
4100 |
-
for="mec_gateways<?php echo $this->id(); ?>_mode"><?php _e('Mode', 'modern-events-calendar-lite'); ?></label>
|
4101 |
-
<div class="mec-col-9">
|
4102 |
-
<select id="mec_gateways<?php echo $this->id(); ?>_mode"
|
4103 |
-
name="mec[gateways][<?php echo $this->id(); ?>][mode]">
|
4104 |
-
<option value="live" <?php echo (isset($this->options['mode']) and $this->options['mode'] == 'live') ? 'selected="selected"' : ''; ?>><?php _e('Live', 'modern-events-calendar-lite'); ?></option>
|
4105 |
-
<option value="sandbox" <?php echo (isset($this->options['mode']) and $this->options['mode'] == 'sandbox') ? 'selected="selected"' : ''; ?>><?php _e('Sandbox', 'modern-events-calendar-lite'); ?></option>
|
4106 |
-
</select>
|
4107 |
-
</div>
|
4108 |
-
</div>
|
4109 |
-
<div class="mec-form-row">
|
4110 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_index"><?php _e('Position', 'modern-events-calendar-lite'); ?></label>
|
4111 |
-
<div class="mec-col-9">
|
4112 |
-
<input type="number" min="0" step="1" id="mec_gateways<?php echo $this->id(); ?>_index"
|
4113 |
-
name="mec[gateways][<?php echo $this->id(); ?>][index]"
|
4114 |
-
value="<?php echo (isset($this->options['index']) and trim($this->options['index'])) ? $this->options['index'] : 2; ?>"
|
4115 |
-
placeholder="<?php echo esc_attr__('Position', 'modern-events-calendar-lite'); ?>"/>
|
4116 |
-
</div>
|
4117 |
-
</div>
|
4118 |
-
</div>
|
4119 |
-
<?php
|
4120 |
-
}
|
4121 |
-
|
4122 |
-
public function get_api_url()
|
4123 |
-
{
|
4124 |
-
$live = 'https://www.paypal.com/cgi-bin/webscr';
|
4125 |
-
$sandbox = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
|
4126 |
-
|
4127 |
-
if($this->options['mode'] == 'live') $url = $live;
|
4128 |
-
else $url = $sandbox;
|
4129 |
-
|
4130 |
-
return $url;
|
4131 |
-
}
|
4132 |
-
|
4133 |
-
public function get_notify_url()
|
4134 |
-
{
|
4135 |
-
return $this->main->URL('mec') . 'app/features/gateways/paypal_ipn.php';
|
4136 |
-
}
|
4137 |
-
|
4138 |
-
public function checkout_form($transaction_id, $params = array())
|
4139 |
-
{
|
4140 |
-
// Get Options Compatible with Organizer Payment
|
4141 |
-
$options = $this->options($transaction_id);
|
4142 |
-
|
4143 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
4144 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : 0;
|
4145 |
-
$tickets_count = isset($transaction['tickets']) ? count($transaction['tickets']) : 1;
|
4146 |
-
?>
|
4147 |
-
<script type="text/javascript">
|
4148 |
-
function mec_paypal_express_pre_validation(transaction_id)
|
4149 |
-
{
|
4150 |
-
// Add loading Class to the button
|
4151 |
-
jQuery("#mec_do_transaction_paypal_express_form" + transaction_id + " button[type=submit]").addClass("loading");
|
4152 |
-
jQuery("#mec_do_transaction_paypal_express_message" + transaction_id).removeClass("mec-success mec-error").hide();
|
4153 |
-
|
4154 |
-
jQuery.ajax(
|
4155 |
-
{
|
4156 |
-
type: "GET",
|
4157 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
4158 |
-
data: "action=mec_pre_transaction_paypal_express&transaction_id=" + transaction_id,
|
4159 |
-
dataType: "JSON",
|
4160 |
-
success: function(data)
|
4161 |
-
{
|
4162 |
-
if(data.success == 1)
|
4163 |
-
{
|
4164 |
-
// Remove the loading Class from the button
|
4165 |
-
jQuery("#mec_do_transaction_paypal_express_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
4166 |
-
|
4167 |
-
// Submit the Form
|
4168 |
-
jQuery('#mec_do_transaction_paypal_express_form' + transaction_id).trigger('submit');
|
4169 |
-
}
|
4170 |
-
else
|
4171 |
-
{
|
4172 |
-
// Remove the loading Class from the button
|
4173 |
-
jQuery("#mec_do_transaction_paypal_express_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
4174 |
-
|
4175 |
-
jQuery("#mec_do_transaction_paypal_express_message" + transaction_id).addClass("mec-error").html(data.message).show();
|
4176 |
-
}
|
4177 |
-
},
|
4178 |
-
error: function(jqXHR, textStatus, errorThrown)
|
4179 |
-
{
|
4180 |
-
// Remove the loading Class from the button
|
4181 |
-
jQuery("#mec_do_transaction_paypal_express_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
4182 |
-
}
|
4183 |
-
});
|
4184 |
-
}
|
4185 |
-
|
4186 |
-
function mec_paypal_express_pay_checker(transaction_id)
|
4187 |
-
{
|
4188 |
-
// Add loading Class to the button
|
4189 |
-
jQuery("#mec_do_transaction_paypal_express_form" + transaction_id + " button[type=submit]").addClass("loading");
|
4190 |
-
jQuery("#mec_do_transaction_paypal_express_message" + transaction_id).removeClass("mec-success mec-error").hide();
|
4191 |
-
|
4192 |
-
jQuery.ajax(
|
4193 |
-
{
|
4194 |
-
type: "GET",
|
4195 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
4196 |
-
data: "action=mec_check_transaction_paypal_express&transaction_id=" + transaction_id,
|
4197 |
-
dataType: "JSON",
|
4198 |
-
success: function(data)
|
4199 |
-
{
|
4200 |
-
if(data.success == 1)
|
4201 |
-
{
|
4202 |
-
// Remove the loading Class from the button
|
4203 |
-
jQuery("#mec_do_transaction_paypal_express_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
4204 |
-
|
4205 |
-
jQuery("#mec_do_transaction_paypal_express_form" + transaction_id).hide();
|
4206 |
-
jQuery(".mec-book-form-gateway-label").remove();
|
4207 |
-
jQuery(".mec-book-form-coupon").hide();
|
4208 |
-
jQuery(".mec-gateway-comment").hide();
|
4209 |
-
|
4210 |
-
jQuery("#mec-book-form-back-btn-step-3").remove();
|
4211 |
-
jQuery("#mec_do_transaction_paypal_express_message" + transaction_id).addClass("mec-success").html(data.message).show();
|
4212 |
-
|
4213 |
-
// Show Invoice Link
|
4214 |
-
if(typeof data.data.invoice_link !== "undefined" && data.data.invoice_link != "")
|
4215 |
-
{
|
4216 |
-
jQuery("#mec_do_transaction_paypal_express_message" + transaction_id).append(' <a class="mec-invoice-download" href="' + data.data.invoice_link + '"><?php echo esc_js(__('Download Invoice', 'modern-events-calendar-lite')); ?></a>');
|
4217 |
-
}
|
4218 |
-
|
4219 |
-
// Show Downloadable Link
|
4220 |
-
if(typeof data.data.dl_file_link !== "undefined" && data.data.dl_file_link != "")
|
4221 |
-
{
|
4222 |
-
jQuery("#mec_do_transaction_paypal_express_message" + transaction_id).append(' — <a class="mec-dl-file-download" href="' + data.data.dl_file_link + '"><?php echo esc_js(__('Download File', 'modern-events-calendar-lite')); ?></a>');
|
4223 |
-
}
|
4224 |
-
|
4225 |
-
// Show Extra info
|
4226 |
-
if(typeof data.data.extra_info !== "undefined" && data.data.extra_info != "" && data.data.extra_info != null)
|
4227 |
-
{
|
4228 |
-
jQuery("#mec_do_transaction_paypal_express_message" + transaction_id).append('<div>' + data.data.extra_info+'</div>');
|
4229 |
-
}
|
4230 |
-
|
4231 |
-
// Redirect to thank you page
|
4232 |
-
if(typeof data.data.redirect_to != "undefined" && data.data.redirect_to != "")
|
4233 |
-
{
|
4234 |
-
setTimeout(function()
|
4235 |
-
{
|
4236 |
-
window.location.href = data.data.redirect_to;
|
4237 |
-
}, <?php echo $this->main->get_thankyou_page_time($transaction_id); ?>);
|
4238 |
-
}
|
4239 |
-
}
|
4240 |
-
else if(data.success == 0)
|
4241 |
-
{
|
4242 |
-
// Remove the loading Class from the button
|
4243 |
-
jQuery("#mec_do_transaction_paypal_express_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
4244 |
-
|
4245 |
-
jQuery("#mec_do_transaction_paypal_express_message" + transaction_id).addClass("mec-error").html(data.message).show();
|
4246 |
-
}
|
4247 |
-
else
|
4248 |
-
{
|
4249 |
-
setTimeout(function () {
|
4250 |
-
mec_paypal_express_pay_checker(transaction_id)
|
4251 |
-
}, 10000);
|
4252 |
-
}
|
4253 |
-
},
|
4254 |
-
error: function(jqXHR, textStatus, errorThrown)
|
4255 |
-
{
|
4256 |
-
// Remove the loading Class from the button
|
4257 |
-
jQuery("#mec_do_transaction_paypal_express_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
4258 |
-
}
|
4259 |
-
});
|
4260 |
-
}
|
4261 |
-
</script>
|
4262 |
-
<div class="mec-gateway-message mec-util-hidden" id="mec_do_transaction_paypal_express_message<?php echo $transaction_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
4263 |
-
<form id="mec_do_transaction_paypal_express_form<?php echo $transaction_id; ?>" class="mec-click-pay" action="<?php echo $this->get_api_url(); ?>" method="post" target="_blank" onsubmit="mec_paypal_express_pay_checker('<?php echo $transaction_id; ?>');">
|
4264 |
-
<input type="hidden" name="cmd" value="_xclick"/>
|
4265 |
-
<input type="hidden" name="rm" value="2"/>
|
4266 |
-
<input type="hidden" name="business" value="<?php echo(isset($options['account']) ? $options['account'] : null); ?>"/>
|
4267 |
-
<input type="hidden" name="item_name" value="<?php echo esc_attr(get_the_title($event_id)); ?>"/>
|
4268 |
-
<input type="hidden" name="item_number" value="<?php echo $tickets_count; ?>"/>
|
4269 |
-
<input type="hidden" name="amount" value="<?php echo(isset($transaction['price']) ? $transaction['price'] : 0); ?>"/>
|
4270 |
-
<input type="hidden" name="currency_code" value="<?php echo $this->main->get_currency_code($event_id); ?>"/>
|
4271 |
-
<input type="hidden" name="cancel_return" value="<?php echo $this->get_cancel_url($event_id); ?>"/>
|
4272 |
-
<input type="hidden" name="notify_url" value="<?php echo $this->get_notify_url(); ?>"/>
|
4273 |
-
<input type="hidden" name="return" value="<?php echo $this->get_return_url($event_id); ?>"/>
|
4274 |
-
<input type="hidden" name="custom" value="<?php echo base64_encode(json_encode(array('transaction_id' => $transaction_id))); ?>"/>
|
4275 |
-
<button type="submit" class="mec-book-form-next-button"><?php _e('Pay', 'modern-events-calendar-lite'); ?></button>
|
4276 |
-
</form>
|
4277 |
-
<?php
|
4278 |
-
}
|
4279 |
-
|
4280 |
-
public function pre_validation()
|
4281 |
-
{
|
4282 |
-
$transaction_id = (isset($_GET['transaction_id']) ? sanitize_text_field($_GET['transaction_id']) : 0);
|
4283 |
-
|
4284 |
-
// Validate Ticket Availability
|
4285 |
-
$this->validate($transaction_id);
|
4286 |
-
|
4287 |
-
$this->response(array('success' => 1, 'message' => __('Ready to checkout.', 'modern-events-calendar-lite')));
|
4288 |
-
}
|
4289 |
-
|
4290 |
-
public function do_transaction($transaction_id = null)
|
4291 |
-
{
|
4292 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
4293 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
4294 |
-
|
4295 |
-
// Is there any attendee?
|
4296 |
-
if(!count($attendees))
|
4297 |
-
{
|
4298 |
-
$this->response(
|
4299 |
-
array(
|
4300 |
-
'success' => 0,
|
4301 |
-
'code' => 'NO_TICKET',
|
4302 |
-
'message' => __(
|
4303 |
-
'There is no attendee for booking!',
|
4304 |
-
'mec'
|
4305 |
-
),
|
4306 |
-
)
|
4307 |
-
);
|
4308 |
-
}
|
4309 |
-
|
4310 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
4311 |
-
$attention_times = explode(':', $attention_date);
|
4312 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
4313 |
-
|
4314 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
4315 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
4316 |
-
|
4317 |
-
$ticket_ids = '';
|
4318 |
-
$attendees_info = array();
|
4319 |
-
|
4320 |
-
foreach($attendees as $i => $attendee)
|
4321 |
-
{
|
4322 |
-
if(!is_numeric($i)) continue;
|
4323 |
-
|
4324 |
-
$ticket_ids .= $attendee['id'] . ',';
|
4325 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
4326 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
4327 |
-
}
|
4328 |
-
|
4329 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
4330 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
4331 |
-
|
4332 |
-
// Remove Sensitive Data
|
4333 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
4334 |
-
{
|
4335 |
-
unset($transaction['username']);
|
4336 |
-
unset($transaction['password']);
|
4337 |
-
|
4338 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
4339 |
-
}
|
4340 |
-
|
4341 |
-
// MEC User
|
4342 |
-
$u = $this->getUser();
|
4343 |
-
|
4344 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
4345 |
-
$book_id = $this->book->add(
|
4346 |
-
array(
|
4347 |
-
'post_author' => $user_id,
|
4348 |
-
'post_type' => $this->PT,
|
4349 |
-
'post_title' => $book_subject,
|
4350 |
-
'post_date' => $date,
|
4351 |
-
'attendees_info' => $attendees_info,
|
4352 |
-
'mec_attendees' => $attendees,
|
4353 |
-
'mec_gateway' => 'MEC_gateway_paypal_express',
|
4354 |
-
'mec_gateway_label' => $this->title()
|
4355 |
-
),
|
4356 |
-
$transaction_id,
|
4357 |
-
$ticket_ids
|
4358 |
-
);
|
4359 |
-
|
4360 |
-
// Assign User
|
4361 |
-
$u->assign($book_id, $user_id);
|
4362 |
-
|
4363 |
-
// Fires after completely creating a new booking
|
4364 |
-
do_action('mec_booking_completed', $book_id);
|
4365 |
-
}
|
4366 |
-
|
4367 |
-
public function validate_express_payment($vars)
|
4368 |
-
{
|
4369 |
-
// Check if Paypal is disabled
|
4370 |
-
if(!$this->enabled())
|
4371 |
-
{
|
4372 |
-
return false;
|
4373 |
-
}
|
4374 |
-
|
4375 |
-
$custom = $this->decode_custom($vars['custom']);
|
4376 |
-
$transaction_id = $custom['transaction_id'];
|
4377 |
-
|
4378 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
4379 |
-
|
4380 |
-
$request_str = $this->get_request_string($vars) . '&cmd=_notify-validate';
|
4381 |
-
$response_str = $this->get_paypal_response($request_str, $this->get_api_url());
|
4382 |
-
|
4383 |
-
// $this->main->debug_log(current_time('Y-m-d H:i:s').' => ('.$response_str.') => '.print_r($vars, true));
|
4384 |
-
|
4385 |
-
if(strpos($response_str, 'VERIFIED') !== false) $status = 1;
|
4386 |
-
else $status = 0;
|
4387 |
-
|
4388 |
-
$amount = $vars['mc_gross'];
|
4389 |
-
|
4390 |
-
// Compare paid amount with transaction amount
|
4391 |
-
$valid = ($amount >= $transaction['price'] and $status) ? true : false;
|
4392 |
-
if($valid)
|
4393 |
-
{
|
4394 |
-
// Mark it as done
|
4395 |
-
$transaction['done'] = 1;
|
4396 |
-
|
4397 |
-
// Save Gateway Transaction ID
|
4398 |
-
$transaction['gateway_transaction_id'] = (isset($vars['txn_id']) and trim($vars['txn_id'])) ? $vars['txn_id'] : '';
|
4399 |
-
|
4400 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
4401 |
-
$this->do_transaction($transaction_id);
|
4402 |
-
|
4403 |
-
return true;
|
4404 |
-
}
|
4405 |
-
else
|
4406 |
-
{
|
4407 |
-
// Mark it as done
|
4408 |
-
$transaction['done'] = 0;
|
4409 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
4410 |
-
|
4411 |
-
return false;
|
4412 |
-
}
|
4413 |
-
}
|
4414 |
-
|
4415 |
-
public function check_transaction($transaction_id = null)
|
4416 |
-
{
|
4417 |
-
if(!trim($transaction_id)) $transaction_id = isset($_GET['transaction_id']) ? sanitize_text_field($_GET['transaction_id']) : 0;
|
4418 |
-
|
4419 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
4420 |
-
|
4421 |
-
$success = 2;
|
4422 |
-
$message = __('Waiting for a response from gateway.', 'modern-events-calendar-lite');
|
4423 |
-
$data = array();
|
4424 |
-
|
4425 |
-
if(isset($transaction['done']) and $transaction['done'] == 1)
|
4426 |
-
{
|
4427 |
-
$success = 1;
|
4428 |
-
$message = stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite')));
|
4429 |
-
|
4430 |
-
$event_id = (isset($transaction['event_id']) ? $transaction['event_id'] : 0);
|
4431 |
-
|
4432 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
4433 |
-
if($thankyou_page_id) $data['redirect_to'] = $this->book->get_thankyou_page($thankyou_page_id, $transaction_id);
|
4434 |
-
|
4435 |
-
$extra_info = apply_filters('MEC_extra_info_gateways', '', $this->book->get_event_id_by_transaction_id($transaction_id), NULL);
|
4436 |
-
|
4437 |
-
// Invoice Link
|
4438 |
-
$data['invoice_link'] = $this->book->get_invoice_link($transaction_id);
|
4439 |
-
$data['dl_file_link'] = $this->book->get_dl_file_link($this->book->get_event_id_by_transaction_id($transaction_id));
|
4440 |
-
$data['extra_info'] = $extra_info;
|
4441 |
-
}
|
4442 |
-
elseif(isset($transaction['done']) and $transaction['done'] == 0)
|
4443 |
-
{
|
4444 |
-
$success = 0;
|
4445 |
-
$message = __('Payment invalid! Booking failed.', 'modern-events-calendar-lite');
|
4446 |
-
}
|
4447 |
-
|
4448 |
-
$this->response(
|
4449 |
-
array(
|
4450 |
-
'success' => $success,
|
4451 |
-
'message' => $message,
|
4452 |
-
'data' => $data,
|
4453 |
-
)
|
4454 |
-
);
|
4455 |
-
}
|
4456 |
-
|
4457 |
-
public function cart_checkout_form($cart_id, $params = array())
|
4458 |
-
{
|
4459 |
-
// Get Options
|
4460 |
-
$options = $this->options();
|
4461 |
-
|
4462 |
-
// Cart Library
|
4463 |
-
$c = $this->getCart();
|
4464 |
-
$cart = $c->get_cart($cart_id);
|
4465 |
-
|
4466 |
-
$event_id = $c->get_first_event_id($cart);
|
4467 |
-
$transactions_count = count($cart);
|
4468 |
-
?>
|
4469 |
-
<script type="text/javascript">
|
4470 |
-
function mec_paypal_express_pre_validation(cart_id)
|
4471 |
-
{
|
4472 |
-
// Add loading Class to the button
|
4473 |
-
jQuery("#mec_do_transaction_paypal_express_form" + cart_id + " button[type=submit]").addClass("loading");
|
4474 |
-
jQuery("#mec_do_transaction_paypal_express_message" + cart_id).removeClass("mec-success mec-error").hide();
|
4475 |
-
|
4476 |
-
jQuery.ajax(
|
4477 |
-
{
|
4478 |
-
type: "GET",
|
4479 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
4480 |
-
data: "action=mec_cart_pre_transaction_paypal_express&cart_id=" + cart_id,
|
4481 |
-
dataType: "JSON",
|
4482 |
-
success: function(data)
|
4483 |
-
{
|
4484 |
-
if(data.success == 1)
|
4485 |
-
{
|
4486 |
-
// Remove the loading Class from the button
|
4487 |
-
jQuery("#mec_do_transaction_paypal_express_form" + cart_id + " button[type=submit]").removeClass("loading");
|
4488 |
-
|
4489 |
-
// Submit the Form
|
4490 |
-
jQuery('#mec_do_transaction_paypal_express_form' + cart_id).trigger('submit');
|
4491 |
-
}
|
4492 |
-
else
|
4493 |
-
{
|
4494 |
-
// Remove the loading Class from the button
|
4495 |
-
jQuery("#mec_do_transaction_paypal_express_form" + cart_id + " button[type=submit]").removeClass("loading");
|
4496 |
-
|
4497 |
-
jQuery("#mec_do_transaction_paypal_express_message" + cart_id).addClass("mec-error").html(data.message).show();
|
4498 |
-
}
|
4499 |
-
},
|
4500 |
-
error: function(jqXHR, textStatus, errorThrown)
|
4501 |
-
{
|
4502 |
-
// Remove the loading Class from the button
|
4503 |
-
jQuery("#mec_do_transaction_paypal_express_form" + cart_id + " button[type=submit]").removeClass("loading");
|
4504 |
-
}
|
4505 |
-
});
|
4506 |
-
}
|
4507 |
-
|
4508 |
-
function mec_paypal_express_pay_checker(cart_id)
|
4509 |
-
{
|
4510 |
-
// Add loading Class to the button
|
4511 |
-
jQuery("#mec_do_transaction_paypal_express_form" + cart_id + " button[type=submit]").addClass("loading");
|
4512 |
-
jQuery("#mec_do_transaction_paypal_express_message" + cart_id).removeClass("mec-success mec-error").hide();
|
4513 |
-
|
4514 |
-
jQuery.ajax(
|
4515 |
-
{
|
4516 |
-
type: "GET",
|
4517 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
4518 |
-
data: "action=mec_cart_check_transaction_paypal_express&cart_id=" + cart_id,
|
4519 |
-
dataType: "JSON",
|
4520 |
-
success: function(data)
|
4521 |
-
{
|
4522 |
-
if(data.success == 1)
|
4523 |
-
{
|
4524 |
-
// Remove the loading Class from the button
|
4525 |
-
jQuery("#mec_do_transaction_paypal_express_form" + cart_id + " button[type=submit]").removeClass("loading");
|
4526 |
-
|
4527 |
-
jQuery("#mec_do_transaction_paypal_express_form" + cart_id).hide();
|
4528 |
-
jQuery(".mec-checkout-form-gateway-label").remove();
|
4529 |
-
jQuery(".mec-gateway-comment").hide();
|
4530 |
-
|
4531 |
-
jQuery("#mec_do_transaction_paypal_express_message" + cart_id).addClass("mec-success").html(data.message).show();
|
4532 |
-
}
|
4533 |
-
else if(data.success == 0)
|
4534 |
-
{
|
4535 |
-
// Remove the loading Class from the button
|
4536 |
-
jQuery("#mec_do_transaction_paypal_express_form" + cart_id + " button[type=submit]").removeClass("loading");
|
4537 |
-
|
4538 |
-
jQuery("#mec_do_transaction_paypal_express_message" + cart_id).addClass("mec-error").html(data.message).show();
|
4539 |
-
}
|
4540 |
-
else
|
4541 |
-
{
|
4542 |
-
setTimeout(function()
|
4543 |
-
{
|
4544 |
-
mec_paypal_express_pay_checker(cart_id)
|
4545 |
-
}, 10000);
|
4546 |
-
}
|
4547 |
-
},
|
4548 |
-
error: function(jqXHR, textStatus, errorThrown)
|
4549 |
-
{
|
4550 |
-
// Remove the loading Class from the button
|
4551 |
-
jQuery("#mec_do_transaction_paypal_express_form" + cart_id + " button[type=submit]").removeClass("loading");
|
4552 |
-
}
|
4553 |
-
});
|
4554 |
-
}
|
4555 |
-
</script>
|
4556 |
-
<div class="mec-gateway-message mec-util-hidden" id="mec_do_transaction_paypal_express_message<?php echo $cart_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
4557 |
-
<form id="mec_do_transaction_paypal_express_form<?php echo $cart_id; ?>" class="mec-click-pay" action="<?php echo $this->get_api_url(); ?>" method="post" target="_blank" onsubmit="mec_paypal_express_pay_checker('<?php echo $cart_id; ?>');">
|
4558 |
-
<input type="hidden" name="cmd" value="_xclick"/>
|
4559 |
-
<input type="hidden" name="rm" value="2"/>
|
4560 |
-
<input type="hidden" name="business" value="<?php echo(isset($options['account']) ? $options['account'] : null); ?>"/>
|
4561 |
-
<input type="hidden" name="item_name" value="<?php echo esc_attr(get_the_title($event_id)); ?>"/>
|
4562 |
-
<input type="hidden" name="item_number" value="<?php echo $transactions_count; ?>"/>
|
4563 |
-
<input type="hidden" name="amount" value="<?php echo $c->get_payable($cart); ?>"/>
|
4564 |
-
<input type="hidden" name="currency_code" value="<?php echo $this->main->get_currency_code(); ?>"/>
|
4565 |
-
<input type="hidden" name="cancel_return" value="<?php echo $this->get_cancel_url($event_id); ?>"/>
|
4566 |
-
<input type="hidden" name="notify_url" value="<?php echo $this->cart_get_notify_url(); ?>"/>
|
4567 |
-
<input type="hidden" name="return" value="<?php echo $this->get_return_url($event_id); ?>"/>
|
4568 |
-
<input type="hidden" name="custom" value="<?php echo base64_encode(json_encode(array('cart_id' => $cart_id))); ?>"/>
|
4569 |
-
<button type="submit" class="mec-book-form-next-button"><?php _e('Pay', 'modern-events-calendar-lite'); ?></button>
|
4570 |
-
</form>
|
4571 |
-
<?php
|
4572 |
-
}
|
4573 |
-
|
4574 |
-
public function cart_get_notify_url()
|
4575 |
-
{
|
4576 |
-
return $this->main->URL('mec') . 'app/features/gateways/paypal_ipn_cart.php';
|
4577 |
-
}
|
4578 |
-
|
4579 |
-
public function cart_validate_express_payment($vars)
|
4580 |
-
{
|
4581 |
-
// Check if Paypal is disabled
|
4582 |
-
if(!$this->enabled()) return false;
|
4583 |
-
|
4584 |
-
$custom = $this->decode_custom($vars['custom']);
|
4585 |
-
$cart_id = $custom['cart_id'];
|
4586 |
-
|
4587 |
-
// Cart Library
|
4588 |
-
$c = $this->getCart();
|
4589 |
-
$cart = $c->get_cart($cart_id);
|
4590 |
-
|
4591 |
-
$payable = $c->get_payable($cart);
|
4592 |
-
|
4593 |
-
$request_str = $this->get_request_string($vars) . '&cmd=_notify-validate';
|
4594 |
-
$response_str = $this->get_paypal_response($request_str, $this->get_api_url());
|
4595 |
-
|
4596 |
-
// $this->main->debug_log(current_time('Y-m-d H:i:s').' => ('.$response_str.') => '.print_r($vars, true));
|
4597 |
-
|
4598 |
-
if(strpos($response_str, 'VERIFIED') !== false) $status = 1;
|
4599 |
-
else $status = 0;
|
4600 |
-
|
4601 |
-
$amount = $vars['mc_gross'];
|
4602 |
-
|
4603 |
-
// Compare paid amount with transaction amount
|
4604 |
-
$valid = ($amount >= $payable and $status) ? true : false;
|
4605 |
-
if($valid)
|
4606 |
-
{
|
4607 |
-
foreach($cart as $transaction_id)
|
4608 |
-
{
|
4609 |
-
// Mark as done
|
4610 |
-
$transaction['done'] = 1;
|
4611 |
-
|
4612 |
-
// Save Gateway Transaction ID
|
4613 |
-
$transaction['gateway_transaction_id'] = (isset($vars['txn_id']) and trim($vars['txn_id'])) ? $vars['txn_id'] : '';
|
4614 |
-
|
4615 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
4616 |
-
}
|
4617 |
-
|
4618 |
-
$this->cart_do_transaction($cart_id);
|
4619 |
-
|
4620 |
-
return true;
|
4621 |
-
}
|
4622 |
-
else
|
4623 |
-
{
|
4624 |
-
// Mark as not done
|
4625 |
-
foreach($cart as $transaction_id)
|
4626 |
-
{
|
4627 |
-
$transaction['done'] = 0;
|
4628 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
4629 |
-
}
|
4630 |
-
|
4631 |
-
return false;
|
4632 |
-
}
|
4633 |
-
}
|
4634 |
-
|
4635 |
-
public function cart_pre_validation()
|
4636 |
-
{
|
4637 |
-
$cart_id = (isset($_GET['cart_id']) ? sanitize_text_field($_GET['cart_id']) : 0);
|
4638 |
-
|
4639 |
-
// Validate Ticket Availability
|
4640 |
-
$this->cart_validate($cart_id);
|
4641 |
-
|
4642 |
-
$this->response(array('success' => 1, 'message' => __('Ready to checkout.', 'modern-events-calendar-lite')));
|
4643 |
-
}
|
4644 |
-
|
4645 |
-
public function cart_do_transaction($cart_id)
|
4646 |
-
{
|
4647 |
-
// Cart Library
|
4648 |
-
$c = $this->getCart();
|
4649 |
-
|
4650 |
-
$cart = $c->get_cart($cart_id);
|
4651 |
-
foreach($cart as $transaction_id) $this->do_transaction($transaction_id);
|
4652 |
-
|
4653 |
-
// Empty Cart
|
4654 |
-
$c->clear($cart_id);
|
4655 |
-
}
|
4656 |
-
|
4657 |
-
public function cart_check_transaction()
|
4658 |
-
{
|
4659 |
-
$cart_id = isset($_GET['cart_id']) ? sanitize_text_field($_GET['cart_id']) : 0;
|
4660 |
-
$transaction = array();
|
4661 |
-
|
4662 |
-
// Cart Library
|
4663 |
-
$c = $this->getCart();
|
4664 |
-
|
4665 |
-
$cart = $c->get_cart($cart_id);
|
4666 |
-
foreach($cart as $transaction_id)
|
4667 |
-
{
|
4668 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
4669 |
-
break;
|
4670 |
-
}
|
4671 |
-
|
4672 |
-
$success = 2;
|
4673 |
-
$message = __('Waiting for a response from gateway.', 'modern-events-calendar-lite');
|
4674 |
-
$data = array();
|
4675 |
-
|
4676 |
-
if(isset($transaction['done']) and $transaction['done'] == 1)
|
4677 |
-
{
|
4678 |
-
$success = 1;
|
4679 |
-
$message = stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite')));
|
4680 |
-
}
|
4681 |
-
elseif(isset($transaction['done']) and $transaction['done'] == 0)
|
4682 |
-
{
|
4683 |
-
$success = 0;
|
4684 |
-
$message = __('Payment invalid! Booking failed.', 'modern-events-calendar-lite');
|
4685 |
-
}
|
4686 |
-
|
4687 |
-
$this->response(array(
|
4688 |
-
'success' => $success,
|
4689 |
-
'message' => $message,
|
4690 |
-
'data' => $data,
|
4691 |
-
));
|
4692 |
-
}
|
4693 |
-
}
|
4694 |
-
|
4695 |
-
class MEC_gateway_paypal_credit_card extends MEC_gateway
|
4696 |
-
{
|
4697 |
-
public $id = 3;
|
4698 |
-
public $options;
|
4699 |
-
|
4700 |
-
public function __construct()
|
4701 |
-
{
|
4702 |
-
parent::__construct();
|
4703 |
-
|
4704 |
-
// Gateway options
|
4705 |
-
$this->options = $this->options();
|
4706 |
-
|
4707 |
-
// Register actions
|
4708 |
-
$this->factory->action('wp_ajax_mec_do_transaction_paypal_credit_card', array($this, 'do_transaction'));
|
4709 |
-
$this->factory->action('wp_ajax_nopriv_mec_do_transaction_paypal_credit_card', array($this, 'do_transaction'));
|
4710 |
-
|
4711 |
-
$this->factory->action('wp_ajax_mec_cart_do_transaction_paypal_credit_card', array($this, 'cart_do_transaction'));
|
4712 |
-
$this->factory->action('wp_ajax_nopriv_mec_cart_do_transaction_paypal_credit_card', array($this, 'cart_do_transaction'));
|
4713 |
-
}
|
4714 |
-
|
4715 |
-
public function label()
|
4716 |
-
{
|
4717 |
-
return __('PayPal Credit Card', 'modern-events-calendar-lite');
|
4718 |
-
}
|
4719 |
-
|
4720 |
-
public function color()
|
4721 |
-
{
|
4722 |
-
return '#0aafff';
|
4723 |
-
}
|
4724 |
-
|
4725 |
-
public function get_api_url()
|
4726 |
-
{
|
4727 |
-
$live = 'https://api-3t.paypal.com/nvp';
|
4728 |
-
$sandbox = 'https://api-3t.sandbox.paypal.com/nvp';
|
4729 |
-
|
4730 |
-
if ($this->options['mode'] == 'live') {
|
4731 |
-
$url = $live;
|
4732 |
-
} else {
|
4733 |
-
$url = $sandbox;
|
4734 |
-
}
|
4735 |
-
|
4736 |
-
return $url;
|
4737 |
-
}
|
4738 |
-
|
4739 |
-
public function op_enabled()
|
4740 |
-
{
|
4741 |
-
return true;
|
4742 |
-
}
|
4743 |
-
|
4744 |
-
public function op_form($options = array())
|
4745 |
-
{
|
4746 |
-
$last_error = get_option('mec_paypal_cc_error', NULL);
|
4747 |
-
?>
|
4748 |
-
<h4><?php echo $this->label(); ?></h4>
|
4749 |
-
<div class="mec-gateway-options-form">
|
4750 |
-
<div class="mec-form-row">
|
4751 |
-
<label class="mec-col-3" for="mec_op<?php echo $this->id(); ?>_api_username"><?php _e('API Username', 'modern-events-calendar-lite'); ?></label>
|
4752 |
-
<div class="mec-col-9">
|
4753 |
-
<input type="text" id="mec_op<?php echo $this->id(); ?>_api_username" name="mec[op][<?php echo $this->id(); ?>][api_username]" value="<?php echo isset($options['api_username']) ? $options['api_username'] : ''; ?>" />
|
4754 |
-
</div>
|
4755 |
-
</div>
|
4756 |
-
<div class="mec-form-row">
|
4757 |
-
<label class="mec-col-3" for="mec_op<?php echo $this->id(); ?>_api_password"><?php _e('API Password', 'modern-events-calendar-lite'); ?></label>
|
4758 |
-
<div class="mec-col-9">
|
4759 |
-
<input type="text" id="mec_op<?php echo $this->id(); ?>_api_password" name="mec[op][<?php echo $this->id(); ?>][api_password]" value="<?php echo isset($options['api_password']) ? $options['api_password'] : ''; ?>" />
|
4760 |
-
</div>
|
4761 |
-
</div>
|
4762 |
-
<div class="mec-form-row">
|
4763 |
-
<label class="mec-col-3" for="mec_op<?php echo $this->id(); ?>_api_signature"><?php _e('API Signature', 'modern-events-calendar-lite'); ?></label>
|
4764 |
-
<div class="mec-col-9">
|
4765 |
-
<input type="text" id="mec_op<?php echo $this->id(); ?>_api_signature" name="mec[op][<?php echo $this->id(); ?>][api_signature]" value="<?php echo isset($options['api_signature']) ? $options['api_signature'] : ''; ?>" />
|
4766 |
-
</div>
|
4767 |
-
</div>
|
4768 |
-
</div>
|
4769 |
-
<?php
|
4770 |
-
}
|
4771 |
-
|
4772 |
-
public function options_form()
|
4773 |
-
{
|
4774 |
-
$last_error = get_option('mec_paypal_cc_error', NULL);
|
4775 |
-
?>
|
4776 |
-
<div class="mec-form-row mec-click-pay">
|
4777 |
-
<label>
|
4778 |
-
<input type="hidden" name="mec[gateways][<?php echo $this->id(); ?>][status]" value="0"/>
|
4779 |
-
<input onchange="jQuery('#mec_gateways<?php echo $this->id(); ?>_container_toggle').toggle();" value="1"
|
4780 |
-
type="checkbox" name="mec[gateways][<?php echo $this->id(); ?>][status]"
|
4781 |
-
<?php
|
4782 |
-
if (isset($this->options['status']) and $this->options['status']) {
|
4783 |
-
echo 'checked="checked"';
|
4784 |
-
}
|
4785 |
-
?>
|
4786 |
-
/> <?php _e('PayPal Credit Card', 'modern-events-calendar-lite'); ?>
|
4787 |
-
</label>
|
4788 |
-
</div>
|
4789 |
-
<div id="mec_gateways<?php echo $this->id(); ?>_container_toggle" class="mec-gateway-options-form <?php
|
4790 |
-
if ((isset($this->options['status']) and !$this->options['status']) or !isset($this->options['status'])) {
|
4791 |
-
echo 'mec-util-hidden';
|
4792 |
-
}
|
4793 |
-
?>">
|
4794 |
-
<?php if($last_error): ?>
|
4795 |
-
<div class="warning-msg">
|
4796 |
-
<p><?php esc_html_e("Below error is the latest error received from Paypal during the payment in frontend so it's not related to the configuration form. It might help you to find some misconfiguration on your Paypal account or inserted credentials.", 'modern-events-calendar-lite'); ?></p>
|
4797 |
-
<?php echo $last_error; ?>
|
4798 |
-
</div>
|
4799 |
-
<?php endif; ?>
|
4800 |
-
<div class="mec-form-row">
|
4801 |
-
<label class="mec-col-3"
|
4802 |
-
for="mec_gateways<?php echo $this->id(); ?>_title"><?php _e('Title', 'modern-events-calendar-lite'); ?></label>
|
4803 |
-
<div class="mec-col-9">
|
4804 |
-
<input type="text" id="mec_gateways<?php echo $this->id(); ?>_title"
|
4805 |
-
name="mec[gateways][<?php echo $this->id(); ?>][title]"
|
4806 |
-
value="<?php echo (isset($this->options['title']) and trim($this->options['title'])) ? $this->options['title'] : ''; ?>"
|
4807 |
-
placeholder="<?php echo $this->label(); ?>"/>
|
4808 |
-
</div>
|
4809 |
-
</div>
|
4810 |
-
<div class="mec-form-row">
|
4811 |
-
<label class="mec-col-3"
|
4812 |
-
for="mec_gateways<?php echo $this->id(); ?>_comment"><?php _e('Comment', 'modern-events-calendar-lite'); ?></label>
|
4813 |
-
<div class="mec-col-9">
|
4814 |
-
<textarea id="mec_gateways<?php echo $this->id(); ?>_comment"
|
4815 |
-
name="mec[gateways][<?php echo $this->id(); ?>][comment]"><?php echo (isset($this->options['comment']) and trim($this->options['comment'])) ? stripslashes($this->options['comment']) : esc_html__('Paypal Credit Card Description', 'modern-events-calendar-lite'); ?></textarea>
|
4816 |
-
<span class="mec-tooltip">
|
4817 |
-
<div class="box left">
|
4818 |
-
<h5 class="title"><?php _e('Comment', 'modern-events-calendar-lite'); ?></h5>
|
4819 |
-
<div class="content"><p><?php esc_attr_e('HTML allowed.', 'modern-events-calendar-lite'); ?><a
|
4820 |
-
href="https://webnus.net/dox/modern-events-calendar/booking/"
|
4821 |
-
target="_blank"><?php _e('Read More', 'modern-events-calendar-lite'); ?></a></p></div>
|
4822 |
-
</div>
|
4823 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
4824 |
-
</span>
|
4825 |
-
</div>
|
4826 |
-
</div>
|
4827 |
-
<div class="mec-form-row">
|
4828 |
-
<label class="mec-col-3"
|
4829 |
-
for="mec_gateways<?php echo $this->id(); ?>_api_username"><?php _e('API Username', 'modern-events-calendar-lite'); ?></label>
|
4830 |
-
<div class="mec-col-9">
|
4831 |
-
<input class="mec-required" type="text" id="mec_gateways<?php echo $this->id(); ?>_api_username"
|
4832 |
-
name="mec[gateways][<?php echo $this->id(); ?>][api_username]"
|
4833 |
-
value="<?php echo isset($this->options['api_username']) ? $this->options['api_username'] : ''; ?>"/>
|
4834 |
-
</div>
|
4835 |
-
</div>
|
4836 |
-
<div class="mec-form-row">
|
4837 |
-
<label class="mec-col-3"
|
4838 |
-
for="mec_gateways<?php echo $this->id(); ?>_api_password"><?php _e('API Password', 'modern-events-calendar-lite'); ?></label>
|
4839 |
-
<div class="mec-col-9">
|
4840 |
-
<input class="mec-required" type="text" id="mec_gateways<?php echo $this->id(); ?>_api_password"
|
4841 |
-
name="mec[gateways][<?php echo $this->id(); ?>][api_password]"
|
4842 |
-
value="<?php echo isset($this->options['api_password']) ? $this->options['api_password'] : ''; ?>"/>
|
4843 |
-
</div>
|
4844 |
-
</div>
|
4845 |
-
<div class="mec-form-row">
|
4846 |
-
<label class="mec-col-3"
|
4847 |
-
for="mec_gateways<?php echo $this->id(); ?>_api_signature"><?php _e('API Signature', 'modern-events-calendar-lite'); ?></label>
|
4848 |
-
<div class="mec-col-9">
|
4849 |
-
<input class="mec-required" type="text" id="mec_gateways<?php echo $this->id(); ?>_api_signature"
|
4850 |
-
name="mec[gateways][<?php echo $this->id(); ?>][api_signature]"
|
4851 |
-
value="<?php echo isset($this->options['api_signature']) ? $this->options['api_signature'] : ''; ?>"/>
|
4852 |
-
</div>
|
4853 |
-
</div>
|
4854 |
-
<div class="mec-form-row">
|
4855 |
-
<label class="mec-col-3"
|
4856 |
-
for="mec_gateways<?php echo $this->id(); ?>_mode"><?php _e('Mode', 'modern-events-calendar-lite'); ?></label>
|
4857 |
-
<div class="mec-col-9">
|
4858 |
-
<select id="mec_gateways<?php echo $this->id(); ?>_mode"
|
4859 |
-
name="mec[gateways][<?php echo $this->id(); ?>][mode]">
|
4860 |
-
<option value="live" <?php echo (isset($this->options['mode']) and $this->options['mode'] == 'live') ? 'selected="selected"' : ''; ?>><?php _e('Live', 'modern-events-calendar-lite'); ?></option>
|
4861 |
-
<option value="sandbox" <?php echo (isset($this->options['mode']) and $this->options['mode'] == 'sandbox') ? 'selected="selected"' : ''; ?>><?php _e('Sandbox', 'modern-events-calendar-lite'); ?></option>
|
4862 |
-
</select>
|
4863 |
-
</div>
|
4864 |
-
</div>
|
4865 |
-
<div class="mec-form-row">
|
4866 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_index"><?php _e('Position', 'modern-events-calendar-lite'); ?></label>
|
4867 |
-
<div class="mec-col-9">
|
4868 |
-
<input type="number" min="0" step="1" id="mec_gateways<?php echo $this->id(); ?>_index"
|
4869 |
-
name="mec[gateways][<?php echo $this->id(); ?>][index]"
|
4870 |
-
value="<?php echo (isset($this->options['index']) and trim($this->options['index'])) ? $this->options['index'] : 3; ?>"
|
4871 |
-
placeholder="<?php echo esc_attr__('Position', 'modern-events-calendar-lite'); ?>"/>
|
4872 |
-
</div>
|
4873 |
-
</div>
|
4874 |
-
</div>
|
4875 |
-
<?php
|
4876 |
-
}
|
4877 |
-
|
4878 |
-
public function checkout_form($transaction_id, $params = array())
|
4879 |
-
{
|
4880 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
4881 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : 0;
|
4882 |
-
?>
|
4883 |
-
<script type="text/javascript">
|
4884 |
-
function mec_paypal_credit_card_send_request(transaction_id) {
|
4885 |
-
// Add loading Class to the button
|
4886 |
-
jQuery("#mec_do_transaction_paypal_credit_card_form" + transaction_id + " button[type=submit]").addClass("loading");
|
4887 |
-
jQuery("#mec_do_transaction_paypal_credit_card_message" + transaction_id).removeClass("mec-success mec-error").hide();
|
4888 |
-
|
4889 |
-
var data = jQuery("#mec_do_transaction_paypal_credit_card_form" + transaction_id).serialize();
|
4890 |
-
jQuery.ajax(
|
4891 |
-
{
|
4892 |
-
type: "GET",
|
4893 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
4894 |
-
data: data,
|
4895 |
-
dataType: "JSON",
|
4896 |
-
success: function (data) {
|
4897 |
-
if (data.success == 1) {
|
4898 |
-
// Remove the loading Class from the button
|
4899 |
-
jQuery("#mec_do_transaction_paypal_credit_card_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
4900 |
-
|
4901 |
-
jQuery("#mec_do_transaction_paypal_credit_card_form" + transaction_id).hide();
|
4902 |
-
jQuery(".mec-book-form-gateway-label").remove();
|
4903 |
-
jQuery(".mec-book-form-coupon").hide();
|
4904 |
-
jQuery(".mec-gateway-comment").hide();
|
4905 |
-
|
4906 |
-
jQuery("#mec-book-form-back-btn-step-3").remove();
|
4907 |
-
jQuery("#mec_do_transaction_paypal_credit_card_message" + transaction_id).addClass("mec-success").html(data.message).show();
|
4908 |
-
|
4909 |
-
// Show Invoice Link
|
4910 |
-
if(typeof data.data.invoice_link !== "undefined" && data.data.invoice_link != "")
|
4911 |
-
{
|
4912 |
-
jQuery("#mec_do_transaction_paypal_credit_card_message" + transaction_id).append(' <a class="mec-invoice-download" href="' + data.data.invoice_link + '"><?php echo esc_js(__('Download Invoice', 'modern-events-calendar-lite')); ?></a>');
|
4913 |
-
}
|
4914 |
-
|
4915 |
-
// Show Downloadable Link
|
4916 |
-
if(typeof data.data.dl_file_link !== "undefined" && data.data.dl_file_link != "")
|
4917 |
-
{
|
4918 |
-
jQuery("#mec_do_transaction_paypal_credit_card_message" + transaction_id).append(' — <a class="mec-dl-file-download" href="' + data.data.dl_file_link + '"><?php echo esc_js(__('Download File', 'modern-events-calendar-lite')); ?></a>');
|
4919 |
-
}
|
4920 |
-
|
4921 |
-
// Show Extra info
|
4922 |
-
if(typeof data.data.extra_info !== "undefined" && data.data.extra_info != "" && data.data.extra_info != null)
|
4923 |
-
{
|
4924 |
-
jQuery("#mec_do_transaction_paypal_credit_card_message" + transaction_id).append('<div>' + data.data.extra_info+'</div>');
|
4925 |
-
}
|
4926 |
-
|
4927 |
-
// Redirect to thank you page
|
4928 |
-
if (typeof data.data.redirect_to != "undefined" && data.data.redirect_to != "") {
|
4929 |
-
setTimeout(function () {
|
4930 |
-
window.location.href = data.data.redirect_to;
|
4931 |
-
}, <?php echo $this->main->get_thankyou_page_time($transaction_id); ?>);
|
4932 |
-
}
|
4933 |
-
}
|
4934 |
-
else {
|
4935 |
-
// Remove the loading Class from the button
|
4936 |
-
jQuery("#mec_do_transaction_paypal_credit_card_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
4937 |
-
|
4938 |
-
jQuery("#mec_do_transaction_paypal_credit_card_message" + transaction_id).addClass("mec-error").html(data.message).show();
|
4939 |
-
}
|
4940 |
-
},
|
4941 |
-
error: function (jqXHR, textStatus, errorThrown) {
|
4942 |
-
// Remove the loading Class from the button
|
4943 |
-
jQuery("#mec_do_transaction_paypal_credit_card_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
4944 |
-
}
|
4945 |
-
});
|
4946 |
-
}
|
4947 |
-
</script>
|
4948 |
-
<style>.nice-select{-webkit-tap-highlight-color:transparent;background-color:#fff;border-radius:5px;border:solid 1px #e8e8e8;box-sizing:border-box;clear:both;cursor:pointer;display:block;float:left;font-family:inherit;font-size:14px;font-weight:400;height:42px;line-height:40px;outline:0;padding-left:18px;padding-right:30px;position:relative;text-align:left!important;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;width:auto}.nice-select:hover{border-color:#dbdbdb}.nice-select.open,.nice-select:active,.nice-select:focus{border-color:#999}.nice-select:after{border-bottom:2px solid #999;border-right:2px solid #999;content:'';display:block;height:5px;margin-top:-4px;pointer-events:none;position:absolute;right:12px;top:50%;-webkit-transform-origin:66% 66%;-ms-transform-origin:66% 66%;transform-origin:66% 66%;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;width:5px}.nice-select.open:after{-webkit-transform:rotate(-135deg);-ms-transform:rotate(-135deg);transform:rotate(-135deg)}.nice-select.open .list{opacity:1;pointer-events:auto;-webkit-transform:scale(1) translateY(0);-ms-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}.nice-select.disabled{border-color:#ededed;color:#999;pointer-events:none}.nice-select.disabled:after{border-color:#ccc}.nice-select.wide{width:100%}.nice-select.wide .list{left:0!important;right:0!important}.nice-select.right{float:right}.nice-select.right .list{left:auto;right:0}.nice-select.small{font-size:12px;height:36px;line-height:34px}.nice-select.small:after{height:4px;width:4px}.nice-select.small .option{line-height:34px;min-height:34px}.nice-select .list{background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(68,68,68,.11);box-sizing:border-box;margin-top:4px;opacity:0;overflow:hidden;padding:0;pointer-events:none;position:absolute;top:100%;left:0;-webkit-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scale(.75) translateY(-21px);-ms-transform:scale(.75) translateY(-21px);transform:scale(.75) translateY(-21px);-webkit-transition:all .2s cubic-bezier(.5,0,0,1.25),opacity .15s ease-out;transition:all .2s cubic-bezier(.5,0,0,1.25),opacity .15s ease-out;z-index:9}.nice-select .list:hover .option:not(:hover){background-color:transparent!important}.nice-select .option{cursor:pointer;font-weight:400;line-height:40px;list-style:none;min-height:40px;outline:0;padding-left:18px;padding-right:29px;text-align:left;-webkit-transition:all .2s;transition:all .2s}.nice-select .option.focus,.nice-select .option.selected.focus,.nice-select .option:hover{background-color:#f6f6f6}.nice-select .option.selected{font-weight:700}.nice-select .option.disabled{background-color:transparent;color:#999;cursor:default}.no-csspointerevents .nice-select .list{display:none}.no-csspointerevents .nice-select.open .list{display:block}</style>
|
4949 |
-
<script type="text/javascript" src="<?php echo $this->main->asset('js/jquery.nice-select.min.js'); ?>"></script>
|
4950 |
-
<script>
|
4951 |
-
jQuery(document).ready(function () {
|
4952 |
-
if (jQuery('.mec-booking-shortcode').length < 0) {
|
4953 |
-
return;
|
4954 |
-
}
|
4955 |
-
// Events
|
4956 |
-
jQuery('.mec-booking-shortcode').find('select').niceSelect();
|
4957 |
-
|
4958 |
-
});
|
4959 |
-
</script>
|
4960 |
-
<div class="mec-gateway-message mec-util-hidden"
|
4961 |
-
id="mec_do_transaction_paypal_credit_card_message<?php echo $transaction_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
4962 |
-
<form id="mec_do_transaction_paypal_credit_card_form<?php echo $transaction_id; ?>"
|
4963 |
-
onsubmit="mec_paypal_credit_card_send_request('<?php echo $transaction_id; ?>'); return false;">
|
4964 |
-
<div class="mec-form-row mec-paypal-credit-card-first-name">
|
4965 |
-
<label for="mec_paypal_credit_card_first_name"><?php echo __('First name', 'modern-events-calendar-lite'); ?></label>
|
4966 |
-
<input type="text" name="first_name" id="mec_paypal_credit_card_first_name"/>
|
4967 |
-
</div>
|
4968 |
-
<div class="mec-form-row mec-paypal-credit-card-last-name">
|
4969 |
-
<label for="mec_paypal_credit_card_last_name"><?php echo __('Last name', 'modern-events-calendar-lite'); ?></label>
|
4970 |
-
<input type="text" name="last_name" id="mec_paypal_credit_card_last_name"/>
|
4971 |
-
</div>
|
4972 |
-
<div class="mec-form-row mec-paypal-credit-card-card-type">
|
4973 |
-
<label for="mec_paypal_credit_card_card_type"><?php echo __('Card Type', 'modern-events-calendar-lite'); ?></label>
|
4974 |
-
<select name="card_type" id="mec_paypal_credit_card_card_type">
|
4975 |
-
<option value="Visa"><?php echo __('Visa', 'modern-events-calendar-lite'); ?></option>
|
4976 |
-
<option value="MasterCard"><?php echo __('MasterCard', 'modern-events-calendar-lite'); ?></option>
|
4977 |
-
<option value="Discover"><?php echo __('Discover', 'modern-events-calendar-lite'); ?></option>
|
4978 |
-
<option value="Amex"><?php echo __('American Express', 'modern-events-calendar-lite'); ?></option>
|
4979 |
-
</select>
|
4980 |
-
</div>
|
4981 |
-
<div class="mec-form-row mec-paypal-credit-card-cc-number">
|
4982 |
-
<label for="mec_paypal_credit_card_cc_number"><?php echo __('CC Number', 'modern-events-calendar-lite'); ?></label>
|
4983 |
-
<input type="text" name="cc_number" id="mec_paypal_credit_card_cc_number"/>
|
4984 |
-
</div>
|
4985 |
-
<div class="mec-form-row mec-paypal-credit-card-expiration-date-month">
|
4986 |
-
<label for="mec_paypal_credit_card_expiration_date_month"><?php echo __('Expiration Date', 'modern-events-calendar-lite'); ?></label>
|
4987 |
-
<select name="expiration_date_month" id="mec_paypal_credit_card_expiration_date_month">
|
4988 |
-
<?php foreach (array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12') as $month) : ?>
|
4989 |
-
<option value="<?php echo $month; ?>"><?php echo $month; ?></option>
|
4990 |
-
<?php endforeach; ?>
|
4991 |
-
</select>
|
4992 |
-
<select name="expiration_date_year" id="mec_paypal_credit_card_expiration_date_year">
|
4993 |
-
<?php
|
4994 |
-
for ($i = 0; $i <= 10;
|
4995 |
-
$i++) :
|
4996 |
-
$y = date('Y', strtotime('+' . $i . ' years'));
|
4997 |
-
?>
|
4998 |
-
<option value="<?php echo $y; ?>"><?php echo $y; ?></option>
|
4999 |
-
<?php endfor; ?>
|
5000 |
-
</select>
|
5001 |
-
</div>
|
5002 |
-
<div class="mec-form-row mec-paypal-credit-card-cvv2">
|
5003 |
-
<label for="mec_paypal_credit_card_cvv2"><?php echo __('CVV2', 'modern-events-calendar-lite'); ?></label>
|
5004 |
-
<input type="text" name="cvv2" id="mec_paypal_credit_card_cvv2"/>
|
5005 |
-
</div>
|
5006 |
-
<div class="mec-form-row mec-click-pay">
|
5007 |
-
<input type="hidden" name="action" value="mec_do_transaction_paypal_credit_card"/>
|
5008 |
-
<input type="hidden" name="transaction_id" value="<?php echo $transaction_id; ?>"/>
|
5009 |
-
<input type="hidden" name="gateway_id" value="<?php echo $this->id(); ?>"/>
|
5010 |
-
<?php wp_nonce_field('mec_transaction_form_' . $transaction_id); ?>
|
5011 |
-
<button type="submit" class="mec-book-form-next-button"><?php _e('Pay', 'modern-events-calendar-lite'); ?></button>
|
5012 |
-
</div>
|
5013 |
-
</form>
|
5014 |
-
<?php
|
5015 |
-
}
|
5016 |
-
|
5017 |
-
public function do_transaction($transaction_id = null)
|
5018 |
-
{
|
5019 |
-
if(!trim($transaction_id)) $transaction_id = isset($_GET['transaction_id']) ? sanitize_text_field($_GET['transaction_id']) : 0;
|
5020 |
-
|
5021 |
-
// Verify that the nonce is valid.
|
5022 |
-
if(!wp_verify_nonce(sanitize_text_field($_GET['_wpnonce']), 'mec_transaction_form_' . $transaction_id))
|
5023 |
-
{
|
5024 |
-
$this->response(array(
|
5025 |
-
'success' => 0,
|
5026 |
-
'code' => 'NONCE_IS_INVALID',
|
5027 |
-
'message' => __('Request is invalid!', 'modern-events-calendar-lite'),
|
5028 |
-
));
|
5029 |
-
}
|
5030 |
-
|
5031 |
-
// Validate Ticket Availability
|
5032 |
-
$this->validate($transaction_id);
|
5033 |
-
|
5034 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
5035 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
5036 |
-
|
5037 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
5038 |
-
$attention_times = explode(':', $attention_date);
|
5039 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
5040 |
-
|
5041 |
-
// Is there any attendee?
|
5042 |
-
if (!count($attendees)) {
|
5043 |
-
$this->response(
|
5044 |
-
array(
|
5045 |
-
'success' => 0,
|
5046 |
-
'code' => 'NO_TICKET',
|
5047 |
-
'message' => __(
|
5048 |
-
'There is no attendee for booking!',
|
5049 |
-
'mec'
|
5050 |
-
),
|
5051 |
-
)
|
5052 |
-
);
|
5053 |
-
}
|
5054 |
-
|
5055 |
-
$validate = $this->validate_paypal($_GET);
|
5056 |
-
if(!$validate)
|
5057 |
-
{
|
5058 |
-
$this->response(
|
5059 |
-
array(
|
5060 |
-
'success' => 0,
|
5061 |
-
'code' => 'PAYMENT_IS_INVALID',
|
5062 |
-
'message' => __(
|
5063 |
-
'Payment is invalid.',
|
5064 |
-
'mec'
|
5065 |
-
),
|
5066 |
-
)
|
5067 |
-
);
|
5068 |
-
}
|
5069 |
-
|
5070 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
5071 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
5072 |
-
|
5073 |
-
$ticket_ids = '';
|
5074 |
-
$attendees_info = array();
|
5075 |
-
|
5076 |
-
foreach($attendees as $i => $attendee)
|
5077 |
-
{
|
5078 |
-
if(!is_numeric($i)) continue;
|
5079 |
-
|
5080 |
-
$ticket_ids .= $attendee['id'] . ',';
|
5081 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
5082 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
5083 |
-
}
|
5084 |
-
|
5085 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
5086 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
5087 |
-
|
5088 |
-
// Remove Sensitive Data
|
5089 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
5090 |
-
{
|
5091 |
-
unset($transaction['username']);
|
5092 |
-
unset($transaction['password']);
|
5093 |
-
|
5094 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
5095 |
-
}
|
5096 |
-
|
5097 |
-
// MEC User
|
5098 |
-
$u = $this->getUser();
|
5099 |
-
|
5100 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
5101 |
-
$book_id = $this->book->add(
|
5102 |
-
array(
|
5103 |
-
'post_author' => $user_id,
|
5104 |
-
'post_type' => $this->PT,
|
5105 |
-
'post_title' => $book_subject,
|
5106 |
-
'post_date' => $date,
|
5107 |
-
'attendees_info' => $attendees_info,
|
5108 |
-
'mec_attendees' => $attendees,
|
5109 |
-
'mec_gateway' => 'MEC_gateway_paypal_credit_card',
|
5110 |
-
'mec_gateway_label' => $this->title()
|
5111 |
-
),
|
5112 |
-
$transaction_id,
|
5113 |
-
$ticket_ids
|
5114 |
-
);
|
5115 |
-
|
5116 |
-
// Assign User
|
5117 |
-
$u->assign($book_id, $user_id);
|
5118 |
-
|
5119 |
-
// Fires after completely creating a new booking
|
5120 |
-
do_action('mec_booking_completed', $book_id);
|
5121 |
-
|
5122 |
-
$event_id = (isset($transaction['event_id']) ? $transaction['event_id'] : 0);
|
5123 |
-
$redirect_to = '';
|
5124 |
-
|
5125 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
5126 |
-
if($thankyou_page_id) $redirect_to = $this->book->get_thankyou_page($thankyou_page_id, $transaction_id);
|
5127 |
-
|
5128 |
-
// Invoice Link
|
5129 |
-
$mec_confirmed = get_post_meta($book_id, 'mec_confirmed', true);
|
5130 |
-
$invoice_link = (!$mec_confirmed) ? '' : $this->book->get_invoice_link($transaction_id);
|
5131 |
-
$dl_file_link = (!$mec_confirmed) ? '' : $this->book->get_dl_file_link($book_id);
|
5132 |
-
|
5133 |
-
$extra_info = apply_filters('MEC_extra_info_gateways', '', $this->book->get_event_id_by_transaction_id($transaction_id), $book_id);
|
5134 |
-
|
5135 |
-
$this->response(
|
5136 |
-
array(
|
5137 |
-
'success' => 1,
|
5138 |
-
'message' => stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite'))),
|
5139 |
-
'data' => array(
|
5140 |
-
'book_id' => $book_id,
|
5141 |
-
'redirect_to' => $redirect_to,
|
5142 |
-
'invoice_link' => $invoice_link,
|
5143 |
-
'dl_file_link' => $dl_file_link,
|
5144 |
-
'extra_info' => $extra_info,
|
5145 |
-
),
|
5146 |
-
)
|
5147 |
-
);
|
5148 |
-
}
|
5149 |
-
|
5150 |
-
public function validate_paypal($vars = array())
|
5151 |
-
{
|
5152 |
-
$card_type = (isset($vars['card_type']) ? sanitize_text_field($vars['card_type']) : null);
|
5153 |
-
$cc_number = (isset($vars['cc_number']) ? sanitize_text_field($vars['cc_number']) : null);
|
5154 |
-
$cvv2 = (isset($vars['cvv2']) ? sanitize_text_field($vars['cvv2']) : null);
|
5155 |
-
$first_name = (isset($vars['first_name']) ? sanitize_text_field($vars['first_name']) : null);
|
5156 |
-
$last_name = (isset($vars['last_name']) ? sanitize_text_field($vars['last_name']) : null);
|
5157 |
-
$exp_date_month = (isset($vars['expiration_date_month']) ? sanitize_text_field($vars['expiration_date_month']) : null);
|
5158 |
-
$exp_date_year = (isset($vars['expiration_date_year']) ? sanitize_text_field($vars['expiration_date_year']) : null);
|
5159 |
-
|
5160 |
-
// Check Card details
|
5161 |
-
if(!$card_type or !$cc_number or !$cvv2) return false;
|
5162 |
-
|
5163 |
-
$transaction_id = isset($vars['transaction_id']) ? sanitize_text_field($vars['transaction_id']) : 0;
|
5164 |
-
|
5165 |
-
// Get Options Compatible with Organizer Payment
|
5166 |
-
$options = $this->options($transaction_id);
|
5167 |
-
|
5168 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
5169 |
-
$event_id = isset($transaction['event_id']) ? $transaction['event_id'] : 0;
|
5170 |
-
|
5171 |
-
$expdate = $exp_date_month . $exp_date_year;
|
5172 |
-
$params = array(
|
5173 |
-
'METHOD' => 'DoDirectPayment',
|
5174 |
-
'USER' => (isset($options['api_username']) ? $options['api_username'] : null),
|
5175 |
-
'PWD' => (isset($options['api_password']) ? $options['api_password'] : null),
|
5176 |
-
'SIGNATURE' => (isset($options['api_signature']) ? $options['api_signature'] : null),
|
5177 |
-
'VERSION' => 90.0,
|
5178 |
-
'CREDITCARDTYPE' => $card_type,
|
5179 |
-
'ACCT' => $cc_number,
|
5180 |
-
'EXPDATE' => $expdate,
|
5181 |
-
'CVV2' => $cvv2,
|
5182 |
-
'FIRSTNAME' => $first_name,
|
5183 |
-
'LASTNAME' => $last_name,
|
5184 |
-
'AMT' => (isset($transaction['price']) ? $transaction['price'] : 0),
|
5185 |
-
'CURRENCYCODE' => $this->main->get_currency_code($event_id),
|
5186 |
-
'DESC' => get_the_title($event_id),
|
5187 |
-
);
|
5188 |
-
|
5189 |
-
$request_str = $this->get_request_string($params);
|
5190 |
-
$response_str = $this->get_paypal_response($request_str, $this->get_api_url());
|
5191 |
-
|
5192 |
-
$results = $this->normalize_NVP($response_str);
|
5193 |
-
|
5194 |
-
$status = strpos(strtolower($results['ACK']), 'success') !== false ? 1 : 0;
|
5195 |
-
$amount = isset($results['AMT']) ? $results['AMT'] : 0;
|
5196 |
-
|
5197 |
-
// Save Transaction ID
|
5198 |
-
if($status)
|
5199 |
-
{
|
5200 |
-
$gateway_transaction_id = isset($results['TRANSACTIONID']) ? $results['TRANSACTIONID'] : '';
|
5201 |
-
if($gateway_transaction_id)
|
5202 |
-
{
|
5203 |
-
$transaction['gateway_transaction_id'] = $gateway_transaction_id;
|
5204 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
5205 |
-
}
|
5206 |
-
}
|
5207 |
-
|
5208 |
-
// Error
|
5209 |
-
if(!$status)
|
5210 |
-
{
|
5211 |
-
$error = (isset($results['L_ERRORCODE0']) ? '('.$results['L_ERRORCODE0'].') ' : '').(isset($results['L_LONGMESSAGE0']) ? $results['L_LONGMESSAGE0'] : '');
|
5212 |
-
|
5213 |
-
// Log it
|
5214 |
-
trigger_error($error, E_USER_NOTICE);
|
5215 |
-
|
5216 |
-
// Save it
|
5217 |
-
update_option('mec_paypal_cc_error', current_time('Y-m-d H:i:s').': '.$error, false);
|
5218 |
-
}
|
5219 |
-
|
5220 |
-
// Compare paid amount with transaction amount
|
5221 |
-
return ($amount >= $transaction['price'] and $status) ? true : false;
|
5222 |
-
}
|
5223 |
-
|
5224 |
-
public function normalize_NVP($nvp_string)
|
5225 |
-
{
|
5226 |
-
$Array = array();
|
5227 |
-
while (strlen($nvp_string)) {
|
5228 |
-
// name
|
5229 |
-
$keypos = strpos($nvp_string, '=');
|
5230 |
-
$keyval = substr($nvp_string, 0, $keypos);
|
5231 |
-
|
5232 |
-
// value
|
5233 |
-
$valuepos = strpos($nvp_string, '&') ? strpos($nvp_string, '&') : strlen($nvp_string);
|
5234 |
-
$valval = substr($nvp_string, $keypos + 1, $valuepos - $keypos - 1);
|
5235 |
-
|
5236 |
-
// decoding the respose
|
5237 |
-
$Array[$keyval] = urldecode($valval);
|
5238 |
-
$nvp_string = substr($nvp_string, $valuepos + 1, strlen($nvp_string));
|
5239 |
-
}
|
5240 |
-
|
5241 |
-
return $Array;
|
5242 |
-
}
|
5243 |
-
|
5244 |
-
public function cart_checkout_form($cart_id, $params = array())
|
5245 |
-
{
|
5246 |
-
?>
|
5247 |
-
<div class="mec-gateway-message mec-util-hidden"
|
5248 |
-
id="mec_do_transaction_paypal_credit_card_message<?php echo $cart_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
5249 |
-
<form id="mec_do_transaction_paypal_credit_card_form<?php echo $cart_id; ?>"
|
5250 |
-
onsubmit="mec_paypal_credit_card_send_request('<?php echo $cart_id; ?>'); return false;">
|
5251 |
-
<div class="mec-form-row mec-paypal-credit-card-first-name">
|
5252 |
-
<label for="mec_paypal_credit_card_first_name"><?php echo __('First name', 'modern-events-calendar-lite'); ?></label>
|
5253 |
-
<input type="text" name="first_name" id="mec_paypal_credit_card_first_name"/>
|
5254 |
-
</div>
|
5255 |
-
<div class="mec-form-row mec-paypal-credit-card-last-name">
|
5256 |
-
<label for="mec_paypal_credit_card_last_name"><?php echo __('Last name', 'modern-events-calendar-lite'); ?></label>
|
5257 |
-
<input type="text" name="last_name" id="mec_paypal_credit_card_last_name"/>
|
5258 |
-
</div>
|
5259 |
-
<div class="mec-form-row mec-paypal-credit-card-card-type">
|
5260 |
-
<label for="mec_paypal_credit_card_card_type"><?php echo __('Card Type', 'modern-events-calendar-lite'); ?></label>
|
5261 |
-
<select name="card_type" id="mec_paypal_credit_card_card_type">
|
5262 |
-
<option value="Visa"><?php echo __('Visa', 'modern-events-calendar-lite'); ?></option>
|
5263 |
-
<option value="MasterCard"><?php echo __('MasterCard', 'modern-events-calendar-lite'); ?></option>
|
5264 |
-
<option value="Discover"><?php echo __('Discover', 'modern-events-calendar-lite'); ?></option>
|
5265 |
-
<option value="Amex"><?php echo __('American Express', 'modern-events-calendar-lite'); ?></option>
|
5266 |
-
</select>
|
5267 |
-
</div>
|
5268 |
-
<div class="mec-form-row mec-paypal-credit-card-cc-number">
|
5269 |
-
<label for="mec_paypal_credit_card_cc_number"><?php echo __('CC Number', 'modern-events-calendar-lite'); ?></label>
|
5270 |
-
<input type="text" name="cc_number" id="mec_paypal_credit_card_cc_number"/>
|
5271 |
-
</div>
|
5272 |
-
<div class="mec-form-row mec-paypal-credit-card-expiration-date-month">
|
5273 |
-
<label for="mec_paypal_credit_card_expiration_date_month"><?php echo __('Expiration Date', 'modern-events-calendar-lite'); ?></label>
|
5274 |
-
<select name="expiration_date_month" id="mec_paypal_credit_card_expiration_date_month">
|
5275 |
-
<?php foreach (array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12') as $month) : ?>
|
5276 |
-
<option value="<?php echo $month; ?>"><?php echo $month; ?></option>
|
5277 |
-
<?php endforeach; ?>
|
5278 |
-
</select>
|
5279 |
-
<select name="expiration_date_year" id="mec_paypal_credit_card_expiration_date_year">
|
5280 |
-
<?php
|
5281 |
-
for ($i = 0; $i <= 10;
|
5282 |
-
$i++) :
|
5283 |
-
$y = date('Y', strtotime('+' . $i . ' years'));
|
5284 |
-
?>
|
5285 |
-
<option value="<?php echo $y; ?>"><?php echo $y; ?></option>
|
5286 |
-
<?php endfor; ?>
|
5287 |
-
</select>
|
5288 |
-
</div>
|
5289 |
-
<div class="mec-form-row mec-paypal-credit-card-cvv2">
|
5290 |
-
<label for="mec_paypal_credit_card_cvv2"><?php echo __('CVV2', 'modern-events-calendar-lite'); ?></label>
|
5291 |
-
<input type="text" name="cvv2" id="mec_paypal_credit_card_cvv2"/>
|
5292 |
-
</div>
|
5293 |
-
<div class="mec-form-row mec-click-pay">
|
5294 |
-
<input type="hidden" name="action" value="mec_cart_do_transaction_paypal_credit_card"/>
|
5295 |
-
<input type="hidden" name="cart_id" value="<?php echo $cart_id; ?>"/>
|
5296 |
-
<input type="hidden" name="gateway_id" value="<?php echo $this->id(); ?>"/>
|
5297 |
-
<?php wp_nonce_field('mec_transaction_form_' . $cart_id); ?>
|
5298 |
-
<button type="submit" class="mec-book-form-next-button"><?php _e('Pay', 'modern-events-calendar-lite'); ?></button>
|
5299 |
-
</div>
|
5300 |
-
</form>
|
5301 |
-
<script type="text/javascript">
|
5302 |
-
function mec_paypal_credit_card_send_request(cart_id)
|
5303 |
-
{
|
5304 |
-
// Add loading Class to the button
|
5305 |
-
jQuery("#mec_do_transaction_paypal_credit_card_form" + cart_id + " button[type=submit]").addClass("loading");
|
5306 |
-
jQuery("#mec_do_transaction_paypal_credit_card_message" + cart_id).removeClass("mec-success mec-error").hide();
|
5307 |
-
|
5308 |
-
var data = jQuery("#mec_do_transaction_paypal_credit_card_form" + cart_id).serialize();
|
5309 |
-
jQuery.ajax(
|
5310 |
-
{
|
5311 |
-
type: "GET",
|
5312 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
5313 |
-
data: data,
|
5314 |
-
dataType: "JSON",
|
5315 |
-
success: function(data)
|
5316 |
-
{
|
5317 |
-
// Remove the loading Class from the button
|
5318 |
-
jQuery("#mec_do_transaction_paypal_credit_card_form" + cart_id + " button[type=submit]").removeClass("loading");
|
5319 |
-
|
5320 |
-
if(data.success == 1)
|
5321 |
-
{
|
5322 |
-
jQuery("#mec_do_transaction_paypal_credit_card_form" + cart_id).hide();
|
5323 |
-
jQuery(".mec-checkout-form-gateway-label").remove();
|
5324 |
-
jQuery(".mec-gateway-comment").hide();
|
5325 |
-
|
5326 |
-
jQuery("#mec_do_transaction_paypal_credit_card_message" + cart_id).addClass("mec-success").html(data.message).show();
|
5327 |
-
}
|
5328 |
-
else
|
5329 |
-
{
|
5330 |
-
jQuery("#mec_do_transaction_paypal_credit_card_message" + cart_id).addClass("mec-error").html(data.message).show();
|
5331 |
-
}
|
5332 |
-
},
|
5333 |
-
error: function(jqXHR, textStatus, errorThrown)
|
5334 |
-
{
|
5335 |
-
// Remove the loading Class from the button
|
5336 |
-
jQuery("#mec_do_transaction_paypal_credit_card_form" + cart_id + " button[type=submit]").removeClass("loading");
|
5337 |
-
}
|
5338 |
-
});
|
5339 |
-
}
|
5340 |
-
</script>
|
5341 |
-
<?php
|
5342 |
-
}
|
5343 |
-
|
5344 |
-
public function cart_do_transaction()
|
5345 |
-
{
|
5346 |
-
$cart_id = isset($_GET['cart_id']) ? sanitize_text_field($_GET['cart_id']) : NULL;
|
5347 |
-
|
5348 |
-
// Verify that the nonce is valid.
|
5349 |
-
if(!wp_verify_nonce(sanitize_text_field($_GET['_wpnonce']), 'mec_transaction_form_' . $cart_id))
|
5350 |
-
{
|
5351 |
-
$this->response(array(
|
5352 |
-
'success' => 0,
|
5353 |
-
'code' => 'NONCE_IS_INVALID',
|
5354 |
-
'message' => __('Request is invalid!', 'modern-events-calendar-lite'),
|
5355 |
-
));
|
5356 |
-
}
|
5357 |
-
|
5358 |
-
// Validate Ticket Availability
|
5359 |
-
$this->cart_validate($cart_id);
|
5360 |
-
|
5361 |
-
/**
|
5362 |
-
* Payment
|
5363 |
-
*/
|
5364 |
-
|
5365 |
-
$validate = $this->cart_validate_paypal($_GET);
|
5366 |
-
if(!$validate)
|
5367 |
-
{
|
5368 |
-
$this->response(array(
|
5369 |
-
'success' => 0,
|
5370 |
-
'code' => 'PAYMENT_IS_INVALID',
|
5371 |
-
'message' => __('Payment is invalid.', 'modern-events-calendar-lite'),
|
5372 |
-
));
|
5373 |
-
}
|
5374 |
-
|
5375 |
-
/**
|
5376 |
-
* Booking
|
5377 |
-
*/
|
5378 |
-
|
5379 |
-
// Cart Library
|
5380 |
-
$c = $this->getCart();
|
5381 |
-
$cart = $c->get_cart($cart_id);
|
5382 |
-
|
5383 |
-
$book_ids = array();
|
5384 |
-
foreach($cart as $transaction_id)
|
5385 |
-
{
|
5386 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
5387 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
5388 |
-
|
5389 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
5390 |
-
$attention_times = explode(':', $attention_date);
|
5391 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
5392 |
-
|
5393 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
5394 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
5395 |
-
|
5396 |
-
$ticket_ids = '';
|
5397 |
-
$attendees_info = array();
|
5398 |
-
|
5399 |
-
foreach($attendees as $i => $attendee)
|
5400 |
-
{
|
5401 |
-
if(!is_numeric($i)) continue;
|
5402 |
-
|
5403 |
-
$ticket_ids .= $attendee['id'] . ',';
|
5404 |
-
|
5405 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
5406 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
5407 |
-
}
|
5408 |
-
|
5409 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
5410 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
5411 |
-
|
5412 |
-
// Remove Sensitive Data
|
5413 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
5414 |
-
{
|
5415 |
-
unset($transaction['username']);
|
5416 |
-
unset($transaction['password']);
|
5417 |
-
|
5418 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
5419 |
-
}
|
5420 |
-
|
5421 |
-
// MEC User
|
5422 |
-
$u = $this->getUser();
|
5423 |
-
|
5424 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
5425 |
-
$book_id = $this->book->add(
|
5426 |
-
array(
|
5427 |
-
'post_author' => $user_id,
|
5428 |
-
'post_type' => $this->PT,
|
5429 |
-
'post_title' => $book_subject,
|
5430 |
-
'post_date' => $date,
|
5431 |
-
'attendees_info' => $attendees_info,
|
5432 |
-
'mec_attendees' => $attendees,
|
5433 |
-
'mec_gateway' => 'MEC_gateway_paypal_credit_card',
|
5434 |
-
'mec_gateway_label' => $this->title()
|
5435 |
-
),
|
5436 |
-
$transaction_id,
|
5437 |
-
$ticket_ids
|
5438 |
-
);
|
5439 |
-
|
5440 |
-
// Assign User
|
5441 |
-
$u->assign($book_id, $user_id);
|
5442 |
-
|
5443 |
-
// Fires after completely creating a new booking
|
5444 |
-
do_action('mec_booking_completed', $book_id);
|
5445 |
-
|
5446 |
-
$book_ids[] = $book_id;
|
5447 |
-
}
|
5448 |
-
|
5449 |
-
$invoice_status = (isset($this->settings['mec_cart_invoice']) and $this->settings['mec_cart_invoice']);
|
5450 |
-
$invoice_link = (!$invoice_status) ? '' : $c->get_invoice_link($cart_id);
|
5451 |
-
|
5452 |
-
$message = stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite')));
|
5453 |
-
if(trim($invoice_link)) $message .= ' <a class="mec-invoice-download" href="'.esc_url($invoice_link).'">'.__('Download Invoice', 'modern-events-calendar-lite').'</a>';
|
5454 |
-
|
5455 |
-
// Empty Cart
|
5456 |
-
$c->clear($cart_id);
|
5457 |
-
|
5458 |
-
$this->response(array(
|
5459 |
-
'success' => 1,
|
5460 |
-
'message' => $message,
|
5461 |
-
'data' => array(
|
5462 |
-
'book_ids' => $book_ids,
|
5463 |
-
'invoice_link' => $invoice_link,
|
5464 |
-
),
|
5465 |
-
));
|
5466 |
-
}
|
5467 |
-
|
5468 |
-
public function cart_validate_paypal($vars = array())
|
5469 |
-
{
|
5470 |
-
$card_type = (isset($vars['card_type']) ? sanitize_text_field($vars['card_type']) : null);
|
5471 |
-
$cc_number = (isset($vars['cc_number']) ? sanitize_text_field($vars['cc_number']) : null);
|
5472 |
-
$cvv2 = (isset($vars['cvv2']) ? sanitize_text_field($vars['cvv2']) : null);
|
5473 |
-
$first_name = (isset($vars['first_name']) ? sanitize_text_field($vars['first_name']) : null);
|
5474 |
-
$last_name = (isset($vars['last_name']) ? sanitize_text_field($vars['last_name']) : null);
|
5475 |
-
$exp_date_month = (isset($vars['expiration_date_month']) ? sanitize_text_field($vars['expiration_date_month']) : null);
|
5476 |
-
$exp_date_year = (isset($vars['expiration_date_year']) ? sanitize_text_field($vars['expiration_date_year']) : null);
|
5477 |
-
|
5478 |
-
// Check Card details
|
5479 |
-
if(!$card_type or !$cc_number or !$cvv2) return false;
|
5480 |
-
|
5481 |
-
$cart_id = isset($vars['cart_id']) ? sanitize_text_field($vars['cart_id']) : 0;
|
5482 |
-
|
5483 |
-
// Cart Library
|
5484 |
-
$c = $this->getCart();
|
5485 |
-
$cart = $c->get_cart($cart_id);
|
5486 |
-
|
5487 |
-
// Payable
|
5488 |
-
$payable = $c->get_payable($cart);
|
5489 |
-
|
5490 |
-
// Get Options
|
5491 |
-
$options = $this->options();
|
5492 |
-
|
5493 |
-
$expdate = $exp_date_month . $exp_date_year;
|
5494 |
-
$params = array(
|
5495 |
-
'METHOD' => 'DoDirectPayment',
|
5496 |
-
'USER' => (isset($options['api_username']) ? $options['api_username'] : null),
|
5497 |
-
'PWD' => (isset($options['api_password']) ? $options['api_password'] : null),
|
5498 |
-
'SIGNATURE' => (isset($options['api_signature']) ? $options['api_signature'] : null),
|
5499 |
-
'VERSION' => 90.0,
|
5500 |
-
'CREDITCARDTYPE' => $card_type,
|
5501 |
-
'ACCT' => $cc_number,
|
5502 |
-
'EXPDATE' => $expdate,
|
5503 |
-
'CVV2' => $cvv2,
|
5504 |
-
'FIRSTNAME' => $first_name,
|
5505 |
-
'LASTNAME' => $last_name,
|
5506 |
-
'AMT' => $payable,
|
5507 |
-
'CURRENCYCODE' => $this->main->get_currency_code(),
|
5508 |
-
'DESC' => sprintf(__('Transactions: %s', 'modern-events-calendar-lite'), implode(', ', $cart)),
|
5509 |
-
);
|
5510 |
-
|
5511 |
-
$request_str = $this->get_request_string($params);
|
5512 |
-
$response_str = $this->get_paypal_response($request_str, $this->get_api_url());
|
5513 |
-
|
5514 |
-
$results = $this->normalize_NVP($response_str);
|
5515 |
-
|
5516 |
-
$status = strpos(strtolower($results['ACK']), 'success') !== false ? 1 : 0;
|
5517 |
-
$amount = isset($results['AMT']) ? $results['AMT'] : 0;
|
5518 |
-
|
5519 |
-
// Save Transaction ID
|
5520 |
-
if($status)
|
5521 |
-
{
|
5522 |
-
$gateway_transaction_id = isset($results['TRANSACTIONID']) ? $results['TRANSACTIONID'] : '';
|
5523 |
-
if($gateway_transaction_id)
|
5524 |
-
{
|
5525 |
-
foreach($cart as $transaction_id)
|
5526 |
-
{
|
5527 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
5528 |
-
|
5529 |
-
$transaction['gateway_transaction_id'] = $gateway_transaction_id;
|
5530 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
5531 |
-
}
|
5532 |
-
}
|
5533 |
-
}
|
5534 |
-
|
5535 |
-
// Error
|
5536 |
-
if(!$status)
|
5537 |
-
{
|
5538 |
-
$error = (isset($results['L_ERRORCODE0']) ? '('.$results['L_ERRORCODE0'].') ' : '').(isset($results['L_LONGMESSAGE0']) ? $results['L_LONGMESSAGE0'] : '');
|
5539 |
-
|
5540 |
-
// Log it
|
5541 |
-
trigger_error($error, E_USER_NOTICE);
|
5542 |
-
|
5543 |
-
// Save it
|
5544 |
-
update_option('mec_paypal_cc_error', current_time('Y-m-d H:i:s').': '.$error, false);
|
5545 |
-
}
|
5546 |
-
|
5547 |
-
// Compare paid amount with transaction amount
|
5548 |
-
return ($amount >= $payable and $status) ? true : false;
|
5549 |
-
}
|
5550 |
-
}
|
5551 |
-
|
5552 |
-
class MEC_gateway_woocommerce extends MEC_gateway
|
5553 |
-
{
|
5554 |
-
public $id = 6;
|
5555 |
-
public $options;
|
5556 |
-
|
5557 |
-
public function __construct()
|
5558 |
-
{
|
5559 |
-
parent::__construct();
|
5560 |
-
|
5561 |
-
// Gateway options
|
5562 |
-
$this->options = $this->options();
|
5563 |
-
|
5564 |
-
// Register actions
|
5565 |
-
$this->factory->action('wp_ajax_mec_create_order_woocommerce', array($this, 'create_order'));
|
5566 |
-
$this->factory->action('wp_ajax_nopriv_mec_create_order_woocommerce', array($this, 'create_order'));
|
5567 |
-
|
5568 |
-
$this->factory->action('wp_ajax_mec_check_transaction_woocommerce', array($this, 'check_transaction'));
|
5569 |
-
$this->factory->action('wp_ajax_nopriv_mec_check_transaction_woocommerce', array($this, 'check_transaction'));
|
5570 |
-
|
5571 |
-
$this->factory->action('woocommerce_order_status_completed', array($this, 'after_order_completed'), 10, 1);
|
5572 |
-
$this->factory->action('woocommerce_thankyou', array($this, 'after_payment'), 10, 1);
|
5573 |
-
|
5574 |
-
$this->factory->action('woocommerce_order_status_cancelled', array($this, 'after_order_cancellation'), 10, 1);
|
5575 |
-
$this->factory->action('woocommerce_order_status_refunded', array($this, 'after_order_cancellation'), 10, 1);
|
5576 |
-
|
5577 |
-
$this->factory->filter('woocommerce_order_subtotal_to_display', array($this, 'hide_subtotal'), 10, 3);
|
5578 |
-
}
|
5579 |
-
|
5580 |
-
public function label()
|
5581 |
-
{
|
5582 |
-
return __('Pay by WooCommerce', 'modern-events-calendar-lite');
|
5583 |
-
}
|
5584 |
-
|
5585 |
-
public function color()
|
5586 |
-
{
|
5587 |
-
return '#ff007f';
|
5588 |
-
}
|
5589 |
-
|
5590 |
-
public function enabled()
|
5591 |
-
{
|
5592 |
-
return ((isset($this->options['status']) and $this->options['status']) ? (function_exists('wc_create_order') ? true : false) : false);
|
5593 |
-
}
|
5594 |
-
|
5595 |
-
public function create_order()
|
5596 |
-
{
|
5597 |
-
$transaction_id = isset($_POST['transaction_id']) ? sanitize_text_field($_POST['transaction_id']) : 0;
|
5598 |
-
|
5599 |
-
// Verify that the nonce is valid.
|
5600 |
-
if(!wp_verify_nonce($_POST['_wpnonce'], 'mec_transaction_form_' . $transaction_id))
|
5601 |
-
{
|
5602 |
-
$this->response(array(
|
5603 |
-
'success' => 0,
|
5604 |
-
'code' => 'NONCE_IS_INVALID',
|
5605 |
-
'message' => __('Request is invalid!', 'modern-events-calendar-lite'),
|
5606 |
-
));
|
5607 |
-
}
|
5608 |
-
|
5609 |
-
// Validate Ticket Availability
|
5610 |
-
$this->validate($transaction_id);
|
5611 |
-
|
5612 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
5613 |
-
$event_id = $transaction['event_id'];
|
5614 |
-
|
5615 |
-
// Now we create the order
|
5616 |
-
$order = wc_create_order(
|
5617 |
-
array(
|
5618 |
-
'customer_id' => get_current_user_id(),
|
5619 |
-
)
|
5620 |
-
);
|
5621 |
-
|
5622 |
-
// Set Transaction ID into the Order Meta Data, We will use it after WC checkout
|
5623 |
-
update_post_meta($order->get_id(), '_mec_transaction_id', $transaction_id);
|
5624 |
-
|
5625 |
-
$attendee_name = isset($transaction['tickets']) ? $transaction['tickets'][0]['name'] : '';
|
5626 |
-
$ex = explode(' ', $attendee_name);
|
5627 |
-
|
5628 |
-
$fname = $lname = '';
|
5629 |
-
|
5630 |
-
// Update Order Billing First Name and Last Name
|
5631 |
-
if(trim($ex[0]))
|
5632 |
-
{
|
5633 |
-
$fname = $ex[0];
|
5634 |
-
update_post_meta($order->get_id(), '_billing_first_name', $fname);
|
5635 |
-
}
|
5636 |
-
|
5637 |
-
if(trim($ex[1]))
|
5638 |
-
{
|
5639 |
-
$lname = implode(' ', array_slice($ex, 1));
|
5640 |
-
update_post_meta($order->get_id(), '_billing_last_name', $lname);
|
5641 |
-
}
|
5642 |
-
|
5643 |
-
$order->set_address(
|
5644 |
-
array(
|
5645 |
-
'first_name' => $fname,
|
5646 |
-
'last_name' => $lname,
|
5647 |
-
'email' => $transaction['tickets'][0]['email'],
|
5648 |
-
),
|
5649 |
-
'shipping'
|
5650 |
-
);
|
5651 |
-
|
5652 |
-
$order->set_address(
|
5653 |
-
array(
|
5654 |
-
'first_name' => $fname,
|
5655 |
-
'last_name' => $lname,
|
5656 |
-
'email' => $transaction['tickets'][0]['email'],
|
5657 |
-
),
|
5658 |
-
'billing'
|
5659 |
-
);
|
5660 |
-
|
5661 |
-
$order->set_currency($this->main->get_currency_code($event_id));
|
5662 |
-
|
5663 |
-
$fee = new WC_Order_Item_Fee();
|
5664 |
-
$fee->set_name(sprintf(__('Booking fee for %s', 'modern-events-calendar-lite'), get_the_title($event_id)));
|
5665 |
-
$fee->set_tax_class('');
|
5666 |
-
$fee->set_tax_status('taxable');
|
5667 |
-
$fee->set_amount((isset($transaction['price']) ? $transaction['price'] : 0));
|
5668 |
-
$fee->set_total((isset($transaction['price']) ? $transaction['price'] : 0));
|
5669 |
-
|
5670 |
-
$order->add_item($fee);
|
5671 |
-
$order->calculate_totals();
|
5672 |
-
|
5673 |
-
$url = $order->get_checkout_payment_url();
|
5674 |
-
$this->response(
|
5675 |
-
array(
|
5676 |
-
'success' => 1,
|
5677 |
-
'message' => __('Order created. Please proceed with checkout.', 'modern-events-calendar-lite'),
|
5678 |
-
'data' => array(
|
5679 |
-
'url' => $url,
|
5680 |
-
'id' => $order->get_id(),
|
5681 |
-
),
|
5682 |
-
)
|
5683 |
-
);
|
5684 |
-
}
|
5685 |
-
|
5686 |
-
public function do_transaction($transaction_id = null, $order_id = null)
|
5687 |
-
{
|
5688 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
5689 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
5690 |
-
|
5691 |
-
// Is there any attendee?
|
5692 |
-
if(!count($attendees))
|
5693 |
-
{
|
5694 |
-
return array(
|
5695 |
-
'success' => 0,
|
5696 |
-
'code' => 'NO_TICKET',
|
5697 |
-
'message' => __('There is no attendee for booking!', 'modern-events-calendar-lite'),
|
5698 |
-
);
|
5699 |
-
}
|
5700 |
-
|
5701 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
5702 |
-
$attention_times = explode(':', $attention_date);
|
5703 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
5704 |
-
|
5705 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
5706 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
5707 |
-
|
5708 |
-
$ticket_ids = '';
|
5709 |
-
$attendees_info = array();
|
5710 |
-
|
5711 |
-
foreach($attendees as $i => $attendee)
|
5712 |
-
{
|
5713 |
-
if(!is_numeric($i)) continue;
|
5714 |
-
|
5715 |
-
$ticket_ids .= $attendee['id'] . ',';
|
5716 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
5717 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
5718 |
-
}
|
5719 |
-
|
5720 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
5721 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
5722 |
-
|
5723 |
-
// Remove Sensitive Data
|
5724 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
5725 |
-
{
|
5726 |
-
unset($transaction['username']);
|
5727 |
-
unset($transaction['password']);
|
5728 |
-
|
5729 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
5730 |
-
}
|
5731 |
-
|
5732 |
-
// MEC User
|
5733 |
-
$u = $this->getUser();
|
5734 |
-
|
5735 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
5736 |
-
$book_id = $this->book->add(
|
5737 |
-
array(
|
5738 |
-
'post_author' => $user_id,
|
5739 |
-
'post_type' => $this->PT,
|
5740 |
-
'post_title' => $book_subject,
|
5741 |
-
'post_date' => $date,
|
5742 |
-
'attendees_info' => $attendees_info,
|
5743 |
-
'mec_attendees' => $attendees,
|
5744 |
-
'mec_gateway' => 'MEC_gateway_woocommerce',
|
5745 |
-
'mec_gateway_label' => $this->title()
|
5746 |
-
),
|
5747 |
-
$transaction_id,
|
5748 |
-
$ticket_ids
|
5749 |
-
);
|
5750 |
-
|
5751 |
-
// Assign User
|
5752 |
-
$u->assign($book_id, $user_id);
|
5753 |
-
|
5754 |
-
update_post_meta($book_id, 'mec_order_id', $order_id);
|
5755 |
-
|
5756 |
-
// Fires after completely creating a new booking
|
5757 |
-
do_action('mec_booking_completed', $book_id);
|
5758 |
-
|
5759 |
-
// Update WC Order client
|
5760 |
-
if($order_id)
|
5761 |
-
{
|
5762 |
-
$customer = get_post_meta($order_id, '_customer_user', true);
|
5763 |
-
if($customer != $user_id)
|
5764 |
-
{
|
5765 |
-
// MEC User
|
5766 |
-
$u = $this->getUser();
|
5767 |
-
|
5768 |
-
update_post_meta($order_id, '_customer_user', $user_id);
|
5769 |
-
update_post_meta($order_id, '_billing_email', $u->get($user_id)->user_email);
|
5770 |
-
}
|
5771 |
-
}
|
5772 |
-
|
5773 |
-
$event_id = (isset($transaction['event_id']) ? $transaction['event_id'] : 0);
|
5774 |
-
$redirect_to = '';
|
5775 |
-
|
5776 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
5777 |
-
if($thankyou_page_id) $redirect_to = $this->book->get_thankyou_page($thankyou_page_id, $transaction_id);
|
5778 |
-
|
5779 |
-
// Invoice Link
|
5780 |
-
$mec_confirmed = get_post_meta($book_id, 'mec_confirmed', true);
|
5781 |
-
$invoice_link = (!$mec_confirmed) ? '' : $this->book->get_invoice_link($transaction_id);
|
5782 |
-
$dl_file_link = (!$mec_confirmed) ? '' : $this->book->get_dl_file_link($book_id);
|
5783 |
-
|
5784 |
-
$extra_info = apply_filters('MEC_extra_info_gateways', '', $this->book->get_event_id_by_transaction_id($transaction_id), $book_id);
|
5785 |
-
|
5786 |
-
return array(
|
5787 |
-
'success' => 1,
|
5788 |
-
'message' => stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite'))),
|
5789 |
-
'data' => array(
|
5790 |
-
'book_id' => $book_id,
|
5791 |
-
'redirect_to' => $redirect_to,
|
5792 |
-
'invoice_link' => $invoice_link,
|
5793 |
-
'dl_file_link' => $dl_file_link,
|
5794 |
-
'extra_info' => $extra_info,
|
5795 |
-
),
|
5796 |
-
);
|
5797 |
-
}
|
5798 |
-
|
5799 |
-
public function checkout_form($transaction_id, $params = array())
|
5800 |
-
{
|
5801 |
-
?>
|
5802 |
-
<script type="text/javascript">
|
5803 |
-
jQuery('#mec_do_transaction_woocommerce_form<?php echo $transaction_id; ?>').on('submit', function(e)
|
5804 |
-
{
|
5805 |
-
// Prevent the form from submitting
|
5806 |
-
e.preventDefault();
|
5807 |
-
|
5808 |
-
var transaction_id = '<?php echo $transaction_id; ?>';
|
5809 |
-
|
5810 |
-
// Add loading Class to the button
|
5811 |
-
jQuery("#mec_do_transaction_woocommerce_form" + transaction_id + " button[type=submit]").addClass("loading");
|
5812 |
-
jQuery("#mec_do_transaction_woocommerce_message" + transaction_id).removeClass("mec-success mec-error").hide();
|
5813 |
-
|
5814 |
-
var data = jQuery("#mec_do_transaction_woocommerce_form" + transaction_id).serialize();
|
5815 |
-
jQuery.ajax(
|
5816 |
-
{
|
5817 |
-
type: "POST",
|
5818 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
5819 |
-
data: data,
|
5820 |
-
dataType: "JSON",
|
5821 |
-
success: function (data) {
|
5822 |
-
if (data.success == 1) {
|
5823 |
-
window.location.href = data.data.url;
|
5824 |
-
}
|
5825 |
-
else {
|
5826 |
-
// Remove the loading Class from the button
|
5827 |
-
jQuery("#mec_do_transaction_woocommerce_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
5828 |
-
|
5829 |
-
jQuery("#mec_do_transaction_woocommerce_message" + transaction_id).addClass("mec-error").html(data.message).show();
|
5830 |
-
}
|
5831 |
-
},
|
5832 |
-
error: function (jqXHR, textStatus, errorThrown) {
|
5833 |
-
// Remove the loading Class from the button
|
5834 |
-
jQuery("#mec_do_transaction_woocommerce_form" + transaction_id + " button[type=submit]").removeClass("loading");
|
5835 |
-
}
|
5836 |
-
});
|
5837 |
-
});
|
5838 |
-
|
5839 |
-
function mec_woocommerce_pay_checker(transaction_id)
|
5840 |
-
{
|
5841 |
-
jQuery.ajax(
|
5842 |
-
{
|
5843 |
-
type: "GET",
|
5844 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
5845 |
-
data: "action=mec_check_transaction_woocommerce&transaction_id=" + transaction_id,
|
5846 |
-
dataType: "JSON",
|
5847 |
-
success: function (data) {
|
5848 |
-
if (data.success == 1) {
|
5849 |
-
jQuery("#mec-book-form-back-btn-step-3").remove();
|
5850 |
-
jQuery("#mec_do_transaction_woocommerce_message" + transaction_id).addClass("mec-success").html(data.message).show();
|
5851 |
-
jQuery("#mec_do_transaction_woocommerce_checkout" + transaction_id).hide();
|
5852 |
-
|
5853 |
-
// Show Invoice Link
|
5854 |
-
if(typeof data.data.invoice_link !== "undefined" && data.data.invoice_link != "")
|
5855 |
-
{
|
5856 |
-
jQuery("#mec_do_transaction_woocommerce_message" + transaction_id).append(' <a class="mec-invoice-download" href="' + data.data.invoice_link + '"><?php echo esc_js(__('Download Invoice', 'modern-events-calendar-lite')); ?></a>');
|
5857 |
-
}
|
5858 |
-
|
5859 |
-
// Show Downloadable Link
|
5860 |
-
if(typeof data.data.dl_file_link !== "undefined" && data.data.dl_file_link != "")
|
5861 |
-
{
|
5862 |
-
jQuery("#mec_do_transaction_woocommerce_message" + transaction_id).append(' — <a class="mec-dl-file-download" href="' + data.data.dl_file_link + '"><?php echo esc_js(__('Download File', 'modern-events-calendar-lite')); ?></a>');
|
5863 |
-
}
|
5864 |
-
|
5865 |
-
// Show Extra info
|
5866 |
-
if(typeof data.data.extra_info !== "undefined" && data.data.extra_info != "" && data.data.extra_info != null)
|
5867 |
-
{
|
5868 |
-
jQuery("#mec_do_transaction_woocommerce_message" + transaction_id).append('<div>' + data.data.extra_info+'</div>');
|
5869 |
-
}
|
5870 |
-
|
5871 |
-
// Redirect to thank you page
|
5872 |
-
if (typeof data.data.redirect_to != "undefined" && data.data.redirect_to != "") {
|
5873 |
-
setTimeout(function () {
|
5874 |
-
window.location.href = data.data.redirect_to;
|
5875 |
-
}, <?php echo $this->main->get_thankyou_page_time($transaction_id); ?>);
|
5876 |
-
}
|
5877 |
-
}
|
5878 |
-
else if (data.success == 0) {
|
5879 |
-
jQuery("#mec_do_transaction_woocommerce_message" + transaction_id).addClass("mec-error").html(data.message).show();
|
5880 |
-
}
|
5881 |
-
else {
|
5882 |
-
setTimeout(function () {
|
5883 |
-
mec_woocommerce_pay_checker(transaction_id)
|
5884 |
-
}, 10000);
|
5885 |
-
}
|
5886 |
-
},
|
5887 |
-
error: function (jqXHR, textStatus, errorThrown) {
|
5888 |
-
setTimeout(function () {
|
5889 |
-
mec_woocommerce_pay_checker(transaction_id)
|
5890 |
-
}, 10000);
|
5891 |
-
}
|
5892 |
-
});
|
5893 |
-
}
|
5894 |
-
</script>
|
5895 |
-
<div class="mec-gateway-message mec-util-hidden"
|
5896 |
-
id="mec_do_transaction_woocommerce_message<?php echo $transaction_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
5897 |
-
<form id="mec_do_transaction_woocommerce_form<?php echo $transaction_id; ?>" class="mec-click-pay">
|
5898 |
-
<div class="mec-form-row">
|
5899 |
-
<input type="hidden" name="action" value="mec_create_order_woocommerce"/>
|
5900 |
-
<input type="hidden" name="transaction_id" value="<?php echo $transaction_id; ?>"/>
|
5901 |
-
<input type="hidden" name="gateway_id" value="<?php echo $this->id(); ?>"/>
|
5902 |
-
<?php wp_nonce_field('mec_transaction_form_' . $transaction_id); ?>
|
5903 |
-
<button type="submit" class="mec-book-form-next-button"><?php _e('Checkout', 'modern-events-calendar-lite'); ?></button>
|
5904 |
-
</div>
|
5905 |
-
</form>
|
5906 |
-
<div class="mec-util-hidden" id="mec_do_transaction_woocommerce_checkout<?php echo $transaction_id; ?>">
|
5907 |
-
<a class="mec-woo-booking-checkout" target="_blank"><?php _e('Checkout', 'modern-events-calendar-lite'); ?></a>
|
5908 |
-
</div>
|
5909 |
-
<?php
|
5910 |
-
}
|
5911 |
-
|
5912 |
-
public function options_form()
|
5913 |
-
{
|
5914 |
-
?>
|
5915 |
-
<div class="mec-form-row mec-click-pay">
|
5916 |
-
<label>
|
5917 |
-
<input type="hidden" name="mec[gateways][<?php echo $this->id(); ?>][status]" value="0"/>
|
5918 |
-
<input onchange="jQuery('#mec_gateways<?php echo $this->id(); ?>_container_toggle').toggle();" value="1"
|
5919 |
-
type="checkbox" name="mec[gateways][<?php echo $this->id(); ?>][status]"
|
5920 |
-
<?php
|
5921 |
-
if (isset($this->options['status']) and $this->options['status']) {
|
5922 |
-
echo 'checked="checked"';
|
5923 |
-
}
|
5924 |
-
?>
|
5925 |
-
/> <?php _e('Pay by WooCommerce', 'modern-events-calendar-lite'); ?>
|
5926 |
-
</label>
|
5927 |
-
</div>
|
5928 |
-
<div id="mec_gateways<?php echo $this->id(); ?>_container_toggle" class="mec-gateway-options-form
|
5929 |
-
<?php
|
5930 |
-
if ((isset($this->options['status']) and !$this->options['status']) or !isset($this->options['status'])) {
|
5931 |
-
echo 'mec-util-hidden';
|
5932 |
-
}
|
5933 |
-
?>
|
5934 |
-
">
|
5935 |
-
<?php if (!function_exists('wc_create_order')) : ?>
|
5936 |
-
<p class="mec-error"><?php _e('WooCommerce must be installed and activated first.', 'modern-events-calendar-lite'); ?></p>
|
5937 |
-
<?php else : ?>
|
5938 |
-
<div class="mec-form-row">
|
5939 |
-
<label class="mec-col-3"
|
5940 |
-
for="mec_gateways<?php echo $this->id(); ?>_title"><?php _e('Title', 'modern-events-calendar-lite'); ?></label>
|
5941 |
-
<div class="mec-col-9">
|
5942 |
-
<input type="text" id="mec_gateways<?php echo $this->id(); ?>_title"
|
5943 |
-
name="mec[gateways][<?php echo $this->id(); ?>][title]"
|
5944 |
-
value="<?php echo (isset($this->options['title']) and trim($this->options['title'])) ? $this->options['title'] : ''; ?>"
|
5945 |
-
placeholder="<?php echo $this->label(); ?>"/>
|
5946 |
-
</div>
|
5947 |
-
</div>
|
5948 |
-
<div class="mec-form-row">
|
5949 |
-
<label class="mec-col-3"
|
5950 |
-
for="mec_gateways<?php echo $this->id(); ?>_comment"><?php _e('Comment', 'modern-events-calendar-lite'); ?></label>
|
5951 |
-
<div class="mec-col-9">
|
5952 |
-
<textarea id="mec_gateways<?php echo $this->id(); ?>_comment"
|
5953 |
-
name="mec[gateways][<?php echo $this->id(); ?>][comment]"><?php echo (isset($this->options['comment']) and trim($this->options['comment'])) ? stripslashes($this->options['comment']) : esc_html__('WooCommerce Gateway Description', 'modern-events-calendar-lite'); ?></textarea>
|
5954 |
-
<span class="mec-tooltip">
|
5955 |
-
<div class="box left">
|
5956 |
-
<h5 class="title"><?php _e('Comment', 'modern-events-calendar-lite'); ?></h5>
|
5957 |
-
<div class="content"><p><?php esc_attr_e('HTML allowed.', 'modern-events-calendar-lite'); ?><a
|
5958 |
-
href="https://webnus.net/dox/modern-events-calendar/woocommerce/"
|
5959 |
-
target="_blank"><?php _e('Read More', 'modern-events-calendar-lite'); ?></a></p></div>
|
5960 |
-
</div>
|
5961 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
5962 |
-
</span>
|
5963 |
-
</div>
|
5964 |
-
</div>
|
5965 |
-
<div class="mec-form-row">
|
5966 |
-
<label class="mec-col-3"
|
5967 |
-
for="mec_gateways<?php echo $this->id(); ?>_auto_order_complete"><?php _e('Automatically complete WC orders', 'modern-events-calendar-lite'); ?></label>
|
5968 |
-
<div class="mec-col-9">
|
5969 |
-
<select id="mec_gateways<?php echo $this->id(); ?>_auto_order_complete"
|
5970 |
-
name="mec[gateways][<?php echo $this->id(); ?>][auto_order_complete]">
|
5971 |
-
<option value="1" <?php echo((isset($this->options['auto_order_complete']) and $this->options['auto_order_complete'] == '1') ? 'selected="selected"' : ''); ?>><?php _e('Enabled', 'modern-events-calendar-lite'); ?></option>
|
5972 |
-
<option value="0" <?php echo((isset($this->options['auto_order_complete']) and $this->options['auto_order_complete'] == '0') ? 'selected="selected"' : ''); ?>><?php _e('Disabled', 'modern-events-calendar-lite'); ?></option>
|
5973 |
-
</select>
|
5974 |
-
<span class="mec-tooltip">
|
5975 |
-
<div class="box left">
|
5976 |
-
<h5 class="title"><?php _e('Auto WC orders', 'modern-events-calendar-lite'); ?></h5>
|
5977 |
-
<div class="content"><p><?php esc_attr_e('It applies only to the orders that are related to MEC.', 'modern-events-calendar-lite'); ?>
|
5978 |
-
<a href="https://webnus.net/dox/modern-events-calendar/woocommerce/"
|
5979 |
-
target="_blank"><?php _e('Read More', 'modern-events-calendar-lite'); ?></a></p></div>
|
5980 |
-
</div>
|
5981 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
5982 |
-
</span>
|
5983 |
-
</div>
|
5984 |
-
</div>
|
5985 |
-
<div class="mec-form-row">
|
5986 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_index"><?php _e('Position', 'modern-events-calendar-lite'); ?></label>
|
5987 |
-
<div class="mec-col-9">
|
5988 |
-
<input type="number" min="0" step="1" id="mec_gateways<?php echo $this->id(); ?>_index"
|
5989 |
-
name="mec[gateways][<?php echo $this->id(); ?>][index]"
|
5990 |
-
value="<?php echo (isset($this->options['index']) and trim($this->options['index'])) ? $this->options['index'] : 5; ?>"
|
5991 |
-
placeholder="<?php echo esc_attr__('Position', 'modern-events-calendar-lite'); ?>"/>
|
5992 |
-
</div>
|
5993 |
-
</div>
|
5994 |
-
<?php endif; ?>
|
5995 |
-
</div>
|
5996 |
-
<?php
|
5997 |
-
}
|
5998 |
-
|
5999 |
-
public function check_transaction($transaction_id = null)
|
6000 |
-
{
|
6001 |
-
if (!trim($transaction_id)) {
|
6002 |
-
$transaction_id = isset($_GET['transaction_id']) ? sanitize_text_field($_GET['transaction_id']) : 0;
|
6003 |
-
}
|
6004 |
-
|
6005 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
6006 |
-
|
6007 |
-
$success = 2;
|
6008 |
-
$message = __('Waiting for a response from gateway.', 'modern-events-calendar-lite');
|
6009 |
-
$data = array();
|
6010 |
-
|
6011 |
-
if (isset($transaction['done']) and $transaction['done'] == 1) {
|
6012 |
-
$success = 1;
|
6013 |
-
$message = stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite')));
|
6014 |
-
|
6015 |
-
$event_id = (isset($transaction['event_id']) ? $transaction['event_id'] : 0);
|
6016 |
-
|
6017 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
6018 |
-
if($thankyou_page_id) $data['redirect_to'] = $this->book->get_thankyou_page($thankyou_page_id, $transaction_id);
|
6019 |
-
} elseif (isset($transaction['done']) and $transaction['done'] == 0) {
|
6020 |
-
$success = 0;
|
6021 |
-
$message = __('Payment invalid! Booking failed.', 'modern-events-calendar-lite');
|
6022 |
-
}
|
6023 |
-
|
6024 |
-
$this->response(
|
6025 |
-
array(
|
6026 |
-
'success' => $success,
|
6027 |
-
'message' => $message,
|
6028 |
-
'data' => $data,
|
6029 |
-
)
|
6030 |
-
);
|
6031 |
-
}
|
6032 |
-
|
6033 |
-
public function after_payment($order_id)
|
6034 |
-
{
|
6035 |
-
if (!$order_id) {
|
6036 |
-
return;
|
6037 |
-
}
|
6038 |
-
|
6039 |
-
// Auto Order Complete is not enabled
|
6040 |
-
if (!isset($this->options['auto_order_complete']) or (isset($this->options['auto_order_complete']) and !$this->options['auto_order_complete'])) {
|
6041 |
-
return;
|
6042 |
-
}
|
6043 |
-
|
6044 |
-
$transaction_id = get_post_meta($order_id, '_mec_transaction_id', true);
|
6045 |
-
if (!$transaction_id) {
|
6046 |
-
return;
|
6047 |
-
}
|
6048 |
-
|
6049 |
-
$order = wc_get_order($order_id);
|
6050 |
-
$order->update_status('completed');
|
6051 |
-
}
|
6052 |
-
|
6053 |
-
public function after_order_completed($order_id)
|
6054 |
-
{
|
6055 |
-
$transaction_id = get_post_meta($order_id, '_mec_transaction_id', true);
|
6056 |
-
if (!$transaction_id) {
|
6057 |
-
return;
|
6058 |
-
}
|
6059 |
-
|
6060 |
-
// Mark it as done
|
6061 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
6062 |
-
$transaction['done'] = 1;
|
6063 |
-
|
6064 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
6065 |
-
|
6066 |
-
// Do MEC Transaction
|
6067 |
-
$this->do_transaction($transaction_id, $order_id);
|
6068 |
-
}
|
6069 |
-
|
6070 |
-
public function after_order_cancellation($order_id)
|
6071 |
-
{
|
6072 |
-
$transaction_id = get_post_meta($order_id, '_mec_transaction_id', true);
|
6073 |
-
if (!$transaction_id) {
|
6074 |
-
return;
|
6075 |
-
}
|
6076 |
-
|
6077 |
-
// Mark bookings as Canceled
|
6078 |
-
$bookings = $this->book->get_bookings_by_transaction_id($transaction_id);
|
6079 |
-
foreach($bookings as $booking)
|
6080 |
-
{
|
6081 |
-
$this->book->cancel($booking->ID);
|
6082 |
-
$this->book->reject($booking->ID);
|
6083 |
-
}
|
6084 |
-
}
|
6085 |
-
|
6086 |
-
public function hide_subtotal($subtotal, $compound, $order)
|
6087 |
-
{
|
6088 |
-
if(is_object($order) and method_exists($order, 'meta_exists') and $order->meta_exists('_mec_transaction_id')) return false;
|
6089 |
-
else return $subtotal;
|
6090 |
-
}
|
6091 |
-
}
|
6092 |
-
|
6093 |
-
class MEC_gateway_free extends MEC_gateway
|
6094 |
-
{
|
6095 |
-
public $id = 4;
|
6096 |
-
public $options;
|
6097 |
-
|
6098 |
-
public function __construct()
|
6099 |
-
{
|
6100 |
-
parent::__construct();
|
6101 |
-
|
6102 |
-
// Gateway options
|
6103 |
-
$this->options = $this->options();
|
6104 |
-
}
|
6105 |
-
|
6106 |
-
public function label()
|
6107 |
-
{
|
6108 |
-
return __('Free', 'modern-events-calendar-lite');
|
6109 |
-
}
|
6110 |
-
|
6111 |
-
public function color()
|
6112 |
-
{
|
6113 |
-
return '#23c8d2';
|
6114 |
-
}
|
6115 |
-
|
6116 |
-
public function do_transaction($transaction_id = null)
|
6117 |
-
{
|
6118 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
6119 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
6120 |
-
|
6121 |
-
$price = isset($transaction['price']) ? $transaction['price'] : 0;
|
6122 |
-
|
6123 |
-
// Booking is not free!
|
6124 |
-
if($price)
|
6125 |
-
{
|
6126 |
-
return array(
|
6127 |
-
'success' => 0,
|
6128 |
-
'code' => 'NOT_FREE',
|
6129 |
-
'message' => __('This booking is not free!', 'modern-events-calendar-lite'),
|
6130 |
-
);
|
6131 |
-
}
|
6132 |
-
|
6133 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
6134 |
-
$attention_times = explode(':', $attention_date);
|
6135 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
6136 |
-
|
6137 |
-
// Is there any attendee?
|
6138 |
-
if(!count($attendees))
|
6139 |
-
{
|
6140 |
-
return array(
|
6141 |
-
'success' => 0,
|
6142 |
-
'code' => 'NO_TICKET',
|
6143 |
-
'message' => __('There is no attendee for booking!', 'modern-events-calendar-lite'),
|
6144 |
-
);
|
6145 |
-
}
|
6146 |
-
|
6147 |
-
// Validate Ticket Availability
|
6148 |
-
$this->validate($transaction_id);
|
6149 |
-
|
6150 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
6151 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
6152 |
-
|
6153 |
-
$ticket_ids = '';
|
6154 |
-
$attendees_info = array();
|
6155 |
-
|
6156 |
-
foreach($attendees as $i => $attendee)
|
6157 |
-
{
|
6158 |
-
if(!is_numeric($i)) continue;
|
6159 |
-
|
6160 |
-
$ticket_ids .= $attendee['id'] . ',';
|
6161 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
6162 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
6163 |
-
}
|
6164 |
-
|
6165 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
6166 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
6167 |
-
|
6168 |
-
// Remove Sensitive Data
|
6169 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
6170 |
-
{
|
6171 |
-
unset($transaction['username']);
|
6172 |
-
unset($transaction['password']);
|
6173 |
-
|
6174 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
6175 |
-
}
|
6176 |
-
|
6177 |
-
// MEC User
|
6178 |
-
$u = $this->getUser();
|
6179 |
-
|
6180 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
6181 |
-
$book_id = $this->book->add(
|
6182 |
-
array(
|
6183 |
-
'post_author' => $user_id,
|
6184 |
-
'post_type' => $this->PT,
|
6185 |
-
'post_title' => $book_subject,
|
6186 |
-
'post_date' => $date,
|
6187 |
-
'attendees_info' => $attendees_info,
|
6188 |
-
'mec_attendees' => $attendees,
|
6189 |
-
'mec_gateway' => 'MEC_gateway_free',
|
6190 |
-
'mec_gateway_label' => $this->title()
|
6191 |
-
),
|
6192 |
-
$transaction_id,
|
6193 |
-
$ticket_ids
|
6194 |
-
);
|
6195 |
-
|
6196 |
-
if(!$book_id) $book_id = $this->book->get_book_id_transaction_id($transaction_id);
|
6197 |
-
|
6198 |
-
// Assign User
|
6199 |
-
$u->assign($book_id, $user_id);
|
6200 |
-
|
6201 |
-
// Fires after completely creating a new booking
|
6202 |
-
do_action('mec_booking_completed', $book_id);
|
6203 |
-
|
6204 |
-
$event_id = (isset($transaction['event_id']) ? $transaction['event_id'] : 0);
|
6205 |
-
$redirect_to = '';
|
6206 |
-
|
6207 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
6208 |
-
if($thankyou_page_id) $redirect_to = $this->book->get_thankyou_page($thankyou_page_id, $transaction_id);
|
6209 |
-
|
6210 |
-
// Invoice Link
|
6211 |
-
$mec_confirmed = get_post_meta($book_id, 'mec_confirmed', true);
|
6212 |
-
$invoice_link = (!$mec_confirmed) ? '' : $this->book->get_invoice_link($transaction_id);
|
6213 |
-
$dl_file_link = (!$mec_confirmed) ? '' : $this->book->get_dl_file_link($book_id);
|
6214 |
-
|
6215 |
-
$extra_info = apply_filters('MEC_extra_info_gateways', '', $this->book->get_event_id_by_transaction_id($transaction_id), $book_id);
|
6216 |
-
|
6217 |
-
$message = stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite')));
|
6218 |
-
if(trim($invoice_link)) $message .= ' <a class="mec-invoice-download" href="'.esc_url($invoice_link).'">'.__('Download Invoice', 'modern-events-calendar-lite').'</a>';
|
6219 |
-
if(trim($dl_file_link)) $message .= ' — <a class="mec-file-download" href="'.esc_url($dl_file_link).'">'.__('Download File', 'modern-events-calendar-lite').'</a>';
|
6220 |
-
if(trim($extra_info)) $message .= '<div>' . $extra_info . '</div>';
|
6221 |
-
|
6222 |
-
return array(
|
6223 |
-
'success' => 1,
|
6224 |
-
'message' => $message,
|
6225 |
-
'data' => array(
|
6226 |
-
'book_id' => $book_id,
|
6227 |
-
'redirect_to' => $redirect_to,
|
6228 |
-
),
|
6229 |
-
);
|
6230 |
-
}
|
6231 |
-
|
6232 |
-
public function cart_do_transaction($cart_id)
|
6233 |
-
{
|
6234 |
-
// Validate Ticket Availability
|
6235 |
-
$this->cart_validate($cart_id);
|
6236 |
-
|
6237 |
-
// Parent Function
|
6238 |
-
return $this->do_cart_transaction($cart_id, array(
|
6239 |
-
'gateway' => 'MEC_gateway_free',
|
6240 |
-
));
|
6241 |
-
}
|
6242 |
-
}
|
6243 |
-
|
6244 |
-
class MEC_gateway_bank_transfer extends MEC_gateway
|
6245 |
-
{
|
6246 |
-
public $id = 8;
|
6247 |
-
public $options;
|
6248 |
-
|
6249 |
-
public function __construct()
|
6250 |
-
{
|
6251 |
-
parent::__construct();
|
6252 |
-
|
6253 |
-
// Gateway options
|
6254 |
-
$this->options = $this->options();
|
6255 |
-
|
6256 |
-
// Register actions
|
6257 |
-
$this->factory->action('wp_ajax_mec_do_transaction_bank_transfer', array($this, 'do_transaction'));
|
6258 |
-
$this->factory->action('wp_ajax_nopriv_mec_do_transaction_bank_transfer', array($this, 'do_transaction'));
|
6259 |
-
|
6260 |
-
$this->factory->action('wp_ajax_mec_cart_do_transaction_bank_transfer', array($this, 'cart_do_transaction'));
|
6261 |
-
$this->factory->action('wp_ajax_nopriv_mec_cart_do_transaction_bank_transfer', array($this, 'cart_do_transaction'));
|
6262 |
-
}
|
6263 |
-
|
6264 |
-
public function label()
|
6265 |
-
{
|
6266 |
-
return __('Bank Transfer', 'modern-events-calendar-lite');
|
6267 |
-
}
|
6268 |
-
|
6269 |
-
public function color()
|
6270 |
-
{
|
6271 |
-
return '#2DCA73';
|
6272 |
-
}
|
6273 |
-
|
6274 |
-
public function options_form()
|
6275 |
-
{
|
6276 |
-
?>
|
6277 |
-
<div class="mec-form-row mec-click-pay">
|
6278 |
-
<label>
|
6279 |
-
<input type="hidden" name="mec[gateways][<?php echo $this->id(); ?>][status]" value="0"/>
|
6280 |
-
<input onchange="jQuery('#mec_gateways<?php echo $this->id(); ?>_container_toggle').toggle();" value="1"
|
6281 |
-
type="checkbox" name="mec[gateways][<?php echo $this->id(); ?>][status]"
|
6282 |
-
<?php
|
6283 |
-
if (isset($this->options['status']) and $this->options['status']) {
|
6284 |
-
echo 'checked="checked"';
|
6285 |
-
}
|
6286 |
-
?>
|
6287 |
-
/> <?php _e('Bank Transfer', 'modern-events-calendar-lite'); ?>
|
6288 |
-
</label>
|
6289 |
-
</div>
|
6290 |
-
<div id="mec_gateways<?php echo $this->id(); ?>_container_toggle" class="mec-gateway-options-form
|
6291 |
-
<?php
|
6292 |
-
if ((isset($this->options['status']) and !$this->options['status']) or !isset($this->options['status'])) {
|
6293 |
-
echo 'mec-util-hidden';
|
6294 |
-
}
|
6295 |
-
?>">
|
6296 |
-
<div class="mec-form-row">
|
6297 |
-
<label class="mec-col-3"
|
6298 |
-
for="mec_gateways<?php echo $this->id(); ?>_title"><?php _e('Title', 'modern-events-calendar-lite'); ?></label>
|
6299 |
-
<div class="mec-col-9">
|
6300 |
-
<input type="text" id="mec_gateways<?php echo $this->id(); ?>_title"
|
6301 |
-
name="mec[gateways][<?php echo $this->id(); ?>][title]"
|
6302 |
-
value="<?php echo (isset($this->options['title']) and trim($this->options['title'])) ? $this->options['title'] : ''; ?>"
|
6303 |
-
placeholder="<?php echo $this->label(); ?>"/>
|
6304 |
-
</div>
|
6305 |
-
</div>
|
6306 |
-
<div class="mec-form-row">
|
6307 |
-
<label class="mec-col-3"
|
6308 |
-
for="mec_gateways<?php echo $this->id(); ?>_comment"><?php _e('Comment', 'modern-events-calendar-lite'); ?></label>
|
6309 |
-
<div class="mec-col-9">
|
6310 |
-
<textarea id="mec_gateways<?php echo $this->id(); ?>_comment"
|
6311 |
-
name="mec[gateways][<?php echo $this->id(); ?>][comment]"><?php echo (isset($this->options['comment']) and trim($this->options['comment'])) ? stripslashes($this->options['comment']) : esc_html__('Bank Transfer Description', 'modern-events-calendar-lite'); ?></textarea>
|
6312 |
-
<span class="mec-tooltip">
|
6313 |
-
<div class="box left">
|
6314 |
-
<h5 class="title"><?php _e('Comment', 'modern-events-calendar-lite'); ?></h5>
|
6315 |
-
<div class="content"><p><?php esc_attr_e('HTML allowed.', 'modern-events-calendar-lite'); ?><a
|
6316 |
-
href="https://webnus.net/dox/modern-events-calendar/booking/"
|
6317 |
-
target="_blank"><?php _e('Read More', 'modern-events-calendar-lite'); ?></a></p></div>
|
6318 |
-
</div>
|
6319 |
-
<i title="" class="dashicons-before dashicons-editor-help"></i>
|
6320 |
-
</span>
|
6321 |
-
</div>
|
6322 |
-
</div>
|
6323 |
-
<div class="mec-form-row">
|
6324 |
-
<label class="mec-col-3" for="mec_gateways<?php echo $this->id(); ?>_index"><?php _e('Position', 'modern-events-calendar-lite'); ?></label>
|
6325 |
-
<div class="mec-col-9">
|
6326 |
-
<input type="number" min="0" step="1" id="mec_gateways<?php echo $this->id(); ?>_index"
|
6327 |
-
name="mec[gateways][<?php echo $this->id(); ?>][index]"
|
6328 |
-
value="<?php echo (isset($this->options['index']) and trim($this->options['index'])) ? $this->options['index'] : 8; ?>"
|
6329 |
-
placeholder="<?php echo esc_attr__('Position', 'modern-events-calendar-lite'); ?>"/>
|
6330 |
-
</div>
|
6331 |
-
</div>
|
6332 |
-
<div class="mec-form-row">
|
6333 |
-
<label class="mec-col-12">
|
6334 |
-
<input type="hidden" name="mec[gateways][<?php echo $this->id(); ?>][disable_auto_confirmation]" value="0">
|
6335 |
-
<input value="1" type="checkbox" name="mec[gateways][<?php echo $this->id(); ?>][disable_auto_confirmation]" <?php echo (isset($this->options['disable_auto_confirmation']) and trim($this->options['disable_auto_confirmation'])) ? 'checked="checked"' : ''; ?>>
|
6336 |
-
<?php _e('Disable Auto Confirmation', 'modern-events-calendar-lite'); ?>
|
6337 |
-
</label>
|
6338 |
-
</div>
|
6339 |
-
</div>
|
6340 |
-
<?php
|
6341 |
-
}
|
6342 |
-
|
6343 |
-
public function checkout_form($transaction_id, $params = array())
|
6344 |
-
{
|
6345 |
-
?>
|
6346 |
-
<script type="text/javascript">
|
6347 |
-
jQuery("#mec_do_transaction_bank_transfer_form<?php echo $transaction_id; ?>").on("submit", function(event)
|
6348 |
-
{
|
6349 |
-
event.preventDefault();
|
6350 |
-
jQuery(this).find('button').attr('disabled', true);
|
6351 |
-
|
6352 |
-
// Add loading Class to the button
|
6353 |
-
jQuery("#mec_do_transaction_bank_transfer_form<?php echo $transaction_id; ?> button[type=submit]").addClass("loading");
|
6354 |
-
jQuery("#mec_do_transaction_bank_transfer_message<?php echo $transaction_id; ?>").removeClass("mec-success mec-error").hide();
|
6355 |
-
|
6356 |
-
var data = jQuery("#mec_do_transaction_bank_transfer_form<?php echo $transaction_id; ?>").serialize();
|
6357 |
-
jQuery.ajax(
|
6358 |
-
{
|
6359 |
-
type: "GET",
|
6360 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
6361 |
-
data: data,
|
6362 |
-
dataType: "JSON",
|
6363 |
-
success: function (data)
|
6364 |
-
{
|
6365 |
-
// Remove the loading Class from the button
|
6366 |
-
jQuery("#mec_do_transaction_bank_transfer_form<?php echo $transaction_id; ?> button[type=submit]").removeClass("loading");
|
6367 |
-
|
6368 |
-
jQuery("#mec_do_transaction_bank_transfer_form<?php echo $transaction_id; ?>").hide();
|
6369 |
-
jQuery(".mec-book-form-gateway-label").remove();
|
6370 |
-
|
6371 |
-
if(data.success)
|
6372 |
-
{
|
6373 |
-
jQuery(".mec-book-form-coupon").hide();
|
6374 |
-
jQuery(".mec-gateway-comment").hide();
|
6375 |
-
|
6376 |
-
jQuery("#mec-book-form-back-btn-step-3").remove();
|
6377 |
-
jQuery("#mec_do_transaction_bank_transfer_message<?php echo $transaction_id; ?>").addClass("mec-success").html(data.message).show();
|
6378 |
-
|
6379 |
-
// Show Invoice Link
|
6380 |
-
if(typeof data.data.invoice_link !== "undefined" && data.data.invoice_link != "")
|
6381 |
-
{
|
6382 |
-
jQuery("#mec_do_transaction_bank_transfer_message<?php echo $transaction_id; ?>").append(' <a class="mec-invoice-download" href="' + data.data.invoice_link + '"><?php echo esc_js(__('Download Invoice', 'modern-events-calendar-lite')); ?></a>');
|
6383 |
-
}
|
6384 |
-
|
6385 |
-
// Show Downloadable Link
|
6386 |
-
if(typeof data.data.dl_file_link !== "undefined" && data.data.dl_file_link != "")
|
6387 |
-
{
|
6388 |
-
jQuery("#mec_do_transaction_bank_transfer_message<?php echo $transaction_id; ?>").append(' — <a class="mec-dl-file-download" href="' + data.data.dl_file_link + '"><?php echo esc_js(__('Download File', 'modern-events-calendar-lite')); ?></a>');
|
6389 |
-
}
|
6390 |
-
|
6391 |
-
// Show Extra info
|
6392 |
-
if(typeof data.data.extra_info !== "undefined" && data.data.extra_info != "" && data.data.extra_info != null)
|
6393 |
-
{
|
6394 |
-
jQuery("#mec_do_transaction_bank_transfer_message<?php echo $transaction_id; ?>").append('<div>' + data.data.extra_info+'</div>');
|
6395 |
-
}
|
6396 |
-
|
6397 |
-
// Redirect to thank you page
|
6398 |
-
if (typeof data.data.redirect_to != "undefined" && data.data.redirect_to != "") {
|
6399 |
-
setTimeout(function () {
|
6400 |
-
window.location.href = data.data.redirect_to;
|
6401 |
-
}, <?php echo $this->main->get_thankyou_page_time($transaction_id); ?>);
|
6402 |
-
}
|
6403 |
-
jQuery(this).find('button').removeAttr('disabled');
|
6404 |
-
}
|
6405 |
-
else
|
6406 |
-
{
|
6407 |
-
jQuery("#mec_do_transaction_bank_transfer_message<?php echo $transaction_id; ?>").addClass("mec-error").html(data.message).show();
|
6408 |
-
}
|
6409 |
-
},
|
6410 |
-
error: function(jqXHR, textStatus, errorThrown)
|
6411 |
-
{
|
6412 |
-
// Remove the loading Class from the button
|
6413 |
-
jQuery("#mec_do_transaction_bank_transfer_form<?php echo $transaction_id; ?> button[type=submit]").removeClass("loading");
|
6414 |
-
}
|
6415 |
-
});
|
6416 |
-
});
|
6417 |
-
</script>
|
6418 |
-
<div class="mec-gateway-message mec-util-hidden"
|
6419 |
-
id="mec_do_transaction_bank_transfer_message<?php echo $transaction_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
6420 |
-
<form id="mec_do_transaction_bank_transfer_form<?php echo $transaction_id; ?>" class="mec-click-pay">
|
6421 |
-
<input type="hidden" name="action" value="mec_do_transaction_bank_transfer"/>
|
6422 |
-
<input type="hidden" name="transaction_id" value="<?php echo $transaction_id; ?>"/>
|
6423 |
-
<input type="hidden" name="gateway_id" value="<?php echo $this->id(); ?>"/>
|
6424 |
-
<?php wp_nonce_field('mec_transaction_form_' . $transaction_id); ?>
|
6425 |
-
<button class="mec-book-form-next-button" type="submit"><?php _e('Submit', 'modern-events-calendar-lite'); ?></button>
|
6426 |
-
<?php do_action('mec_booking_checkout_form_before_end', $transaction_id); ?>
|
6427 |
-
</form>
|
6428 |
-
<?php
|
6429 |
-
}
|
6430 |
-
|
6431 |
-
public function do_transaction($transaction_id = null)
|
6432 |
-
{
|
6433 |
-
if(!trim($transaction_id)) $transaction_id = isset($_GET['transaction_id']) ? sanitize_text_field($_GET['transaction_id']) : 0;
|
6434 |
-
|
6435 |
-
// Verify that the nonce is valid.
|
6436 |
-
if(!wp_verify_nonce(sanitize_text_field($_GET['_wpnonce']), 'mec_transaction_form_' . $transaction_id))
|
6437 |
-
{
|
6438 |
-
$this->response(array(
|
6439 |
-
'success' => 0,
|
6440 |
-
'code' => 'NONCE_IS_INVALID',
|
6441 |
-
'message' => __('Request is invalid!', 'modern-events-calendar-lite'),
|
6442 |
-
));
|
6443 |
-
}
|
6444 |
-
|
6445 |
-
// Validate Ticket Availability
|
6446 |
-
$this->validate($transaction_id);
|
6447 |
-
|
6448 |
-
$transaction = $this->book->get_transaction($transaction_id);
|
6449 |
-
$attendees = isset($transaction['tickets']) ? $transaction['tickets'] : array();
|
6450 |
-
|
6451 |
-
$attention_date = isset($transaction['date']) ? $transaction['date'] : '';
|
6452 |
-
$attention_times = explode(':', $attention_date);
|
6453 |
-
$date = date('Y-m-d H:i:s', trim($attention_times[0]));
|
6454 |
-
|
6455 |
-
// Is there any attendee?
|
6456 |
-
if (!count($attendees)) {
|
6457 |
-
$this->response(
|
6458 |
-
array(
|
6459 |
-
'success' => 0,
|
6460 |
-
'code' => 'NO_TICKET',
|
6461 |
-
'message' => __(
|
6462 |
-
'There is no attendee for booking!',
|
6463 |
-
'mec'
|
6464 |
-
),
|
6465 |
-
)
|
6466 |
-
);
|
6467 |
-
}
|
6468 |
-
|
6469 |
-
$main_attendee = isset($attendees[0]) ? $attendees[0] : array();
|
6470 |
-
$name = isset($main_attendee['name']) ? $main_attendee['name'] : '';
|
6471 |
-
|
6472 |
-
$ticket_ids = '';
|
6473 |
-
$attendees_info = array();
|
6474 |
-
|
6475 |
-
foreach($attendees as $i => $attendee)
|
6476 |
-
{
|
6477 |
-
if(!is_numeric($i)) continue;
|
6478 |
-
|
6479 |
-
$ticket_ids .= $attendee['id'] . ',';
|
6480 |
-
if(!array_key_exists($attendee['email'], $attendees_info)) $attendees_info[$attendee['email']] = array('count' => $attendee['count']);
|
6481 |
-
else $attendees_info[$attendee['email']]['count'] = ($attendees_info[$attendee['email']]['count'] + $attendee['count']);
|
6482 |
-
}
|
6483 |
-
|
6484 |
-
$ticket_ids = ',' . trim($ticket_ids, ', ') . ',';
|
6485 |
-
$user_id = $this->register_user($main_attendee, $transaction);
|
6486 |
-
|
6487 |
-
// Remove Sensitive Data
|
6488 |
-
if(isset($transaction['username']) or isset($transaction['password']))
|
6489 |
-
{
|
6490 |
-
unset($transaction['username']);
|
6491 |
-
unset($transaction['password']);
|
6492 |
-
|
6493 |
-
$this->book->update_transaction($transaction_id, $transaction);
|
6494 |
-
}
|
6495 |
-
|
6496 |
-
// MEC User
|
6497 |
-
$u = $this->getUser();
|
6498 |
-
|
6499 |
-
$book_subject = $name.' - '.(isset($main_attendee['email']) ? $main_attendee['email'] : $u->get($user_id)->user_email);
|
6500 |
-
$book_id = $this->book->add(
|
6501 |
-
array(
|
6502 |
-
'post_author' => $user_id,
|
6503 |
-
'post_type' => $this->PT,
|
6504 |
-
'post_title' => $book_subject,
|
6505 |
-
'post_date' => $date,
|
6506 |
-
'attendees_info' => $attendees_info,
|
6507 |
-
'mec_attendees' => $attendees,
|
6508 |
-
'mec_gateway' => 'MEC_gateway_bank_transfer',
|
6509 |
-
'mec_gateway_label' => $this->title()
|
6510 |
-
),
|
6511 |
-
$transaction_id,
|
6512 |
-
$ticket_ids
|
6513 |
-
);
|
6514 |
-
|
6515 |
-
// Assign User
|
6516 |
-
$u->assign($book_id, $user_id);
|
6517 |
-
|
6518 |
-
// Fires after completely creating a new booking
|
6519 |
-
do_action('mec_booking_completed', $book_id);
|
6520 |
-
|
6521 |
-
$event_id = (isset($transaction['event_id']) ? $transaction['event_id'] : 0);
|
6522 |
-
$redirect_to = '';
|
6523 |
-
|
6524 |
-
$thankyou_page_id = $this->main->get_thankyou_page_id($event_id);
|
6525 |
-
if($thankyou_page_id) $redirect_to = $this->book->get_thankyou_page($thankyou_page_id, $transaction_id);
|
6526 |
-
|
6527 |
-
// Invoice Link
|
6528 |
-
$mec_confirmed = get_post_meta($book_id, 'mec_confirmed', true);
|
6529 |
-
$invoice_link = (!$mec_confirmed) ? '' : $this->book->get_invoice_link($transaction_id);
|
6530 |
-
$dl_file_link = (!$mec_confirmed) ? '' : $this->book->get_dl_file_link($book_id);
|
6531 |
-
|
6532 |
-
$extra_info = apply_filters('MEC_extra_info_gateways', '', $this->book->get_event_id_by_transaction_id($transaction_id), $book_id);
|
6533 |
-
|
6534 |
-
$this->response(
|
6535 |
-
array(
|
6536 |
-
'success' => 1,
|
6537 |
-
'message' => stripslashes($this->main->m('book_success_message', __('Thank you for booking. Your tickets are booked, booking verification might be needed, please check your email.', 'modern-events-calendar-lite'))),
|
6538 |
-
'data' => array(
|
6539 |
-
'book_id' => $book_id,
|
6540 |
-
'redirect_to' => $redirect_to,
|
6541 |
-
'invoice_link' => $invoice_link,
|
6542 |
-
'dl_file_link' => $dl_file_link,
|
6543 |
-
'extra_info' => $extra_info,
|
6544 |
-
),
|
6545 |
-
)
|
6546 |
-
);
|
6547 |
-
}
|
6548 |
-
|
6549 |
-
public function cart_checkout_form($cart_id, $params = array())
|
6550 |
-
{
|
6551 |
-
?>
|
6552 |
-
<div class="mec-gateway-message mec-util-hidden" id="mec_do_cart_bank_transfer_message<?php echo $cart_id; ?>"><?php do_action('mec_extra_info_payment'); ?></div>
|
6553 |
-
<form id="mec_do_cart_bank_transfer_form<?php echo $cart_id; ?>" class="mec-click-pay">
|
6554 |
-
<input type="hidden" name="action" value="mec_cart_do_transaction_bank_transfer"/>
|
6555 |
-
<input type="hidden" name="cart_id" value="<?php echo $cart_id; ?>"/>
|
6556 |
-
<input type="hidden" name="gateway_id" value="<?php echo $this->id(); ?>"/>
|
6557 |
-
<?php wp_nonce_field('mec_cart_form_' . $cart_id); ?>
|
6558 |
-
<button class="mec-book-form-next-button" type="submit"><?php _e('Submit', 'modern-events-calendar-lite'); ?></button>
|
6559 |
-
<?php do_action('mec_cart_checkout_form_before_end', $cart_id); ?>
|
6560 |
-
</form>
|
6561 |
-
<script type="text/javascript">
|
6562 |
-
jQuery("#mec_do_cart_bank_transfer_form<?php echo $cart_id; ?>").on("submit", function(event)
|
6563 |
-
{
|
6564 |
-
event.preventDefault();
|
6565 |
-
jQuery(this).find('button').attr('disabled', true);
|
6566 |
-
|
6567 |
-
// Add loading Class to the button
|
6568 |
-
jQuery("#mec_do_cart_bank_transfer_form<?php echo $cart_id; ?> button[type=submit]").addClass("loading");
|
6569 |
-
jQuery("#mec_do_cart_bank_transfer_message<?php echo $cart_id; ?>").removeClass("mec-success mec-error").hide();
|
6570 |
-
|
6571 |
-
var data = jQuery("#mec_do_cart_bank_transfer_form<?php echo $cart_id; ?>").serialize();
|
6572 |
-
jQuery.ajax(
|
6573 |
-
{
|
6574 |
-
type: "GET",
|
6575 |
-
url: "<?php echo admin_url('admin-ajax.php', null); ?>",
|
6576 |
-
data: data,
|
6577 |
-
dataType: "JSON",
|
6578 |
-
success: function (data)
|
6579 |
-
{
|
6580 |
-
// Remove the loading Class from the button
|
6581 |
-
jQuery("#mec_do_cart_bank_transfer_form<?php echo $cart_id; ?> button[type=submit]").removeClass("loading");
|
6582 |
-
|
6583 |
-
if(data.success)
|
6584 |
-
{
|
6585 |
-
jQuery("#mec_do_cart_bank_transfer_form<?php echo $cart_id; ?>").hide();
|
6586 |
-
jQuery(".mec-checkout-form-gateway-label").remove();
|
6587 |
-
|
6588 |
-
jQuery(".mec-gateway-comment").hide();
|
6589 |
-
jQuery("#mec_do_cart_bank_transfer_message<?php echo $cart_id; ?>").addClass("mec-success").html(data.message).show();
|
6590 |
-
|
6591 |
-
jQuery(this).find('button').removeAttr('disabled');
|
6592 |
-
}
|
6593 |
-
else
|
6594 |
-
{
|
6595 |
-
jQuery("#mec_do_cart_bank_transfer_message<?php echo $cart_id; ?>").addClass("mec-error").html(data.message).show();
|
6596 |
-
}
|
6597 |
-
},
|
6598 |
-
error: function(jqXHR, textStatus, errorThrown)
|
6599 |
-
{
|
6600 |
-
// Remove the loading Class from the button
|
6601 |
-
jQuery("#mec_do_cart_bank_transfer_form<?php echo $cart_id; ?> button[type=submit]").removeClass("loading");
|
6602 |
-
}
|
6603 |
-
});
|
6604 |
-
});
|
6605 |
-
</script>
|
6606 |
-
<?php
|
6607 |
-
}
|
6608 |
-
|
6609 |
-
public function cart_do_transaction()
|
6610 |
-
{
|
6611 |
-
$cart_id = isset($_GET['cart_id']) ? sanitize_text_field($_GET['cart_id']) : NULL;
|
6612 |
-
|
6613 |
-
// Verify that the nonce is valid.
|
6614 |
-
if(!wp_verify_nonce(sanitize_text_field($_GET['_wpnonce']), 'mec_cart_form_' . $cart_id))
|
6615 |
-
{
|
6616 |
-
$this->response(array(
|
6617 |
-
'success' => 0,
|
6618 |
-
'code' => 'NONCE_IS_INVALID',
|
6619 |
-
'message' => __('Request is invalid!', 'modern-events-calendar-lite'),
|
6620 |
-
));
|
6621 |
-
}
|
6622 |
-
|
6623 |
-
// Validate Ticket Availability
|
6624 |
-
$this->cart_validate($cart_id);
|
6625 |
-
|
6626 |
-
// Parent Function
|
6627 |
-
$this->response($this->do_cart_transaction($cart_id, array(
|
6628 |
-
'gateway' => 'MEC_gateway_bank_transfer',
|
6629 |
-
)));
|
6630 |
-
}
|
6631 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
app/features/mec.php
CHANGED
@@ -28,6 +28,7 @@ class MEC_feature_mec extends MEC_base
|
|
28 |
Â
*/
|
29 |
Â
public $notifications;
|
30 |
Â
public $settings;
|
Â
|
|
31 |
Â
public $page;
|
32 |
Â
public $PT;
|
33 |
Â
|
@@ -51,6 +52,9 @@ class MEC_feature_mec extends MEC_base
|
|
51 |
Â
|
52 |
Â
// MEC Settings
|
53 |
Â
$this->settings = $this->main->get_settings();
|
Â
|
|
Â
|
|
Â
|
|
54 |
Â
}
|
55 |
Â
|
56 |
Â
/**
|
@@ -232,7 +236,7 @@ class MEC_feature_mec extends MEC_base
|
|
232 |
Â
$product_name = $options['product_name'];
|
233 |
Â
$item_id = $options['product_id'];
|
234 |
Â
$url = get_home_url();
|
235 |
-
|
236 |
Â
$verify_url = MEC_API_URL . '/activation/verify?category=mec&license=' . $code . '&url=' . $url . '&item_id=' . $item_id;
|
237 |
Â
|
238 |
Â
$JSON = wp_remote_retrieve_body(wp_remote_get($verify_url, array(
|
@@ -325,7 +329,7 @@ class MEC_feature_mec extends MEC_base
|
|
325 |
Â
$dates = $feature_class->db->select("SELECT `tstart`, `tend` FROM `#__mec_dates` WHERE `post_id`='".$event_id."' LIMIT 100");
|
326 |
Â
$occurrence = reset($dates)->tstart;
|
327 |
Â
|
328 |
-
$date_format = (isset($this->
|
329 |
Â
if(get_post_meta($event_id, 'mec_repeat_type', true) === 'custom_days') $date_format .= ' '.get_option('time_format');
|
330 |
Â
|
331 |
Â
echo '<select name="mec-report-event-dates" class="mec-reports-selectbox mec-reports-selectbox-dates" onchange="mec_event_attendees('.$event_id.', this.value);">';
|
28 |
Â
*/
|
29 |
Â
public $notifications;
|
30 |
Â
public $settings;
|
31 |
+
public $ml_settings;
|
32 |
Â
public $page;
|
33 |
Â
public $PT;
|
34 |
Â
|
52 |
Â
|
53 |
Â
// MEC Settings
|
54 |
Â
$this->settings = $this->main->get_settings();
|
55 |
+
|
56 |
+
// MEC Multilingual Settings
|
57 |
+
$this->ml_settings = $this->main->get_ml_settings();
|
58 |
Â
}
|
59 |
Â
|
60 |
Â
/**
|
236 |
Â
$product_name = $options['product_name'];
|
237 |
Â
$item_id = $options['product_id'];
|
238 |
Â
$url = get_home_url();
|
239 |
+
if (!isset($code) || empty($code)) return;
|
240 |
Â
$verify_url = MEC_API_URL . '/activation/verify?category=mec&license=' . $code . '&url=' . $url . '&item_id=' . $item_id;
|
241 |
Â
|
242 |
Â
$JSON = wp_remote_retrieve_body(wp_remote_get($verify_url, array(
|
329 |
Â
$dates = $feature_class->db->select("SELECT `tstart`, `tend` FROM `#__mec_dates` WHERE `post_id`='".$event_id."' LIMIT 100");
|
330 |
Â
$occurrence = reset($dates)->tstart;
|
331 |
Â
|
332 |
+
$date_format = (isset($this->ml_settings['booking_date_format1']) and trim($this->ml_settings['booking_date_format1'])) ? $this->ml_settings['booking_date_format1'] : 'Y-m-d';
|
333 |
Â
if(get_post_meta($event_id, 'mec_repeat_type', true) === 'custom_days') $date_format .= ' '.get_option('time_format');
|
334 |
Â
|
335 |
Â
echo '<select name="mec-report-event-dates" class="mec-reports-selectbox mec-reports-selectbox-dates" onchange="mec_event_attendees('.$event_id.', this.value);">';
|
app/features/mec/booking.php
CHANGED
@@ -4,7 +4,11 @@ defined('MECEXEC') or die();
|
|
4 |
Â
|
5 |
Â
/** @var MEC_feature_mec $this */
|
6 |
Â
|
Â
|
|
Â
|
|
Â
|
|
7 |
Â
$settings = $this->main->get_settings();
|
Â
|
|
8 |
Â
|
9 |
Â
$fees = isset($settings['fees']) ? $settings['fees'] : array();
|
10 |
Â
$ticket_variations = isset($settings['ticket_variations']) ? $settings['ticket_variations'] : array();
|
@@ -102,7 +106,7 @@ $gateways_options = $this->main->get_gateways_options();
|
|
102 |
Â
<div class="mec-form-row">
|
103 |
Â
<label class="mec-col-3" for="mec_settings_booking_date_format1"><?php _e('Date Format', 'modern-events-calendar-lite'); ?></label>
|
104 |
Â
<div class="mec-col-9">
|
105 |
-
<input type="text" id="mec_settings_booking_date_format1" name="mec[settings][booking_date_format1]" value="<?php echo ((isset($
|
106 |
Â
<span class="mec-tooltip">
|
107 |
Â
<div class="box left">
|
108 |
Â
<h5 class="title"><?php _e('Date Format', 'modern-events-calendar-lite'); ?></h5>
|
@@ -1175,6 +1179,9 @@ $gateways_options = $this->main->get_gateways_options();
|
|
1175 |
Â
|
1176 |
Â
<div class="mec-options-fields">
|
1177 |
Â
<?php wp_nonce_field('mec_options_form'); ?>
|
Â
|
|
Â
|
|
Â
|
|
1178 |
Â
<button style="display: none;" id="mec_booking_form_button" class="button button-primary mec-button-primary" type="submit"><?php _e('Save Changes', 'modern-events-calendar-lite'); ?></button>
|
1179 |
Â
</div>
|
1180 |
Â
</form>
|
4 |
Â
|
5 |
Â
/** @var MEC_feature_mec $this */
|
6 |
Â
|
7 |
+
$multilingual = $this->main->is_multilingual();
|
8 |
+
$locale = $this->main->get_backend_active_locale();
|
9 |
+
|
10 |
Â
$settings = $this->main->get_settings();
|
11 |
+
$ml_settings = $this->main->get_ml_settings(NULL, $locale);
|
12 |
Â
|
13 |
Â
$fees = isset($settings['fees']) ? $settings['fees'] : array();
|
14 |
Â
$ticket_variations = isset($settings['ticket_variations']) ? $settings['ticket_variations'] : array();
|
106 |
Â
<div class="mec-form-row">
|
107 |
Â
<label class="mec-col-3" for="mec_settings_booking_date_format1"><?php _e('Date Format', 'modern-events-calendar-lite'); ?></label>
|
108 |
Â
<div class="mec-col-9">
|
109 |
+
<input type="text" id="mec_settings_booking_date_format1" name="mec[settings][booking_date_format1]" value="<?php echo ((isset($ml_settings['booking_date_format1']) and trim($ml_settings['booking_date_format1']) != '') ? $ml_settings['booking_date_format1'] : 'Y-m-d'); ?>" />
|
110 |
Â
<span class="mec-tooltip">
|
111 |
Â
<div class="box left">
|
112 |
Â
<h5 class="title"><?php _e('Date Format', 'modern-events-calendar-lite'); ?></h5>
|
1179 |
Â
|
1180 |
Â
<div class="mec-options-fields">
|
1181 |
Â
<?php wp_nonce_field('mec_options_form'); ?>
|
1182 |
+
<?php if($multilingual): ?>
|
1183 |
+
<input name="mec_locale" type="hidden" value="<?php echo esc_attr($locale); ?>" />
|
1184 |
+
<?php endif; ?>
|
1185 |
Â
<button style="display: none;" id="mec_booking_form_button" class="button button-primary mec-button-primary" type="submit"><?php _e('Save Changes', 'modern-events-calendar-lite'); ?></button>
|
1186 |
Â
</div>
|
1187 |
Â
</form>
|
app/features/mec/dashboard.php
CHANGED
@@ -26,10 +26,7 @@ $user_organizer_count_l = wp_count_terms('mec_organizer', array(
|
|
26 |
Â
));
|
27 |
Â
|
28 |
Â
$version = $verify = NULL;
|
29 |
-
|
30 |
-
if($this->getPRO()){
|
31 |
-
$mec_license_status = get_option( 'mec_license_status');
|
32 |
-
}
|
33 |
Â
|
34 |
Â
// MEC Database
|
35 |
Â
$db = $this->getDB();
|
26 |
Â
));
|
27 |
Â
|
28 |
Â
$version = $verify = NULL;
|
29 |
+
if($this->getPRO()) $mec_license_status = get_option( 'mec_license_status');
|
Â
|
|
Â
|
|
Â
|
|
30 |
Â
|
31 |
Â
// MEC Database
|
32 |
Â
$db = $this->getDB();
|
app/features/mec/integrations.php
CHANGED
@@ -247,13 +247,13 @@ if(!is_array($categories)) $categories = array();
|
|
247 |
Â
</div>
|
248 |
Â
<div id="mec_aweber_status_container_toggle" class="<?php if((isset($settings['aweber_status']) and !$settings['aweber_status']) or !isset($settings['aweber_status'])) echo 'mec-util-hidden'; ?>">
|
249 |
Â
<div class="mec-form-row">
|
250 |
-
<label class="mec-col-
|
251 |
-
<div class="mec-col-
|
252 |
Â
<input type="text" id="mec_settings_aweber_list_id" name="mec[settings][aweber_list_id]" value="<?php echo ((isset($settings['aweber_list_id']) and trim($settings['aweber_list_id']) != '') ? $settings['aweber_list_id'] : ''); ?>" />
|
253 |
-
<p class="description"><?php echo sprintf(__("%s plugin should be installed and connected to your AWeber account.", 'modern-events-calendar-lite'), '<a href="https://wordpress.org/plugins/aweber-web-form-widget/" target="_blank">AWeber for WordPress</a>'); ?></p>
|
254 |
-
<p class="description"><?php echo sprintf(__('More information about the list ID can be found %s.', 'modern-events-calendar-lite'), '<a href="https://help.aweber.com/hc/en-us/articles/204028426" target="_blank">'.__('here', 'modern-events-calendar-lite').'</a>'); ?></p>
|
255 |
Â
</div>
|
256 |
Â
</div>
|
Â
|
|
Â
|
|
257 |
Â
</div>
|
258 |
Â
</div>
|
259 |
Â
|
247 |
Â
</div>
|
248 |
Â
<div id="mec_aweber_status_container_toggle" class="<?php if((isset($settings['aweber_status']) and !$settings['aweber_status']) or !isset($settings['aweber_status'])) echo 'mec-util-hidden'; ?>">
|
249 |
Â
<div class="mec-form-row">
|
250 |
+
<label class="mec-col-2" for="mec_settings_aweber_list_id"><?php _e('List ID', 'modern-events-calendar-lite'); ?></label>
|
251 |
+
<div class="mec-col-7">
|
252 |
Â
<input type="text" id="mec_settings_aweber_list_id" name="mec[settings][aweber_list_id]" value="<?php echo ((isset($settings['aweber_list_id']) and trim($settings['aweber_list_id']) != '') ? $settings['aweber_list_id'] : ''); ?>" />
|
Â
|
|
Â
|
|
253 |
Â
</div>
|
254 |
Â
</div>
|
255 |
+
<p class="description"><?php echo sprintf(__("%s plugin should be installed and connected to your AWeber account.", 'modern-events-calendar-lite'), '<a href="https://wordpress.org/plugins/aweber-web-form-widget/" target="_blank">AWeber for WordPress</a>'); ?></p>
|
256 |
+
<p class="description"><?php echo sprintf(__('More information about the list ID can be found %s.', 'modern-events-calendar-lite'), '<a href="https://help.aweber.com/hc/en-us/articles/204028426" target="_blank">'.__('here', 'modern-events-calendar-lite').'</a>'); ?></p>
|
257 |
Â
</div>
|
258 |
Â
</div>
|
259 |
Â
|
app/features/mec/meta_boxes/display_options.php
CHANGED
@@ -2084,6 +2084,23 @@ $upcoming_event_ids = $this->main->get_upcoming_event_ids();
|
|
2084 |
Â
<option value="6" <?php echo (isset($sk_options_carousel['count']) and $sk_options_carousel['count'] == 6) ? 'selected="selected"' : ''; ?>>6</option>
|
2085 |
Â
</select>
|
2086 |
Â
</div>
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
2087 |
Â
<div class="mec-form-row">
|
2088 |
Â
<label class="mec-col-4" for="mec_skin_carousel_limit"><?php _e('Limit', 'modern-events-calendar-lite'); ?></label>
|
2089 |
Â
<input class="mec-col-4" type="number" name="mec[sk-options][carousel][limit]" id="mec_skin_carousel_limit" placeholder="<?php _e('eg. 6', 'modern-events-calendar-lite'); ?>" value="<?php if(isset($sk_options_carousel['limit'])) echo $sk_options_carousel['limit']; ?>" />
|
2084 |
Â
<option value="6" <?php echo (isset($sk_options_carousel['count']) and $sk_options_carousel['count'] == 6) ? 'selected="selected"' : ''; ?>>6</option>
|
2085 |
Â
</select>
|
2086 |
Â
</div>
|
2087 |
+
<div class="mec-form-row">
|
2088 |
+
<label class="mec-col-4" for="mec_skin_carousel_count_tablet"><?php _e('Count in row (Tablet)', 'modern-events-calendar-lite'); ?></label>
|
2089 |
+
<select class="mec-col-4 wn-mec-select" name="mec[sk-options][carousel][count_tablet]" id="mec_skin_carousel_count_tablet">
|
2090 |
+
<option value="1" <?php echo (isset($sk_options_carousel['count_tablet']) and $sk_options_carousel['count_tablet'] == 1) ? 'selected="selected"' : ''; ?>>1</option>
|
2091 |
+
<option value="2" <?php echo (!isset($sk_options_carousel['count_tablet']) or (isset($sk_options_carousel['count_tablet']) and $sk_options_carousel['count_tablet'] == 2)) ? 'selected="selected"' : ''; ?>>2</option>
|
2092 |
+
<option value="3" <?php echo (isset($sk_options_carousel['count_tablet']) and $sk_options_carousel['count_tablet'] == 3) ? 'selected="selected"' : ''; ?>>3</option>
|
2093 |
+
<option value="4" <?php echo (isset($sk_options_carousel['count_tablet']) and $sk_options_carousel['count_tablet'] == 4) ? 'selected="selected"' : ''; ?>>4</option>
|
2094 |
+
</select>
|
2095 |
+
</div>
|
2096 |
+
<div class="mec-form-row">
|
2097 |
+
<label class="mec-col-4" for="mec_skin_carousel_count_mobile"><?php _e('Count in row (Mobile)', 'modern-events-calendar-lite'); ?></label>
|
2098 |
+
<select class="mec-col-4 wn-mec-select" name="mec[sk-options][carousel][count_mobile]" id="mec_skin_carousel_count_mobile">
|
2099 |
+
<option value="1" <?php echo (!isset($sk_options_carousel['count_mobile']) or (isset($sk_options_carousel['count_mobile']) and $sk_options_carousel['count_mobile'] == 1)) ? 'selected="selected"' : ''; ?>>1</option>
|
2100 |
+
<option value="2" <?php echo (isset($sk_options_carousel['count_mobile']) and $sk_options_carousel['count_mobile'] == 2) ? 'selected="selected"' : ''; ?>>2</option>
|
2101 |
+
<option value="3" <?php echo (isset($sk_options_carousel['count_mobile']) and $sk_options_carousel['count_mobile'] == 3) ? 'selected="selected"' : ''; ?>>3</option>
|
2102 |
+
</select>
|
2103 |
+
</div>
|
2104 |
Â
<div class="mec-form-row">
|
2105 |
Â
<label class="mec-col-4" for="mec_skin_carousel_limit"><?php _e('Limit', 'modern-events-calendar-lite'); ?></label>
|
2106 |
Â
<input class="mec-col-4" type="number" name="mec[sk-options][carousel][limit]" id="mec_skin_carousel_limit" placeholder="<?php _e('eg. 6', 'modern-events-calendar-lite'); ?>" value="<?php if(isset($sk_options_carousel['limit'])) echo $sk_options_carousel['limit']; ?>" />
|
app/features/mec/settings.php
CHANGED
@@ -660,7 +660,7 @@ $shortcodes = get_posts(array(
|
|
660 |
Â
</div>
|
661 |
Â
<div id="mec_google_recaptcha_container_toggle" class="<?php if((isset($settings['google_recaptcha_status']) and !$settings['google_recaptcha_status']) or !isset($settings['google_recaptcha_status'])) echo 'mec-util-hidden'; ?>">
|
662 |
Â
|
663 |
-
<?php if($this->
|
664 |
Â
<div class="mec-form-row">
|
665 |
Â
<label>
|
666 |
Â
<input type="hidden" name="mec[settings][google_recaptcha_booking]" value="0" />
|
660 |
Â
</div>
|
661 |
Â
<div id="mec_google_recaptcha_container_toggle" class="<?php if((isset($settings['google_recaptcha_status']) and !$settings['google_recaptcha_status']) or !isset($settings['google_recaptcha_status'])) echo 'mec-util-hidden'; ?>">
|
662 |
Â
|
663 |
+
<?php if($this->getPRO()): ?>
|
664 |
Â
<div class="mec-form-row">
|
665 |
Â
<label>
|
666 |
Â
<input type="hidden" name="mec[settings][google_recaptcha_booking]" value="0" />
|
app/features/mec/single.php
CHANGED
@@ -4,7 +4,11 @@ defined('MECEXEC') or die();
|
|
4 |
Â
|
5 |
Â
/** @var MEC_feature_mec $this */
|
6 |
Â
|
Â
|
|
Â
|
|
Â
|
|
7 |
Â
$settings = $this->main->get_settings();
|
Â
|
|
8 |
Â
|
9 |
Â
// WordPress Pages
|
10 |
Â
$pages = get_pages();
|
@@ -39,7 +43,7 @@ $event_fields = $this->main->get_event_fields();
|
|
39 |
Â
<div class="mec-form-row">
|
40 |
Â
<label class="mec-col-3" for="mec_settings_single_event_date_format1"><?php _e('Single Event Date Format', 'modern-events-calendar-lite'); ?></label>
|
41 |
Â
<div class="mec-col-9">
|
42 |
-
<input type="text" id="mec_settings_single_event_date_format1" name="mec[settings][single_date_format1]" value="<?php echo ((isset($
|
43 |
Â
<span class="mec-tooltip">
|
44 |
Â
<div class="box left">
|
45 |
Â
<h5 class="title"><?php _e('Single Event Date Format', 'modern-events-calendar-lite'); ?></h5>
|
@@ -559,6 +563,9 @@ $event_fields = $this->main->get_event_fields();
|
|
559 |
Â
|
560 |
Â
<div class="mec-options-fields">
|
561 |
Â
<?php wp_nonce_field('mec_options_form'); ?>
|
Â
|
|
Â
|
|
Â
|
|
562 |
Â
<button style="display: none;" id="mec_single_form_button" class="button button-primary mec-button-primary" type="submit"><?php _e('Save Changes', 'modern-events-calendar-lite'); ?></button>
|
563 |
Â
</div>
|
564 |
Â
</form>
|
4 |
Â
|
5 |
Â
/** @var MEC_feature_mec $this */
|
6 |
Â
|
7 |
+
$multilingual = $this->main->is_multilingual();
|
8 |
+
$locale = $this->main->get_backend_active_locale();
|
9 |
+
|
10 |
Â
$settings = $this->main->get_settings();
|
11 |
+
$ml_settings = $this->main->get_ml_settings(NULL, $locale);
|
12 |
Â
|
13 |
Â
// WordPress Pages
|
14 |
Â
$pages = get_pages();
|
43 |
Â
<div class="mec-form-row">
|
44 |
Â
<label class="mec-col-3" for="mec_settings_single_event_date_format1"><?php _e('Single Event Date Format', 'modern-events-calendar-lite'); ?></label>
|
45 |
Â
<div class="mec-col-9">
|
46 |
+
<input type="text" id="mec_settings_single_event_date_format1" name="mec[settings][single_date_format1]" value="<?php echo ((isset($ml_settings['single_date_format1']) and trim($ml_settings['single_date_format1']) != '') ? $ml_settings['single_date_format1'] : 'M d Y'); ?>" />
|
47 |
Â
<span class="mec-tooltip">
|
48 |
Â
<div class="box left">
|
49 |
Â
<h5 class="title"><?php _e('Single Event Date Format', 'modern-events-calendar-lite'); ?></h5>
|
563 |
Â
|
564 |
Â
<div class="mec-options-fields">
|
565 |
Â
<?php wp_nonce_field('mec_options_form'); ?>
|
566 |
+
<?php if($multilingual): ?>
|
567 |
+
<input name="mec_locale" type="hidden" value="<?php echo esc_attr($locale); ?>" />
|
568 |
+
<?php endif; ?>
|
569 |
Â
<button style="display: none;" id="mec_single_form_button" class="button button-primary mec-button-primary" type="submit"><?php _e('Save Changes', 'modern-events-calendar-lite'); ?></button>
|
570 |
Â
</div>
|
571 |
Â
</form>
|
app/features/update.php
CHANGED
@@ -46,7 +46,7 @@ class MEC_feature_update extends MEC_base
|
|
46 |
Â
$version = get_option('mec_version', '1.0.0');
|
47 |
Â
|
48 |
Â
// It's updated to latest version
|
49 |
-
|
50 |
Â
|
51 |
Â
// Run the updates one by one
|
52 |
Â
if(version_compare($version, '1.0.3', '<')) $this->version103();
|
@@ -77,10 +77,10 @@ class MEC_feature_update extends MEC_base
|
|
77 |
Â
if(version_compare($version, '5.19.1', '<')) $this->version5191();
|
78 |
Â
if(version_compare($version, '5.22.0', '<')) $this->version5220();
|
79 |
Â
if(version_compare($version, '6.0.0', '<')) $this->version600();
|
80 |
-
if(version_compare($version, '6.2.6', '>')) $this->version626();
|
81 |
Â
|
82 |
Â
// Update to latest version to prevent running the code twice
|
83 |
-
|
84 |
Â
}
|
85 |
Â
|
86 |
Â
public function update_capabilities($capabilities)
|
@@ -658,8 +658,8 @@ class MEC_feature_update extends MEC_base
|
|
658 |
Â
public function version626(){
|
659 |
Â
// Get Options
|
660 |
Â
$options = get_option('mec_options');
|
661 |
-
$code = $options['purchase_code'];
|
662 |
-
$item_id = $options['product_id'];
|
663 |
Â
$url = get_home_url();
|
664 |
Â
|
665 |
Â
$reActivationOption = get_option( 'reActivationOption' );
|
46 |
Â
$version = get_option('mec_version', '1.0.0');
|
47 |
Â
|
48 |
Â
// It's updated to latest version
|
49 |
+
if(version_compare($version, $this->main->get_version(), '>=')) return;
|
50 |
Â
|
51 |
Â
// Run the updates one by one
|
52 |
Â
if(version_compare($version, '1.0.3', '<')) $this->version103();
|
77 |
Â
if(version_compare($version, '5.19.1', '<')) $this->version5191();
|
78 |
Â
if(version_compare($version, '5.22.0', '<')) $this->version5220();
|
79 |
Â
if(version_compare($version, '6.0.0', '<')) $this->version600();
|
80 |
+
if($this->getPRO()) if(version_compare($version, '6.2.6', '>')) $this->version626();
|
81 |
Â
|
82 |
Â
// Update to latest version to prevent running the code twice
|
83 |
+
update_option('mec_version', $this->main->get_version());
|
84 |
Â
}
|
85 |
Â
|
86 |
Â
public function update_capabilities($capabilities)
|
658 |
Â
public function version626(){
|
659 |
Â
// Get Options
|
660 |
Â
$options = get_option('mec_options');
|
661 |
+
$code = isset($options['purchase_code']) ? $options['purchase_code'] : '';
|
662 |
+
$item_id = isset($options['product_id']) ? $options['product_id'] : '';
|
663 |
Â
$url = get_home_url();
|
664 |
Â
|
665 |
Â
$reActivationOption = get_option( 'reActivationOption' );
|
app/features/wc.php
CHANGED
@@ -23,6 +23,11 @@ class MEC_feature_wc extends MEC_base
|
|
23 |
Â
*/
|
24 |
Â
public $settings;
|
25 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
26 |
Â
/**
|
27 |
Â
* Constructor method
|
28 |
Â
* @author Webnus <info@webnus.biz>
|
@@ -37,6 +42,9 @@ class MEC_feature_wc extends MEC_base
|
|
37 |
Â
|
38 |
Â
// General Options
|
39 |
Â
$this->settings = $this->main->get_settings();
|
Â
|
|
Â
|
|
Â
|
|
40 |
Â
}
|
41 |
Â
|
42 |
Â
/**
|
@@ -89,7 +97,7 @@ class MEC_feature_wc extends MEC_base
|
|
89 |
Â
elseif($meta->key == 'mec_transaction_id') $display_value = $meta->value;
|
90 |
Â
elseif($meta->key == 'mec_date')
|
91 |
Â
{
|
92 |
-
$date_format = (isset($this->
|
93 |
Â
$time_format = get_option('time_format');
|
94 |
Â
|
95 |
Â
if(strpos($date_format, 'h') !== false or strpos($date_format, 'H') !== false or strpos($date_format, 'g') !== false or strpos($date_format, 'G') !== false) $datetime_format = $date_format;
|
@@ -104,7 +112,7 @@ class MEC_feature_wc extends MEC_base
|
|
104 |
Â
}
|
105 |
Â
elseif($meta->key == 'mec_other_dates')
|
106 |
Â
{
|
107 |
-
$date_format = (isset($this->
|
108 |
Â
$time_format = get_option('time_format');
|
109 |
Â
|
110 |
Â
if(strpos($date_format, 'h') !== false or strpos($date_format, 'H') !== false or strpos($date_format, 'g') !== false or strpos($date_format, 'G') !== false) $datetime_format = $date_format;
|
@@ -137,7 +145,7 @@ class MEC_feature_wc extends MEC_base
|
|
137 |
Â
if(!isset($item['mec_event_id']) or (isset($item['mec_event_id']) and !trim($item['mec_event_id']))) return $name;
|
138 |
Â
if(!isset($item['mec_date']) or (isset($item['mec_date']) and !trim($item['mec_date']))) return $name;
|
139 |
Â
|
140 |
-
$date_format = (isset($this->
|
141 |
Â
$other_dates = (isset($item['mec_other_dates']) and is_array($item['mec_other_dates'])) ? $item['mec_other_dates'] : array();
|
142 |
Â
|
143 |
Â
$dates = array_merge(array($item['mec_date']), $other_dates);
|
23 |
Â
*/
|
24 |
Â
public $settings;
|
25 |
Â
|
26 |
+
/**
|
27 |
+
* @var array
|
28 |
+
*/
|
29 |
+
public $ml_settings;
|
30 |
+
|
31 |
Â
/**
|
32 |
Â
* Constructor method
|
33 |
Â
* @author Webnus <info@webnus.biz>
|
42 |
Â
|
43 |
Â
// General Options
|
44 |
Â
$this->settings = $this->main->get_settings();
|
45 |
+
|
46 |
+
// MEC Multilingual Settings
|
47 |
+
$this->ml_settings = $this->main->get_ml_settings();
|
48 |
Â
}
|
49 |
Â
|
50 |
Â
/**
|
97 |
Â
elseif($meta->key == 'mec_transaction_id') $display_value = $meta->value;
|
98 |
Â
elseif($meta->key == 'mec_date')
|
99 |
Â
{
|
100 |
+
$date_format = (isset($this->ml_settings['booking_date_format1']) and trim($this->ml_settings['booking_date_format1'])) ? $this->ml_settings['booking_date_format1'] : 'Y-m-d';
|
101 |
Â
$time_format = get_option('time_format');
|
102 |
Â
|
103 |
Â
if(strpos($date_format, 'h') !== false or strpos($date_format, 'H') !== false or strpos($date_format, 'g') !== false or strpos($date_format, 'G') !== false) $datetime_format = $date_format;
|
112 |
Â
}
|
113 |
Â
elseif($meta->key == 'mec_other_dates')
|
114 |
Â
{
|
115 |
+
$date_format = (isset($this->ml_settings['booking_date_format1']) and trim($this->ml_settings['booking_date_format1'])) ? $this->ml_settings['booking_date_format1'] : 'Y-m-d';
|
116 |
Â
$time_format = get_option('time_format');
|
117 |
Â
|
118 |
Â
if(strpos($date_format, 'h') !== false or strpos($date_format, 'H') !== false or strpos($date_format, 'g') !== false or strpos($date_format, 'G') !== false) $datetime_format = $date_format;
|
145 |
Â
if(!isset($item['mec_event_id']) or (isset($item['mec_event_id']) and !trim($item['mec_event_id']))) return $name;
|
146 |
Â
if(!isset($item['mec_date']) or (isset($item['mec_date']) and !trim($item['mec_date']))) return $name;
|
147 |
Â
|
148 |
+
$date_format = (isset($this->ml_settings['booking_date_format1']) and trim($this->ml_settings['booking_date_format1'])) ? $this->ml_settings['booking_date_format1'] : get_option('date_format');
|
149 |
Â
$other_dates = (isset($item['mec_other_dates']) and is_array($item['mec_other_dates'])) ? $item['mec_other_dates'] : array();
|
150 |
Â
|
151 |
Â
$dates = array_merge(array($item['mec_date']), $other_dates);
|
app/libraries/main.php
CHANGED
@@ -595,6 +595,29 @@ class MEC_main extends MEC_base
|
|
595 |
Â
else return get_option('mec_options', array());
|
596 |
Â
}
|
597 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
598 |
Â
/**
|
599 |
Â
* Returns MEC settings menus
|
600 |
Â
* @author Webnus <info@webnus.biz>
|
@@ -671,7 +694,7 @@ class MEC_main extends MEC_base
|
|
671 |
Â
__('User Event Publishing', 'modern-events-calendar-lite') => 'user_event_publishing',
|
672 |
Â
);
|
673 |
Â
|
674 |
-
if($this->
|
675 |
Â
{
|
676 |
Â
$notifications_items = array_merge(array(
|
677 |
Â
__('Booking', 'modern-events-calendar-lite') => 'booking_notification_section',
|
@@ -1592,6 +1615,28 @@ class MEC_main extends MEC_base
|
|
1592 |
Â
// MEC Save Options
|
1593 |
Â
do_action('mec_save_options', $final);
|
1594 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
1595 |
Â
// Save final options
|
1596 |
Â
update_option('mec_options', $final);
|
1597 |
Â
|
@@ -2882,6 +2927,8 @@ class MEC_main extends MEC_base
|
|
2882 |
Â
exit;
|
2883 |
Â
}
|
2884 |
Â
|
Â
|
|
Â
|
|
2885 |
Â
$transaction_id = sanitize_text_field($_GET['id']);
|
2886 |
Â
|
2887 |
Â
// Libraries
|
@@ -2964,7 +3011,7 @@ class MEC_main extends MEC_base
|
|
2964 |
Â
$pdf->Ln();
|
2965 |
Â
}
|
2966 |
Â
|
2967 |
-
$date_format = (isset($
|
2968 |
Â
$time_format = get_option('time_format');
|
2969 |
Â
|
2970 |
Â
if(is_numeric($dates[0]) and is_numeric($dates[1]))
|
@@ -3162,6 +3209,8 @@ class MEC_main extends MEC_base
|
|
3162 |
Â
exit;
|
3163 |
Â
}
|
3164 |
Â
|
Â
|
|
Â
|
|
3165 |
Â
$cart_id = sanitize_text_field($_GET['mec-key']);
|
3166 |
Â
|
3167 |
Â
$c = $this->getCart();
|
@@ -3241,7 +3290,7 @@ class MEC_main extends MEC_base
|
|
3241 |
Â
$pdf->Ln();
|
3242 |
Â
}
|
3243 |
Â
|
3244 |
-
$date_format = (isset($
|
3245 |
Â
$time_format = get_option('time_format');
|
3246 |
Â
|
3247 |
Â
if(is_numeric($dates[0]) and is_numeric($dates[1]))
|
@@ -3391,7 +3440,7 @@ class MEC_main extends MEC_base
|
|
3391 |
Â
public function print_calendar()
|
3392 |
Â
{
|
3393 |
Â
// Print Calendar
|
3394 |
-
if(isset($_GET['method']) and sanitize_text_field($_GET['method']) == 'mec-print' and $this->
|
3395 |
Â
{
|
3396 |
Â
$year = isset($_GET['mec-year']) ? sanitize_text_field($_GET['mec-year']) : NULL;
|
3397 |
Â
$month = isset($_GET['mec-month']) ? sanitize_text_field($_GET['mec-month']) : NULL;
|
@@ -3441,7 +3490,7 @@ class MEC_main extends MEC_base
|
|
3441 |
Â
public function booking_modal()
|
3442 |
Â
{
|
3443 |
Â
// Print Calendar
|
3444 |
-
if(isset($_GET['method']) and sanitize_text_field($_GET['method']) == 'mec-booking-modal' and $this->
|
3445 |
Â
{
|
3446 |
Â
global $post;
|
3447 |
Â
|
@@ -5399,17 +5448,18 @@ class MEC_main extends MEC_base
|
|
5399 |
Â
|
5400 |
Â
// duplicate all post meta
|
5401 |
Â
$post_metas = $db->select("SELECT `meta_key`, `meta_value` FROM `#__postmeta` WHERE `post_id`='$post_id'", 'loadObjectList');
|
5402 |
-
if(count($post_metas)
|
5403 |
Â
{
|
Â
|
|
5404 |
Â
$sql_query = "INSERT INTO `#__postmeta` (post_id, meta_key, meta_value) ";
|
5405 |
Â
|
5406 |
Â
$sql_query_sel = array();
|
5407 |
Â
foreach($post_metas as $meta_info)
|
5408 |
Â
{
|
5409 |
Â
$meta_key = esc_sql($meta_info->meta_key);
|
5410 |
-
$meta_value =
|
5411 |
Â
|
5412 |
-
$sql_query_sel[] = "SELECT $new_post_id,
|
5413 |
Â
}
|
5414 |
Â
|
5415 |
Â
$sql_query .= implode(" UNION ALL ", $sql_query_sel);
|
@@ -6464,6 +6514,7 @@ class MEC_main extends MEC_base
|
|
6464 |
Â
{
|
6465 |
Â
// Get MEC Options
|
6466 |
Â
$settings = $this->get_settings();
|
Â
|
|
6467 |
Â
|
6468 |
Â
// Mailchim integration is disabled
|
6469 |
Â
if(!isset($settings['mchimp_status']) or (isset($settings['mchimp_status']) and !$settings['mchimp_status'])) return false;
|
@@ -6475,7 +6526,7 @@ class MEC_main extends MEC_base
|
|
6475 |
Â
if(!trim($api_key) or !trim($list_id)) return false;
|
6476 |
Â
|
6477 |
Â
// Options
|
6478 |
-
$date_format = (isset($
|
6479 |
Â
$segment_status = (isset($settings['mchimp_segment_status']) and $settings['mchimp_segment_status']);
|
6480 |
Â
|
6481 |
Â
// Booking Date
|
@@ -6744,16 +6795,6 @@ class MEC_main extends MEC_base
|
|
6744 |
Â
|
6745 |
Â
$aweber = new \AWeberWebFormPluginNamespace\AWeberWebformPlugin();
|
6746 |
Â
|
6747 |
-
// AWeber Authorization
|
6748 |
-
$aweber_options = get_option($aweber->adminOptionsName);
|
6749 |
-
if(!is_array($aweber_options)) $aweber_options = array();
|
6750 |
-
|
6751 |
-
// AWeber Credentials are Required
|
6752 |
-
if(!isset($aweber_options['consumer_key']) or (isset($aweber_options['consumer_key']) and !trim($aweber_options['consumer_key']))) return false;
|
6753 |
-
if(!isset($aweber_options['consumer_secret']) or (isset($aweber_options['consumer_secret']) and !trim($aweber_options['consumer_secret']))) return false;
|
6754 |
-
if(!isset($aweber_options['access_key']) or (isset($aweber_options['access_key']) and !trim($aweber_options['access_key']))) return false;
|
6755 |
-
if(!isset($aweber_options['access_secret']) or (isset($aweber_options['access_secret']) and !trim($aweber_options['access_secret']))) return false;
|
6756 |
-
|
6757 |
Â
// MEC User
|
6758 |
Â
$u = $this->getUser();
|
6759 |
Â
$booker = $u->booking($book_id);
|
@@ -7934,11 +7975,14 @@ class MEC_main extends MEC_base
|
|
7934 |
Â
$first_rule = isset($advanced_days[0]) ? $advanced_days[0] : NULL;
|
7935 |
Â
$ex = explode('.', $first_rule);
|
7936 |
Â
|
7937 |
-
$
|
7938 |
-
if($
|
7939 |
Â
|
7940 |
Â
$byday_mapping = array('MON'=>'MO', 'TUE'=>'TU', 'WED'=>'WE', 'THU'=>'TH', 'FRI'=>'FR', 'SAT'=>'SA', 'SUN'=>'SU');
|
7941 |
-
$byday = $byday_mapping[strtoupper($ex[0])];
|
Â
|
|
Â
|
|
Â
|
|
7942 |
Â
|
7943 |
Â
$freq = 'MONTHLY';
|
7944 |
Â
}
|
@@ -8337,7 +8381,7 @@ class MEC_main extends MEC_base
|
|
8337 |
Â
|
8338 |
Â
public function is_soldout($event, $date)
|
8339 |
Â
{
|
8340 |
-
return $this->get_flags($event, $date);
|
8341 |
Â
}
|
8342 |
Â
|
8343 |
Â
/**
|
595 |
Â
else return get_option('mec_options', array());
|
596 |
Â
}
|
597 |
Â
|
598 |
+
/**
|
599 |
+
* Returns Multilingual options of MEC
|
600 |
+
* @author Webnus <info@webnus.biz>
|
601 |
+
* @param string $key
|
602 |
+
* @param string $locale
|
603 |
+
* @return array
|
604 |
+
*/
|
605 |
+
public function get_ml_settings($key = NULL, $locale = NULL)
|
606 |
+
{
|
607 |
+
if(!$locale) $locale = $this->get_current_locale();
|
608 |
+
|
609 |
+
$options = get_option('mec_options_ml_'.strtolower($locale), array());
|
610 |
+
if(!is_array($options) or (is_array($options) and !count($options)))
|
611 |
+
{
|
612 |
+
$all = get_option('mec_options', array());
|
613 |
+
if(!is_array($all)) $all = array();
|
614 |
+
|
615 |
+
$options = (isset($all['settings']) ? $all['settings'] : array());
|
616 |
+
}
|
617 |
+
|
618 |
+
return ($key ? (isset($options[$key]) ? $options[$key] : NULL) : $options);
|
619 |
+
}
|
620 |
+
|
621 |
Â
/**
|
622 |
Â
* Returns MEC settings menus
|
623 |
Â
* @author Webnus <info@webnus.biz>
|
694 |
Â
__('User Event Publishing', 'modern-events-calendar-lite') => 'user_event_publishing',
|
695 |
Â
);
|
696 |
Â
|
697 |
+
if($this->getPRO())
|
698 |
Â
{
|
699 |
Â
$notifications_items = array_merge(array(
|
700 |
Â
__('Booking', 'modern-events-calendar-lite') => 'booking_notification_section',
|
1615 |
Â
// MEC Save Options
|
1616 |
Â
do_action('mec_save_options', $final);
|
1617 |
Â
|
1618 |
+
// Multilingual Options
|
1619 |
+
if($this->is_multilingual())
|
1620 |
+
{
|
1621 |
+
// Locale
|
1622 |
+
$locale = $request->getVar('mec_locale', NULL);
|
1623 |
+
if($locale)
|
1624 |
+
{
|
1625 |
+
$ml_current = get_option('mec_options_ml_'.$locale, array());
|
1626 |
+
if(is_string($ml_current) and trim($ml_current) == '') $ml_current = array();
|
1627 |
+
|
1628 |
+
$ml_options = $ml_current;
|
1629 |
+
foreach(array('single_date_format1' => 'settings', 'booking_date_format1' => 'settings') as $k2 => $k1)
|
1630 |
+
{
|
1631 |
+
if(!isset($final[$k1]) or (isset($final[$k1]) and !isset($final[$k1][$k2]))) continue;
|
1632 |
+
|
1633 |
+
$ml_options[$k2] = $final[$k1][$k2];
|
1634 |
+
}
|
1635 |
+
|
1636 |
+
update_option('mec_options_ml_'.$locale, $ml_options);
|
1637 |
+
}
|
1638 |
+
}
|
1639 |
+
|
1640 |
Â
// Save final options
|
1641 |
Â
update_option('mec_options', $final);
|
1642 |
Â
|
2927 |
Â
exit;
|
2928 |
Â
}
|
2929 |
Â
|
2930 |
+
$ml_settings = $this->get_ml_settings();
|
2931 |
+
|
2932 |
Â
$transaction_id = sanitize_text_field($_GET['id']);
|
2933 |
Â
|
2934 |
Â
// Libraries
|
3011 |
Â
$pdf->Ln();
|
3012 |
Â
}
|
3013 |
Â
|
3014 |
+
$date_format = (isset($ml_settings['booking_date_format1']) and trim($ml_settings['booking_date_format1'])) ? $ml_settings['booking_date_format1'] : 'Y-m-d';
|
3015 |
Â
$time_format = get_option('time_format');
|
3016 |
Â
|
3017 |
Â
if(is_numeric($dates[0]) and is_numeric($dates[1]))
|
3209 |
Â
exit;
|
3210 |
Â
}
|
3211 |
Â
|
3212 |
+
$ml_settings = $this->get_ml_settings();
|
3213 |
+
|
3214 |
Â
$cart_id = sanitize_text_field($_GET['mec-key']);
|
3215 |
Â
|
3216 |
Â
$c = $this->getCart();
|
3290 |
Â
$pdf->Ln();
|
3291 |
Â
}
|
3292 |
Â
|
3293 |
+
$date_format = (isset($ml_settings['booking_date_format1']) and trim($ml_settings['booking_date_format1'])) ? $ml_settings['booking_date_format1'] : 'Y-m-d';
|
3294 |
Â
$time_format = get_option('time_format');
|
3295 |
Â
|
3296 |
Â
if(is_numeric($dates[0]) and is_numeric($dates[1]))
|
3440 |
Â
public function print_calendar()
|
3441 |
Â
{
|
3442 |
Â
// Print Calendar
|
3443 |
+
if(isset($_GET['method']) and sanitize_text_field($_GET['method']) == 'mec-print' and $this->getPRO())
|
3444 |
Â
{
|
3445 |
Â
$year = isset($_GET['mec-year']) ? sanitize_text_field($_GET['mec-year']) : NULL;
|
3446 |
Â
$month = isset($_GET['mec-month']) ? sanitize_text_field($_GET['mec-month']) : NULL;
|
3490 |
Â
public function booking_modal()
|
3491 |
Â
{
|
3492 |
Â
// Print Calendar
|
3493 |
+
if(isset($_GET['method']) and sanitize_text_field($_GET['method']) == 'mec-booking-modal' and $this->getPRO())
|
3494 |
Â
{
|
3495 |
Â
global $post;
|
3496 |
Â
|
5448 |
Â
|
5449 |
Â
// duplicate all post meta
|
5450 |
Â
$post_metas = $db->select("SELECT `meta_key`, `meta_value` FROM `#__postmeta` WHERE `post_id`='$post_id'", 'loadObjectList');
|
5451 |
+
if(count($post_metas))
|
5452 |
Â
{
|
5453 |
+
$wpdb = $db->get_DBO();
|
5454 |
Â
$sql_query = "INSERT INTO `#__postmeta` (post_id, meta_key, meta_value) ";
|
5455 |
Â
|
5456 |
Â
$sql_query_sel = array();
|
5457 |
Â
foreach($post_metas as $meta_info)
|
5458 |
Â
{
|
5459 |
Â
$meta_key = esc_sql($meta_info->meta_key);
|
5460 |
+
$meta_value = $meta_info->meta_value;
|
5461 |
Â
|
5462 |
+
$sql_query_sel[] = $wpdb->prepare("SELECT $new_post_id, %s, %s", $meta_key, $meta_value);
|
5463 |
Â
}
|
5464 |
Â
|
5465 |
Â
$sql_query .= implode(" UNION ALL ", $sql_query_sel);
|
6514 |
Â
{
|
6515 |
Â
// Get MEC Options
|
6516 |
Â
$settings = $this->get_settings();
|
6517 |
+
$ml_settings = $this->get_ml_settings();
|
6518 |
Â
|
6519 |
Â
// Mailchim integration is disabled
|
6520 |
Â
if(!isset($settings['mchimp_status']) or (isset($settings['mchimp_status']) and !$settings['mchimp_status'])) return false;
|
6526 |
Â
if(!trim($api_key) or !trim($list_id)) return false;
|
6527 |
Â
|
6528 |
Â
// Options
|
6529 |
+
$date_format = (isset($ml_settings['booking_date_format1']) and trim($ml_settings['booking_date_format1'])) ? $ml_settings['booking_date_format1'] : 'Y-m-d';
|
6530 |
Â
$segment_status = (isset($settings['mchimp_segment_status']) and $settings['mchimp_segment_status']);
|
6531 |
Â
|
6532 |
Â
// Booking Date
|
6795 |
Â
|
6796 |
Â
$aweber = new \AWeberWebFormPluginNamespace\AWeberWebformPlugin();
|
6797 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
6798 |
Â
// MEC User
|
6799 |
Â
$u = $this->getUser();
|
6800 |
Â
$booker = $u->booking($book_id);
|
7975 |
Â
$first_rule = isset($advanced_days[0]) ? $advanced_days[0] : NULL;
|
7976 |
Â
$ex = explode('.', $first_rule);
|
7977 |
Â
|
7978 |
+
$w = isset($ex[1]) ? $ex[1] : NULL;
|
7979 |
+
if($w === 'l') $w = -1;
|
7980 |
Â
|
7981 |
Â
$byday_mapping = array('MON'=>'MO', 'TUE'=>'TU', 'WED'=>'WE', 'THU'=>'TH', 'FRI'=>'FR', 'SAT'=>'SA', 'SUN'=>'SU');
|
7982 |
+
$byday = $w.$byday_mapping[strtoupper($ex[0])];
|
7983 |
+
|
7984 |
+
$wkst_mapping = array('SU', 'MO', 'TU', 'WE', 'TH', 'FR', 'SA');
|
7985 |
+
$wkst = $wkst_mapping[$this->get_first_day_of_week()];
|
7986 |
Â
|
7987 |
Â
$freq = 'MONTHLY';
|
7988 |
Â
}
|
8381 |
Â
|
8382 |
Â
public function is_soldout($event, $date)
|
8383 |
Â
{
|
8384 |
+
return (boolean) $this->get_flags($event, $date);
|
8385 |
Â
}
|
8386 |
Â
|
8387 |
Â
/**
|
app/libraries/skins.php
CHANGED
@@ -91,6 +91,7 @@ class MEC_skins extends MEC_base
|
|
91 |
Â
public $widget;
|
92 |
Â
public $count;
|
93 |
Â
public $settings;
|
Â
|
|
94 |
Â
public $layout;
|
95 |
Â
public $year;
|
96 |
Â
public $month;
|
@@ -1691,17 +1692,38 @@ class MEC_skins extends MEC_base
|
|
1691 |
Â
*/
|
1692 |
Â
public function display_link($event, $title = NULL, $class = NULL, $attributes = NULL)
|
1693 |
Â
{
|
Â
|
|
Â
|
|
1694 |
Â
// Event Title
|
1695 |
-
if(is_null($title))
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
1696 |
Â
|
1697 |
Â
// Link Class
|
1698 |
Â
if(is_null($class)) $class = 'mec-color-hover';
|
1699 |
Â
|
Â
|
|
1700 |
Â
$method = isset($this->skin_options['sed_method']) ? $this->skin_options['sed_method'] : false;
|
1701 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
1702 |
Â
// Link is disabled
|
1703 |
Â
if($method == 'no' and in_array($class, array('mec-booking-button', 'mec-detail-button', 'mec-booking-button mec-bg-color-hover mec-border-color-hover', 'mec-event-link'))) return '';
|
1704 |
-
elseif($method == 'no') return $title;
|
1705 |
Â
else
|
1706 |
Â
{
|
1707 |
Â
$sed_method = (isset($this->skin_options['sed_method']) ? $this->skin_options['sed_method'] : '');
|
@@ -1721,8 +1743,9 @@ class MEC_skins extends MEC_base
|
|
1721 |
Â
}
|
1722 |
Â
|
1723 |
Â
$target = (!empty($sed_method) ? 'target="'.$sed_method.'" rel="noopener"' : '');
|
1724 |
-
$target = apply_filters('mec_event_link_change_target'
|
1725 |
-
|
Â
|
|
1726 |
Â
}
|
1727 |
Â
|
1728 |
Â
public function get_end_date()
|
91 |
Â
public $widget;
|
92 |
Â
public $count;
|
93 |
Â
public $settings;
|
94 |
+
public $ml_settings;
|
95 |
Â
public $layout;
|
96 |
Â
public $year;
|
97 |
Â
public $month;
|
1692 |
Â
*/
|
1693 |
Â
public function display_link($event, $title = NULL, $class = NULL, $attributes = NULL)
|
1694 |
Â
{
|
1695 |
+
$link_for_title = false;
|
1696 |
+
|
1697 |
Â
// Event Title
|
1698 |
+
if(is_null($title))
|
1699 |
+
{
|
1700 |
+
$title = $event->data->title;
|
1701 |
+
$link_for_title = true;
|
1702 |
+
}
|
1703 |
Â
|
1704 |
Â
// Link Class
|
1705 |
Â
if(is_null($class)) $class = 'mec-color-hover';
|
1706 |
Â
|
1707 |
+
// Single Event Display Method
|
1708 |
Â
$method = isset($this->skin_options['sed_method']) ? $this->skin_options['sed_method'] : false;
|
1709 |
Â
|
1710 |
+
// Occurrence Type
|
1711 |
+
$one_occurrence = (isset($this->atts['show_only_one_occurrence']) ? (boolean) $this->atts['show_only_one_occurrence'] : false);
|
1712 |
+
|
1713 |
+
// Repeat Type
|
1714 |
+
$repeat_label = '';
|
1715 |
+
if($one_occurrence and $link_for_title)
|
1716 |
+
{
|
1717 |
+
$repeat_type = (isset($event->data) and isset($event->data->meta) and isset($event->data->meta['mec_repeat_type'])) ? $event->data->meta['mec_repeat_type'] : '';
|
1718 |
+
|
1719 |
+
if(in_array($repeat_type, array('daily', 'weekly', 'monthly', 'yearly'))) $repeat_label = '<span class="mec-repeating-label">'.esc_html__(ucfirst($repeat_type)).'</span>';
|
1720 |
+
elseif(in_array($repeat_type, array('weekend', 'weekday'))) $repeat_label = '<span class="mec-repeating-label">'.sprintf(esc_html__('Every %s', 'modern-events-calendar-lite'), ucfirst($repeat_type)).'</span>';
|
1721 |
+
elseif(in_array($repeat_type, array('certain_weekdays', 'custom_days', 'advanced'))) $repeat_label = '<span class="mec-repeating-label">'.esc_html__('Repeating Event', 'modern-events-calendar-lite').'</span>';
|
1722 |
+
}
|
1723 |
+
|
1724 |
Â
// Link is disabled
|
1725 |
Â
if($method == 'no' and in_array($class, array('mec-booking-button', 'mec-detail-button', 'mec-booking-button mec-bg-color-hover mec-border-color-hover', 'mec-event-link'))) return '';
|
1726 |
+
elseif($method == 'no') return $title.$repeat_label;
|
1727 |
Â
else
|
1728 |
Â
{
|
1729 |
Â
$sed_method = (isset($this->skin_options['sed_method']) ? $this->skin_options['sed_method'] : '');
|
1743 |
Â
}
|
1744 |
Â
|
1745 |
Â
$target = (!empty($sed_method) ? 'target="'.$sed_method.'" rel="noopener"' : '');
|
1746 |
+
$target = apply_filters('mec_event_link_change_target', $target, $event->data->ID);
|
1747 |
+
|
1748 |
+
return '<a '.($class ? 'class="'.$class.'"' : '').' '.($attributes ? $attributes : '').' data-event-id="'.$event->data->ID.'" href="'.$this->main->get_event_date_permalink($event, $event->date['start']['date']).'" '.$target.'>'.$title.'</a>'.$repeat_label;
|
1749 |
Â
}
|
1750 |
Â
|
1751 |
Â
public function get_end_date()
|
app/libraries/transaction.php
CHANGED
@@ -11,6 +11,7 @@ class MEC_transaction extends MEC_base
|
|
11 |
Â
public $transaction_id;
|
12 |
Â
public $transaction;
|
13 |
Â
public $settings;
|
Â
|
|
14 |
Â
|
15 |
Â
/**
|
16 |
Â
* @var MEC_book
|
@@ -32,6 +33,7 @@ class MEC_transaction extends MEC_base
|
|
32 |
Â
$this->main = $this->getMain();
|
33 |
Â
$this->transaction_id = $transaction_id;
|
34 |
Â
$this->settings = $this->main->get_settings();
|
Â
|
|
35 |
Â
|
36 |
Â
$this->book = $this->getBook();
|
37 |
Â
$this->transaction = $this->book->get_transaction($transaction_id);
|
@@ -167,7 +169,7 @@ class MEC_transaction extends MEC_base
|
|
167 |
Â
{
|
168 |
Â
$html = '<ul>';
|
169 |
Â
|
170 |
-
$date_format = (isset($this->
|
171 |
Â
$time_format = get_option('time_format');
|
172 |
Â
|
173 |
Â
$timestamps = $this->get_dates();
|
11 |
Â
public $transaction_id;
|
12 |
Â
public $transaction;
|
13 |
Â
public $settings;
|
14 |
+
public $ml_settings;
|
15 |
Â
|
16 |
Â
/**
|
17 |
Â
* @var MEC_book
|
33 |
Â
$this->main = $this->getMain();
|
34 |
Â
$this->transaction_id = $transaction_id;
|
35 |
Â
$this->settings = $this->main->get_settings();
|
36 |
+
$this->ml_settings = $this->main->get_ml_settings();
|
37 |
Â
|
38 |
Â
$this->book = $this->getBook();
|
39 |
Â
$this->transaction = $this->book->get_transaction($transaction_id);
|
169 |
Â
{
|
170 |
Â
$html = '<ul>';
|
171 |
Â
|
172 |
+
$date_format = (isset($this->ml_settings['booking_date_format1']) and trim($this->ml_settings['booking_date_format1'])) ? $this->ml_settings['booking_date_format1'] : get_option('date_format');
|
173 |
Â
$time_format = get_option('time_format');
|
174 |
Â
|
175 |
Â
$timestamps = $this->get_dates();
|
app/modules/booking/default.php
CHANGED
@@ -9,6 +9,7 @@ if(!$this->getPRO()) return;
|
|
9 |
Â
|
10 |
Â
// MEC Settings
|
11 |
Â
$settings = $this->get_settings();
|
Â
|
|
12 |
Â
|
13 |
Â
// Booking module is disabled
|
14 |
Â
if(!isset($settings['booking_status']) or (isset($settings['booking_status']) and !$settings['booking_status'])) return;
|
9 |
Â
|
10 |
Â
// MEC Settings
|
11 |
Â
$settings = $this->get_settings();
|
12 |
+
$ml_settings = $this->get_ml_settings();
|
13 |
Â
|
14 |
Â
// Booking module is disabled
|
15 |
Â
if(!isset($settings['booking_status']) or (isset($settings['booking_status']) and !$settings['booking_status'])) return;
|
app/modules/booking/steps/tickets.php
CHANGED
@@ -44,7 +44,7 @@ if(count($tickets) == 1) $default_ticket_number = 1;
|
|
44 |
Â
$book = $this->getBook();
|
45 |
Â
$availability = $book->get_tickets_availability($event_id, $occurrence_time);
|
46 |
Â
|
47 |
-
$date_format = (isset($
|
48 |
Â
if(isset($event->data->meta['mec_repeat_type']) and $event->data->meta['mec_repeat_type'] === 'custom_days') $date_format .= ' '.get_option('time_format');
|
49 |
Â
|
50 |
Â
$midnight_event = $this->is_midnight_event($event);
|
44 |
Â
$book = $this->getBook();
|
45 |
Â
$availability = $book->get_tickets_availability($event_id, $occurrence_time);
|
46 |
Â
|
47 |
+
$date_format = (isset($ml_settings['booking_date_format1']) and trim($ml_settings['booking_date_format1'])) ? $ml_settings['booking_date_format1'] : 'Y-m-d';
|
48 |
Â
if(isset($event->data->meta['mec_repeat_type']) and $event->data->meta['mec_repeat_type'] === 'custom_days') $date_format .= ' '.get_option('time_format');
|
49 |
Â
|
50 |
Â
$midnight_event = $this->is_midnight_event($event);
|
app/modules/local-time/details.php
CHANGED
@@ -6,6 +6,7 @@ defined('MECEXEC') or die();
|
|
6 |
Â
|
7 |
Â
// MEC Settings
|
8 |
Â
$settings = $this->get_settings();
|
Â
|
|
9 |
Â
|
10 |
Â
// The module is disabled
|
11 |
Â
if(!isset($settings['local_time_module_status']) or (isset($settings['local_time_module_status']) and !$settings['local_time_module_status'])) return;
|
@@ -17,7 +18,7 @@ $timezone = $this->get_timezone_by_ip();
|
|
17 |
Â
if(!$timezone) return;
|
18 |
Â
|
19 |
Â
// Date Formats
|
20 |
-
$date_format1 = (isset($
|
21 |
Â
$time_format = get_option('time_format', 'H:i');
|
22 |
Â
|
23 |
Â
$occurrence = isset($_GET['occurrence']) ? sanitize_text_field($_GET['occurrence']) : '';
|
6 |
Â
|
7 |
Â
// MEC Settings
|
8 |
Â
$settings = $this->get_settings();
|
9 |
+
$ml_settings = $this->get_ml_settings();
|
10 |
Â
|
11 |
Â
// The module is disabled
|
12 |
Â
if(!isset($settings['local_time_module_status']) or (isset($settings['local_time_module_status']) and !$settings['local_time_module_status'])) return;
|
18 |
Â
if(!$timezone) return;
|
19 |
Â
|
20 |
Â
// Date Formats
|
21 |
+
$date_format1 = (isset($ml_settings['single_date_format1']) and trim($ml_settings['single_date_format1'])) ? $ml_settings['single_date_format1'] : 'M d Y';
|
22 |
Â
$time_format = get_option('time_format', 'H:i');
|
23 |
Â
|
24 |
Â
$occurrence = isset($_GET['occurrence']) ? sanitize_text_field($_GET['occurrence']) : '';
|
app/modules/local-time/type1.php
CHANGED
@@ -6,6 +6,7 @@ defined('MECEXEC') or die();
|
|
6 |
Â
|
7 |
Â
// MEC Settings
|
8 |
Â
$settings = $this->get_settings();
|
Â
|
|
9 |
Â
|
10 |
Â
// The module is disabled
|
11 |
Â
if(!isset($settings['local_time_module_status']) or (isset($settings['local_time_module_status']) and !$settings['local_time_module_status'])) return;
|
@@ -20,7 +21,7 @@ $start_time = isset($event->data->time['start_raw']) ? $event->data->time['start
|
|
20 |
Â
$end_time = isset($event->data->time['end_raw']) ? $event->data->time['end_raw'] : '';
|
21 |
Â
|
22 |
Â
// Date Formats
|
23 |
-
$date_format1 = (isset($
|
24 |
Â
$time_format = get_option('time_format', 'H:i');
|
25 |
Â
|
26 |
Â
$gmt_offset_seconds = $this->get_gmt_offset_seconds($event->date['start']['date'], $event);
|
6 |
Â
|
7 |
Â
// MEC Settings
|
8 |
Â
$settings = $this->get_settings();
|
9 |
+
$ml_settings = $this->get_ml_settings();
|
10 |
Â
|
11 |
Â
// The module is disabled
|
12 |
Â
if(!isset($settings['local_time_module_status']) or (isset($settings['local_time_module_status']) and !$settings['local_time_module_status'])) return;
|
21 |
Â
$end_time = isset($event->data->time['end_raw']) ? $event->data->time['end_raw'] : '';
|
22 |
Â
|
23 |
Â
// Date Formats
|
24 |
+
$date_format1 = (isset($ml_settings['single_date_format1']) and trim($ml_settings['single_date_format1'])) ? $ml_settings['single_date_format1'] : 'M d Y';
|
25 |
Â
$time_format = get_option('time_format', 'H:i');
|
26 |
Â
|
27 |
Â
$gmt_offset_seconds = $this->get_gmt_offset_seconds($event->date['start']['date'], $event);
|
app/modules/local-time/type2.php
CHANGED
@@ -6,6 +6,7 @@ defined('MECEXEC') or die();
|
|
6 |
Â
|
7 |
Â
// MEC Settings
|
8 |
Â
$settings = $this->get_settings();
|
Â
|
|
9 |
Â
|
10 |
Â
// The module is disabled
|
11 |
Â
if(!isset($settings['local_time_module_status']) or (isset($settings['local_time_module_status']) and !$settings['local_time_module_status'])) return;
|
@@ -20,7 +21,7 @@ $start_time = isset($event->data->time['start_raw']) ? $event->data->time['start
|
|
20 |
Â
$end_time = isset($event->data->time['end_raw']) ? $event->data->time['end_raw'] : '';
|
21 |
Â
|
22 |
Â
// Date Formats
|
23 |
-
$date_format1 = (isset($
|
24 |
Â
$time_format = get_option('time_format', 'H:i');
|
25 |
Â
|
26 |
Â
$gmt_offset_seconds = $this->get_gmt_offset_seconds($event->date['start']['date'], $event);
|
6 |
Â
|
7 |
Â
// MEC Settings
|
8 |
Â
$settings = $this->get_settings();
|
9 |
+
$ml_settings = $this->get_ml_settings();
|
10 |
Â
|
11 |
Â
// The module is disabled
|
12 |
Â
if(!isset($settings['local_time_module_status']) or (isset($settings['local_time_module_status']) and !$settings['local_time_module_status'])) return;
|
21 |
Â
$end_time = isset($event->data->time['end_raw']) ? $event->data->time['end_raw'] : '';
|
22 |
Â
|
23 |
Â
// Date Formats
|
24 |
+
$date_format1 = (isset($ml_settings['single_date_format1']) and trim($ml_settings['single_date_format1'])) ? $ml_settings['single_date_format1'] : 'M d Y';
|
25 |
Â
$time_format = get_option('time_format', 'H:i');
|
26 |
Â
|
27 |
Â
$gmt_offset_seconds = $this->get_gmt_offset_seconds($event->date['start']['date'], $event);
|
app/modules/local-time/type3.php
CHANGED
@@ -6,6 +6,7 @@ defined('MECEXEC') or die();
|
|
6 |
Â
|
7 |
Â
// MEC Settings
|
8 |
Â
$settings = $this->get_settings();
|
Â
|
|
9 |
Â
|
10 |
Â
// The module is disabled
|
11 |
Â
if(!isset($settings['local_time_module_status']) or (isset($settings['local_time_module_status']) and !$settings['local_time_module_status'])) return;
|
@@ -20,7 +21,7 @@ $start_time = isset($event->data->time['start_raw']) ? $event->data->time['start
|
|
20 |
Â
$end_time = isset($event->data->time['end_raw']) ? $event->data->time['end_raw'] : '';
|
21 |
Â
|
22 |
Â
// Date Formats
|
23 |
-
$date_format1 = (isset($
|
24 |
Â
$time_format = get_option('time_format', 'H:i');
|
25 |
Â
|
26 |
Â
$gmt_offset_seconds = $this->get_gmt_offset_seconds($event->date['start']['date'], $event);
|
6 |
Â
|
7 |
Â
// MEC Settings
|
8 |
Â
$settings = $this->get_settings();
|
9 |
+
$ml_settings = $this->get_ml_settings();
|
10 |
Â
|
11 |
Â
// The module is disabled
|
12 |
Â
if(!isset($settings['local_time_module_status']) or (isset($settings['local_time_module_status']) and !$settings['local_time_module_status'])) return;
|
21 |
Â
$end_time = isset($event->data->time['end_raw']) ? $event->data->time['end_raw'] : '';
|
22 |
Â
|
23 |
Â
// Date Formats
|
24 |
+
$date_format1 = (isset($ml_settings['single_date_format1']) and trim($ml_settings['single_date_format1'])) ? $ml_settings['single_date_format1'] : 'M d Y';
|
25 |
Â
$time_format = get_option('time_format', 'H:i');
|
26 |
Â
|
27 |
Â
$gmt_offset_seconds = $this->get_gmt_offset_seconds($event->date['start']['date'], $event);
|
app/skins/carousel.php
CHANGED
@@ -22,6 +22,8 @@ class MEC_skin_carousel extends MEC_skins
|
|
22 |
Â
public $autoplay;
|
23 |
Â
public $autoplay_status;
|
24 |
Â
public $loop;
|
Â
|
|
Â
|
|
25 |
Â
|
26 |
Â
/**
|
27 |
Â
* Constructor method
|
@@ -118,10 +120,12 @@ class MEC_skin_carousel extends MEC_skins
|
|
118 |
Â
{
|
119 |
Â
$this->skin_options['count'] = '1';
|
120 |
Â
}
|
121 |
-
|
122 |
Â
// The count in row
|
123 |
Â
$this->count = isset($this->skin_options['count']) ? $this->skin_options['count'] : '3';
|
124 |
-
|
Â
|
|
Â
|
|
125 |
Â
// Init MEC
|
126 |
Â
$this->args['mec-init'] = true;
|
127 |
Â
$this->args['mec-skin'] = $this->skin;
|
22 |
Â
public $autoplay;
|
23 |
Â
public $autoplay_status;
|
24 |
Â
public $loop;
|
25 |
+
public $count_tablet;
|
26 |
+
public $count_mobile;
|
27 |
Â
|
28 |
Â
/**
|
29 |
Â
* Constructor method
|
120 |
Â
{
|
121 |
Â
$this->skin_options['count'] = '1';
|
122 |
Â
}
|
123 |
+
|
124 |
Â
// The count in row
|
125 |
Â
$this->count = isset($this->skin_options['count']) ? $this->skin_options['count'] : '3';
|
126 |
+
$this->count_tablet = isset($this->skin_options['count_tablet']) ? $this->skin_options['count_tablet'] : '2';
|
127 |
+
$this->count_mobile = isset($this->skin_options['count_mobile']) ? $this->skin_options['count_mobile'] : '1';
|
128 |
+
|
129 |
Â
// Init MEC
|
130 |
Â
$this->args['mec-init'] = true;
|
131 |
Â
$this->args['mec-skin'] = $this->skin;
|
app/skins/carousel/tpl.php
CHANGED
@@ -23,7 +23,7 @@ $sed_method = $this->sed_method;
|
|
23 |
Â
if($sed_method == 'new') $sed_method = '0';
|
24 |
Â
|
25 |
Â
// Generating javascript code tpl
|
26 |
-
$loop = $this->found > 1 ? $this->loop : false;
|
27 |
Â
$javascript = '<script type="text/javascript">
|
28 |
Â
jQuery(document).ready(function()
|
29 |
Â
{
|
@@ -32,7 +32,8 @@ jQuery(document).ready(function()
|
|
32 |
Â
id: "'.$this->id.'",
|
33 |
Â
start_date: "'.$this->start_date.'",
|
34 |
Â
items: "'.$this->count.'",
|
35 |
-
|
Â
|
|
36 |
Â
autoplay_status: "'.$this->autoplay_status.'",
|
37 |
Â
autoplay: "'.$this->autoplay.'",
|
38 |
Â
loop: '. json_encode($loop) .',
|
23 |
Â
if($sed_method == 'new') $sed_method = '0';
|
24 |
Â
|
25 |
Â
// Generating javascript code tpl
|
26 |
+
$loop = ($this->found > 1 ? $this->loop : false);
|
27 |
Â
$javascript = '<script type="text/javascript">
|
28 |
Â
jQuery(document).ready(function()
|
29 |
Â
{
|
32 |
Â
id: "'.$this->id.'",
|
33 |
Â
start_date: "'.$this->start_date.'",
|
34 |
Â
items: "'.$this->count.'",
|
35 |
+
items_tablet: "'.$this->count_tablet.'",
|
36 |
+
items_mobile: "'.$this->count_mobile.'",
|
37 |
Â
autoplay_status: "'.$this->autoplay_status.'",
|
38 |
Â
autoplay: "'.$this->autoplay.'",
|
39 |
Â
loop: '. json_encode($loop) .',
|
app/skins/daily_view/render.php
CHANGED
@@ -38,9 +38,9 @@ $reason_for_cancellation = isset($this->skin_options['reason_for_cancellation'])
|
|
38 |
Â
<div class="mec-event-time mec-color"><i class="mec-sl-clock-o"></i> <?php echo $start_time.(trim($end_time) ? ' - '.$end_time : ''); ?></div>
|
39 |
Â
<?php endif; ?>
|
40 |
Â
|
41 |
-
<h4 class="mec-event-title"><?php echo $this->display_link($event); ?><?php echo $this->main->get_flags($event).$event_color.$this->main->get_normal_labels($event, $display_label).$this->main->display_cancellation_reason($event, $reason_for_cancellation); ?><?php do_action('mec_shortcode_virtual_badge', $event->data->ID
|
42 |
Â
<?php if($this->localtime) echo $this->main->module('local-time.type3', array('event' => $event)); ?>
|
43 |
-
<div class="mec-event-detail"><div class="mec-event-loc-place"><?php echo (isset($location['name']) ? $location['name'] : '');
|
44 |
Â
<?php echo $this->display_categories($event); ?>
|
45 |
Â
<?php echo $this->display_organizers($event); ?>
|
46 |
Â
<?php echo $this->display_cost($event); ?>
|
38 |
Â
<div class="mec-event-time mec-color"><i class="mec-sl-clock-o"></i> <?php echo $start_time.(trim($end_time) ? ' - '.$end_time : ''); ?></div>
|
39 |
Â
<?php endif; ?>
|
40 |
Â
|
41 |
+
<h4 class="mec-event-title"><?php echo $this->display_link($event); ?><?php echo $this->main->get_flags($event).$event_color.$this->main->get_normal_labels($event, $display_label).$this->main->display_cancellation_reason($event, $reason_for_cancellation); ?><?php do_action('mec_shortcode_virtual_badge', $event->data->ID); ?></h4>
|
42 |
Â
<?php if($this->localtime) echo $this->main->module('local-time.type3', array('event' => $event)); ?>
|
43 |
+
<div class="mec-event-detail"><div class="mec-event-loc-place"><?php echo (isset($location['name']) ? $location['name'] : ''); ?></div></div>
|
44 |
Â
<?php echo $this->display_categories($event); ?>
|
45 |
Â
<?php echo $this->display_organizers($event); ?>
|
46 |
Â
<?php echo $this->display_cost($event); ?>
|
app/skins/monthly_view/calendar_clean.php
CHANGED
@@ -72,8 +72,8 @@ $date_format = get_option('date_format');
|
|
72 |
Â
|
73 |
Â
$start_time = (isset($event->data->time) ? $event->data->time['start'] : '');
|
74 |
Â
$end_time = (isset($event->data->time) ? $event->data->time['end'] : '');
|
75 |
-
$startDate = !empty($event->data->meta['mec_date']['start']['date']
|
76 |
-
$endDate = !empty($event->data->meta['mec_date']['end']['date']
|
77 |
Â
$event_start_date = !empty($event->date['start']['date']) ? $event->date['start']['date'] : '';
|
78 |
Â
|
79 |
Â
$events_filter = $after_time_filter = '';
|
72 |
Â
|
73 |
Â
$start_time = (isset($event->data->time) ? $event->data->time['start'] : '');
|
74 |
Â
$end_time = (isset($event->data->time) ? $event->data->time['end'] : '');
|
75 |
+
$startDate = !empty($event->data->meta['mec_date']['start']['date']) ? $event->data->meta['mec_date']['start']['date'] : '';
|
76 |
+
$endDate = !empty($event->data->meta['mec_date']['end']['date']) ? $event->data->meta['mec_date']['end']['date'] : '' ;
|
77 |
Â
$event_start_date = !empty($event->date['start']['date']) ? $event->date['start']['date'] : '';
|
78 |
Â
|
79 |
Â
$events_filter = $after_time_filter = '';
|
app/skins/single.php
CHANGED
@@ -47,9 +47,10 @@ class MEC_skin_single extends MEC_skins
|
|
47 |
Â
|
48 |
Â
// MEC Settings
|
49 |
Â
$this->settings = $this->main->get_settings();
|
Â
|
|
50 |
Â
|
51 |
Â
// Date Formats
|
52 |
-
$this->date_format1 = (isset($this->
|
53 |
Â
|
54 |
Â
// Single Event Layout
|
55 |
Â
$this->layout = isset($this->atts['layout']) ? $this->atts['layout'] : NULL;
|
@@ -1170,7 +1171,7 @@ class MEC_skin_single extends MEC_skins
|
|
1170 |
Â
*/
|
1171 |
Â
public function display_date_widget($event)
|
1172 |
Â
{
|
1173 |
-
$this->date_format1 = (isset($this->
|
1174 |
Â
$occurrence = (isset($event->date['start']['date']) ? $event->date['start']['date'] : (isset($_GET['occurrence']) ? sanitize_text_field($_GET['occurrence']) : ''));
|
1175 |
Â
$occurrence_end_date = (isset($event->date['end']['date']) ? $event->date['end']['date'] : (trim($occurrence) ? $this->main->get_end_date_by_occurrence($event->data->ID, (isset($event->date['start']['date']) ? $event->date['start']['date'] : $occurrence)) : ''));
|
1176 |
Â
$midnight_event = $this->main->is_midnight_event($event);
|
47 |
Â
|
48 |
Â
// MEC Settings
|
49 |
Â
$this->settings = $this->main->get_settings();
|
50 |
+
$this->ml_settings = $this->main->get_ml_settings();
|
51 |
Â
|
52 |
Â
// Date Formats
|
53 |
+
$this->date_format1 = (isset($this->ml_settings['single_date_format1']) and trim($this->ml_settings['single_date_format1'])) ? $this->ml_settings['single_date_format1'] : 'M d Y';
|
54 |
Â
|
55 |
Â
// Single Event Layout
|
56 |
Â
$this->layout = isset($this->atts['layout']) ? $this->atts['layout'] : NULL;
|
1171 |
Â
*/
|
1172 |
Â
public function display_date_widget($event)
|
1173 |
Â
{
|
1174 |
+
$this->date_format1 = (isset($this->ml_settings['single_date_format1']) and trim($this->ml_settings['single_date_format1'])) ? $this->ml_settings['single_date_format1'] : 'M d Y';
|
1175 |
Â
$occurrence = (isset($event->date['start']['date']) ? $event->date['start']['date'] : (isset($_GET['occurrence']) ? sanitize_text_field($_GET['occurrence']) : ''));
|
1176 |
Â
$occurrence_end_date = (isset($event->date['end']['date']) ? $event->date['end']['date'] : (trim($occurrence) ? $this->main->get_end_date_by_occurrence($event->data->ID, (isset($event->date['start']['date']) ? $event->date['start']['date'] : $occurrence)) : ''));
|
1177 |
Â
$midnight_event = $this->main->is_midnight_event($event);
|
assets/css/frontend.css
CHANGED
@@ -1085,6 +1085,19 @@ span.mec-event-title-soldout {
|
|
1085 |
Â
vertical-align: middle;
|
1086 |
Â
}
|
1087 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
1088 |
Â
/* MEC Events Grid Modern Colorful
|
1089 |
Â
------------------------------------ */
|
1090 |
Â
.mec-event-grid-colorful .mec-event-article {
|
@@ -19906,6 +19919,20 @@ body.mec-dark-mode .mec-single-modern .mec-single-event-bar {
|
|
19906 |
Â
}
|
19907 |
Â
}
|
19908 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
19909 |
Â
/* Booking Calendar Dark Mode */
|
19910 |
Â
|
19911 |
Â
.mec-dark-mode .mec-single-event .mec-events-meta-group-booking .mec-calendar,
|
1085 |
Â
vertical-align: middle;
|
1086 |
Â
}
|
1087 |
Â
|
1088 |
+
/* MEC Repeating Label
|
1089 |
+
------------------------------------ */
|
1090 |
+
.mec-repeating-label {
|
1091 |
+
background: #222;
|
1092 |
+
color: #fff;
|
1093 |
+
padding: 3px 8px;
|
1094 |
+
font-size: 8px;
|
1095 |
+
font-weight: 700;
|
1096 |
+
letter-spacing: .5px;
|
1097 |
+
border-radius: 40px;
|
1098 |
+
display: inline-block;
|
1099 |
+
}
|
1100 |
+
|
1101 |
Â
/* MEC Events Grid Modern Colorful
|
1102 |
Â
------------------------------------ */
|
1103 |
Â
.mec-event-grid-colorful .mec-event-article {
|
19919 |
Â
}
|
19920 |
Â
}
|
19921 |
Â
|
19922 |
+
.mec-wrap .mec-events-meta-group-booking .mec-booking-calendar .mec-calendar .mec-booking-calendar-date-soldout .mec-calendar-novel-selected-day {
|
19923 |
+
border-color: #c5c5c5;
|
19924 |
+
}
|
19925 |
+
|
19926 |
+
.mec-wrap .mec-events-meta-group-booking .mec-booking-calendar .mec-calendar .mec-booking-calendar-date-soldout.mec-active .mec-calendar-novel-selected-day {
|
19927 |
+
background: #c5c5c5;
|
19928 |
+
color: #fff;
|
19929 |
+
}
|
19930 |
+
|
19931 |
+
.mec-wrap .mec-events-meta-group-booking .mec-booking-calendar .mec-calendar .mec-booking-calendar-date-soldout:hover .mec-booking-tooltip {
|
19932 |
+
display: none;
|
19933 |
+
}
|
19934 |
+
|
19935 |
+
|
19936 |
Â
/* Booking Calendar Dark Mode */
|
19937 |
Â
|
19938 |
Â
.mec-dark-mode .mec-single-event .mec-events-meta-group-booking .mec-calendar,
|
assets/css/frontend.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.mec-wrap{position:relative}.entry-content .mec-wrap h1,.entry-content .mec-wrap h2,.entry-content .mec-wrap h3,.entry-content .mec-wrap h4,.entry-content .mec-wrap h5,.entry-content .mec-wrap h6,.mec-wrap h1,.mec-wrap h2,.mec-wrap h3,.mec-wrap h4,.mec-wrap h5,.mec-wrap h6{color:#171c24;font-weight:300;font-style:inherit;letter-spacing:normal;clear:none}.mec-wrap h1{font-size:50px;line-height:1.16;margin-bottom:12px;letter-spacing:-1px}.mec-wrap h2{font-size:36px;line-height:1.14;margin-bottom:10px}.mec-wrap h3{font-size:28px;line-height:1.2;margin-bottom:8px}.mec-wrap h4{font-size:24px;line-height:1.2;margin-bottom:10px}.mec-wrap h5{font-size:18px;line-height:1.3;margin-bottom:7px}.mec-wrap h6{font-size:16px;line-height:1.3;margin-bottom:4px}.mec-wrap .subheader{color:#849098}.mec-wrap h1 strong{font-weight:700}.mec-wrap p{margin:0 0 20px 0;color:#616161;font-size:14px;line-height:1.8}.mec-wrap .mec-event-article .mec-color-hover{box-shadow:none;border:none}.mec-wrap abbr,.mec-wrap acronym{cursor:auto;border:none}.entry-content .mec-wrap a{box-shadow:none}.mec-wrap .button,.mec-wrap a.button:not(.owl-dot),.mec-wrap button:not(.owl-dot):not(.gm-control-active),.mec-wrap input[type=button],.mec-wrap input[type=reset],.mec-wrap input[type=submit]{position:relative;border:none;border-radius:2px;color:#fff;display:inline-block;font-size:12px;letter-spacing:1px;line-height:1.5;text-transform:uppercase;font-weight:600;text-decoration:none;cursor:pointer;margin-bottom:21px;margin-right:10px;line-height:1;padding:18px 20px 16px;background:#24ca4f;-webkit-transition:all .21s ease;-moz-transition:all .21s ease;transition:all .21s ease}.mec-wrap .button:hover,.mec-wrap a.button:hover,.mec-wrap button:hover,.mec-wrap input[type=button]:hover,.mec-wrap input[type=reset]:hover,.mec-wrap input[type=submit]:hover{background:#222;color:#fff}.mec-wrap #mec_woo_add_to_cart_btn_r{min-width:155px;margin-top:5px;border-radius:2px;box-shadow:0 2px 1px rgba(0,0,0,.08);float:left;text-align:center}.mec-booking-form-container button{display:block}.vertical-space,.vertical-space1,.vertical-space2,.vertical-space3,.vertical-space4,.vertical-space5{display:block;width:100%;margin:0;clear:both;border:0 none;height:20px}.vertical-space2{height:40px}.vertical-space3{height:60px}.vertical-space4{height:80px}.vertical-space5{height:100px}@media only screen and (max-width:479px){.vertical-space,.vertical-space1{height:8px}.vertical-space2{height:14px}.vertical-space3{height:28px}.vertical-space4{height:40px}.vertical-space5{height:60px}}@media only screen and (max-width:960px){.vertical-space,.vertical-space1{height:12px}.vertical-space2{height:18px}.vertical-space3{height:36px}.vertical-space4{height:50px}.vertical-space5{height:80px}}.mec-wrap abbr{cursor:auto;border-bottom:0}@-webkit-keyframes rotating{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.mec-wrap{font:14px/25px;font-weight:400;color:#626262}.mec-wrap .mec-events a{border-bottom:none}.mec-wrap .mec-container a{box-shadow:none}.mec-event-content p{font-weight:300}.mec-wrap .mec-clear:after,.mec-wrap .mec-clear:before{content:" ";display:table}.mec-wrap .mec-clear:after{clear:both}.mec-events-button{background:#fff;padding:12px 28px;font-size:15px;font-weight:400;letter-spacing:0;border:1px solid #e3e3e3;border-radius:2px;text-shadow:none;margin-right:10px;box-shadow:0 2px 0 0 rgb(0 0 0 / 3%);transition:.3s}.mec-wrap .mec-events-button:hover{color:#fff}.mec-no-event{display:none}#mec-active-current{display:block}.current-hide #mec-active-current{display:none!important}.mec-event-grid-classic .mec-event-article{position:relative;border:2px solid #e3e3e3;box-shadow:0 2px 0 0 rgba(0,0,0,.016);margin-bottom:30px;max-width:none}.mec-event-grid-classic .mec-event-content{background:#fff;color:#767676;padding:0 20px 5px;text-align:center;min-height:125px}.mec-event-grid-classic .mec-event-title{color:#202020;margin:10px 0;font-weight:700;font-size:20px;letter-spacing:1px;text-transform:uppercase}.mec-event-grid-classic .mec-event-title a{color:#202020;transition:all .24s ease}.mec-event-grid-classic .mec-event-date{font-weight:400;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#fff;padding:3px 20px;margin:0 -20px 20px -20px;text-align:center}.widget_mec_mec_widget .mec-event-grid-classic .mec-event-date{margin:0}.mec-event-grid-classic .mec-event-content p{font-size:15px;color:#8a8a8a}.mec-event-grid-classic .mec-event-detail{display:none}.mec-event-grid-classic img{margin-bottom:0;width:100%}.mec-event-footer{position:relative;border-top:1px solid #efefef;padding:20px;min-height:80px;margin:0;background:#fafafa}.mec-event-sharing-wrap{left:15px;position:absolute;list-style:none;margin:0;padding-left:0}.mec-event-sharing-wrap .mec-event-sharing{position:absolute;padding:8px 0 2px;left:-6px;bottom:54px;margin:0;margin-top:6px;border-radius:5px;width:50px;visibility:hidden;opacity:0;border:1px solid #e2e2e2;background:#fff;box-shadow:0 0 9px 0 rgba(0,0,0,.06);z-index:99;-webkit-transition:all .18s ease;transition:all .18s ease}.mec-event-sharing-wrap .mec-event-sharing:after,.mec-event-sharing-wrap .mec-event-sharing:before{content:"";display:block;position:absolute;bottom:-10px;left:50%;margin-left:-10px;width:0;height:0;border-style:solid;border-width:10px}.mec-event-sharing-wrap .mec-event-sharing:before{bottom:-21px;border-color:#e2e2e2 transparent transparent transparent}.mec-event-sharing-wrap .mec-event-sharing:after{bottom:-19px;border-color:#fff transparent transparent transparent}.mec-event-sharing-wrap:hover .mec-event-sharing{opacity:1;visibility:visible}.mec-event-sharing-wrap li{text-align:center;border:0;display:block;margin-right:2px;overflow:hidden;margin:0 auto 6px;width:38px}.mec-event-sharing-wrap li.mec-event-share{height:38px}.mec-event-sharing-wrap:hover>li{cursor:pointer;background-color:#40d9f1}.mec-event-sharing-wrap:hover li a{color:#fff}.mec-event-sharing-wrap>li:first-of-type{border:1px solid #d9d9d9}.mec-event-sharing-wrap li a,.mec-event-sharing-wrap:hover li ul li a{border:none;color:#767676;display:block}.mec-event-sharing-wrap li i{width:36px;height:36px;display:table-cell;vertical-align:middle}.mec-event-sharing-wrap li svg{height:16px}.mec-event-sharing-wrap .mec-event-sharing li a{display:block}.mec-event-sharing-wrap .mec-event-sharing li:hover a{color:#40d9f1}.mec-event-sharing .mec-event-share:hover .event-sharing-icon{background:#40d9f1;border-width:0 1px 0;cursor:pointer}.mec-event-sharing .mec-event-map{border-width:1px 0 1px}.mec-event-footer .mec-booking-button{box-shadow:none;transition:all .21s ease;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;background:#fff;color:#767676;border:1px solid #e8e8e8;position:absolute;top:20px;right:15px;padding:0 16px;line-height:37px;height:38px}.mec-event-footer .mec-booking-button:hover{background:#191919;color:#fff;border-color:#191919}@media only screen and (max-width:960px){.mec-event-grid-classic{margin-bottom:30px}}.mec-widget .mec-event-grid-classic.mec-owl-carousel{padding:36px 0 16px}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav{margin:5px 0;width:100%;position:absolute;top:15px;padding:0}.mec-skin-grid-container.mec-widget{padding-top:18px}.mec-widget .mec-event-grid-classic.mec-owl-carousel{padding:20px 0 16px}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav{margin:0;width:100%;position:absolute;top:0;padding:0}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav div{position:absolute;background:#fff;line-height:0;width:34px;height:26px;padding:6px;text-align:center;margin-top:-17px;border-radius:3px;border:1px solid #e2e2e2;text-align:center;box-shadow:0 2px 0 0 rgba(0,0,0,.028);transition:all .33s ease}.mec-skin-grid-container .mec-categories{padding:0}.mec-skin-grid-container .mec-categories li{list-style:none}.mec-skin-grid-container .mec-categories li a{color:#000;line-height:24px;text-align:left;transition:all .23s ease;-webkit-transition:all .23s ease}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav i{font-size:12px;color:#40d9f1;cursor:pointer}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav .owl-next{right:0}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav .owl-prev{left:0}.mec-widget .mec-event-grid-classic.mec-owl-carousel .mec-event-sharing{display:none}.mec-widget .mec-event-grid-classic.mec-owl-carousel .mec-event-footer{text-align:center}.mec-widget .mec-event-grid-classic.mec-owl-carousel .mec-event-footer .mec-booking-button{position:static;padding:11px 16px}.widget .mec-event-footer ul.mec-event-sharing-wrap li a.mec-event-share-icon{padding:0}@media screen and (min-width:56.875em){.mec-widget .mec-month-container dl{margin-bottom:0}}.mec-widget .mec-event-grid-classic.owl-carousel .mec-event-footer{text-align:right}.mec-widget .mec-event-grid-classic.owl-carousel .mec-event-sharing-wrap{left:5px;padding-left:5px}.mec-widget .mec-event-grid-classic.owl-carousel .mec-event-sharing-wrap .mec-event-sharing{left:0}.mec-widget .mec-event-sharing-wrap .mec-event-sharing{position:absolute;top:auto;bottom:52px;margin:0;margin-top:0;border-radius:5px}.mec-widget .mec-event-sharing-wrap .mec-event-sharing:after{top:auto;bottom:-17px;border-color:#fff transparent transparent transparent}.mec-widget .mec-event-sharing-wrap .mec-event-sharing:before{top:auto;bottom:-18px;border-color:#e2e2e2 transparent transparent transparent}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav button{position:absolute;background:#fff;padding:6px;margin-top:-17px;border-radius:3px;border:1px solid #e2e2e2;box-shadow:0 2px 0 0 rgba(0,0,0,.028)}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav button:hover{background:#40d9f1;border-color:#40d9f1}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav button:hover i{color:#fff}.mec-widget .mec-event-grid-classic.mec-owl-carousel .mec-booking-button{width:40%;float:right;color:#202020;height:36px;line-height:14px;font-size:12px;width:auto}.mec-widget .mec-event-grid-classic.mec-owl-carousel .mec-booking-button:hover{color:#fff}.mec-widget .mec-event-list-modern .col-md-2.col-sm-2,.mec-widget .mec-event-list-modern .col-md-6.col-sm-6{padding:0;width:100%;display:block;position:unset}.mec-widget .mec-event-list-modern .col-md-4.col-sm-4 .mec-booking-button{width:80%;height:46px;line-height:22px;padding:11px 20px;float:right}.mec-widget .mec-event-list-modern .col-md-4.col-sm-4.mec-btn-wrapper{top:auto;bottom:5%}@media (max-width:480px){.mec-widget .mec-event-list-modern .col-md-4.col-sm-4{padding:0}.mec-widget .mec-event-list-modern .col-md-4.col-sm-4 .mec-booking-button{width:100%}}.mec-widget .mec-event-list-modern .mec-month-divider{margin:30px 0 10px 0}.mec-widget .mec-event-list-minimal .mec-event-date span{font-size:12px}.mec-widget .mec-event-list-minimal .mec-event-date:after{height:29px}.mec-widget .mec-event-list-minimal .col-md-3,.mec-widget .mec-event-list-minimal .col-md-9{display:block;width:100%;text-align:left}.mec-widget .mec-event-list-modern .col-md-4.col-sm-4.mec-btn-wrapper{position:relative}.mec-widget .mec-event-list-modern .col-md-4.col-sm-4 .mec-booking-button{width:100%;text-align:center}.mec-widget .mec-event-list-minimal .mec-event-date:first-child{margin-right:24px}.mec-event-grid-clean{margin-bottom:10px;max-width:none}.mec-event-grid-clean .mec-event-article{margin-bottom:30px;position:relative;border:1px solid #e2e2e2;text-align:center;padding:15px 15px 0;background:#fff;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-grid-clean .mec-event-content{background:#fff;color:#767676;padding:25px 16px 0;text-align:left}.mec-event-grid-clean .mec-event-title{color:#202020;margin:0 0 10px 0;font-weight:700;font-size:21px;text-transform:capitalize}.mec-event-grid-clean .mec-event-title a{color:#202020;transition:all .24s ease}.mec-event-grid-clean .mec-event-date{font-weight:400;font-size:11px;text-transform:uppercase;letter-spacing:1px;background-color:#40d9f1;color:#fff;padding:3px 0;margin:0;text-align:center}.mec-event-grid-clean .mec-event-content p{font-size:15px;color:#9a9a9a;line-height:1.54}.mec-event-grid-clean img{margin-bottom:0;width:100%}.mec-event-grid-clean .event-grid-t2-head{margin-bottom:10px;color:#fff;padding:9px 14px 6px;text-align:left}.mec-event-grid-clean .event-grid-t2-head .mec-event-date{font-size:50px;line-height:50px;float:left;margin-right:11px}.mec-event-grid-clean .event-grid-t2-head .mec-event-month{text-transform:uppercase;font-size:17px;line-height:20px;padding-top:4px}.mec-event-grid-clean .event-grid-t2-head .mec-event-detail{font-size:12px}.mec-event-grid-clean .event-grid-t2-head .mec-categories li a{margin-bottom:10px;color:#fff}.mec-event-grid-clean .event-grid-t2-head .mec-categories li a:hover{color:#000}.mec-event-grid-clean .mec-event-sharing-wrap{left:0;padding-left:0}.mec-event-grid-clean .mec-event-footer{position:relative;border-top:2px solid;padding:20px 0;margin:0 14px;text-align:left;background:0 0}.mec-event-grid-clean .mec-event-footer .mec-booking-button{right:0}.mec-event-grid-clean .row{margin-bottom:30px}.mec-event-grid-modern{margin-bottom:10px;max-width:none}.mec-event-grid-modern .mec-event-article{position:relative;border:1px solid #e2e2e2;text-align:center;margin-bottom:30px;padding:45px 15px 10px;background:#fff;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-grid-modern .mec-event-content{background:#fff;color:#767676;padding:35px 15px 10px;text-align:left}.mec-event-grid-modern .mec-event-title{color:#202020;margin:0 0 10px 0;font-weight:700;font-size:24px;text-transform:none;letter-spacing:-1px}.mec-event-grid-modern .mec-event-title a{color:#202020;transition:all .24s ease}.mec-event-grid-modern .mec-event-content p{font-size:15px;color:#9a9a9a;line-height:1.54}.mec-event-grid-modern img{margin-bottom:0;width:100%}.mec-event-grid-modern .event-grid-modern-head{margin-bottom:10px;padding:9px 14px 6px;text-align:left}.mec-event-grid-modern .event-grid-modern-head .mec-event-date{font-size:50px;line-height:50px;float:left;margin-right:11px}.mec-event-grid-modern .event-grid-modern-head .mec-event-month{text-transform:uppercase;font-size:17px;line-height:20px;padding-top:4px}.mec-event-grid-modern .event-grid-modern-head .mec-event-detail{font-size:12px}.mec-event-grid-modern .event-grid-modern-head .mec-event-day{margin-top:9px;color:silver;font-size:35px;font-weight:100;text-transform:uppercase;letter-spacing:-1px}.mec-event-grid-modern .mec-event-footer{position:relative;height:90px;padding:20px 0;border:none;margin:0 14px;text-align:left;background:0 0}.mec-event-grid-modern .mec-event-footer .mec-booking-button{right:auto;left:0}.mec-event-grid-modern .mec-event-sharing-wrap{left:auto;right:0;padding-left:0}.mec-event-grid-modern .mec-event-sharing{left:auto;right:-6px}.mec-event-grid-modern .mec-event-sharing-wrap li{border-radius:55px}.mec-event-grid-modern .row{margin-bottom:0}@media only screen and (max-width:479px){.mec-event-grid-modern .mec-event-article{padding-bottom:30px}.mec-event-grid-modern .mec-event-sharing{top:60px;left:0;right:auto}.mec-event-grid-modern .mec-event-footer .mec-booking-button{top:0}}span.mec-event-title-soldout{font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:#e63360;color:#fff;padding:3px 8px;line-height:1;border-radius:15px;white-space:nowrap;vertical-align:middle}.mec-event-grid-colorful .mec-event-article{min-height:400px;border:none;box-shadow:none;background:#40d9f1;padding-top:25px;margin:0;color:#fff}.mec-event-grid-colorful .mec-event-content{background:0 0}.mec-event-grid-colorful .event-grid-modern-head,.mec-event-grid-colorful .event-grid-modern-head .mec-event-date,.mec-event-grid-colorful .event-grid-modern-head .mec-event-day,.mec-event-grid-colorful .mec-event-content p,.mec-event-grid-colorful .mec-event-sharing-wrap>li>a,.mec-event-grid-colorful .mec-event-title a{color:#fff}.mec-event-grid-colorful .mec-event-footer .mec-booking-button{border:none}.mec-event-grid-colorful .mec-event-sharing-wrap>li{border-color:#fff}.mec-event-grid-colorful .mec-event-sharing-wrap:hover>li{background:#333;border-color:#333}.mec-event-grid-colorful .mec-event-title a.mec-color-hover:hover{color:#fff;text-decoration:underline}.mec-event-grid-colorful .mec-event-title .event-color{display:none}.mec-event-grid-colorful div[class^=col-md-]{padding:0 1px 1px 0;margin:0}.mec-event-grid-colorful .mec-event-article .mec-time-details{color:#fff}@media only screen and (min-width:768px){.mec-wrap.mec-sm959.mec-event-grid-colorful .event-grid-modern-head .mec-event-day{font-size:26px}.mec-wrap.mec-sm959.mec-event-grid-colorful .event-grid-modern-head .mec-event-month{font-size:15px}.mec-wrap.mec-sm959.mec-event-grid-colorful .event-grid-modern-head .mec-event-date{font-size:50px}.mec-wrap.mec-sm959.mec-event-grid-colorful .mec-event-title{font-size:21px}.mec-wrap.mec-sm959.mec-event-grid-colorful .mec-event-content p{font-size:13px}}@media only screen and (min-width:768px) and (max-width:1200px){.mec-wrap.mec-sm959.mec-event-grid-colorful div[class^=col-md-]{width:50%}}.mec-event-list-minimal .mec-event-article{border-bottom:1px solid #efefef;padding:24px 0 16px}.mec-event-list-minimal .mec-wrap .col-md-9{padding:0}.mec-event-list-minimal .mec-event-date{position:relative;float:left;margin-right:30px;color:#fff;width:52px;padding:6px 4px 3px;text-align:center;text-transform:uppercase;border-radius:3px}.mec-event-list-minimal .mec-event-date{min-width:52px;width:fit-content}.mec-event-list-minimal .mec-event-date:nth-child(2){margin:0 30px 0 -20px}.mec-event-list-minimal .mec-event-date span{display:block;font-size:24px;font-weight:700;text-align:center;margin-bottom:4px}.mec-event-list-minimal .mec-event-date:after{display:block;content:"";position:absolute;width:50px;left:1px;top:1px;height:34px;background:rgba(255,255,255,.1);box-shadow:0 4px 4px rgba(0,0,0,.02)}.mec-event-list-minimal .mec-event-date:after{width:100%}.mec-event-list-minimal .mec-event-title{margin-top:0;margin-bottom:10px;font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:0;padding-top:10px}.mec-event-list-minimal .mec-event-detail,.mec-event-list-minimal .mec-time-details{font-size:15px;font-weight:300;line-height:1;letter-spacing:0;color:#9a9a9a}.mec-event-list-minimal .btn-wrapper{text-align:right;padding-right:0;padding-top:6px}.mec-event-list-minimal .btn-wrapper .mec-detail-button{border-bottom:0;margin-bottom:14px;margin-right:0;box-shadow:none}.mec-event-list-minimal a.mec-detail-button{text-align:center;display:inline-block;background:#ededed;color:#191919;padding:12px;border-radius:2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;transition:all .24s ease}.mec-event-list-minimal a.mec-detail-button:hover{background:#292929;color:#fff}.vc_col-sm-4 .mec-event-list-minimal .mec-event-date,.vc_col-sm-6 .mec-event-list-minimal .mec-event-date{margin-right:12px}.vc_col-sm-4 .mec-event-list-minimal .mec-event-title,.vc_col-sm-6 .mec-event-list-minimal .mec-event-title{font-size:15px;letter-spacing:2px}@media only screen and (min-width:480px) and (max-width:767px){.mec-event-list-minimal .btn-wrapper{padding-left:0}.mec-event-list-minimal .mec-event-date{margin-right:10px}}@media only screen and (max-width:767px){.mec-event-list-minimal .btn-wrapper .mec-detail-button{display:block;text-align:center;margin:0;margin-top:16px;padding:8px}.mec-event-list-minimal .btn-wrapper{margin:12px 0}}@media only screen and (max-width:479px){.mec-event-list-minimal .mec-event-date{float:none;width:100%;margin-bottom:8px}.mec-event-list-minimal .mec-event-date span{display:inline;padding-right:25px;margin-right:7px;font-size:inherit}.mec-event-list-minimal .mec-event-date:after{width:45%;box-shadow:4px 0 4px rgba(0,0,0,.02)}.mec-event-list-minimal .btn-wrapper{text-align:center;padding-left:0}.mec-event-list-minimal{text-align:center}.mec-event-list-minimal .mec-event-detail{margin-bottom:10px}}.mec-wrap .mec-event-list-modern .mec-event-title{margin-top:0;margin-bottom:10px}.mec-event-list-modern .mec-event-article{border-bottom:1px solid #efefef;padding:30px 0 10px}.mec-event-list-modern .mec-event-article:last-child{border-bottom:none}.mec-event-list-modern .mec-event-title a{color:#191919;transition:all .24s ease;box-shadow:none}.mec-event-list-modern .mec-event-date{text-transform:uppercase;padding:10px 0}.mec-event-list-modern .mec-event-date .event-d{font-size:48px;display:table-cell;padding:10px 0 0}.mec-event-list-modern .mec-event-date .event-d.mec-multiple-dates{font-size:20px;padding:0}.mec-event-list-modern .mec-event-date.mec-multiple-date-event:first-child{padding:10px 0 6px 0;position:relative;width:fit-content}.mec-event-list-modern .mec-event-date.mec-multiple-date-event:first-child:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:silver}.mec-event-list-modern .mec-event-date.mec-multiple-date-event:last-child{padding:5px 0 10px 0}.mec-event-list-modern .mec-event-date.mec-multiple-date-event .event-d{font-size:20px;padding:0}.mec-event-list-modern .mec-event-date.mec-multiple-date-event .event-da{font-size:20px;margin:0}.mec-event-list-modern .mec-event-date .event-f{font-size:13px;display:table-cell;vertical-align:middle;padding-left:7px;font-weight:500;letter-spacing:3px;color:#777}.mec-event-list-modern .mec-event-detail{font-weight:300;color:#8a8a8a}.mec-event-list-modern .mec-event-detail .mec-time-details{display:inline}.mec-event-list-modern .mec-event-date .event-da{margin-top:9px;color:silver;font-size:28px;font-weight:100;text-transform:uppercase;letter-spacing:-1px;text-align:left}.mec-event-list-modern .mec-btn-wrapper .mec-booking-button{border-radius:1px;letter-spacing:2px;border:1px solid #e6e6e6;color:#333;background-color:#fff;padding:13px 20px;font-weight:700;font-size:11px;box-shadow:0 2px 0 0 rgba(0,0,0,.016);transition:all .28s ease}.mec-event-list-modern .mec-btn-wrapper .mec-booking-button:hover{border-color:#222;background:#222;color:#fff}.mec-event-list-modern .mec-event-title{font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:1px}.mec-event-list-modern .mec-event-detail{color:#9a9a9a;font-size:15px;font-weight:300;line-height:25px}.mec-event-list-modern .mec-btn-wrapper{text-align:right;padding:10px 0;text-transform:uppercase}.mec-event-list-modern .mec-event-sharing{position:relative;margin:10px 0;padding-left:0}.mec-event-list-modern .mec-event-sharing>li{display:inline-block;border:none;border-radius:50%;margin-right:3px}.mec-event-list-modern .mec-event-sharing .telegram{min-width:36px;min-height:36px;line-height:36px;padding:9px 1px 10px;border-radius:60px}.mec-event-list-modern .mec-event-sharing>li .telegram{padding-top:8px;padding-bottom:9px;border-radius:50%;border:1px solid #ddd}.mec-event-list-modern .mec-event-sharing .telegram .svg-inline--fa.fa-telegram.fa-w-16{width:3.246rem;padding:2px 10px 0 10px;margin-bottom:-2px}.mec-event-list-modern .mec-event-sharing .telegram .svg-inline--fa.fa-telegram.fa-w-16 path{fill:#767676}.mec-event-list-modern .mec-event-sharing li:hover .telegram{background-color:#40d9f1}.mec-event-list-modern .mec-event-sharing li:hover .telegram .svg-inline--fa.fa-telegram.fa-w-16 path{fill:#fff}.mec-event-list-modern .mec-event-sharing>li:hover{display:inline-block}.mec-event-list-modern .mec-event-sharing>li:hover a i{color:#fff;background:#40d9f1;border-color:#40d9f1}.mec-event-list-modern .mec-event-sharing>li i{width:36px;display:inline-block;line-height:35px;color:#767676;text-align:center;border-radius:50%;border:1px solid #ddd;font-size:14px}.mec-event-list-modern .mec-event-sharing .mec-event-share:hover .mec-event-sharing-icon{background:#40d9f1;border-color:#40d9f1;cursor:pointer;border-radius:50%}.mec-event-list-modern .mec-event-sharing li:hover a i{background:#40d9f1}@media only screen and (min-width:768px){.mec-event-list-modern .mec-event-article{position:relative;min-height:160px;overflow:hidden}.mec-event-list-modern .col-md-2.col-sm-2{width:210px;position:absolute;left:0;top:20px;padding:0}.mec-event-list-modern .col-md-4.col-sm-4.mec-btn-wrapper{width:180px;padding:0;position:absolute;right:0;top:30%}.mec-event-list-modern .col-md-6.col-sm-6{width:100%;padding-left:225px;padding-right:195px}}@media only screen and (max-width:767px){.mec-event-list-modern .mec-btn-wrapper .mec-booking-button{letter-spacing:1px;border:1px solid #e1e1e1;padding:8px 16px}.mec-event-list-modern .mec-btn-wrapper{padding:0 0 12px}.mec-event-list-modern .mec-event-sharing{margin-bottom:0}}.mec-event-grid-minimal .mec-event-article{margin:15px 0;min-height:80px;display:table}.mec-event-grid-minimal .event-detail-wrap{display:table-cell;vertical-align:middle}.mec-event-grid-minimal .mec-event-date{width:70px;float:left;margin-right:20px;padding:12px 16px 10px;text-align:center;text-transform:uppercase;border-radius:4px;border:1px solid #e6e6e6;transition:all .37s ease-in-out;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-grid-minimal .mec-event-date span{display:block;font-size:24px;font-weight:700;text-align:center;margin-bottom:4px;color:#2a2a2a;transition:color .3s ease}.mec-event-grid-minimal .mec-event-title{margin-top:0;margin-bottom:10px;font-weight:700;line-height:21px;font-size:16px;text-transform:uppercase;transition:color .3s ease}.mec-event-grid-minimal .mec-event-title a{color:#191919;transition:color .3s ease}.mec-event-grid-minimal .mec-event-detail,.mec-event-grid-minimal .mec-time-details{font-size:15px;font-weight:300;line-height:1;letter-spacing:0;color:#9a9a9a;margin-bottom:5px}.mec-event-grid-minimal .mec-event-date:hover{color:#fff}.mec-event-grid-minimal .mec-event-date:hover span{color:#fff}.mec-wrap .mec-event-grid-minimal .mec-event-date:hover{color:#fff}.mec-event-list-classic .mec-event-article{padding:12px 0;margin-bottom:20px}.mec-event-list-classic .mec-event-image{float:left;width:86px;margin-right:20px}.mec-event-list-classic .mec-event-date,.mec-event-list-classic .mec-event-time{font-weight:400;font-size:13px;letter-spacing:0;line-height:18px;text-align:left;display:initial;margin-right:12px}.mec-event-list-classic .mec-event-time .mec-time-details,.mec-event-list-classic .mec-event-time i{display:inline;margin-right:3px}.mec-event-list-classic .mec-event-date span{font-weight:500;margin-bottom:6px}.mec-event-list-classic .mec-event-title{font-size:15px;margin:10px 0 12px;font-weight:700;text-transform:uppercase}.mec-event-list-classic .mec-event-title a{color:#494949;transition:color .3s ease}.mec-event-list-classic .mec-event-detail{color:#777;font-weight:400;line-height:12px;font-size:12px;overflow:hidden}.mec-event-list-classic a.magicmore{padding:10px 16px;color:#fff;background:#222;letter-spacing:2px;font-size:11px}.mec-event-list-classic a.magicmore:after{content:"";display:none}.mec-event-list-classic a.magicmore:hover{color:#40d9f1}.mec-event-grid-simple .mec-event-article{position:relative;margin-bottom:30px}.mec-event-grid-simple .mec-event-article:after{border-right:1px solid #e6e6e6;height:60px;position:absolute;top:50%;margin-top:-30px;right:-1px}.mec-event-grid-simple .row div:last-child .mec-event-article:after{border:none}.mec-event-grid-simple .row{margin:15px 0 30px;text-align:center}.mec-event-grid-simple .mec-event-date{padding:0;margin:0;text-transform:capitalize;font-size:12px;font-weight:700}.mec-event-grid-simple .mec-event-title{margin-top:0;margin-bottom:10px;font-weight:700;line-height:21px;font-size:15px;padding-top:5px;padding-left:5px;padding-right:5px;text-transform:uppercase;transition:color .37s ease}.mec-event-grid-simple .mec-event-title a{color:#494949;transition:color .3s ease}.mec-event-grid-simple .mec-event-detail{font-weight:400;line-height:1;letter-spacing:0;font-size:13px;color:#777}.mec-event-grid-simple:hover .mec-event-title{color:#40d9f1}.mec-event-grid-simple:hover .mec-event-date{background:0 0}.event-last:after{display:none}@media only screen and (max-width:767px){.mec-event-grid-simple .mec-event-article{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #eee}.mec-event-grid-simple .mec-event-article:after{border:none}}.mec-event-grid-novel .mec-event-article{position:relative;margin-bottom:30px;padding:60px 5% 60px 7%;border:1px solid rgba(255,255,255,.12);border-radius:10px;background-color:#0050fd;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;z-index:1}.mec-event-grid-novel .mec-event-article .novel-grad-bg{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:10px;opacity:0;z-index:-1;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.mec-event-grid-novel .mec-event-article:hover{-webkit-box-shadow:0 13px 36px 0 rgba(0,0,0,.23);box-shadow:0 13px 36px 0 rgba(0,0,0,.23);border-color:transparent}.mec-event-grid-novel .mec-event-article:hover .novel-grad-bg{background-image:-webkit-gradient(linear,left top,right top,from(#262e32),to(#0e1015));background-image:-webkit-linear-gradient(left,#262e32 0,#0e1015 100%);background-image:-o-linear-gradient(left,#262e32 0,#0e1015 100%);background-image:linear-gradient(90deg,#262e32 0,#0e1015 100%);opacity:1}.mec-event-grid-novel .mec-event-image{float:left;width:150px;height:150px}.mec-event-grid-novel .mec-event-image img{width:150px;height:150px;border-radius:50%}.mec-event-grid-novel .mec-event-detail-wrap{margin-left:200px}.mec-event-grid-novel .mec-event-content h4{position:relative;margin-bottom:10px;display:inline-block}.mec-event-grid-novel .mec-event-content h4 a{font-size:24px;line-height:35px;color:#fafcff}.mec-event-grid-novel .mec-event-content h4.mec-gCalendar-search-text-wrap input[type=text]before{content:"";position:absolute;top:8px;left:-30px;width:17px;height:17px;background:#5cd0ed;opacity:.4;border-radius:50%;padding-right:5px}.mec-event-grid-novel .mec-event-content h4::after{content:"";position:absolute;top:12px;left:-26px;width:9px;height:9px;background:#5cd0ed;border-radius:50%}.mec-skin-grid-container .mec-event-grid-novel .mec-categories li a{color:#fff}.mec-event-grid-novel .mec-event-address,.mec-event-grid-novel .mec-event-detail,.mec-event-grid-novel .mec-event-month,.mec-event-grid-novel .mec-local-time-details{position:relative;padding-left:35px;font-size:15px;line-height:30px;color:rgba(255,255,255,.4)}.mec-event-grid-novel .mec-event-address::before,.mec-event-grid-novel .mec-event-detail::before,.mec-event-grid-novel .mec-event-month::before,.mec-event-grid-novel .mec-local-time-details:before{position:absolute;top:6px;left:6px;font-size:17px;font-family:simple-line-icons;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1}.mec-event-grid-novel .mec-local-time-details::before{content:"\e007"}.mec-event-grid-novel .mec-event-month::before{content:"\e075"}.mec-event-grid-novel .mec-event-detail::before{content:"\e081"}.mec-event-grid-novel .mec-event-address::before{content:"\e096"}.mec-event-grid-novel .mec-event-footer{clear:both;padding:20px 0;border-top:none;background:0 0}.mec-event-grid-novel .mec-event-footer .mec-booking-button{right:auto;left:0;height:42px;width:148px;padding:0 20px;font-size:14px;font-weight:400;line-height:42px;text-align:center;color:#fff;background:0 0;border-color:rgba(255,255,255,.1);border-radius:50px}.mec-event-grid-novel .mec-event-footer .mec-booking-button:hover{background-color:rgba(255,255,255,.1)}.mec-event-grid-novel .mec-event-sharing-wrap{left:175px;cursor:pointer;padding-left:0}.mec-event-grid-novel .mec-event-sharing-wrap>li{border-color:rgba(255,255,255,.1);border-radius:50%}.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing{top:-5px;left:0;padding:5px 10px 2px 50px;min-width:150px;width:inherit;height:37px;background-color:rgba(255,255,255,.1);-webkit-box-shadow:none;box-shadow:none;border:none;border-radius:50px}.mec-event-grid-novel .mec-event-sharing-wrap:hover>li{background-color:rgba(255,255,255,.1)}.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing::after,.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing::before{display:none}.mec-event-grid-novel .mec-event-sharing .mec-event-social-icon,.mec-event-grid-novel .mec-event-sharing .mec-event-social-icon a,.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing li i{display:inline}.mec-event-grid-novel .mec-event-sharing .mec-event-social-icon a{padding:0 10px}.mec-event-grid-novel .mec-event-sharing-wrap>li a{color:#fff}.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing li a{color:rgba(255,255,255,.4)}.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing li a:hover{color:rgba(255,255,255,1)}@media only screen and (max-width:1200px){.mec-event-grid-novel .row .col-md-6.col-sm-6{width:100%;float:none}.mec-event-grid-novel .mec-event-image{float:none;margin-top:-20px;margin-bottom:20px}.mec-event-grid-novel .mec-event-detail-wrap{margin-left:20px}.mec-event-grid-novel .mec-event-footer{margin-top:30px}}@media only screen and (max-width:767px){.mec-event-grid-novel .mec-event-footer{margin-top:0;padding-top:30px;margin-bottom:24px}.mec-event-grid-novel .mec-event-footer .mec-booking-button{display:block;position:relative}.mec-event-grid-novel .mec-event-sharing-wrap{left:0;bottom:-55px;padding-left:0}.mec-event-grid-novel .mec-event-content h4 a{font-size:20px;line-height:1.3}}.mec-event-grid-novel .mec-event-sharing-wrap{padding-left:0}.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing{width:fit-content;z-index:999999}@media (min-width:1280px){.mec-event-grid-novel .col-md-4.col-sm-4 .mec-event-article img{width:100px;height:100px}.mec-event-grid-novel .col-md-4.col-sm-4 .mec-event-detail-wrap{margin-left:150px}}@media (min-width:760px) and (max-width:1024px){.mec-event-grid-novel .col-md-4.col-sm-4{width:100%}.mec-event-grid-novel .mec-event-image{float:left}.mec-event-grid-novel .col-md-4.col-sm-4 .mec-event-article img{width:100px;height:100px}}.mec-event-cover-modern{position:relative}.mec-event-cover-modern .mec-event-cover-a{background:0 0;position:absolute;color:#fff;bottom:0;left:0;text-decoration:none}.mec-event-cover-modern .mec-event-cover-a .mec-event-overlay{transition:all .5s;opacity:.8;width:100%;height:100%;position:absolute}.mec-event-cover-modern .mec-event-cover-a:hover .mec-event-overlay{opacity:1}.mec-event-cover-modern .mec-event-detail{padding:40px;position:relative}.mec-event-cover-modern .mec-event-cover-a:hover .mec-event-tag{color:#333;transition:all .5s}.mec-event-cover-modern .mec-event-cover-a .mec-event-title:hover{text-decoration:underline}.mec-event-cover-modern .mec-event-tag{background:#fff;display:inline-block;padding:5px 9px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:24px}.mec-event-cover-modern .mec-event-date{text-transform:uppercase;font-size:17px;font-weight:300}.mec-event-cover-modern .mec-event-title{color:#fff;text-transform:uppercase;font-size:40px;font-weight:700;margin:6px 0}.mec-event-cover-modern .mec-event-place{font-weight:400;font-size:18px}@media only screen and (max-width:767px){.mec-event-cover-modern .mec-event-cover-a{width:100%}}.mec-event-cover-classic{position:relative;overflow:hidden;background:#fff;padding:6px;border:1px solid #e8e8e8}.mec-event-cover-classic .mec-event-overlay{position:absolute;left:6px;right:6px;bottom:6px;top:6px;width:auto;height:auto;background-color:rgba(36,36,36,.4);transition:all .33s ease-in-out}.mec-event-cover-classic:hover .mec-event-overlay{background-color:rgba(36,36,36,.6)}.mec-event-cover-classic .mec-event-content{font-size:15px;color:#fff;position:absolute;bottom:0;padding:50px 35px;transition:all .33s ease-in-out}.mec-event-cover-classic .mec-event-date{font-size:14px;text-transform:uppercase;font-weight:400;line-height:1.6;text-align:left}.mec-event-cover-classic .mec-event-date span{display:block;font-weight:700;font-size:16px}.mec-event-cover-classic .mec-event-title{color:#fff;margin:20px 0 38px;font-size:24px;font-weight:700;text-transform:uppercase;font-style:normal}.mec-event-cover-classic .mec-btn-wrapper{text-align:left}.mec-event-cover-classic .mec-event-icon{font-size:18px;float:left;margin-right:14px;color:#fff;padding:13px}.mec-event-cover-classic .mec-event-button{color:#fff;background-color:#191919;border:2px #191919 solid;padding:12px 20px;letter-spacing:3px;font-size:12px;font-weight:700;font-style:normal;transition:all .22s ease;text-decoration:none}.mec-event-cover-classic .mec-event-button:hover{color:#191919;background-color:#fff;border-color:#fff;border-radius:1px}.mec-event-cover-classic .mec-event-image img{min-width:100%}@media only screen and (max-width:960px){.mec-event-cover-classic .mec-event-content{padding:20px}.mec-event-cover-classic .mec-event-button{font-size:11px;padding:7px 10px;letter-spacing:1px}.mec-event-cover-classic .mec-event-title{font-size:19px;margin:15px 0 25px}.mec-event-cover-classic .mec-event-date{font-size:12px}}@media only screen and (max-width:767px){.mec-event-cover-classic{margin-bottom:30px}}@media only screen and (max-width:479px){.mec-event-cover-classic .mec-event-content{padding:15px;font-size:15px}.mec-event-cover-classic .mec-event-title{font-size:15px;margin:10px 0}.mec-event-cover-classic .mec-event-button{font-size:10px;padding:6px;letter-spacing:1px}.mec-event-cover-classic .mec-event-icon{padding:10px}}.mec-load-more-wrap{text-align:center;display:block;width:100%;padding-top:20px;text-align:center;position:relative}.mec-load-more-button{box-shadow:none;transition:all .21s ease;font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;background:#fff;color:#767676;border:2px solid #e8e8e8;border-radius:50px;padding:0 28px;margin-bottom:20px;cursor:pointer;line-height:40px;height:42px;display:inline-block}.mec-load-more-button:hover{background:#191919;color:#fff;border-color:#191919}.mec-load-more-loading{content:url(../img/ajax-loader.gif);cursor:wait;background:0 0;border-style:none}.mec-load-more-loading:hover{background:0 0}.mec-modal-preloader,.mec-month-navigator-loading{width:100%;height:100%;background:no-repeat rgba(255,255,255,.88) url(../img/ajax-loader.gif) center;border-style:none;position:absolute;left:0;right:0;bottom:0;top:0;z-index:9}.mec-event-calendar-classic .mec-calendar-side .mec-calendar-table{min-height:1024px}.mec-calendar-side .mec-calendar-table{min-height:450px}.mec-skin-weekly-view-events-container.mec-month-navigator-loading{margin-top:0}.mec-calendar.mec-event-calendar-classic .mec-calendar-side{display:block}.mec-skin-daily-view-events-container.mec-month-navigator-loading{margin-top:0}@media only screen and (min-width:961px){.mec-wrap.mec-sm959 .mec-calendar-side .mec-calendar-table{min-height:1px}}@media only screen and (max-width:479px){.mec-calendar-side .mec-calendar-table{min-height:1px}}.mec-event-cover-clean{position:relative;border:1px solid #e6e6e6;padding:8px}.mec-event-cover-clean .mec-event-overlay{height:100%;background-color:rgba(36,36,36,.4);position:absolute;width:100%;left:0;border:8px solid #fff;top:0;transition:all .5s ease-in-out}.mec-event-cover-clean .mec-event-content{color:#fff;position:absolute;bottom:20px;padding:40px 60px;transition:all .5s ease-in-out}.mec-event-cover-clean .mec-event-title{color:#fff;font-weight:700;margin:46px 0 19px;font-size:29px;text-transform:uppercase;text-shadow:0 0 1px rgba(0,0,0,.5)}.mec-event-cover-clean .mec-event-title a{color:#fff;transition:all .5s;text-decoration:none;outline:0;border:none;box-shadow:none}.mec-event-cover-clean .mec-event-title a:hover{text-decoration:underline}.mec-event-cover-clean .mec-event-date{position:absolute;top:-20px;right:60px;color:#fff;width:60px;padding:14px 10px;z-index:1}.mec-event-cover-clean .mec-event-date div{text-align:center;text-transform:uppercase;letter-spacing:1px;line-height:16px}.mec-event-cover-clean .mec-event-date .dday{padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.5);margin-bottom:13px;font-size:24px}.mec-event-cover-clean .mec-event-date .dmonth{letter-spacing:2px}.mec-event-cover-clean .mec-event-place{font-size:18px}.mec-event-cover-clean .mec-event-image img{width:100%}@media only screen and (max-width:768px){.mec-event-cover-clean .mec-event-content{padding:20px;bottom:5px}.mec-event-cover-clean .mec-event-title{font-size:23px}.mec-event-cover-clean .mec-event-date{right:20px;padding:10px;width:50px}}@media only screen and (max-width:479px){.mec-event-cover-clean .mec-event-content{padding:10px}.mec-event-cover-clean .mec-event-title{font-size:19px;padding-right:25px}.mec-event-cover-clean .mec-event-date{right:-20px;top:-10px}.mec-event-cover-clean .mec-event-detail{font-size:12px}}.mec-month-divider{text-align:center;margin:60px 0 40px 0}.widget .mec-month-divider{margin:10px 0}.mec-month-divider span{text-transform:uppercase;font-size:22px;font-weight:700;padding-bottom:5px;color:#313131;border-bottom:4px solid #ebebeb;width:100%;display:block;padding-bottom:10px;position:relative}.mec-month-divider span:before{border-bottom:4px solid #40d9f1;font-size:6px;content:"";text-align:center;position:absolute;bottom:-4px;margin-left:-30px;left:50%;width:60px}.widget .mec-month-divider span{font-size:13px}.mec-event-list-standard .mec-events-pagination{margin-top:60px;border-top:4px solid #ebebeb;min-height:80px;padding-top:20px}.mec-event-list-standard .mec-events-pagination .mec-events-pag-previous{float:left;margin-left:0}.mec-event-list-standard .mec-events-pagination .mec-events-pag-next{float:right;margin-right:0}.mec-event-list-standard .mec-event-article{position:relative;display:block;margin-bottom:25px;border:1px solid #e9e9e9;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-list-standard .mec-topsec{display:table;width:100%}.mec-event-list-standard .col-md-3.mec-event-image-wrap{padding-left:0}.mec-event-list-standard .mec-event-content{padding-top:15px;padding-right:30px}.mec-event-list-standard .mec-event-title{font-size:29px;font-weight:700;letter-spacing:-1px;margin:0 0 10px}.mec-event-list-standard .mec-event-title a{color:#292929;transition:color .3s ease}.mec-event-list-standard .mec-col-table-c{display:table-cell;height:100%;vertical-align:middle;float:none!important}.mec-event-list-standard .mec-col-table-c.mec-event-meta-wrap{padding-top:15px}.mec-event-list-standard .mec-col-table-c.mec-event-image-wrap{vertical-align:top}.mec-topsec .mec-event-image{line-height:1px}.mec-topsec .mec-event-image a{display:block}.mec-event-list-standard .mec-event-meta-wrap{border-left:1px solid #eee}.mec-event-list-standard .mec-time-details{text-transform:uppercase;font-size:11px;font-weight:300;padding-top:0;text-align:left;padding-left:30px}.mec-event-list-standard .mec-event-meta .mec-event-address{font-style:normal;letter-spacing:0;font-size:12px;font-weight:300;margin:0 12px 0 0}.mec-event-list-standard .mec-event-meta span.mec-event-d,.mec-event-list-standard .mec-event-meta span.mec-event-m{font-size:17px;font-weight:700;padding-right:6px;color:#444;text-transform:uppercase}.mec-event-list-standard .mec-date-details,.mec-event-list-standard .mec-local-time-details,.mec-event-list-standard .mec-time-details,.mec-event-list-standard .mec-venue-details{position:relative;padding-left:28px;margin-bottom:10px}.mec-event-list-standard .mec-date-details:before,.mec-event-list-standard .mec-local-time-details:before,.mec-event-list-standard .mec-time-details:before,.mec-event-list-standard .mec-venue-details:before{content:"\f041";font-family:fontawesome;position:absolute;left:6px;font-size:15px}.mec-event-list-standard .mec-date-details:before{content:"\f073"}.mec-event-list-standard .mec-time-details:before{content:"\f017"}.mec-event-list-standard .mec-local-time-details:before{content:"\f0ac"}.mec-event-list-standard .mec-local-time-details .mec-local-title{display:block}.mec-event-list-standard .mec-local-time-details .mec-local-date,.mec-event-list-standard .mec-local-time-details .mec-local-time{font-style:normal;letter-spacing:0;font-size:11px;color:#8a8a8a;font-weight:300;line-height:1.6}.mec-event-list-minimal .mec-event-title a{color:#292929;transition:color .3s ease}.mec-event-meta-wrap .mec-price-details{margin-bottom:10px}.mec-price-details i{margin-right:4px;vertical-align:text-top}.mec-event-meta-wrap .mec-event-meta .mec-price-details i:before{font-size:15px}.mec-event-list-standard .mec-price-details{text-transform:uppercase;font-size:11px;font-weight:300}.mec-event-list-standard .mec-price-details i{margin-left:6px}.mec-month-side .mec-price-details{margin-left:2px}.mec-event-article .mec-price-details i,.mec-month-side .mec-price-details i,.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-content .mec-price-details i{padding-top:4px;vertical-align:unset}.mec-event-list-standard ul.mec-categories{position:relative;padding-left:28px;margin-bottom:10px}.mec-event-list-standard ul.mec-categories li.mec-category a:before{font-size:16px!important;content:"\f105";position:absolute;font-family:fontawesome;left:8px;font-size:15px}@media only screen and (max-width:960px){.mec-event-list-standard .mec-topsec{display:block}.mec-event-list-standard .mec-col-table-c.mec-event-image-wrap{display:block;width:40%}.mec-event-list-standard .mec-col-table-c.mec-event-content-wrap{display:block;min-height:230px}.mec-event-list-standard .mec-event-meta-wrap{display:block;border-left:none;border-top:1px solid #eee;width:100%;float:none;padding-top:20px}}@media only screen and (min-width:480px) and (max-width:960px){.mec-event-list-standard .mec-col-table-c.mec-event-content-wrap,.mec-event-list-standard .mec-col-table-c.mec-event-image-wrap{display:table-cell}}@media only screen and (max-width:479px){.mec-event-list-standard .mec-col-table-c.mec-event-image-wrap,.mec-event-list-standard .mec-col-table-c.mec-event-image-wrap img{float:none;width:100%;padding:0}.mec-event-list-standard .mec-col-table-c.mec-event-content-wrap{padding:10px 10px 10px 30px}}.mec-localtime-details{color:#777;font-weight:400;line-height:12px;font-size:12px}.mec-localtime-details .mec-localdate,.mec-localtime-details .mec-localtime,.mec-localtime-details .mec-localtitle{display:inline-block}.mec-localtime-details .mec-start-date-label{padding-right:5px}.mec-localtime-details .mec-localtime{padding-left:5px}.mec-event-list-minimal .mec-localtime-details{display:inline-flex;font-size:15px;font-weight:300;line-height:1;letter-spacing:0;color:#9a9a9a;padding-left:9px}.mec-event-grid-classic .mec-localtime-details,.mec-event-grid-clean .mec-localtime-details{color:#fff;font-weight:400;font-size:11px;text-transform:uppercase;letter-spacing:-.02em;color:#fff;padding:0 0;line-height:18px;margin-top:-3px}.mec-event-grid-clean .mec-localtime-details,.mec-event-grid-colorful .mec-localtime-details,.tooltipster-box .mec-localtime-details{line-height:22px;padding-top:10px}.mec-event-grid-colorful .mec-localtime-details{color:#fff}.mec-event-grid-classic .mec-localtime-details{text-align:center}.mec-event-grid-minimal .mec-localtime-details{line-height:22px}.mec-wrap .mec-yearly-view-wrap .mec-localtime-wrap i{display:inline-block;margin-left:-1px}.mec-timetable-t2-content .mec-local-time-details{padding-left:19px}.mec-timetable-t2-content .mec-local-time-details{position:relative}.mec-timetable-t2-content .mec-local-time-details:before{content:"\e007";font-family:simple-line-icons;position:absolute;font-size:12px;margin-right:4px;left:0}.mec-masonry .mec-masonry-col6 .mec-localtime-details{margin-top:10px;line-height:21px}.mec-masonry .mec-masonry-col6 .mec-localtime-details i{height:auto}.mec-event-cover-classic .mec-localtime-details{color:#fff;margin-top:12px}.mec-event-cover-classic .mec-localtime-details i{padding-right:8px}.mec-event-cover-clean .mec-localtime-details{color:#fff;margin-bottom:20px}.mec-event-cover-modern .mec-localtime-details{color:#fff;margin:10px 0;font-weight:400;font-size:18px}.mec-event-countdown-style1 .mec-localtime-details,.mec-event-countdown-style2 .mec-localtime-details,.mec-event-countdown-style3 .mec-localtime-details{color:#fff;padding:8px 5px 0;font-size:14px;line-height:25px}.mec-event-countdown-style1 .mec-localtime-details{text-align:center}.mec-event-hover-carousel-type4 .mec-localtime-details{display:block;color:#fff;font-size:11px}.mec-event-footer-carousel-type3 .mec-localtime-details .mec-localdate,.mec-event-footer-carousel-type3 .mec-localtime-details .mec-localtime,.mec-event-footer-carousel-type3 .mec-localtime-details .mec-localtitle,.mec-event-footer-carousel-type3 .mec-localtime-details span{display:inline-flex;line-height:20px;text-align:left;margin:0!important;font-size:12px;color:#777;line-height:28px}.mec-owl-crousel-skin-type1 .mec-localtime-details{margin-top:-7px;margin-bottom:12px}.mec-wrap .mec-slider-t5 .mec-localtime-details{margin-top:14px;line-height:20px}.mec-wrap .mec-slider-t5 .mec-localtime-details i{font-size:18px;height:20px}.mec-timeline-event-local-time{background:rgba(64,217,241,.11);display:inline-block;padding:7px 20px 11px;border-radius:20px;line-height:1.24}.mec-timeline-event-local-time .mec-localtime-details{font-size:13px;font-weight:500;vertical-align:middle;margin-left:6px;color:inherit;line-height:24px}.mec-timeline-event-local-time .mec-localtime-details i{font-size:17px;vertical-align:middle;margin-left:-7px;padding-right:3px}.mec-booking-modal{background-color:#e6f7ff}.mec-booking-modal .mec-booking-shortcode .mec-book-form-gateway-label input[type=radio]:before{top:-1px}.mec-modal-booking-button{box-shadow:none;transition:all .21s ease;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;background:#fff;color:#767676;border:1px solid #e8e8e8;padding:12px 16px;line-height:37px;height:38px;margin:12px 0}.mec-modal-booking-button:hover{background:#191919;color:#fff;border-color:#191919}.mec-modal-booking-button.mec-mb-icon i{font-size:14px}.mec-event-list-classic .mec-modal-booking-button{height:0;line-height:1;margin:7px 0 0;display:inline-table;letter-spacing:0;padding:12px 14px}.mec-event-grid-novel ul.mec-categories{position:relative;line-height:30px;font-size:15px}.mec-event-grid-novel ul.mec-categories li.mec-category a{padding-left:35px;color:rgba(255,255,255,.4);line-height:30px;font-size:15px}.mec-event-grid-novel ul.mec-categories li.mec-category a:before{font-size:16px!important;content:"\f105";position:absolute;font-family:fontawesome;left:8px;font-size:15px;color:rgba(255,255,255,.4)}.mec-calendar-events-side .mec-modal-booking-button,.mec-event-container-classic .mec-modal-booking-button,.mec-event-grid-minimal .mec-modal-booking-button,.mec-event-list-minimal .mec-modal-booking-button,.mec-timetable-t2-col .mec-modal-booking-button{margin:0;color:#282828;font-size:12px;transition:all .5s ease;-webkit-transition:all .5s ease;position:relative;padding:0 0 0 24px;background:0 0;text-align:left;display:inline;border:0;font-weight:700}.mec-timetable-t2-col .mec-modal-booking-button{color:#fff;padding-left:19px}.mec-timetable-t2-col .mec-modal-booking-button:hover{color:#282828}.mec-event-list-minimal .mec-modal-booking-button{margin:0 4px 0 84px}.mec-calendar-events-side .mec-modal-booking-button:before,.mec-event-container-classic .mec-modal-booking-button:before,.mec-event-grid-minimal .mec-modal-booking-button:before,.mec-event-list-minimal .mec-modal-booking-button:before{content:"";position:absolute;background:#7a7272;width:18px;height:1px;left:0;top:45%;transition:all .1s ease;-webkit-transition:all .1s ease}.mec-skin-carousel-container .mec-modal-booking-button{line-height:70px}.mec-event-list-modern .mec-modal-booking-button.mec-mb-icon{border-radius:1px;letter-spacing:2px;border:1px solid #e6e6e6;color:#333;background-color:#fff;padding:13px 12px 13px 14px;font-weight:700;box-shadow:0 2px 0 0 rgba(0,0,0,.016);transition:all .28s ease;line-height:unset}.mec-event-list-modern .mec-modal-booking-button.mec-mb-icon:hover{border-color:#222;background:#222;color:#fff}.mec-event-footer .mec-modal-booking-button,.mec-skin-carousel-container .mec-event-footer-carousel-type2 .mec-modal-booking-button{position:absolute;top:20px;right:125px;margin:0;padding:0 16px;line-height:37px}.mec-skin-carousel-container .mec-event-footer-carousel-type2 .mec-modal-booking-button{top:0;line-height:41px;height:41px;right:121px}.mec-skin-carousel-container .mec-event-footer-carousel-type3 .mec-modal-booking-button{line-height:18px;font-size:12px;letter-spacing:0;float:right;height:41px;margin:0 12px 0 0}.mec-skin-carousel-container .mec-owl-crousel-skin-type4 .mec-modal-booking-button{color:#fff;background-color:#191919;border:2px #191919 solid;padding:10px 14px;letter-spacing:1.5px;font-size:11px;font-weight:700;font-style:normal;transition:all .22s ease;text-decoration:none;margin:0 0 0 12px}.mec-skin-carousel-container .mec-owl-crousel-skin-type4 .mec-modal-booking-button:hover{color:#191919;background-color:#fff;border:2px #fff solid}.mec-event-grid-modern .mec-event-footer .mec-modal-booking-button{right:auto;left:110px}.mec-event-grid-simple .mec-modal-booking-button,.mec-events-agenda .mec-modal-booking-button{margin:0;font-size:12px;transition:all .5s ease;-webkit-transition:all .5s ease;position:relative;padding:0;background:0 0;text-align:left;display:inline;border:0;font-weight:700}.mec-events-agenda .mec-modal-booking-button{display:block;height:unset;padding-left:173px;line-height:14px;margin-bottom:7px}.mec-yearly-view-wrap .mec-modal-booking-button{margin:0;padding-left:14px;text-transform:capitalize}.mec-event-grid-novel .mec-event-footer .mec-modal-booking-button.mec-mb-icon{right:auto;left:238px;width:36px;height:36px;display:table-cell;vertical-align:middle;padding:0 10px;border-color:rgba(255,255,255,.1);background-color:rgba(0,0,0,0);color:#fff;border-radius:36px}.mec-event-grid-novel .mec-event-footer .mec-modal-booking-button.mec-mb-icon:hover{background-color:rgba(255,255,255,.1)}.mec-event-grid-simple .mec-modal-booking-button:hover,.mec-events-agenda .mec-modal-booking-button:hover,.mec-events-yearlu .mec-modal-booking-button:hover{color:#191919}.mec-event-masonry .mec-event-footer .mec-modal-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px;top:0;box-shadow:0 5px 11px -3px rgba(0,0,0,.05);right:auto;left:155px}.mec-timeline-event .mec-modal-booking-button{position:absolute;top:0;right:0;display:inline-block;padding:7px 20px 7px;line-height:22px;height:unset;border:unset;text-transform:capitalize;font-weight:500;font-size:13px;letter-spacing:0;margin:0;border-radius:0 0 0 10px}.mec-timeline-event .mec-modal-booking-button:hover{background:#191919;color:#fff}.mec-skin-daily-view-events-container .mec-modal-booking-button,.mec-weekly-view-dates-events .mec-event-article .mec-modal-booking-button{position:absolute;top:50%;transform:translateY(-50%);right:15px;line-height:26px;height:49px;border:unset;text-align:center;display:inline-block;background:#ededed;color:#191919;padding:12px;border-radius:2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;transition:all .24s ease;margin:0}.mec-skin-daily-view-events-container .mec-modal-booking-button:hover,.mec-weekly-view-dates-events .mec-event-article .mec-modal-booking-button:hover{background:#292929;color:#fff}@media (max-width:1023px){.mec-skin-daily-view-events-container .mec-modal-booking-button,.mec-weekly-view-dates-events .mec-event-article .mec-modal-booking-button{position:relative;top:unset;transform:unset;margin:14px 16px 0;padding:8px;line-height:20px;height:35px}}@media (max-width:768px){.featherlight .featherlight-inner{width:100%}.mec-events-agenda .mec-modal-booking-button{padding:0}}@media (max-width:480px){.mec-booking-modal .mec-events-meta-group-booking-shortcode{padding:20px}.mec-booking-modal .mec-booking-shortcode .mec-book-reg-field-mec_email,.mec-booking-modal .mec-booking-shortcode .mec-book-reg-field-name{width:100%}.mec-booking-modal .mec-booking-shortcode button#mec-book-form-btn-step-2{margin-left:20px}.mec-booking-modal .mec-booking-shortcode .mec-click-pay button[type=submit]{bottom:22px}.mec-calendar-events-side .mec-modal-booking-button:before,.mec-event-container-classic .mec-modal-booking-button:before,.mec-event-grid-minimal .mec-modal-booking-button:before,.mec-event-list-minimal .mec-modal-booking-button:before{display:none}.mec-calendar-events-side .mec-modal-booking-button,.mec-event-container-classic .mec-modal-booking-button,.mec-event-grid-minimal .mec-modal-booking-button,.mec-event-list-minimal .mec-modal-booking-button,.mec-timetable-t2-col .mec-modal-booking-button{margin:0;padding:0}.mec-event-grid-modern .mec-event-footer .mec-booking-button{top:20px}}.mec-wrap .mec-events-cal-links{margin-bottom:0}.mec-single-event #mec-wrap{padding:0;margin-top:35px}.mec-wrap .mec-single-title,.single-mec-events .mec-wrap.mec-no-access-error h1{margin-top:0;margin-bottom:30px;font-weight:700;font-size:33px}.mec-single-event .mec-event-content{padding:40px 0 30px;margin-bottom:10px}.mec-single-event .mec-events-meta-group-booking,.mec-single-event .mec-frontbox{margin-bottom:30px;padding:20px 30px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-wrap #main-content{overflow:hidden;padding-top:35px}.mec-single-event .mec-map-get-direction-address-cnt{position:relative}.mec-single-event .mec-map-get-direction-address-cnt input.mec-map-get-direction-address{width:100%;height:46px;padding:13px 10px;margin-bottom:0;background:#fcfcfc;border:1px solid #e0e0e0;border-radius:0;box-shadow:inset 0 2px 5px rgba(0,0,0,.081)}.mec-single-event .mec-map-get-direction-address-cnt input.mec-map-get-direction-address:focus{color:#444;background:#fff;border-color:#b0b0b0;box-shadow:0 0 3px rgba(0,0,0,.2)}.mec-single-event .mec-map-get-direction-btn-cnt input{width:100%}.mec-single-event .mec-map-get-direction-reset{position:absolute;z-index:2;top:5px;right:10px;font-size:11px;cursor:pointer}.mec-events-meta-group-tags{margin-top:20px}.mec-events-meta-group-tags a{display:inline-block;color:#444;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:500;padding:3px 7px;border:1px solid #ddd;border-radius:2px;background:#fff;margin:1px 3px}.mec-events-meta-group-tags a:hover{text-decoration:underline;background:#f9f9f9}.mec-local-time-details li{list-style:none}.mec-single-event:not(.mec-single-modern) .mec-local-time-details{background:#f7f7f7;padding:12px 14px 8px;margin-bottom:12px;vertical-align:baseline;position:relative;border:none}.mec-single-event:not(.mec-single-modern) .mec-local-time-details ul{margin:0;padding-left:35px}.mec-single-event:not(.mec-single-modern) .mec-local-time-details h3{border:none;padding-left:15px}.mec-single-event:not(.mec-single-modern) .mec-local-time-details h3:before{display:none}.mec-single-event.mec-single-modern i.mec-sl-speedometer{display:none}.mec-single-modern .mec-local-time-details.mec-frontbox i{display:none}.mec-single-event .mec-events-meta-group-booking{padding-bottom:30px}.mec-single-event .mec-events-meta-group-booking ul{list-style:none;margin-left:0;padding-left:0}.mec-single-event .mec-events-meta-group-booking ul li{padding:0;list-style:none;margin-top:40px}.mec-single-event .mec-events-meta-group-booking h4{margin-bottom:20px;font-size:23px;font-weight:700}.mec-single-event .mec-events-meta-group-booking li h4{font-size:19px}.mec-single-event .mec-events-meta-group-booking button,.mec-single-event .mec-events-meta-group-booking input{border-radius:0;margin-bottom:6px}.mec-single-event .mec-events-meta-group-booking button{min-width:155px;margin-top:5px;margin-left:10px;border-radius:2px;box-shadow:0 2px 1px rgba(0,0,0,.08)}.mec-single-event .mec-events-meta-group-booking button.mec-book-form-back-button{background:#c4cace;float:left}.mec-single-event .mec-events-meta-group-booking button.mec-book-form-back-button:hover{background:#000}.mec-single-event .mec-events-meta-group-booking button.mec-book-form-next-button{float:left;margin-left:0}button#mec-book-form-back-btn-step-3{float:none}.mec-next-occ-booking,.mec-next-occ-booking-p{padding-left:15px}.mec-events-meta-group-booking .mec-next-occ-booking,.mec-events-meta-group-booking .mec-next-occ-booking-p{padding:0;font-size:12px;letter-spacing:0;margin:3px 0;padding:5px 1em 3px 0}.mec-book-username-password-wrapper{padding:0 15px}.lity-container .mec-next-occ-booking,.lity-container .mec-next-occ-booking-p{padding-left:0}.mec-single-event .mec-events-meta-group-booking .mec-click-pay{max-width:350px}.mec-single-event .mec-events-meta-group-booking .mec-click-pay #mec_woo_add_to_cart_btn_r,.mec-single-event .mec-events-meta-group-booking .mec-click-pay button.mec-book-form-next-button{float:right}.mec-single-event .mec-events-meta-group-booking .mec-click-pay #mec_woo_add_to_cart_btn_r:hover,.mec-single-event .mec-events-meta-group-booking .mec-click-pay button.mec-book-form-next-button:hover{background:#000}.lity-container .mec-click-pay{max-width:400px}.lity-container .mec-book-form-btn-wrap button.mec-book-form-next-button,.lity-container .mec-click-pay #mec_woo_add_to_cart_btn_r{float:right}.lity-container button.mec-book-form-next-button{float:right}.lity-container .mec-click-pay #mec_woo_add_to_cart_btn_r:hover,.lity-container .mec-click-pay button.mec-book-form-next-button:hover{background:#000}.mec-single-event .mec-events-meta-group-booking .mec-click-next{float:right;position:relative;width:calc(100% - 186px)}.lity-container .mec-click-next{float:right;position:relative;width:calc(100% - 186px)}.mec-single-event .mec-book-form-coupon button{margin-left:0}.mec-single-event .mec-book-form-gateway-checkout button{margin-left:0}.mec-single-event .mec-single-event .mec-book-form-gateway-checkout button{margin-right:20px}.lity-content .mec-book-form-back-button{position:relative;border:none;border-radius:0;color:#fff;display:inline-block;font-size:12px;letter-spacing:1px;line-height:1.5;text-transform:uppercase;font-weight:600;text-decoration:none;cursor:pointer;margin-right:10px;line-height:1;padding:18px 20px 16px;-webkit-transition:all .21s ease;-moz-transition:all .21s ease;transition:all .21s ease;min-width:170px;margin-top:5px;border-radius:0;margin-bottom:6px;background:#c4cace}.lity-content .mec-book-form-back-button:hover{background:#000}.lity-content button#mec-book-form-back-btn-step-3{float:none}.lity-content .mec-book-form-next-button{float:left}.lity-content .mec-book-bfixed-fields-container{list-style:none;padding-left:0}.mec-single-event .mec-book-first,.mec-single-event .mec-book-form-gateways,.mec-single-event .mec-book-form-price,.mec-single-event .mec-event-tickets-list,.mec-single-event form.mec-click-next{padding-left:0;padding-right:0}.mec-single-event label.mec-fill-attendees{margin-left:0}.mec-wrap .mec-events-meta-group-booking #mec-book-form-back-btn-step-2,.mec-wrap .mec-events-meta-group-booking #mec-book-form-back-btn-step-3,.mec-wrap .mec-events-meta-group-booking #mec-book-form-btn-step-1{margin-left:0}.mec-wrap .mec-booking-form-container .col-md-12{padding-left:0}.mec-wrap .mec-events-meta-group-booking .mec-wrap-checkout.row{margin:0}.mec-wrap .mec-wrap-checkout .mec-book-form-gateways .mec-book-form-gateway-label{padding-left:3px}.mec-wrap p.mec-gateway-comment{margin-top:20px}.mec-single-event .mec-events-meta-group-booking .mec-event-ticket-available{display:block;margin-bottom:20px;margin-top:-17px;font-size:11px;color:#8a8a8a}.mec-single-event .mec-events-meta-group-booking .mec-book-price-total{display:inline-block;margin-bottom:10px;font-size:26px;color:#39c36e;font-weight:700;padding:10px 0}.mec-single-event .mec-events-meta-group-booking form{margin:0}.mec-single-event .mec-events-meta-group-booking h5 span,.mec-single-event .mec-events-meta-group-booking label{color:#424242;font-size:12px;font-weight:300;letter-spacing:0;margin:3px 0;display:block;clear:none;padding:5px 1em 3px 0}.mec-single-event .mec-events-meta-group-booking h5 span{display:inline-block}.mec-single-event .mec-events-meta-group-booking h5 span.mec-ticket-variation-name{padding-right:5px;text-transform:capitalize}.mec-single-event .mec-events-meta-group-booking input::-webkit-input-placeholder{color:#aaa}.mec-single-event .mec-events-meta-group-booking input:-moz-placeholder{color:#aaa}.mec-single-event .mec-events-meta-group-booking input[type=date],.mec-single-event .mec-events-meta-group-booking input[type=email],.mec-single-event .mec-events-meta-group-booking input[type=number],.mec-single-event .mec-events-meta-group-booking input[type=password],.mec-single-event .mec-events-meta-group-booking input[type=tel],.mec-single-event .mec-events-meta-group-booking input[type=text],.mec-single-event .mec-events-meta-group-booking select,.mec-single-event .mec-events-meta-group-booking textarea{display:block;background:#fcfcfc;min-height:42px;min-width:180px;font-size:13px;border:1px solid #e0e0e0;padding:13px 10px;width:330px;margin-bottom:20px;box-shadow:inset 0 2px 4px rgba(0,0,0,.051);clear:both}.wbmec-mandatory{padding-left:5px;font-size:14px}.mec-single-event .mec-events-meta-group-booking .mec-red-notification input,.mec-single-event .mec-events-meta-group-booking .mec-red-notification select,.mec-single-event .mec-events-meta-group-booking .mec-red-notification textarea{border:1px solid #ff3c3c!important}.lity .mec-events-meta-group-booking .mec-red-notification input[type=checkbox],.lity .mec-events-meta-group-booking .mec-red-notification input[type=radio],.mec-single-event .mec-events-meta-group-booking .mec-red-notification input[type=checkbox],.mec-single-event .mec-events-meta-group-booking .mec-red-notification input[type=radio]{outline:1px solid #ff3c3c!important}.lity .mec-book-ticket-container .mec-red-notification input,.lity .mec-book-ticket-container .mec-red-notification select,.lity .mec-book-ticket-container .mec-red-notification textarea{border:1px solid #ff3c3c!important}.mec-booking .woocommerce-notices-wrapper .woocommerce-message{color:#089740;background-color:#effdef;margin:0;padding:20px 20px 0;line-height:1;border:0;border-radius:5px}.mec-booking .woocommerce-notices-wrapper .woocommerce-message a{margin:0}@media only screen and (max-width:479px){.mec-single-event .mec-events-meta-group-booking input[type=date],.mec-single-event .mec-events-meta-group-booking input[type=email],.mec-single-event .mec-events-meta-group-booking input[type=number],.mec-single-event .mec-events-meta-group-booking input[type=password],.mec-single-event .mec-events-meta-group-booking input[type=tel],.mec-single-event .mec-events-meta-group-booking input[type=text],.mec-single-event .mec-events-meta-group-booking select,.mec-single-event .mec-events-meta-group-booking textarea{width:100%}}.mec-single-event .mec-events-meta-group-booking input[type=date]:focus,.mec-single-event .mec-events-meta-group-booking input[type=email]:focus,.mec-single-event .mec-events-meta-group-booking input[type=number]:focus,.mec-single-event .mec-events-meta-group-booking input[type=password]:focus,.mec-single-event .mec-events-meta-group-booking input[type=tel]:focus,.mec-single-event .mec-events-meta-group-booking input[type=text]:focus,.mec-single-event .mec-events-meta-group-booking select:focus,.mec-single-event .mec-events-meta-group-booking textarea:focus{border:1px solid #aaa;color:#444;background:#fff;-moz-box-shadow:0 0 3px rgba(0,0,0,.2);-webkit-box-shadow:0 0 3px rgba(0,0,0,.2);box-shadow:0 0 3px rgba(0,0,0,.2);outline:0}.mec-single-event .mec-events-meta-group-booking input[type=checkbox],.mec-single-event .mec-events-meta-group-booking input[type=radio]{margin-right:6px;margin-top:5px;min-height:20px;clear:none;margin:0 0 0 2px}.lity-container .mec-events-meta-group-booking input[type=radio]:before,.mec-single-event .mec-events-meta-group-booking input[type=radio]:before{content:"";display:inline-block;background:#fff;border-radius:18px;width:18px;height:18px;margin:-1px 0 0 -3px;cursor:pointer;border:2px solid #e1e7ed;box-shadow:0 2px 15px -3px rgba(69,77,89,.32)}.lity-container .mec-events-meta-group-booking input[type=radio]:checked:before,.mec-single-event .mec-events-meta-group-booking input[type=radio]:checked:before{border:7px solid #008aff;background:#fff;box-shadow:0 3px 16px -3px #008aff}.lity-container .mec-events-meta-group-booking input[type=radio],.mec-single-event .mec-events-meta-group-booking input[type=radio]{min-height:0;margin:0;margin-right:6px}.mec-single-event .mec-events-meta-group-booking input[type=checkbox]{float:left}.lity-container .mec-events-meta-group-booking .mec_book_first_for_all,.mec-single-event .mec-events-meta-group-booking .mec_book_first_for_all{display:none}.mec-events-meta-group-booking ul.mec-book-price-details{list-style:none;border:1px solid #eee;padding:0;overflow:hidden}.mec-events-meta-group-booking ul.mec-book-price-details li{font-size:15px;color:#a9a9a9;list-style:none;padding:13px 18px;margin:0;float:left;border-right:1px solid #eee}.mec-events-meta-group-booking ul.mec-book-price-details li:last-child{border-right:none}.mec-events-meta-group-booking ul.mec-book-price-details li span.mec-book-price-detail-amount{font-weight:700;font-size:21px;color:#222;display:contents}.lity-container .mec-events-meta-group-booking label.wn-checkbox-label,.mec-single-event .mec-events-meta-group-booking label.wn-checkbox-label{height:14px;width:14px;background-color:transparent;border:1px solid #d4d4d4;position:relative;display:inline-block;-moz-transition:border-color ease .2s;-o-transition:border-color ease .2s;-webkit-transition:border-color ease .2s;transition:border-color ease .2s;cursor:pointer;box-shadow:0 2px 16px -2px rgba(0,0,0,.2);vertical-align:middle;margin-right:3px;margin-top:-2px}.lity-container .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label,.mec-single-event .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label{border-color:#008aff;box-shadow:0 2px 14px -3px #008aff}.lity-container .mec-events-meta-group-booking label.wn-checkbox-label:after,.lity-container .mec-events-meta-group-booking label.wn-checkbox-label:before,.mec-single-event .mec-events-meta-group-booking label.wn-checkbox-label:after,.mec-single-event .mec-events-meta-group-booking label.wn-checkbox-label:before{position:absolute;height:0;width:1px;background-color:#008aff;display:inline-block;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;-webkit-transform-origin:left top;transform-origin:left top;content:"";-webkit-transition:opacity ease .5;-moz-transition:opacity ease .5;transition:opacity ease .5}.lity-container .mec-events-meta-group-booking label.wn-checkbox-label:before,.mec-single-event .mec-events-meta-group-booking label.wn-checkbox-label:before{top:8px;left:7px;box-shadow:0 0 0 2px #fff;-moz-transform:rotate(-145deg);-ms-transform:rotate(-145deg);-o-transform:rotate(-145deg);-webkit-transform:rotate(-145deg);transform:rotate(-145deg)}.lity-container .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label::before,.mec-single-event .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label::before{height:12px;-moz-animation:dothatopcheck .16s ease 0s forwards;-o-animation:dothatopcheck .16s ease 0s forwards;-webkit-animation:dothatopcheck .16s ease 0s forwards;animation:dothatopcheck .16s ease 0s forwards}.lity-container .mec-events-meta-group-booking label.wn-checkbox-label:after,.mec-single-event .mec-events-meta-group-booking label.wn-checkbox-label:after{top:6px;left:3px;-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.lity-container .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label::after,.mec-single-event .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label::after{-moz-animation:dothabottomcheck 80ms ease 0s forwards;-o-animation:dothabottomcheck 80ms ease 0s forwards;-webkit-animation:dothabottomcheck 80ms ease 0s forwards;animation:dothabottomcheck 80ms ease 0s forwards;height:4px}.mec-single-event .mec-events-meta-group-booking button[type=submit]:after,.mec-single-event a.button:after{display:none;font-family:simple-line-icons;content:"\e098";margin-left:4px;-webkit-animation:rotating 1.2s linear infinite;-moz-animation:rotating 1.2s linear infinite;-ms-animation:rotating 1.2s linear infinite;-o-animation:rotating 1.2s linear infinite;animation:rotating 1.2s linear infinite}.mec-single-event .mec-events-meta-group-booking button[type=submit].loading:after,.mec-single-event a.button.loading:after{display:inline-block}.mec-single-event .mec-event-export-module{display:block}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul{display:table;width:100%}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li{display:table-cell}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li:last-child{text-align:right}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li a:hover{color:#fff}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul{padding-left:0;margin:15px 5px}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting{padding-left:0;margin:0}.mec-ticket-price{margin-left:10px;font-size:13px;font-weight:300}.mec-book-reg-field-checkbox label,.mec-book-reg-field-radio label{line-height:1.36}.mec-book-reg-field-checkbox input[type=checkbox],.mec-book-reg-field-radio input[type=radio]{float:left;margin-right:5px!important}.mec-ticket-available-spots .mec-event-ticket-description,.mec-ticket-available-spots .mec-event-ticket-price{font-size:11px}.mec-book-ticket-container .mec-reg-mandatory:nth-child(2) label:after,.mec-book-ticket-container .mec-reg-mandatory:nth-child(3) label:after,.mec-book-ticket-container .wbmec-mandatory{content:"";color:red;width:50px;height:50px;font-size:14px;padding-left:5px}@media only screen and (max-width:767px){.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li{width:100%;min-height:40px;margin-bottom:15px;text-align:center;float:none;display:block}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li a{width:100%;padding-left:0;padding-right:0;text-align:center;display:block;font-size:12px}}.mec-single-event .mec-events-meta-group{margin-bottom:0}@media only screen and (max-width:767px){.mec-single-event .mec-events-meta-group-booking{margin-bottom:30px}}.mec-single-event .mec-event-meta dt,.mec-single-event .mec-event-meta h3{text-transform:uppercase;font-size:16px;font-weight:700;padding-bottom:5px;display:inline;color:#000;padding-left:10px}.mec-single-event .mec-event-meta h6{text-transform:uppercase;font-size:13px;padding-bottom:5px;display:inline;color:#222;padding-left:0}.mec-single-event .mec-event-meta .mec-events-event-categories a,.mec-single-event .mec-event-meta dd{font-size:14px;color:#8d8d8d}.mec-single-event .mec-event-meta .mec-location dd.author{color:#3c3b3b}.mec-single-event .mec-event-meta dd{margin:0;padding-left:35px}.mec-single-event .mec-event-meta dd.mec-events-event-categories{min-height:35px;line-height:35px}@media only screen and (max-width:480px){.single-mec-events .lity-container{width:100%}.single-mec-events .lity-content .mec-events-meta-group-booking{padding:20px;width:85%;margin:0 auto}}.mec-single-event .mec-event-meta dd.mec-events-event-categories:first-of-type{padding-top:5px}.mec-single-event .mec-event-meta dd.mec-events-event-categories:last-of-type{border-bottom:0}.mec-single-event .mec-event-meta dd a{color:#8d8d8d;transition:all .2s ease;-ms-word-wrap:break-word;word-wrap:break-word}.mec-single-event .mec-event-meta dd a i:before{font-size:16px!important}.mec-single-event .mec-event-meta dd a i{margin-right:8px}.mec-single-event .mec-event-meta dl{margin-bottom:0}.mec-single-event .mec-event-meta .mec-events-event-cost{font-size:18px}.mec-single-event .mec-event-meta .mec-events-address{color:#a9a9a9;margin-bottom:20px}.mec-single-event .mec-event-meta .mec-events-meta-group-venue .author{margin-bottom:0;color:#8d8d8d;font-size:13px}.mec-single-event .mec-events-event-image{margin-bottom:0}.mec-single-event h2.mec-single-event-title{margin-bottom:30px;font-weight:700;font-size:33px}.mec-single-event .mec-booking-button{border-bottom:none;letter-spacing:.5px;line-height:48px;height:76px;transition:all .5s ease;color:#fff;padding:16px;display:block;text-align:center;font-size:16px;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.15)}.mec-single-event .mec-booking-button:hover{background-color:#101010!important}.mec-single-event .mec-event-tags a{display:inline-block;color:#444;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:500;padding:3px 7px;border:1px solid #ddd;border-radius:2px;background:#fff;margin:1px 3px}.mec-single-event .mec-event-tags:before{font-size:24px;color:#303030;margin-right:5px;content:"\f02c";font-family:fontawesome}.mec-single-event .mec-event-tags{padding-top:13px}.mec-single-event .mec-event-sharing{margin:30px 0 10px}.mec-region.mec-events-abbr,.mec-single-event .mec-street-address{font-style:normal;font-size:13px}.mec-events-meta-group.mec-events-meta-group-venue:before,.mec-single-event-date:before,.mec-single-event-time:before{color:#40d9f1}.mec-single-event .mec-event-social{text-align:center}.mec-single-event .mec-event-social h3{text-transform:uppercase;font-size:15px;font-weight:700;padding-bottom:5px;color:#313131;border-bottom:4px solid #ebebeb;width:100%;display:block;padding-bottom:10px;position:relative}.mec-single-event .mec-social-single:before{padding:13px 35px;border-bottom:4px solid #40d9f1;font-size:6px;content:"";text-align:center;position:absolute;bottom:-4px;margin-left:39px}.mec-single-event .mec-event-social .event-sharing{margin-top:30px}.mec-single-event .mec-event-social ul{list-style:none;margin-left:0;padding:0}.mec-single-event .mec-event-social li.mec-event-social-icon{display:inline-block}.mec-single-event .mec-event-social li.mec-event-social-icon a{display:inline-block;color:#fff;width:40px;height:40px;padding:6px;font-size:18px;margin-right:5px;margin-bottom:5px;border-radius:2px}.mec-single-event .mec-event-social a.facebook{background:#3b5996}.mec-single-event .mec-event-social a.facebook:hover{background:#28385c}.mec-single-event .mec-event-social a.twitter{background:#00acee}.mec-single-event .mec-event-social a.twitter:hover{background:#0087bd}.mec-single-event .mec-event-social a.vimeo{background:#0dadd6}.mec-single-event .mec-event-social a.vimeo:hover{background:#0a85a3}.mec-single-event .mec-event-social a.dribble{background:#d53e68}.mec-single-event .mec-event-social a.dribble:hover{background:#bf4c78}.mec-single-event .mec-event-social a.youtube{background:#cb322c}.mec-single-event .mec-event-social a.youtube:hover{background:#992622}.mec-single-event .mec-event-social a.pinterest{background:#cb2027}.mec-single-event .mec-event-social a.pinterest:hover{background:#99181d}.mec-single-event .mec-event-social a.google{background:#c3391c}.mec-single-event .mec-event-social a.google:hover{background:#99181f}.mec-single-event .mec-event-social a.linkedin{background:#0073b2}.mec-single-event .mec-event-social a.linkedin:hover{background:#005380}.mec-single-event .mec-event-social a.email{background:#ff5d5e}.mec-single-event .mec-event-social a.email:hover{background:#cc4949}.mec-single-event .mec-event-social a.vk{background:#5b88bd}.mec-single-event .mec-event-social a.vk:hover{background:#3d608a}.mec-single-event .mec-event-social a.tumblr{background:#34465d}.mec-single-event .mec-event-social a.tumblr:hover{background:#273649}.mec-single-event .mec-event-social a.telegram{background:#08c}.mec-single-event .mec-event-social a.telegram:hover{background:#1076be}.mec-single-event .mec-event-social a.whatsapp{background:#25d366}.mec-single-event .mec-event-social a.whatsapp:hover{background:#23ac55}.mec-single-event .mec-event-social a.flipboard{background:#e12828}.mec-single-event .mec-event-social a.flipboard:hover{background:#af1e1e}.mec-single-event .mec-event-social a.pocket{background:#ef4056}.mec-single-event .mec-event-social a.pocket:hover{background:#8d1717}.mec-single-event .mec-event-social a.reddit{background:#ff5700}.mec-single-event .mec-event-social a.reddit:hover{background:#c94909}.mec-single-event .mec-event-social a.flipboard svg,.mec-single-event .mec-event-social a.telegram svg{height:16px}.mec-single-event .mec-event-social li.mec-event-social-icon a svg{display:unset}.mec-single-event .mec-event-social a.rss{background:#f29a1d}.mec-single-event .mec-event-social a.rss:hover{background:#cc7400}.mec-single-event .mec-event-social a.instagram{background:#457399}.mec-single-event .mec-event-social a.instagram:hover{background:#2e4d66}.mec-single-event .mec-event-social a.linkedin{background:#457399}.mec-single-event .mec-event-social a.linkedin:hover{background:#2e4d66}.mec-single-event .mec-event-social a.other-social{background:#ff5d5e}.mec-single-event .mec-event-social a.other-social:hover{background:#cc4949}.mec-single-event .mec-event-social{text-align:center}.mec-single-event .mec-events-meta-group-booking form>h4,.mec-single-event .mec-frontbox-title,.mec-single-event .mec-wrap-checkout h4{text-transform:uppercase;font-size:15px;font-weight:700;color:#313131;border-bottom:4px solid #ebebeb;width:100%;display:block;padding-bottom:10px;position:relative;text-align:center}.mec-single-event .mec-events-meta-group-booking form>h4:before,.mec-single-event .mec-frontbox-title:before,.mec-single-event .mec-wrap-checkout h4:before{padding:1px 35px;border-bottom:4px solid #40d9f1;font-size:6px;content:"";text-align:center;position:absolute;bottom:-4px;margin-left:-35px;left:50%}.mec-single-event .mec-events-meta-group-booking input[data-stripe=exp-month],.mec-single-event .mec-events-meta-group-booking input[data-stripe=exp-year]{width:47%!important;margin-right:12px;margin-top:5px;display:inline-block!important}@media (max-width:768px){.mec-single-event .mec-events-meta-group-booking input[data-stripe=exp-month],.mec-single-event .mec-events-meta-group-booking input[data-stripe=exp-year]{width:100%!important;margin-right:0;display:block!important}}.mec-single-event .mec-booking .mec-booking-dates-checkboxes{margin-bottom:22px}.lity-content .mec-events-meta-group-booking .mec-booking-dates-checkboxes label,.mec-single-event .mec-booking .mec-booking-dates-checkboxes label{margin-bottom:3px;line-height:1.1}.lity-content .mec-events-meta-group-booking .mec-booking-dates-checkboxes label{display:flex}.lity-content .mec-events-meta-group-booking .mec-booking-dates-checkboxes input[type=checkbox],.mec-booking input[type=checkbox],.mec-single-event .mec-events-meta-group-booking .mec-booking-dates-checkboxes input[type=checkbox]{width:17px;height:17px;min-height:unset;border-radius:3px;margin-top:-2px;margin-right:7px!important;margin-bottom:0!important}.lity-content .mec-events-meta-group-booking .mec-booking-dates-checkboxes input[type=checkbox]{margin-top:-1px}.mec-events-meta-group-booking-shortcode .mec-booking-dates-checkboxes label{display:flex}.mec-events-meta-group-booking-shortcode .mec-booking-dates-checkboxes input[type=checkbox]{margin-top:1px}.mec-event-meta i:before{font-size:20px;vertical-align:middle}.mec-event-meta .mec-single-event-additional-organizers i:before,.mec-event-meta .mec-single-event-organizer i:before{font-size:14px;vertical-align:baseline}#mec-wrap .mec-events-day-time-slot .mec-events-content{float:left;width:33%;padding:0 15px}#mec-wrap .mec-events-day-time-slot .mec-events-event-image{padding-left:0}#mec-events-content .mec-events-abbr{color:#8d8d8d;font-size:14px}.mec-single-event .mec-events-content{margin-bottom:30px}.mec-single-event .mec-organizer-url a{word-wrap:break-word}.mec-single-event #headline{margin:0 0 10px}.mec-single-event #headline h2{padding:0}.mec-single-event .mec-events-meta-group.mec-events-meta-group-gmap .mec-events-venue-map{margin-top:0;padding:8px;border:1px solid #e5e5e5;border-radius:7px}#mec-events-gmap-0{height:325px!important}.mec-events-list .mec-events-day-time-slot .mec-events-event-meta{width:33%;float:left;padding:40px;height:auto;margin:0}.mec-events-day-time-slot .mec-events-content.description.entry-summary{font-size:15px;font-weight:300;color:#8d8d8d}.mec-events-day-time-slot .type-mec_events h2{font-size:28px;padding-bottom:20px}.mec-events-day .mec-events-day-time-slot .type-mec_events{margin:0}.mec-events-day .mec-events-day-time-slot h5{background-color:#8d8d8d}.mec-single-event .mec-event-meta .mec-single-event-additional-organizers .mec-events-single-section-title,.mec-single-event .mec-event-meta .mec-single-event-organizer .mec-events-single-section-title,.mec-single-event .mec-events-meta-date h3{padding-left:0;margin:10px;display:inline-block}.mec-single-event .mec-events-meta-date h3{width:100%}.mec-single-event .mec-events-event-image{border:0}.mec-single-event .mec-events-venue-map{padding:0}.mec-event-cost,.mec-event-more-info,.mec-event-website,.mec-events-meta-date,.mec-single-event-additional-organizers,.mec-single-event-category,.mec-single-event-date,.mec-single-event-label,.mec-single-event-location,.mec-single-event-organizer,.mec-single-event-time{background:#f7f7f7;padding:12px 14px 8px;margin-bottom:12px;vertical-align:baseline;position:relative}.mec-single-event .mec-events-meta-date dd,.mec-single-event .mec-single-event-additional-organizers dd,.mec-single-event .mec-single-event-organizer dd{padding-left:0;margin-bottom:10px}.mec-single-event .mec-event-meta dd.mec-organizer-email a,.mec-single-event .mec-events-meta-date dd span,.mec-single-event .mec-single-event-additional-organizers dd span,.mec-single-event .mec-single-event-organizer dd span{display:block;padding-left:41px;color:#8d8d8d}.mec-single-event .mec-events-meta-date i,.mec-single-event .mec-single-event-additional-organizers i,.mec-single-event .mec-single-event-organizer i{margin-right:10px;margin-left:12px}.mec-events-meta-group.mec-events-meta-group-venue dl{margin-bottom:0}address.mec-events-address{line-height:19px;font-style:normal;font-size:12px}.mec-single-event .mec-event-content dt{margin-top:5px}.mec-single-event .mec-single-event-additional-organizers .mec-single-event-additional-organizer{margin-bottom:15px;padding-bottom:5px;border-bottom:1px solid #e4e4e4}.mec-single-event .mec-single-event-additional-organizers .mec-single-event-additional-organizer:last-child{margin-bottom:0;padding-bottom:0;border:none}.mec-event-category-color{width:9px;height:9px;display:inline-block;vertical-align:middle;margin:0 0 0 4px;border-radius:9px}.mec-event-schedule-content{border-left:4px solid #f0f0f0;padding-top:10px;margin-top:30px;margin-left:25px;margin-bottom:20px;color:#8a8a8a}.mec-event-schedule-content dl{padding-left:24px;font-size:12px;position:relative;margin-bottom:35px}.mec-event-schedule-content dl:before{content:"";display:block;position:absolute;left:0;top:4px;width:20px;height:0;border-top:4px solid #f0f0f0}.mec-event-schedule-content dl dt{margin:0 0 10px;line-height:1.16}.mec-event-schedule-content dl dt.mec-schedule-title{font-size:13px;color:#5a5a5a;font-weight:700}.mec-event-schedule-content dl dt.mec-schedule-description{font-weight:300}.mec-event-schedule-content .mec-schedule-speakers{background:#f7f7f7;padding:10px}.mec-wrap .mec-event-schedule-content h6{font-size:13px;color:#5a5a5a;font-weight:700;display:inline-block}.mec-wrap .mec-event-schedule-content a{font-weight:400;color:#5a5a5a;transition:all .1s ease}.single-mec-events .mec-speakers-details ul{padding:0;margin-left:0}.mec-single-event .mec-speakers-details ul li{list-style:none;background:#f7f7f7;padding:5px 5px 18px 5px;margin-top:14px}.mec-single-event .mec-speakers-details ul li a{-webkit-transition:.2s all ease;transition:.2s all ease}.mec-single-event .mec-speakers-details ul li .mec-speaker-avatar a img{float:left;border-radius:50%;transition:.2s all ease;border:2px solid transparent;width:68px;height:68px}.mec-single-event .mec-speakers-details ul li .mec-speaker-avatar a:hover img{border-color:#40d9f1}.mec-single-event .mec-speakers-details ul li .mec-speaker-name{display:inline-block;margin-top:10px;font-size:15px;line-height:1.8;text-transform:capitalize;font-weight:700;padding-left:8px}.mec-single-event .mec-speakers-details ul li .mec-speaker-job-title{display:block;font-size:12px;margin-top:-1px;padding-left:75px;color:#888}.mec-single-event-location img,.mec-single-event-organizer img{margin-bottom:10px;width:100%}.mec-qrcode-details{text-align:center}.mec-time-comment{font-size:11px}.mec-wrap .mec-attendees-list-details p{font-weight:300;margin:20px 0 0 0;color:#8d8d8d}.mec-wrap .mec-attendees-list-details li{list-style:none;display:block;margin-top:15px}.mec-wrap .mec-attendees-list-details li .mec-attendee-avatar{display:inline-block}.mec-wrap .mec-attendees-list-details li .mec-attendee-profile-link{display:inline-block;vertical-align:top;margin-left:10px}.mec-attendees-list-details ul{margin-bottom:0}.mec-attendees-list-details .mec-attendee-profile-link a{color:#8d8d8d;display:block}.mec-attendees-list-details .mec-attendee-profile-link span{display:inline-block;color:#000;vertical-align:middle;cursor:pointer}.mec-attendees-list-details span.mec-attendee-profile-ticket-number{border-radius:50px;width:20px;height:20px;font-size:12px;text-align:center;color:#fff;margin-right:4px;line-height:20px}#wrap .mec-attendees-list-details span.mec-attendee-profile-ticket-number{line-height:19px}.mec-attendees-list-details .mec-attendee-profile-link span i{vertical-align:middle;font-size:9px;font-weight:700;margin-left:5px}.mec-attendees-list-details .mec-attendees-toggle{border:1px solid #e6e6e6;background:#fafafa;padding:15px 15px 0;border-radius:3px;margin:12px 0 20px 52px;position:relative;font-size:13px;box-shadow:0 3px 1px 0 rgba(0,0,0,.02)}.mec-attendees-list-details .mec-attendees-toggle:after,.mec-attendees-list-details .mec-attendees-toggle:before{content:"";display:block;position:absolute;left:50px;width:0;height:0;border-style:solid;border-width:10px}.mec-attendees-list-details .mec-attendees-toggle:after{top:-20px;border-color:transparent transparent #fafafa transparent}.mec-attendees-list-details .mec-attendees-toggle:before{top:-21px;border-color:transparent transparent #e1e1e1 transparent}.mec-attendees-list-details .mec-attendees-toggle .mec-attendees-item{padding-bottom:15px}.mec-attendees-list-details .mec-attendee-avatar img{border-radius:3px}.mec-attendee-avatar-sec{float:left;width:50px;margin-right:12px}.mec-attendee-profile-name-sec,.mec-attendee-profile-ticket-sec{float:left;width:calc(100% - 62px);margin-top:3px}.mec-calendar{margin-bottom:20px;border:1px solid #e8e8e8;width:100%;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-calendar .mec-calendar-topsec{display:table;background:#fff}.mec-calendar .mec-calendar-topsec .mec-calendar-events-sec{display:none}.mec-calendar .mec-calendar-side{width:590px;display:table-cell;padding:40px;position:relative;text-align:center;box-shadow:0 1px 5px 6px rgba(0,0,0,.005) inset}.mec-calendar .mec-calendar-events-side{display:table-cell;height:100%;border-left:1px solid #efefef;padding:40px;width:100%}.mec-calendar .mec-calendar-events-side .mec-table-side-day{width:46px;height:46px;margin:0 auto 20px;position:relative;text-align:center;line-height:46px;border:1px solid #40d9f1;border-radius:50%;font-size:12px;font-weight:600;padding:0}.mec-calendar .mec-calendar-events-side .mec-table-side-title{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:3px;margin-bottom:14px}.mec-calendar .mec-calendar-header{position:relative;width:560px;margin-top:8px;margin-bottom:16px}.mec-calendar .mec-calendar-header h2{text-transform:uppercase;font-size:22px;font-weight:700;color:#333}.mec-calendar .mec-event-footer{width:auto;min-height:60px}.mec-calendar dl{display:table;margin:0;border:none;padding:0;table-layout:fixed}.mec-calendar dt{display:table-cell;transition:all .66s ease;color:#4d4d4d;background:#fff;border-radius:44px;font-size:14px;width:80px;height:80px;line-height:80px;text-align:center}.excerpt-wrap .mec-wrap dt,.nv-content-wrap .mec-wrap dt{display:table-cell}.mec-calendar .mec-calendar-table .mec-no-event{display:none}.mec-calendar .mec-calendar-table-head dt{font-weight:700;text-transform:uppercase;font-size:15px}.mec-calendar .mec-calendar-row dt:hover{background:#f4f4f4}.mec-calendar .mec-table-nullday{color:#cacaca}.mec-calendar.mec-box-calendar .mec-table-nullday:last-child{border-right:1px solid #eaeaea}.mec-calendar .mec-next-month:hover,.mec-calendar .mec-prev-month:hover{background:#f4f4f4}.mec-calendar .mec-selected-day,.mec-calendar .mec-selected-day:hover{background:#40d9f1;color:#fff}.mec-calendar .mec-selected-day a{color:#fff}.mec-calendar .mec-has-event{position:relative}.mec-calendar .mec-calendar-row dt.mec-has-event:hover{background:#40d9f1}.mec-calendar .mec-has-event a{cursor:pointer;display:block;width:100%;height:100%;border-radius:50%;color:#4d4d4d;transition:all .25s ease;text-decoration:none;box-shadow:none}.mec-calendar .mec-calendar-row dt.mec-has-event.mec-selected-day a,.mec-calendar .mec-calendar-row dt.mec-has-event:hover a{color:#fff}.mec-calendar .mec-has-event:after{background-color:#40d9f1;border-radius:50%;display:block;content:"";width:8px;height:8px;bottom:14px;left:50%;margin:-4px 0 0 -4px;position:absolute;transition:all .25s ease}.mec-calendar .mec-calendar-row dt.mec-has-event:hover:after{background-color:#fff}.mec-calendar .mec-has-event.mec-selected-day:after{display:none}.mec-calendar .mec-event-article{text-align:left;margin-bottom:0;padding-bottom:25px;padding-top:26px;border-top:1px solid #efefef;transition:all .33s ease}.mec-calendar .mec-event-article:hover{background-color:#fafafa}.mec-calendar .mec-event-article .mec-event-time{font-size:11px;line-height:1.1;margin:0}.mec-calendar .mec-event-article .mec-event-title{font-size:13px;padding:0;margin:10px 0 8px;font-weight:700;text-transform:uppercase}.mec-calendar .mec-event-article .mec-event-title a{text-decoration:none;color:#494949;transition:color .3s ease}.mec-calendar .mec-event-article .mec-event-title a:hover{color:#40d9f1}.mec-calendar .mec-event-article .mec-event-image,.mec-calendar .mec-event-list-classic .mec-event-image img{width:65px;height:auto}.mec-calendar .mec-event-article .mec-event-image{float:left;margin-right:20px;width:65px;height:auto}.mec-calendar .mec-event-article .mec-event-detail,.mec-calendar .mec-event-article .mec-localtime-details div{font-size:13px;line-height:1.3;color:#9a9a9a;margin-bottom:0}.mec-calendar .mec-calendar-side .mec-next-month,.mec-calendar .mec-calendar-side .mec-previous-month{cursor:pointer;position:absolute;top:0;min-width:50px;height:50px;line-height:50px;text-align:center;background:#fff;color:#a9a9a9;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding-left:10px;padding-right:10px;border:1px solid #efefef;border-top:none;box-shadow:0 2px 0 0 rgba(0,0,0,.015);transition:all .33s ease}.mec-calendar .mec-calendar-side .mec-next-month i,.mec-calendar .mec-calendar-side .mec-previous-month i{font-size:12px;color:#40d9f1;cursor:pointer}.mec-calendar .mec-calendar-side .mec-next-month:hover,.mec-calendar .mec-calendar-side .mec-previous-month:hover{background-color:#f9f9f9;color:#40d9f1}.mec-calendar .mec-calendar-side .mec-previous-month{left:0;border-bottom-right-radius:6px;border-left:none}.mec-calendar .mec-calendar-side .mec-next-month{right:0;border-bottom-left-radius:6px;border-right:none}@media only screen and (min-width:961px){.mec-wrap.mec-sm959 .mec-calendar:not(.mec-event-calendar-classic):not(.mec-calendar-weekly) .mec-has-event:after{width:6px;height:6px;bottom:6px}.mec-wrap.mec-sm959 .mec-calendar:not(.mec-event-calendar-classic):not(.mec-calendar-weekly) .mec-calendar-side{width:370px}.mec-wrap.mec-sm959 .mec-calendar:not(.mec-event-calendar-classic):not(.mec-calendar-weekly) .mec-calendar-header{position:relative;width:350px;margin-top:30px;margin-bottom:20px;padding-top:20px}.mec-wrap.mec-sm959 .mec-calendar:not(.mec-event-calendar-classic):not(.mec-calendar-weekly) dt{width:50px;height:50px;line-height:50px}.mec-wrap.mec-sm959 .mec-calendar.mec-event-calendar-classic dl dt{height:110px}}@media only screen and (max-width:1200px){.mec-calendar .mec-has-event:after{width:6px;height:6px;bottom:6px}.mec-calendar .mec-calendar-side{width:370px}.mec-calendar .mec-calendar-header{position:relative;width:350px;margin-top:30px}.mec-calendar dt{width:50px;height:50px;line-height:50px}}@media only screen and (max-width:767px){.mec-calendar .mec-calendar-header h2{font-size:18px}.mec-calendar .mec-calendar-topsec{width:100%}.mec-calendar .mec-calendar-side{width:100%;display:block;padding:30px}.mec-calendar .mec-calendar-header{width:auto}.mec-calendar .mec-calendar-events-side{width:100%;display:block;height:100%;border-left:none;border-top:1px solid #efefef;padding:20px}.mec-calendar dl{width:100%}.mec-calendar dt{width:14%;height:60px;line-height:60px;border-radius:50px}}@media only screen and (max-width:479px){.mec-calendar .mec-has-event:after{width:4px;height:4px}.mec-calendar .mec-calendar-header h2{font-size:16px;margin-top:33px}.mec-calendar dt{height:38px;line-height:38px}.mec-calendar .mec-event-list-classic .mec-event-detail,.mec-calendar .mec-event-list-classic .mec-event-title{font-size:12px}.mec-calendar .mec-event-list-classic .mec-event-time{font-size:10px}}.mec-box-calendar.mec-calendar .mec-has-event a,.mec-box-calendar.mec-calendar dt{border-radius:0}.mec-box-calendar.mec-calendar .mec-calendar-header{margin-top:2px;margin-bottom:30px}.mec-box-calendar.mec-calendar dt{border-bottom:1px solid #eaeaea;border-left:1px solid #eaeaea}.mec-box-calendar.mec-calendar dl dt:last-child{border-right:1px solid #eaeaea}.mec-box-calendar.mec-calendar .mec-calendar-table-head dt{border-top:1px solid #eaeaea;background-color:#f8f8f8}.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-table-head dt{background-color:#f4f4f4}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month,.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{border-radius:2px;top:40px;border:1px solid #eee;height:30px;line-height:30px;z-index:1}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{left:40px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month{right:40px}.mec-box-calendar.mec-calendar .mec-calendar-side{box-shadow:none}.mec-box-calendar.mec-calendar .mec-calendar-events-side{border:none}.mec-box-calendar.mec-calendar .mec-calendar-events-side .mec-table-side-day{border-radius:2px}.mec-box-calendar.mec-calendar h4.mec-month-label{position:relative;width:560px;margin-top:2px;margin-bottom:30px;text-transform:uppercase;font-size:22px;font-weight:700;color:#333}.mec-widget .mec-box-calendar.mec-calendar h4.mec-month-label{width:100%;margin-top:8px;font-size:13px}@media only screen and (max-width:1200px){.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{left:42px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month{right:42px}.mec-calendar .mec-calendar-header h2{font-size:17px;margin-top:7px}}@media only screen and (max-width:767px){.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month,.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{top:28px;font-size:10px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{left:30px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month{right:30px}.mec-calendar .mec-calendar-header h2{font-size:15px}}@media only screen and (max-width:479px){.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month,.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{top:16px;font-size:0;padding:4px 0;text-align:center;min-width:33px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{left:10px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month{right:10px}.mec-box-calendar.mec-calendar .mec-calendar-header h2{font-size:12px;margin-top:15px}.mec-box-calendar.mec-calendar .mec-event-image{margin-right:12px}}.mec-calendar.mec-event-calendar-classic,.mec-calendar.mec-event-calendar-classic .mec-calendar-side{border:none;padding:0;width:100%;height:100%;box-shadow:none}.mec-calendar.mec-event-calendar-classic .mec-calendar-side{display:block}.mec-calendar.mec-event-calendar-classic .mec-calendar-header,.mec-calendar.mec-event-calendar-classic dl{width:100%}.mec-calendar.mec-event-calendar-classic dl dt{width:15%;height:136px;line-height:1.2;text-align:left;padding:5px 7px;position:relative}.mec-calendar.mec-event-calendar-classic .mec-calendar-table-head dt{height:30px!important}.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-side .mec-next-month,.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-side .mec-previous-month{top:0}.mec-calendar.mec-event-calendar-classic .mec-has-event:after{bottom:auto;top:24px;left:7px;margin:0}.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-side .mec-previous-month{left:0}.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-side .mec-next-month{right:0}.mec-next-month a,.mec-previous-month a{pointer-events:none}.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec{text-align:left;background:#fafafa;border:1px solid #eaeaea;border-top:none;padding:10px 20px}.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec{display:none}.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec .mec-event-article:hover{background-color:#fcfcfc}.mec-calendar.mec-event-calendar-classic .mec-selected-day,.mec-calendar.mec-event-calendar-classic dt.mec-selected-day:hover{color:#40d9f1;font-weight:700;background:#fafafa;border-bottom:none}.mec-wrap .mec-calendar.mec-event-calendar-classic:not(.mec-event-container-simple) .mec-selected-day:hover{color:#fff!important}.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec .mec-table-side-day,.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec .mec-table-side-title{display:inline-block;margin:0;margin-bottom:15px;font-weight:700}.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec .mec-table-side-day{margin-left:4px}.mec-calendar.mec-event-calendar-classic .mec-calendar-row dt.mec-has-event a{color:#4d4d4d}.mec-calendar.mec-event-calendar-classic .mec-calendar-row dt.mec-has-event:not(.mec-selected-day):hover a{color:#fff}@media only screen and (max-width:1200px){.mec-calendar.mec-event-calendar-classic dl dt{height:100px}}@media only screen and (max-width:767px){.mec-calendar.mec-event-calendar-classic dl dt{height:40px}}@media only screen and (max-width:479px){.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec{padding:10px}.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-header h2{font-size:13px;margin-top:8px}}.mec-calendar .mec-event-article.mec-single-event-novel{padding:4px 8px;min-height:25px;margin:0 -4px;border-radius:0}.mec-calendar .mec-event-article.mec-single-event-novel h4{margin:0;font-size:10px;line-height:18px}.mec-calendar.mec-event-container-novel dl dt{padding:3px}.mec-calendar.mec-event-calendar-classic .mec-calendar-novel-selected-day{display:inline-block;padding:4px;margin-left:1px}.mec-wrap .mec-calendar.mec-event-container-novel .mec-selected-day:hover{color:#fff!important}.mec-calendar.mec-event-calendar-classic .mec-selected-day .mec-calendar-novel-selected-day{color:#fff}.mec-calendar.mec-event-calendar-classic.mec-event-container-novel .mec-selected-day,.mec-calendar.mec-event-calendar-classic.mec-event-container-novel dt.mec-selected-day:hover{border-bottom:1px solid #eaeaea}.mec-calendar.mec-event-calendar-classic.mec-event-container-novel .mec-calendar-side .mec-calendar-table{min-height:auto}.mec-single-event-novel.light h4{color:#000!important}.mec-single-event-novel.dark h4{color:#fff!important}@media only screen and (max-width:768px){.mec-calendar .mec-event-article.mec-single-event-novel{padding:0;min-height:5px}.mec-calendar .mec-event-article.mec-single-event-novel h4{display:block;font-size:9px}}.mec-event-container-simple .event-single-content-simple{display:none}.mec-event-calendar-classic.mec-event-container-simple .mec-calendar-side .mec-calendar-table{min-height:unset}.mec-event-container-simple .mec-monthly-tooltip h4{font-size:13px;font-weight:500;margin:0;color:#444}.mec-event-container-simple .mec-monthly-tooltip h4:hover{text-decoration:underline;color:#111}.mec-event-container-simple .mec-monthly-tooltip.event-single-link-simple{border-bottom:1px dashed #e3e3e3;padding:10px 2px;display:block}.mec-calendar.mec-event-container-simple dl dt.mec-calendar-day{font-size:30px;color:#000}.mec-calendar.mec-event-container-simple .mec-calendar-row dt:hover{background:unset}.mec-calendar.mec-event-container-simple .mec-calendar-row dt,.mec-calendar.mec-event-container-simple .mec-calendar-row dt:last-child,.mec-calendar.mec-event-container-simple .mec-calendar-table-head dt,.mec-calendar.mec-event-container-simple .mec-calendar-table-head dt:last-child{border-width:2px}.mec-calendar.mec-event-container-simple dl dt.mec-selected-day,.mec-calendar.mec-event-container-simple dl dt.mec-selected-day:hover{border-bottom:2px solid #40d9f1;background:unset}.mec-calendar.mec-event-container-simple .mec-calendar-table-head dt{line-height:36px}@media (max-width:768px){.mec-calendar.mec-event-container-simple{overflow-x:scroll}.mec-calendar.mec-event-container-simple .mec-calendar-side{min-width:100%}.mec-event-container-simple .mec-monthly-tooltip h4{font-size:12px}.mec-event-container-simple .mec-calendar-side{min-width:600px!important;overflow-x:scroll}}.mec-wrap.colorskin-custom .mec-calendar.mec-event-container-simple .mec-selected-day:hover{background:#f4f4f4}.mec-event-container-simple .mec-calendar-day .mec-monthly-tooltip.event-single-link-simple:last-of-type{border:none}.mec-tooltip-event-title{font-size:16px;font-weight:700;color:#000;margin-bottom:2px}.mec-tooltip-event-time,.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-content .mec-price-details{font-size:12px;color:#888;margin-bottom:8px;margin-top:5px}.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-content{padding:17px}.mec-tooltip-event-content{clear:both}.mec-tooltip-event-featured{float:left;margin-right:13px;margin-bottom:1px}.mec-tooltip-event-featured img{max-width:120px}.mec-tooltip-event-desc{font-size:14px;color:#444;line-height:18px}.mec-tooltip-event-desc p{font-size:13px;line-height:1.4;margin-bottom:10px}.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-box{border-radius:3px!important;border:1px solid #e2e3e4!important;background:#fff!important;box-shadow:0 -1px 30px -2px rgba(0,0,0,.15)!important}.tooltipster-box .mec-tooltip-event-desc{margin-bottom:12px}.tooltipster-sidetip:not(.uael-tooltipster-active) .tooltipster-arrow{overflow:visible!important}.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-arrow-border{border-width:12px!important}.tooltipster-sidetip.tooltipster-shadow.tooltipster-right:not(.uael-tooltipster-active) .tooltipster-arrow-border{border-right-color:#e2e3e4!important}.tooltipster-sidetip:not(.uael-tooltipster-active) .tooltipster-arrow-border{left:-12px!important;z-index:9999999999!important}.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-arrow-background{display:block!important}.tooltipster-sidetip:not(.uael-tooltipster-active) .tooltipster-arrow-background{border-width:11px!important;z-index:99999999999!important}.tooltipster-sidetip.tooltipster-right:not(.uael-tooltipster-active) .tooltipster-arrow-background{left:-9px!important;top:1px!important;border-right-color:#fff!important}.tooltipster-sidetip.tooltipster-top:not(.uael-tooltipster-active) .tooltipster-arrow-background{border-top-color:#fff!important;left:0!important;top:-1px!important}.tooltipster-sidetip.tooltipster-top:not(.uael-tooltipster-active) .tooltipster-arrow-border{left:-1px!important}.tooltipster-sidetip.tooltipster-shadow.tooltipster-top:not(.uael-tooltipster-active) .tooltipster-arrow-border{border-top-color:#e2e3e4!important}.tooltipster-sidetip.tooltipster-shadow.tooltipster-bottom:not(.uael-tooltipster-active) .tooltipster-arrow-border{left:-1px!important;top:-11px!important}.tooltipster-sidetip.tooltipster-shadow.tooltipster-bottom:not(.uael-tooltipster-active) .tooltipster-arrow-border{border-bottom-color:#e2e3e4!important}.tooltipster-sidetip.tooltipster-bottom:not(.uael-tooltipster-active) .tooltipster-arrow-background{top:-9px!important;border-bottom-color:#fff!important}.tooltipster-sidetip.tooltipster-left:not(.uael-tooltipster-active) .tooltipster-arrow-background{border-left-color:#fff!important;left:-2px!important;top:0!important}.tooltipster-sidetip.tooltipster-shadow.tooltipster-left:not(.uael-tooltipster-active) .tooltipster-arrow-border{border-left-color:#e2e3e4!important;left:-1px!important;top:-1px!important}@media (max-width:780px){.mec-event-container-simple .mec-monthly-tooltip.event-single-link-simple h4{word-break:break-all;font-size:13px}}@media (max-width:320px){.mec-event-container-simple .mec-monthly-tooltip.event-single-link-simple h4{font-size:10px}}.mec-calendar.mec-calendar-daily .mec-calendar-day-events .mec-event-article{padding-left:15px;padding-right:15px;position:relative}.mec-calendar.mec-calendar-daily .mec-calendar-a-month{text-align:center;background-color:#fff;border-bottom:2px solid #f4f4f4;position:relative}.mec-calendar.mec-calendar-daily .mec-calendar-a-month h4{color:#444;font-size:18px;line-height:1.2;padding:15px 0 11px;margin:0;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid #e6e6e6}.mec-calendar.mec-calendar-daily .mec-calendar-d-top{text-align:center;padding:10px 0;position:relative;background-color:#fafafa}.mec-calendar.mec-calendar-daily .mec-next-month,.mec-calendar.mec-calendar-daily .mec-previous-month{position:absolute;top:50%;left:50%;margin-top:-25px;min-width:50px;height:50px;line-height:50px;text-align:center;background:#fff;border:1px solid #e2e2e2;border-radius:50px;box-shadow:0 2px 0 0 rgba(0,0,0,.015);transition:all .33s ease;cursor:pointer}.mec-calendar.mec-calendar-daily .mec-next-month i,.mec-calendar.mec-calendar-daily .mec-previous-month i{font-size:14px;cursor:pointer}.mec-calendar.mec-calendar-daily .mec-next-month:hover,.mec-calendar.mec-calendar-daily .mec-previous-month:hover{border-color:#d0d0d0;color:#444;box-shadow:0 2px 5px 0 rgba(0,0,0,.075)}.mec-calendar.mec-calendar-daily .mec-previous-month{margin-left:-150px}.mec-calendar.mec-calendar-daily .mec-next-month{margin-left:100px}.mec-calendar.mec-calendar-daily .mec-calendar-a-month .mec-next-month,.mec-calendar.mec-calendar-daily .mec-calendar-a-month .mec-previous-month{min-height:28px;height:28px;line-height:28px;width:28px;margin-top:-14px;border-radius:3px}.mec-calendar.mec-calendar-daily .mec-calendar-d-top h2,.mec-calendar.mec-calendar-daily .mec-calendar-d-top h3{margin-top:9px;color:#b9b9b9;font-size:30px;font-weight:100;text-transform:uppercase;margin-bottom:12px;line-height:1}.mec-calendar.mec-calendar-daily .mec-calendar-d-top h2{font-size:81px;color:#444;margin-bottom:10px;line-height:1.1}.mec-calendar.mec-calendar-daily .mec-calendar-d-table{overflow:hidden;background:#fff;min-height:60px;border-top:1px solid #e6e6e6;border-bottom:2px solid #f3f3f3;padding:0 50px;position:relative}@media only screen and (min-width:479px){.mec-calendar.mec-calendar-daily .mec-calendar-d-table{padding:0 55px}}.mec-calendar.mec-calendar-daily .mec-calendar-d-table dl{width:1310px;display:block}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl{display:none}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl.mec-weekly-view-week-active{display:flex}.mec-calendar.mec-calendar-daily .mec-calendar-d-table a,.mec-calendar.mec-calendar-daily .mec-calendar-d-table dl dt{display:block;background:#fff;width:42px;height:60px;line-height:60px;text-align:center;float:left;border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;border-radius:0}.mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day:hover,.mec-calendar.mec-calendar-daily .mec-calendar-d-table dl dt:hover{background:#fafafa;box-shadow:0 2px 5px 0 rgba(0,0,0,.065) inset;cursor:pointer}.mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day{cursor:default;background:#fff;color:#c1c1c1;line-height:59px;text-align:center;border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day.mec-has-event{cursor:pointer;font-weight:700;color:#4a4a4a}.mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day.mec-daily-view-day-active,.mec-calendar.mec-calendar-daily .mec-calendar-d-table dl dt.mec-table-d-current{font-size:18px;font-weight:700;background:#fafafa;color:#40d9f1}.mec-calendar.mec-calendar-daily .mec-calendar-d-table a.mec-table-d-next,.mec-calendar.mec-calendar-daily .mec-calendar-d-table a.mec-table-d-prev{float:none;font-size:14px;width:55px;position:absolute;top:0;left:0;cursor:pointer}.mec-calendar.mec-calendar-daily .mec-calendar-d-table a.mec-table-d-next{left:auto;right:0;border-left:1px solid #e6e6e6;border-right:none}.mec-calendar.mec-calendar-daily .mec-today-container .mec-today-count{font-size:12px;color:#888;text-align:center}@media only screen and (max-width:479px){.mec-calendar.mec-calendar-daily .mec-previous-month{margin-left:-130px}.mec-calendar.mec-calendar-daily .mec-next-month{margin-left:80px}.mec-calendar.mec-calendar-daily .mec-calendar-a-month h4{font-size:14px;letter-spacing:0}}.widget .mec-calendar.mec-calendar-daily .mec-calendar-a-month h4{font-size:14px;letter-spacing:0}.widget .mec-calendar.mec-calendar-daily .mec-previous-month{margin-left:-130px}.widget .mec-calendar.mec-calendar-daily .mec-next-month{margin-left:80px}.mec-util-hidden{display:none}.mec-daily-view-date-events,.mec-weekly-view-date-events{list-style:none;margin:0}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table{padding:0}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl{width:calc(100% - 1px)}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt{width:100%;height:70px;line-height:normal;cursor:default}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt:hover{background:#fff;cursor:default}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt:last-child{border-right:none}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt span{font-size:12px;font-weight:700;text-transform:uppercase;display:block;margin:15px 0 6px}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table a.mec-table-d-next,.mec-calendar.mec-calendar-weekly .mec-calendar-d-table a.mec-table-d-prev{display:none}ul.mec-weekly-view-dates-events,ul.mec-weekly-view-dates-events li{padding:0;margin:0;line-height:initial}.mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date{width:64px;height:64px;margin-right:10px;font-size:11px;text-transform:uppercase;float:left;text-align:center;padding-top:2px}.mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date span{font-size:40px;line-height:30px;font-weight:700;display:block;margin-bottom:6px;letter-spacing:1px}.mec-calendar.mec-calendar-weekly .mec-calendar-a-month .mec-previous-month{margin-left:0;left:12px}.mec-calendar.mec-calendar-weekly .mec-calendar-a-month .mec-next-month{margin-left:0;left:auto;right:12px}@media only screen and (max-width:479px){.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt span{font-size:9px;letter-spacing:0}.mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date{width:100%;height:36px;margin-bottom:12px;line-height:1;font-size:10px;margin-right:5px;text-align:left}.mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date span{font-size:18px;margin-bottom:5px}}.widget .mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt span{font-size:9px;letter-spacing:0}.widget .mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date{width:100%;height:36px;margin-bottom:12px;line-height:1;font-size:10px;margin-right:5px;text-align:left}.widget .mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date span{font-size:18px;margin-bottom:5px}.mec-week-events-container .mec-weekly-view-dates-events li.mec-no-event-found{list-style:none!important}li.mec-no-event-found .mec-event-title{text-align:center}.mec-widget .mec-calendar{max-width:100%}.mec-widget .mec-calendar dl dt,.mec-wrap.mec-sm959.mec-widget .mec-calendar.mec-event-calendar-classic dl dt{height:40px}.mec-widget .mec-calendar .mec-calendar-events-sec{padding:10px}.mec-widget .mec-calendar .mec-calendar-header h2{font-size:13px;margin-top:8px}.mec-widget .mec-calendar .mec-event-list-classic .mec-event-image{margin-right:12px}.mec-widget .mec-calendar .mec-has-event:after{width:4px;height:4px}.mec-widget .mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec .mec-table-side-title{font-size:14px}.mec-widget .mec-calendar .mec-event-article .mec-event-image{margin-right:11px}.mec-widget .mec-box-calendar.mec-calendar .mec-calendar-header{margin-bottom:20px}.mec-widget .mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month,.mec-widget .mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{font-size:0;padding:4px 0;text-align:center;min-width:33px}.mec-widget .mec-event-calendar-classic .mec-calendar-side .mec-calendar-table{min-height:200px}.mec-widget .mec-event-list-classic{margin-bottom:8px;padding:8px 0}.mec-widget .mec-event-list-classic .mec-event-article{margin-bottom:0;padding:10px 0;position:relative;min-height:86px;padding-left:80px}.mec-widget .mec-event-list-classic .mec-event-date{font-size:10px;line-height:14px;text-transform:uppercase}.mec-widget .mec-event-list-classic .mec-event-title{font-size:13px}.mec-widget .mec-event-list-classic .mec-event-detail{font-size:11px}.mec-widget .mec-event-list-classic .mec-event-image{width:68px;position:absolute;left:0}.mec-event-list-classic .mec-event-image img{width:100%}.mec-widget .mec-event-list-classic .mec-event-detail{overflow:visible}.event-color{width:14px;display:inline-block;height:14px;margin-left:5px;border-radius:50%}.mec-map-lightbox-wp{width:580px;padding:15px 15px 0;background-color:#fff}.mec-map-view-event-detail.mec-event-detail{width:580px;background-color:#e9e9e9;padding:8px 15px}.mec-map-lightbox-wp.mec-event-list-classic .mec-event-article{padding:0 0 15px;margin:0}.mec-map-lightbox-wp.mec-event-list-classic .mec-event-image{width:70px;margin-right:15px}.mec-marker-infowindow-wp{padding:10px}.mec-marker-infowindow-wp .mec-marker-infowindow-count{width:60px;height:60px;display:block;text-align:center;line-height:60px;border:1px solid #40d9f1;border-radius:50%;font-size:32px;color:#40d9f1;float:left;margin-right:11px}.mec-marker-infowindow-wp .mec-marker-infowindow-content{overflow:hidden;padding-top:6px}.mec-marker-infowindow-wp .mec-marker-infowindow-content span{display:block;color:#222}.mec-marker-infowindow-wp .mec-marker-infowindow-content span:first-child{font-size:15px;font-weight:700}.mec-marker-wrap{display:inline-block;width:35px;height:35px;margin:15px 0 0 4px;border-radius:50% 50% 50% 0;background:#00cae9;animation-name:mec-map-bounce;animation-fill-mode:both;animation-duration:1s;border:3px solid #fff;cursor:pointer}.mec-marker-wrap .mec-marker{margin-top:5px;display:block;-webkit-transform:rotate(45deg);transform:rotate(45deg);text-align:center;color:#fff;font-size:17px}.mec-marker-wrap .mec-marker-pulse-wrap{-webkit-transform:rotate(45deg);transform:rotate(45deg);display:inline-block;margin-left:-11px;margin-top:0}.mec-marker-wrap .mec-marker-pulse{display:inline-block;background:#c5c5c5;border-radius:50%;height:14px;width:14px;-webkit-transform:rotateX(55deg);transform:rotateX(55deg);z-index:-2}.mec-marker-wrap .mec-marker-pulse:after{content:"";border-radius:50%;height:40px;width:40px;position:absolute;margin:-13px 0 0 -13px;animation:pulsate 1s ease-out;animation-iteration-count:infinite;opacity:0;box-shadow:0 0 1px 2px #00cae9;animation-delay:1.1s}@keyframes pulsate{0%{transform:scale(.1,.1);opacity:0}50%{opacity:1}100%{transform:scale(1.2,1.2);opacity:0}}@keyframes mec-map-bounce{0%{opacity:0;transform:translateY(-2000px) rotate(-45deg)}60%{opacity:1;transform:translateY(30px) rotate(-45deg)}80%{transform:translateY(-10px) rotate(-45deg)}100%{transform:translateY(0) rotate(-45deg)}}.mec-skin-grid-container .mec-skin-map-container,.mec-skin-list-container .mec-skin-map-container{margin-bottom:20px}.mec-single-event{margin-top:10px}.mec-single-event .mec-events-meta-group-countdown{color:#c9c9c9;text-align:center;margin-bottom:30px;padding:20px 30px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-events-meta-group-countdown .countdown-w{text-align:center;font-size:36px;margin:0 auto;padding:40px 0 0;position:relative;display:table;table-layout:fixed}.mec-events-meta-group-countdown .countdown-w .icon-w{font-size:24px}.mec-events-meta-group-countdown .countdown-w .label-w{font-size:15px;font-weight:300;letter-spacing:1px;text-transform:uppercase;position:relative}.mec-events-meta-group-countdown .countdown-w .block-w{display:table-cell;margin:0 20px 10px;position:relative;height:70px;width:190px;font-size:72px;transition:all .3s ease-in-out;line-height:1.2}.mec-events-meta-group-countdown .countdown-w .block-w.done-w{border:0 none}.mec-events-meta-group-countdown .countdown-w .block-w li{font-size:50px}.mec-events-meta-group-countdown .countdown-w span{padding:24px 0 20px}.mec-events-meta-group-countdown .countdown-w .div-d{display:none}.mec-events-meta-group-countdown .countdown-w .countdown-message{display:none}.mec-events-meta-group-countdown .countdown-w .block-w i{display:none}#countdown{list-style:none;margin-bottom:0;margin-top:0;margin-left:0;padding-left:0}.mec-events-meta-group-countdown .mec-end-counts h3{display:inherit;text-align:center;font-size:16px;right:50%}.mec-countdown-details .countdown-w .clockdiv li p{margin-top:23px}@media (min-width:481px) and (max-width:768px){.mec-events-meta-group-countdown .countdown-w{padding:0}.mec-events-meta-group-countdown .countdown-w .label-w{font-size:12px;letter-spacing:0}.mec-events-meta-group-countdown .countdown-w span{font-size:34px}}@media (min-width:320px) and (max-width:480px){.mec-events-meta-group-countdown .countdown-w .label-w{font-size:10px}.mec-events-meta-group-countdown .countdown-w span{font-size:28px}.mec-countdown-details .countdown-w .clockdiv li p{margin-top:16px}}@media (max-width:320px){.mec-events-meta-group-countdown .countdown-w .label-w{font-size:9px;letter-spacing:0}.mec-events-meta-group-countdown .countdown-w span{font-size:22px}}.info-msg,.mec-error,.mec-success,.warning-msg{margin:10px 0;padding:10px;border-radius:3px 3px 3px 3px;font-size:13px}.info-msg{color:#059;background-color:#bef}.mec-cart .mec-success,.mec-success{color:#0dbf52;background-color:#cef7ce}.warning-msg{color:#9f6000;background-color:#feefb3}.mec-error{color:#d8000c!important;background-color:#ffbaba}.mec-fes-form,.mec-fes-list{background:#f8feff;padding:30px 3%;color:#798f96}.mec-fes-list .mec-fes-list-top-actions,.mec-fes-list ul{margin:0 auto 15px;max-width:960px;list-style:none;padding-left:40px}.mec-fes-form-cntt .dashicons-editor-help{display:none}.mec-fes-list ul li *{text-decoration:none!important}.mec-fes-list ul li{padding:20px 15px;border-radius:3px;margin-bottom:15px;border:1px solid #cfeff5;box-shadow:0 2px 6px -4px #cfeff5;background:#fff;line-height:normal}.mec-fes-list ul li a{box-shadow:none;color:#181818}.mec-fes-list ul li a:hover{color:#40d9f1}.mec-fes-list ul li .mec-event-title{font-size:17px;font-weight:600;width:calc(100% - 250px);display:inline-block}@media (max-width:680px){.mec-fes-list ul li .mec-event-title{width:100%;font-size:13px;margin:0 0 20px 0;display:block}.mec-fes-list ul li{padding:10px 12px 40px}}@media (max-width:480px){.mec-fes-list .mec-fes-list-top-actions,.mec-fes-list ul{padding-left:0}}.mec-fes-form .mec-required{color:#ff3c3c}.mec-fes-list .mec-event-status{color:#fff!important;border-color:transparent!important}.mec-fes-form .mec-book-confirmed,.mec-fes-list .mec-book-confirmed{background:#50d477!important}.mec-fes-form .mec-book-pending,.mec-fes-list .mec-book-pending{background:#fcbe69!important}.mec-fes-form .mec-book-rejected,.mec-fes-list .mec-book-rejected{background:#fe686a!important}.mec-fes-form .mec-book-other,.mec-fes-list .mec-book-other{background:#40d9f1!important}.mec-fes-list ul li .mec-fes-event-remove,.mec-fes-list ul li .mec-fes-event-view{font-size:11px;padding:0;border:0;background:#f7f8f9;float:right;margin-left:5px;border-radius:2px;transition:all .2s ease}.mec-fes-list ul li .mec-fes-event-export a,.mec-fes-list ul li .mec-fes-event-remove,.mec-fes-list ul li .mec-fes-event-view a{padding:4px 8px;display:inline-block;border:1px solid #e7e8e9;border-radius:2px;color:#789;position:relative}@media (max-width:600px){.mec-fes-list ul li .mec-fes-event-export a,.mec-fes-list ul li .mec-fes-event-remove,.mec-fes-list ul li .mec-fes-event-view a{font-size:10px}}.mec-fes-list ul li .mec-fes-event-remove:hover{cursor:pointer;background:#f96f8a;border-color:#f96f8a;color:#fff}.mec-fes-list ul li .mec-fes-event-export a:hover,.mec-fes-list ul li .mec-fes-event-view a:hover{background:#40d9f1;color:#fff;border-color:#40d9f1}.mec-fes-form-top-actions a,.mec-fes-list-top-actions a,.single-mec-events .pmpro_content_message a,.single-mec-events .pmpro_content_message a:link{position:relative;border:none;border-radius:3px;color:#fff!important;display:inline-block;font-size:13px;line-height:1;text-transform:none;font-weight:400;text-decoration:none;cursor:pointer;margin-bottom:20px!important;margin-right:10px;line-height:1;letter-spacing:0;padding:15px 22px;background:#39c36e;box-shadow:0 1px 7px -3px #39c36e!important;-webkit-transition:all .21s ease;-moz-transition:all .21s ease;transition:all .21s ease;text-decoration:unset}.mec-fes-form-top-actions a:hover,.mec-fes-list-top-actions a:hover,.single-mec-events .pmpro_content_message a:hover,.single-mec-events .pmpro_content_message a:hover:link{background:#222;color:#fff}.mec-fes-list-top-actions a{font-weight:600;text-transform:capitalize}.mec-fes-form-top-actions a:before{content:"";border:solid #fff;border-width:0 2px 2px 0;display:inline-block;padding:6px;margin-right:5px;vertical-align:sub;transform:rotate(135deg);-webkit-transform:rotate(135deg)}.mec-fes-form .mec-form-row,.mec-fes-list .mec-form-row{margin-bottom:10px;clear:both}.mec-fes-form label{font-size:13px;display:block;color:#798f96;font-weight:400;padding:0 0 4px 2px}.mec-fes-form input+label{padding-top:8px;padding-left:3px;margin:0;display:inline-block;vertical-align:top}#wrap .mec-fes-form input+label{padding-top:0}.mec-fes-form .post-status{float:right!important;margin:0 5px;color:#fff;padding:0 10px;border-radius:12px;font-style:italic;font-size:18px}.mec-fes-form #mec-event-data input[type=date],.mec-fes-form input[type=email],.mec-fes-form input[type=number],.mec-fes-form input[type=password],.mec-fes-form input[type=tel],.mec-fes-form input[type=text],.mec-fes-form input[type=url],.mec-fes-form select,.mec-fes-form textarea{min-width:inherit;width:auto;display:inline;min-height:30px;font-size:13px;padding:10px;margin-bottom:20px;clear:both;background:#fff;border:1px solid #cfeff5;box-shadow:0 2px 5px rgba(207,239,245,.38) inset;border-radius:3px;height:40px;max-width:280px;color:#798f96;font-family:inherit}#mec_fes_form input[type=date]::-webkit-calendar-picker-indicator,.lity-content #mec_fes_form input[type=date]::-webkit-calendar-picker-indicator,.lity-content .mec-events-meta-group-booking input[type=date]::-webkit-calendar-picker-indicator,.mec-single-event .mec-events-meta-group-booking input[type=date]::-webkit-calendar-picker-indicator{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA0QjQ2N0QwQjQ4MzExRUE4RDdFREZDRTUxMUVERTM5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA0QjQ2N0QxQjQ4MzExRUE4RDdFREZDRTUxMUVERTM5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDRCNDY3Q0VCNDgzMTFFQThEN0VERkNFNTExRURFMzkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDRCNDY3Q0ZCNDgzMTFFQThEN0VERkNFNTExRURFMzkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6WW71PAAAGIklEQVR42qRXS28bVRQ+586Mx3ZC1DSpVFojRU2CqMIGiSKxAVoUduzoDjYIlhU/Av4AYsdjRXfkD0Cjom6QqIqEqEhRo1aRkkZpkpY6j7GduQ++c2dsj1+BlInGztxvzj3nfudpPlM/otc2W2QjJmU0rZ0uUytUpBxNnN9p/FYhctF0+XUi2nPGkX7WJOfwxNRzqXxtbfI4eUvm7xY1o4iiI0d/vFiisL2BgTAz0yvbCRnLhP0uNEtqrgUseZRcwPPvJewaldSA8o48vo+Tj0U+CnrkOgZwvkEzEmGm1PF9fzK5Y3U/YlllsjRUv19zXl7571HyAjooc/kmYerpcmPO0Mfa0SyxEtji44ynOjPuayjecd7M46/MQOdGyIs9ThnzMLD0XRrwIdeetmoLm41fWiG95Ar792tydLLrOPkAlpW027hbG3+T37lf/5EtvYcXUuhfBjWp9wHRBO63c5lbEkQj2B92uaHy4l2EAQ66GFgbmiD4id/9q661ooAtf8rsvmUEilAHEqcgtJvvNq3YPTkJA8PksT9ZFxD8+4my9pvAOqOMxIMoJHfPZoJkJNiYat3duOac6hxt1N3GR8lnt0O623s+c2CVZEGaZ8Oks1mElvxu7hGYaQjpHLpH3q/YFQE7Oh5Y6gFTaHhAXlasxmoWpZO5L9Ow4DTv+UBZBAkWNO+CqhkbSOzaXWWyzY+n3WcACdVscnklz5CHYsmv1L/RyUJ/cs7zdT3Ey8pTgw/QgNNuS4XjNMvffwvBNmwDH+pdeZ3J+1qDdW15vS0iBhjZWzF9ge8HWl7zNLluYhP/9/jvFANXyL+ufF4jZvOCZsK8isp77+sixf10n7QQjJT39bBtjzdA5chtLG61n7kgk6UvDy29z4HL4c/ifkN0hYV+cA3Bc7stKAfossgSSF06+3HOu8QovE8eThDlv4pu1TbUOpqySDNUKMSDQRIo6QgVRHbFcID1mCITUGgNKLI9uBbcCC59xUi+DsiHBq0XOLb3utqOUYV+LglH9XJASRAsRNqt4xHVj59Exqw3AlrYi0PaiwNqBKoX12Y9iQSP/GkD4xZC0yt/GPFCvZzhUBoMtmPftRwMEEtpupy2auzadLraXtlNoXLhKQYLbjrWRx0cXNf24wxPSmWw5aZPNXSNOi5ytXqZpjTwSqs3PsJi0I61LG29EFG9GtyaeqgvxU17TrAkDjbvnq/eKcTYrbcemi5eHoI/OLgUt7r4n+cqd04llmZ3mjBSDQ4kYtERLLz4OKGt0xGKA9+RgiSGSRV7+UlCVvka72lEvHRx04vLGW2f/PzTBk3VtddRrGlhMXVaIdME5sLJ3ZQOTPQBNqj58uzcxsXtZEkqmQ7IB9ihLeA2x6FQqyG4cRuvbh8uNZSigzBCALhBBtrjkwjjQItQ+kPXWY6eBuEi/lmOlC8kvTh38ZLH3QC+y+GiIl4OqbeZ9RggQZgcVIXe1ep48jPkz/oGw7x1yoytIq1o59AH1Wp1rNHBSXA9tip87zYyvFzpx8dXLVTvqySvhUMNsN6+1ERrrNQVQs57H4K6cR35GrapffICb16RpO7glOHrrQyvjHXxQHB0/j1ugV0LpcFwAzS4n6hiZoIvEp2znwcSigfGJhxpMmseLc0dvFjcvRuLvdEdNyl2+0DOALwE863TM/jnJqhfQa6v4AfJzUNOZ/aVlhqIUpoO4PuU4XFsqFrSM866m9hxBXSvWPx/wHpGqA96Vfa5AH9HnMjYNI96dbkwaVzcCw/nAK+xHzp4Hp89eD04nENzX6v4cYrnrVWXXQF/Fh7MQfWasmogCNsmaT+qwD0g4gYsuYqnWlboeKMUumUr86LycxdwdRUb+zQTvAzcgL0jLXFkbkQUX5UKyFTE2bvZD0a5B8SAUu6dPf+7AInssja2VPSZRud2Ni/NKse5M2VQqkO4BxSzZLmV8Wwpa8S9OHsK3X6+Lc7F/JidOwvkc7z3FbIgzd7smy1c35TEg7NGrg6Ucs88UsCliOLHH1+Td8HYFl++W//QxfT9iSee/3lJWy5X6aMwtK3rTVWJUU4/g4GzdLLp73ku8cEDxNmXUZhc/0eAAQAVgX0RHvvILQAAAABJRU5ErkJggg==);background-position:center;background-size:cover;width:10px;height:12px;display:block}.mec-fes-form input{background:#fff!important;border-radius:3px!important}.mec-fes-form textarea{height:80px}.mec-fes-form input::-webkit-input-placeholder{color:#798f96}.mec-fes-form input::-moz-placeholder{color:#798f96}.mec-fes-form input:-ms-input-placeholder{color:#798f96}.mec-fes-form input:-moz-placeholder{color:#798f96}#mec-excerpt .mec-form-row .widefat{max-width:100%}#mec_more_info_target{width:100%}@media only screen and (min-width:961px){.mec-fes-form #mec-event-data input[type=date],.mec-fes-form #mec-event-data select,.mec-fes-form input[type=email],.mec-fes-form input[type=password],.mec-fes-form input[type=tel],.mec-fes-form input[type=text],.mec-fes-form input[type=url],.mec-fes-form textarea{width:100%;display:inline-block}}@media only screen and (max-width:768px){.mec-fes-form #mec-event-data input[type=date],.mec-fes-form #mec-event-data select,.mec-fes-form input[type=email],.mec-fes-form input[type=password],.mec-fes-form input[type=text],.mec-fes-form input[type=url],.mec-fes-form textarea{width:100%}}.mec-fes-form input[type=text]#mec_fes_title{padding:5px 10px;min-height:32px;height:50px;background:#fff!important;max-width:100%;font-size:19px;font-weight:400}.mec-fes-form input[type=checkbox],.mec-fes-form input[type=radio]{display:inline!important;float:left;margin:5px 5px 0 0}.mec-fes-form input[type=email]:focus,.mec-fes-form input[type=number]:focus,.mec-fes-form input[type=password]:focus,.mec-fes-form input[type=tel]:focus,.mec-fes-form input[type=text]:focus,.mec-fes-form input[type=url]:focus,.mec-fes-form select:focus,.mec-fes-form textarea:focus{border:1px solid #aaa;color:#444;background:#fff;-moz-box-shadow:0 0 3px rgba(0,0,0,.2);-webkit-box-shadow:0 0 3px rgba(0,0,0,.2);box-shadow:0 0 3px rgba(0,0,0,.2);outline:0}.mec-form-row .mec-color{cursor:pointer}.mec-form-row.mec-available-color-row span{margin:10px;width:14px;height:14px;display:inline-block;margin-right:6px;border-radius:20px 20px 20px 20px;vertical-align:middle}.mec-form-row.mec-available-color-row span:first-of-type{margin-left:0}.mec-fes-form.mec-fes-form .mec-tooltip{display:inline}.mec-fes-form-cntt .dashicons-editor-help{display:block}.mec-fes-form .mec-tooltip:hover:after,.mec-fes-form .mec-tooltip:hover:before{display:none}.mec-fes-form.mec-fes-form .mec-tooltip{display:inline-flex;bottom:7px}.mec-fes-form .mec-tooltip .box{min-width:300px;max-width:600px;display:inline-block;left:26px;top:50%;transform:translateY(-50%);padding:0;margin-top:8px;background-color:#535a61;color:#fff;font-weight:300;font-size:14px;letter-spacing:.5px;line-height:1.3;position:absolute;z-index:9999999;box-sizing:border-box;border-radius:6px;box-shadow:0 4px 45px -8px #444b50;visibility:hidden;opacity:0;transition:opacity .23s}#webnus-dashboard .mec-fes-form .mec-tooltip .box p,.mec-fes-form .mec-tooltip .box p{color:#fff!important;font-size:14px;line-height:1.3;margin:0}.mec-fes-form .mec-tooltip:hover .box{visibility:visible;opacity:1}.mec-fes-form .mec-tooltip:hover .box{padding:20px;border-radius:8px}.mec-fes-form .mec-tooltip .box h5{color:#fff;font-size:17px;font-weight:600;margin:-30px -20px;padding:20px 0;text-align:center;margin-bottom:10px;background:#3a3f44;border-bottom:1px solid #32363a;border-radius:6px 6px 0 0;z-index:9999}#webnus-dashboard .mec-fes-form .mec-tooltip .box p a,.mec-fes-form .mec-tooltip .box p a{color:#40d9f1;margin-top:10px;margin-left:0;font-weight:400;position:relative;text-decoration:none;display:block;width:max-content}.mec-fes-form .mec-tooltip .box a:hover{color:#f90}.mec-fes-form .mec-tooltip .box:after{display:block;position:absolute!important;top:100%!important;right:50%!important;margin-top:-6px!important;margin-right:-6px!important;width:12px!important;height:24px!important;overflow:hidden!important;transform:rotate(-90deg)!important}.mec-fes-form .mec-tooltip .box:before{display:block;content:""!important;position:absolute!important;width:12px;height:12px;left:-10px!important;top:50%!important;transform:translate(50%,-50%) rotate(-45deg)!important;background-color:#535a61!important;box-shadow:0 8px 9px -4px #535a61!important;z-index:0!important}.mec-fes-form .mec-tooltip .box.top{left:50%;top:0;transform:translate(-50%,-100%);margin-top:0;margin-left:-10px}.mec-fes-form .mec-tooltip .box.top:after{top:50%!important;right:100%!important}.mec-fes-form .mec-tooltip .box.top:before{left:50%!important;top:100%!important}.mec-fes-form .mec-tooltip .box.bottom{left:50%;top:auto;bottom:0;transform:translate(-50%,100%);margin-bottom:-20px;margin-left:-10px}.mec-fes-form .mec-tooltip .box.bottom:after{top:0!important;right:50%!important;background-color:#3a3f44!important}.mec-fes-form .mec-tooltip .box.bottom:before{left:50%!important;top:-7px!important;transform:translateX(-50%);background-color:#3a3f44!important}.mec-fes-form .mec-tooltip .box.left{left:auto;right:26px;top:50%;transform:translateY(-50%)}.mec-fes-form .mec-tooltip .box.left:before{right:0!important;left:auto!important;top:50%!important}.mec-fes-form .mec-tooltip{display:inline-block;position:relative;margin-right:10px;cursor:help;bottom:5px;left:3px}.mec-fes-form .mec-tooltip:last-child{margin-right:0}.mec-fes-form .mec-tooltip:hover:after{background:#313130;border-radius:5px;bottom:24px;color:#fff;content:attr(title);left:-75px;padding:10px;position:absolute;z-index:98;width:240px}.mec-fes-form .mec-tooltip:hover:before{border:solid;border-color:#313130 transparent;border-width:6px 6px 0;bottom:18px;content:"";left:30%;position:absolute;z-index:99}.mec-fes-form .mec-tooltip .dashicons-before:before{font-size:24px;color:#008aff;line-height:37px}.mec-fes-form .mec-tooltip a:focus{box-shadow:none}.mec-form-row .bootstrap_unvalid{display:block;border:2px solid red;position:relative;display:inline-block;border-bottom:1px dotted #000}.mec-fes-form .mec-tooltiptext{visibility:hidden;width:120px;background-color:red;color:#fff;text-align:center;border-radius:6px;padding:5px 0;position:absolute;z-index:1}.mec-fes-form .mec-tooltip .content p a{display:none}@media only screen and (min-width:961px){.mec-fes-form .mec-fes-form-cntt,.mec-fes-form .mec-fes-form-sdbr{width:68%;float:left;padding-right:20px}.mec-fes-form .mec-fes-form-sdbr{width:32%;padding-right:0;padding-left:20px}.mec-fes-submit-mobile{display:none}}.mec-fes-form .mec-meta-box-fields{padding:0 20px 20px;border:1px solid #cfeff5;margin-bottom:20px!important;box-shadow:0 2px 6px -3px #cfeff5;border-radius:3px;background:#fff}.mec-fes-form .mec-meta-box-fields h4,.mec-fes-form .mec-meta-box-fields h4 label{margin:0 -20px;font-size:15px;font-weight:600;letter-spacing:0;color:#40d9f1;text-transform:capitalize;padding:15px 20px;background:#ecfcff;margin-bottom:20px}.mec-fes-form .mec-meta-box-fields h4 label{padding:0;margin:0}.mec-fes-sub-button{width:100%}.mec-available-color-row span.color-selected{border:3px solid #fff;box-sizing:content-box;box-shadow:0 0 0 2px #40d9f1,0 2px 8px -1px #40d9f1}.mec-fes-loading:before{content:url(../img/ajax-loader.gif);background:0 0;border-style:none;display:block;margin-left:47%}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text]{width:190px;margin-right:1.4%}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text].mec-col-1,.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text].mec-col-2{width:120px;margin-right:10px}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text].widefat{width:100%}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row{border-bottom:none;padding-bottom:10px}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text].mec-col-6{width:39%}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row button{margin-right:0;padding:9px 26px}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row button.mec-add-hourly-schedule-button{font-size:12px;height:30px;line-height:25px}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row .description{display:inline-block;border-left:1px dashed #bfcacc;margin-left:12px;line-height:28px;padding-left:12px;margin-top:5px;font-style:italic}@media only screen and (max-width:768px){.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text]{width:100%!important}}#mec_fes_form_message{max-width:838px;margin:10px auto;display:block!important;text-align:center}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip{position:relative}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list strong,.post-type-mec-books .attendees strong{line-height:26px;padding-left:26px}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip:before{position:absolute;content:"\e001";font-family:simple-line-icons;margin:12px 0;top:-30px;left:0;font-size:18px;line-height:12px;color:#40d9f1;padding:0 60px 5px 0}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip ul{position:absolute;min-width:300px;max-width:600px;display:inline-block;left:60px;top:50%;transform:translateY(-50%);background-color:#535a61;color:#fff;font-weight:300;font-size:14px;letter-spacing:.5px;line-height:1.3;z-index:9999999;box-sizing:border-box;box-shadow:0 4px 45px -8px #444b50;visibility:hidden;opacity:0;transition:opacity .23s;padding:23px 20px 20px 20px;border-radius:8px;margin-top:-13px}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip ul:before{display:block;content:""!important;position:absolute!important;width:12px;height:12px;left:-10px!important;top:50%!important;transform:translate(50%,-50%) rotate(-45deg)!important;background-color:#535a61!important;box-shadow:0 8px 9px -4px #535a61!important;z-index:0!important}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip:hover ul{visibility:visible;opacity:1}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip ul li{list-style:none}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip ul a{color:#40d9f1;margin-bottom:14px;margin-left:0;font-weight:400;font-size:14px;letter-spacing:.5px;position:relative;text-decoration:none;display:block;width:max-content}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip ul li:last-child a{margin-bottom:0}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list{margin:0}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix:first-child{background:#fff;border-bottom:1px solid #cfeff5}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix:first-child div span{line-height:1;font-weight:600;font-size:13px}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix{display:flex;background:#f8feff;padding:10px;text-align:left}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3{width:25%;word-wrap:break-word}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3:first-child{width:45%}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3:nth-child(2){width:15%}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3:nth-child(3){width:25%}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3:nth-child(4){width:20%}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix:not(:first-child) .w-col-xs-3{font-size:13px;display:block;color:#798f96;font-weight:400;padding:0}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3 a{text-decoration:unset}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix:nth-child(odd){background:#fff}.mec-wrap .mec-totalcal-box{position:relative;border:1px solid #efefef;padding:20px 5px;margin:0 0 20px;background:#fafafa;overflow:hidden;box-shadow:0 3px 2px 0 rgba(0,0,0,.012);min-height:78px}.mec-wrap .mec-totalcal-box i{float:left;margin:0;width:36px;height:36px;background:#fff;border:1px solid #efefef;text-align:center;padding:10px 0;font-size:15px;color:#888}.mec-checkboxes-search .mec-searchbar-category-wrap,.mec-wrap .mec-totalcal-box .mec-totalcal-view span,.mec-wrap .mec-totalcal-box input,.mec-wrap .mec-totalcal-box select{width:auto;min-height:36px;height:36px;line-height:36px;background:#fff;font-size:13px;color:#777;border:1px solid #efefef;margin:0 0 0 -1px;float:left;padding:0 5px}.mec-there-labels .mec-totalcal-view{margin-top:28px}.mec-wrap .mec-totalcal-box input[type=submit]{cursor:pointer;padding:0 16px;text-transform:uppercase;font-size:11px;transition:all .21s ease}.mec-wrap .mec-totalcal-box input[type=submit]:hover{background:#222;color:#fff}.mec-wrap .mec-totalcal-box .mec-totalcal-view span{display:inline-block;text-transform:uppercase;font-size:11px;padding:0 12px;cursor:pointer}.mec-wrap .mec-totalcal-box .mec-totalcal-view span:hover{color:#40d9f1}.mec-wrap .mec-totalcal-box .mec-totalcal-view span.mec-totalcalview-selected{color:#fff;background:#40d9f1;border-color:#40d9f1}.mec-wrap .mec-totalcal-box .mec-totalcal-view{text-align:right;float:right}.mec-wrap .mec-totalcal-box input[type=search]{width:calc(100% - 36px)}.mec-there-reset-button .mec-totalcal-box{padding-bottom:48px}.mec-wrap .mec-totalcal-box .mec-search-reset-button .mec-button{position:absolute;margin:0;bottom:0;right:0;padding:9px 25px;border-radius:2px 0 0 0;background:#fff;color:#767676;border-top:1px solid;border-left:1px solid;border-color:#e8e8e8;overflow:hidden}.mec-wrap .mec-totalcal-box .mec-search-reset-button .mec-button:hover{background:#000;color:#fff;border-color:#000}.mec-full-calendar-wrap .mec-search-form .col-md-7{padding:0}.mec-wrap .mec-date-search .mec-col-3,.mec-wrap .mec-minmax-event-cost .mec-minmax-price{width:calc(50% - 17px)}.mec-wrap .mec-text-address-search.with-mec-cost{width:calc(100% - 356px)}.mec-wrap .mec-minmax-event-cost{display:block;float:left;width:50%;margin-left:10px}.mec-wrap .mec-minmax-event-cost.with-mec-address{display:block;width:336px;max-width:50%;float:right;margin-left:0;margin-right:10px}.mec-wrap .mec-checkboxes-search{margin-left:10px;margin-right:10px;display:table-caption}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap{width:calc(100% - 36px)!important;max-width:calc(100% - 36px)!important;padding:0;position:relative;line-height:inherit;height:auto}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap select{line-height:20px}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container.select2-container--default{width:calc(100% - 36px)!important}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap input[type=search]{width:calc(100% - 36px)!important;min-height:30px;margin:0}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple ul,.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container.select2-container--default{height:auto;overflow:unset}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple ul{display:block}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple{border:unset;width:100%;height:0!important;border-radius:0}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple ul li{line-height:12px!important;max-height:20px!important;width:auto;margin-right:5px;margin-top:5px}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple .select2-selection__choice{letter-spacing:0;color:#777;text-transform:capitalize;padding:4px 6px;background-color:#efefef;border-radius:2px;border:0;cursor:default;float:left;margin-right:5px;margin-top:5px;margin-bottom:5px;font-size:11px;text-transform:uppercase}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple .select2-selection__choice__remove{color:#777}@media only screen and (min-width:961px) and (max-width:1200px){.mec-wrap .mec-totalcal-box{padding:37px 5px}}@media only screen and (max-width:960px){.mec-wrap .mec-totalcal-box .col-md-3,.mec-wrap .mec-totalcal-box .col-md-4,.mec-wrap .mec-totalcal-box .col-md-5{width:100%;float:none;clear:both;overflow:hidden}.mec-full-calendar-wrap .mec-search-form .col-md-3,.mec-full-calendar-wrap .mec-search-form .col-md-4,.mec-full-calendar-wrap .mec-search-form .col-md-5{display:block;max-width:100%;padding:0;margin:0 0 10px 0}.mec-full-calendar-wrap .mec-search-form .col-md-3{padding-bottom:10px!important}.mec-wrap .mec-search-form .mec-date-search select{width:calc(100% - 106px)}.mec-wrap .mec-search-form .mec-date-search select:last-child{width:70px}.mec-wrap .mec-totalcal-box .mec-totalcal-view{float:none}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple .select2-selection__choice{display:block;max-width:100%;white-space:break-spaces;max-height:unset!important;height:auto!important}}@media only screen and (min-width:768px) and (max-width:960px){.mec-wrap .mec-totalcal-box .col-md-4{position:relative;width:initial}.mec-wrap .mec-totalcal-box .col-md-5{padding-bottom:0}.mec-full-calendar-wrap .mec-search-form .col-md-5{margin-top:20px}.mec-wrap .mec-totalcal-box{padding:37px 5px}}@media only screen and (max-width:767px){.mec-wrap .mec-totalcal-box .mec-totalcal-view{float:none}.mec-wrap .mec-totalcal-box .col-md-4{padding-bottom:0}.mec-wrap .mec-minmax-event-cost.with-mec-address,.mec-wrap .mec-text-address-search.with-mec-cost{width:100%;float:left}.mec-wrap .mec-minmax-event-cost.with-mec-address{max-width:calc(100% - 20px);margin:0 10px 20px 10px}.mec-wrap .mec-minmax-event-cost .mec-minmax-price{width:calc(50% - 17px)}}@media only screen and (max-width:479px){.mec-wrap .mec-totalcal-box .mec-totalcal-view span{padding:0 8px;font-size:10px}.mec-wrap .mec-totalcal-box input[type=submit]{padding:0 10px;font-size:10px}}@media only screen and (min-width:961px){.mec-wrap .mec-wrap.mec-sm959 .mec-totalcal-box .col-md-5,.mec-wrap.mec-sm959 .mec-totalcal-box .col-md-3{padding-bottom:20px;clear:both;overflow:hidden}.mec-wrap.mec-sm959 .mec-totalcal-box .col-md-5{right:10px;width:initial}.mec-wrap.mec-sm959 .mec-totalcal-box .col-md-4{padding-bottom:0;width:100%}}@media (min-width:961px) and (max-width:1200px){.mec-full-calendar-wrap .mec-totalcal-box{padding:15px 10px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2{width:50%}.mec-wrap .mec-totalcal-box .mec-totalcal-view span{padding:0 10px}.mec-search-form .mec-date-search,.mec-search-form .mec-dropdown-search,.mec-search-form .mec-text-address-search,.mec-search-form .mec-text-input-search{padding:0 4px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2,.mec-full-calendar-wrap .mec-totalcal-box .col-md-3,.mec-full-calendar-wrap .mec-totalcal-box .col-md-4,.mec-full-calendar-wrap .mec-totalcal-box .col-md-5{padding-bottom:20px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2 select{min-width:calc(100% - 36px)}.mec-full-calendar-wrap .mec-totalcal-box .col-md-3 select{min-width:calc(30% - 10px)}.mec-full-calendar-wrap .mec-totalcal-box .col-md-3:last-child select{min-width:calc(50% - 19px)}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{font-size:9px;text-align:center}}@media only screen and (max-width:1200px){.post-type-archive-mec-events .mec-totalcal-box .col-md-3,.post-type-archive-mec-events .mec-totalcal-box .col-md-4{width:100%;padding:0}.post-type-archive-mec-events .mec-totalcal-box select:last-child{min-width:auto}.post-type-archive-mec-events .mec-totalcal-box .col-md-5{position:relative;float:right;max-width:100%;left:0;top:20px;width:100%!important;display:block;clear:both}.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view{max-width:100%;width:100%}.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view span{width:20.1%;font-size:10px}}@media only screen and (max-width:960px){.post-type-archive-mec-events .mec-totalcal-box .col-md-5{top:10px}}@media only screen and (max-width:760px){.post-type-archive-mec-events .mec-totalcal-box .col-md-5{top:0!important}}@media only screen and (max-width:480px){.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view span{font-size:8px}}@media (min-width:1201px) and (max-width:1280px){.mec-full-calendar-wrap .mec-totalcal-view span{font-size:9px;padding:0 10px}}@media (min-width:761px) and (max-width:1200px){.mec-full-calendar-wrap .mec-search-form .mec-dropdown-wrap .mec-dropdown-search{width:33.3333%;display:block;float:left}.mec-full-calendar-wrap .mec-search-form .col-md-4 .mec-text-input-search{padding:0;margin-bottom:20px}.mec-full-calendar-wrap .mec-search-form .col-md-3{width:100%}.mec-full-calendar-wrap .mec-search-form .mec-date-search select:last-child{min-width:70px;width:70px}.mec-full-calendar-wrap .mec-search-form .col-md-5{float:right;padding:0 0 10px 0}.mec-full-calendar-wrap .mec-totalcal-view span{font-size:11px}}@media (max-width:760px){.mec-full-calendar-wrap .mec-search-form .col-md-3{width:100%}.mec-full-calendar-wrap .mec-search-form .mec-date-search select:last-child{min-width:70px;width:70px}.mec-full-calendar-wrap .mec-search-form .col-md-5{float:right;padding:0 0 10px 0}.mec-full-calendar-wrap .mec-totalcal-view span{font-size:11px}}@media (max-width:960px){.mec-full-calendar-wrap .mec-totalcal-box{padding:20px 20px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2{width:50%}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2,.mec-full-calendar-wrap .mec-totalcal-box .col-md-3,.mec-full-calendar-wrap .mec-totalcal-box .col-md-4{padding-bottom:10px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2 select{min-width:calc(100% - 36px);margin-bottom:10px}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view{margin-left:10px}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{font-size:10px;text-align:center}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2{width:100%}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{min-width:14.3%;text-align:center;font-size:10px;margin-right:-1px}}@media (max-width:780px){.mec-full-calendar-wrap .mec-totalcal-box .col-md-3 select{width:calc(50% - 18px)!important}.mec-full-calendar-wrap .mec-totalcal-box .col-md-4{position:unset;padding-right:0}.mec-full-calendar-wrap .mec-search-form .col-md-3,.mec-full-calendar-wrap .mec-search-form .col-md-4,.mec-full-calendar-wrap .mec-search-form .col-md-5{margin:0;padding:0}.mec-wrap .mec-totalcal-box .mec-totalcal-view span{padding:0 7px;margin-top:20px}}@media (max-width:480px){.mec-full-calendar-wrap .mec-totalcal-box{padding:15px 10px}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{min-width:13.5%;text-align:center;font-size:11px}}@media (max-width:411px){.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{min-width:12%;font-size:10px}}@media (max-width:320px){.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{min-width:22.5%;font-size:11px}}.mec-totalcalview-selected:hover{color:#fff!important}.mec-search-form{padding:20px 10px}.mec-search-form .mec-dropdown-wrap{display:table;width:100%}.mec-search-form .mec-date-input-search,.mec-search-form .mec-date-search,.mec-search-form .mec-dropdown-search,.mec-search-form .mec-text-input-search,.mec-search-form .mec-time-input-search{padding:0 10px;float:left}.mec-search-form .mec-date-search,.mec-search-form .mec-time-picker-search,.mec-search-form .mec-totalcal-view{padding:0 10px}.mec-search-form .mec-text-input-search{width:100%}.mec-search-form .mec-full-calendar-search-ends .mec-text-input-search{width:50%}.mec-search-form .mec-date-search,.mec-search-form .mec-time-picker-search{width:50%;float:left}.mec-search-form .mec-date-search.with-mec-time-picker,.mec-search-form .mec-time-picker-search.with-mec-date-search{width:25%;float:left}.mec-search-form .mec-tab-loader.col-md-6 .mec-totalcal-view{padding:0}.mec-wrap .mec-search-form .with-mec-date-search .mec-timepicker-end,.mec-wrap .mec-search-form .with-mec-date-search .mec-timepicker-start{width:calc(50% - 17px)}.mec-search-form .mec-full-calendar-search-ends .mec-text-input-search.col-md-12,.mec-search-form .mec-minmax-event-cost,.mec-search-form .mec-text-address-search{min-height:55px}.mec-search-form .mec-full-calendar-search-ends .mec-text-input-search.col-md-12,.mec-widget .mec-search-form .mec-date-search,.mec-widget .mec-search-form .mec-text-input-search{width:100%}.mec-search-form .mec-full-calendar-search-ends .mec-text-input-search.col-md-12{padding:0 10px}.mec-search-form .mec-minmax-event-cost,.mec-search-form .mec-text-address-search,.mec-widget .mec-search-form .mec-text-input-search{margin-top:10px}.mec-search-form .mec-date-search{clear:left}.mec-search-form .mec-dropdown-wrap .mec-dropdown-search{display:table-cell;float:none}.mec-widget .mec-search-form .mec-dropdown-wrap .mec-dropdown-search{display:block}.mec-checkboxes-search .mec-searchbar-category-wrap,.mec-wrap .mec-search-form .mec-dropdown-wrap .mec-dropdown-search select{width:calc(100% - 36px);margin-bottom:10px}.mec-wrap .mec-search-form .mec-minmax-price input,.mec-wrap .mec-search-form .mec-text-address-search input,.mec-wrap .mec-search-form .mec-text-input-search input{margin-bottom:10px}.mec-wrap .mec-totalcal-box label{display:block;line-height:1.8;margin-bottom:4px;font-size:13px;color:#9a9a9a}.mec-wrap .mec-search-form .mec-date-search select{width:calc(100% - 106px)}.mec-wrap .mec-search-form .mec-date-search select:last-child{width:70px}@media only screen and (max-width:781px){.mec-search-form .mec-date-search,.mec-search-form .mec-dropdown-search,.mec-search-form .mec-text-input-search{width:100%;float:none}.mec-search-form .mec-date-search{min-height:55px}.mec-search-form .mec-dropdown-wrap .mec-dropdown-search{display:block;width:50%;float:left}.mec-full-calendar-wrap .mec-totalcal-box .col-md-3{margin-bottom:0;padding-bottom:0!important}}@media only screen and (max-width:479px){.mec-search-form .mec-dropdown-wrap .mec-dropdown-search{display:block;width:100%;float:none}}@media only screen and (min-width:961px) and (max-width:1200px){.post-type-archive-mec-events .mec-totalcal-box .col-md-3,.post-type-archive-mec-events .mec-totalcal-box .col-md-4,.post-type-archive-mec-events .mec-totalcal-box .col-md-5{max-width:100%;width:100%}.post-type-archive-mec-events .mec-totalcal-box .col-md-4{padding:0 10px}.post-type-archive-mec-events .mec-totalcal-box .col-md-4 .mec-text-input-search{margin:0}.post-type-archive-mec-events .mec-totalcal-box .col-md-5{margin-bottom:20px;padding:0 10px 10px 10px}}@media only screen and (max-width:960px){.mec-full-calendar-wrap .mec-totalcal-box .col-md-4,.post-type-archive-mec-events .mec-totalcal-box .col-md-4{padding:0 10px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-4{margin-bottom:0}.post-type-archive-mec-events .mec-totalcal-box .col-md-4 .mec-text-input-search{margin:0}.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view{padding-right:15px}.mec-full-calendar-wrap .mec-search-form .col-md-5{margin-bottom:0}.post-type-archive-mec-events .mec-totalcal-box .col-md-5{padding:0}}@media only screen and (max-width:780px){.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view span{margin-top:10px;margin-bottom:10px}.mec-wrap .mec-totalcal-box .mec-totalcal-view span{margin-top:0}}@media only screen and (max-width:760px){.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view span{margin-top:20px;margin-bottom:0}.mec-wrap .mec-totalcal-box .mec-totalcal-view span{margin-top:20px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-4,.post-type-archive-mec-events .mec-totalcal-box .col-md-4{padding:0}}@media only screen and (max-width:1200px){.post-type-archive-mec-events .mec-full-calendar-wrap .mec-totalcal-view span{width:14.333%;font-size:8px}}@media only screen and (min-width:320px) and (max-width:960px){.post-type-archive-mec-events .mec-search-form .col-md-5 span{width:20%!important}}.mec-search-form .mec-text-address-search{float:left;width:100%;padding:0 10px}@media (max-width:960px){.mec-search-form .mec-dropdown-search{margin-bottom:10px}.mec-wrap .mec-minmax-event-cost.with-mec-address,.mec-wrap .mec-text-address-search.with-mec-cost{margin-top:0}.mec-search-form .mec-date-search.with-mec-time-picker,.mec-search-form .mec-time-picker-search.with-mec-date-search{width:50%;margin-bottom:20px}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view{margin:0}.mec-full-calendar-wrap .mec-tab-loader{width:100%;display:block;float:unset;padding:0 0 0 10px}}@media (max-width:780px){.mec-full-calendar-wrap .mec-totalcal-box{padding:10px}.mec-search-form .mec-date-search.with-mec-time-picker,.mec-search-form .mec-time-picker-search.with-mec-date-search{margin:20px 0;height:auto}.mec-search-form .mec-date-search{min-height:unset}}@media (max-width:480px){.mec-search-form .mec-date-search.with-mec-time-picker,.mec-search-form .mec-time-picker-search.with-mec-date-search{width:100%}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{min-width:12%;text-align:center;font-size:9px}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span,.mec-search-form .mec-date-search.with-mec-time-picker,.mec-search-form .mec-full-calendar-search-ends .mec-text-input-search,.mec-search-form .mec-minmax-event-cost,.mec-search-form .mec-text-address-search,.mec-search-form .mec-time-picker-search.with-mec-date-search,.mec-wrap .mec-minmax-event-cost.with-mec-address{margin-bottom:0;margin-top:10px;min-height:auto}.mec-wrap .mec-minmax-event-cost.with-mec-address{margin-bottom:10px}.mec-wrap.mec-widget .mec-minmax-event-cost.with-mec-address,.mec-wrap.mec-widget .mec-search-form .mec-time-picker-search.with-mec-date-search,.mec-wrap.mec-widget .mec-text-address-search.with-mec-cost{display:block!important;width:100%!important;max-width:100%!important}.mec-wrap.mec-widget .mec-minmax-event-cost.with-mec-address{float:left!important;max-width:calc(100% - 20px)!important;margin:0 0 0 10px!important}.mec-wrap.mec-widget .mec-search-form .mec-time-picker-search.with-mec-date-search{margin-top:20px!important}.mec-wrap.mec-widget .mec-search-form .mec-text-input-search{padding:10px!important}}.ui-datepicker{background-color:#fff;border:1px solid #66afe9;border-radius:4px;box-shadow:0 0 8px rgba(102,175,233,.6);display:none;margin-top:4px;padding:10px;width:240px}.ui-datepicker a,.ui-datepicker a:hover{text-decoration:none;cursor:pointer}.ui-datepicker a:hover,.ui-datepicker td:hover a{color:#2c6396;-webkit-transition:color .1s ease-in-out;-moz-transition:color .1s ease-in-out;-o-transition:color .1s ease-in-out;transition:color .1s ease-in-out}.ui-datepicker .ui-datepicker-header{margin-bottom:4px;text-align:center}.ui-datepicker .ui-datepicker-title{font-weight:700}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{cursor:default;font-family:dashicons;-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;height:20px;line-height:1.4;margin-top:2px;width:20px}.ui-datepicker .ui-datepicker-prev{float:left;text-align:left}.ui-datepicker .ui-datepicker-next{float:right;text-align:center}.ui-datepicker .ui-datepicker-prev:before{content:"\f341"}.ui-datepicker .ui-datepicker-next:before{content:"\f345"}.ui-datepicker .ui-icon{display:none}.ui-datepicker .ui-datepicker-calendar{table-layout:fixed;width:100%}.ui-datepicker .ui-datepicker-calendar td,.ui-datepicker .ui-datepicker-calendar th{text-align:center;padding:4px 0}.ui-datepicker .ui-datepicker-calendar td{border-radius:4px;-webkit-transition:background-color .1s ease-in-out,color .1s ease-in-out;-moz-transition:background-color .1s ease-in-out,color .1s ease-in-out;-o-transition:background-color .1s ease-in-out,color .1s ease-in-out;transition:background-color .1s ease-in-out,color .1s ease-in-out}.ui-datepicker .ui-datepicker-calendar td:hover{background-color:#eee;cursor:pointer}.ui-datepicker .ui-datepicker-calendar td a{text-decoration:none}.ui-datepicker .ui-datepicker-current-day{background-color:#4289cc}.ui-datepicker .ui-datepicker-current-day a{color:#fff}.ui-datepicker .ui-datepicker-calendar .ui-datepicker-unselectable:hover{background-color:#fff;cursor:default}.mec-owl-theme .owl-dots .owl-dot{border:none}.event-carousel-type1-head .mec-event-image{position:relative;min-height:150px;overflow:hidden}.event-carousel-type1-head .mec-event-image img{width:100%}.mec-event-carousel-content .mec-event-carousel-title a{transition:all .2s ease}.event-carousel-type1-head .mec-event-date-carousel{position:absolute;top:25px;left:1px;font-size:41px;width:160px;color:#fff;font-weight:500;background-color:#40d9f1;padding-left:14px;height:97px;line-height:2.3;padding-right:85px}.event-carousel-type1-head .mec-event-date-carousel:after{content:"";position:absolute;display:inline-block;z-index:-1;bottom:-13px;left:5px;width:0;border-width:13px;border-style:solid;border-color:transparent transparent #40d9f1 transparent;transform:rotate(45deg)}.event-carousel-type1-head .mec-event-date-info{font-size:12px;font-weight:300;position:absolute;top:27px;left:75px}.event-carousel-type1-head .mec-event-date-info-year{font-size:12px;font-weight:300;position:absolute;top:45px;left:75px}.mec-event-carousel-content{border:1px solid #e8e8e8;border-top:none;margin-top:-5px;padding:34px 9px 11px 37px}.mec-event-carousel-content .mec-event-carousel-title a{font-size:23px;font-weight:500;color:#000;letter-spacing:-1px}.mec-event-carousel-content p{font-size:14px;color:#7a7272;font-weight:300}.mec-owl-crousel-skin-type1 .owl-item .mec-event-article{padding:0 19px}.mec-event-carousel-type1 .owl-page.active span{background-color:#00aeef;height:14px;width:14px}.mec-event-carousel-type1 .mec-event-carousel-content{margin-bottom:15px;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:all .27s ease}.mec-event-carousel-type1 .mec-event-carousel-content:hover{box-shadow:0 0 35px rgba(0,0,0,.07)}.mec-skin-carousel-container .mec-multiple-event .mec-event-date-carousel{width:255px}.mec-skin-carousel-container .mec-multiple-event .event-carousel-type1-head .mec-event-date-info,.mec-skin-carousel-container .mec-multiple-event .event-carousel-type1-head .mec-event-date-info-year{left:175px}.mec-skin-carousel-container .mec-time-details,.mec-skin-carousel-container .mec-time-details span{font-size:11px;font-weight:400;line-height:1.9;letter-spacing:0;color:#000;border-radius:2px;white-space:nowrap}.mec-event-carousel-type4 .mec-time-details,.mec-event-carousel-type4 .mec-time-details span{color:#fff}.mec-skin-carousel-container .mec-time-details span{margin:0;display:inline-block}@media only screen and (min-width:768px) and (max-width:1000px),(min-width:270px) and (max-width:448px){.event-carousel-type1-head .mec-event-date-carousel{font-size:25px;line-height:2.5;padding-right:70px;height:64px;width:120px}.event-carousel-type1-head .mec-event-date-carousel:after{left:7px}.event-carousel-type1-head .mec-event-date-info{font-size:10px;top:13px;left:55px}.event-carousel-type1-head .mec-event-date-info-year{font-size:10px;top:25px;left:55px}.event-carousel-type1-head .mec-event-date-carousel:after{top:48px}}.event-carousel-type2-head{background:#fff;border:1px solid #e6e6e6}.event-carousel-type2-head .mec-event-carousel-content-type2{margin-top:15px;min-height:182px}.event-carousel-type2-head .mec-event-carousel-content-type2 .mec-event-date-info{font-size:15px;color:#9a9a9a;font-weight:300}.event-carousel-type2-head .mec-event-carousel-content-type2 .mec-event-carousel-title{font-size:26px;font-weight:700;color:#1c1d21;margin-top:15px;letter-spacing:-1px}.mec-event-carousel-content-type2 .mec-event-carousel-title a{color:inherit}.mec-event-carousel-type2 .event-carousel-type2-head .mec-event-carousel-content-type2 p{font-size:16px;font-weight:300;color:#444}.event-carousel-type2-head .mec-event-footer-carousel-type2{margin-top:33px;position:relative}.mec-event-carousel-type2 .mec-event-footer-carousel-type2 .mec-event-sharing-wrap{padding-left:0;left:0}.event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-event-sharing-wrap>li{border:none;-webkit-transition:all .25s ease;transition:all .25s ease}.event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-booking-button{border:1px solid #e4e4e4;float:right;padding:7px 23px 7px;font-size:12px;text-transform:uppercase;color:#707070;font-weight:500;-webkit-transition:all .25s ease;transition:all .25s ease}.event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-booking-button:hover{color:#fff}.mec-event-article .event-carousel-type2-head{padding:10%;margin-right:-1px}.mec-event-carousel-type2 .mec-owl-carousel .owl-wrapper-outer{border-right:1px solid #e6e6e6}.event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-booking-button{line-height:25px;height:41px;margin-right:0}.event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-modal-booking-button{margin-right:20px}.mec-wrap .mec-event-carousel-type2 .owl-next,.mec-wrap .mec-event-carousel-type2 .owl-prev,.mec-wrap .mec-event-carousel-type3 .owl-next,.mec-wrap .mec-event-carousel-type3 .owl-prev,.mec-wrap .mec-event-carousel-type4 .owl-next,.mec-wrap .mec-event-carousel-type4 .owl-prev{transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:47%;background-color:transparent!important;position:absolute!important}.mec-event-carousel-type2 .owl-next{right:-60px}.mec-event-carousel-type2 .owl-prev{left:-60px}.mec-event-carousel-type2 .owl-next i,.mec-event-carousel-type2 .owl-prev i,.mec-event-carousel-type3 .owl-next i,.mec-event-carousel-type3 .owl-prev i,.mec-event-carousel-type4 .owl-next i,.mec-event-carousel-type4 .owl-prev i{font-size:40px;color:#282828}.mec-event-carousel-type2 .owl-next i:hover,.mec-event-carousel-type2 .owl-prev i:hover,.mec-event-carousel-type3 .owl-next i:hover,.mec-event-carousel-type3 .owl-prev i:hover{color:#000;cursor:pointer}.mec-event-footer-carousel-type2 .mec-event-sharing-wrap .mec-event-sharing{top:auto;bottom:60px}.mec-event-footer-carousel-type2 .mec-event-sharing-wrap .mec-event-sharing:after,.mec-event-footer-carousel-type2 .mec-event-sharing-wrap .mec-event-sharing:before{top:auto;bottom:-19px;border-color:#e2e2e2 transparent transparent transparent}.mec-event-footer-carousel-type2 .mec-event-sharing-wrap .mec-event-sharing:after{bottom:-18px;border-color:#fff transparent transparent transparent}@media only screen and (min-width:320px) and (max-width:768px){.mec-event-carousel-type2 .owl-next,.mec-event-carousel-type2 .owl-prev,.mec-event-carousel-type3 .owl-next,.mec-event-carousel-type3 .owl-prev,.mec-event-carousel-type4 .owl-next,.mec-event-carousel-type4 .owl-prev{position:initial;top:100%}}.mec-event-carousel-type3 .mec-event-article{margin:0 10px}.event-carousel-type3-head .mec-event-image,.event-carousel-type3-head .mec-event-image img{width:100%;height:auto}.event-carousel-type3-head .mec-event-footer-carousel-type3{background:#fff;display:inline-block;width:calc(100% - 40px);margin-top:-74px;position:relative;margin-left:20px;margin-right:20px;margin-bottom:6px;padding:8% 11%;box-shadow:0 2px 10px -2px rgba(0,0,0,.2)}.event-carousel-type3-head .mec-event-footer-carousel-type3 .mec-booking-button{border:1px solid #e4e4e4;text-transform:uppercase;float:right;padding:7px 23px 7px;font-size:12px;color:#707070;font-weight:500}.event-carousel-type3-head .mec-event-footer-carousel-type3 .mec-booking-button:hover{color:#fff}.mec-event-footer-carousel-type3 span{font-size:15px;color:#9a9a9a;font-weight:300;display:block;margin-top:30px}.mec-event-footer-carousel-type3 .mec-event-carousel-title{font-size:29px;font-weight:700}.event-carousel-type3-head .mec-event-footer-carousel-type3 .mec-event-carousel-title{font-size:26px;font-weight:700;color:#1c1d21;margin-top:15px;letter-spacing:-1px}.mec-event-footer-carousel-type3 .mec-event-carousel-title a{color:inherit}.event-carousel-type3-head .mec-event-footer-carousel-type3 p{font-size:16px;font-weight:300;color:#444!important;margin-bottom:36px}.event-carousel-type3-head .mec-event-footer-carousel-type3 .mec-booking-button{line-height:25px;height:41px}.mec-event-carousel-type3 .owl-next{right:-70px}.mec-event-carousel-type3 .owl-prev{left:-70px}.mec-event-footer-carousel-type3 .mec-event-sharing-wrap{left:11%}.mec-event-footer-carousel-type3 .mec-event-sharing-wrap .mec-event-sharing{top:auto;bottom:60px}.mec-event-footer-carousel-type3 .mec-event-sharing-wrap .mec-event-sharing:after,.mec-event-footer-carousel-type3 .mec-event-sharing-wrap .mec-event-sharing:before{top:auto;bottom:-19px;border-color:#e2e2e2 transparent transparent transparent}.mec-event-footer-carousel-type3 .mec-event-sharing-wrap .mec-event-sharing:after{bottom:-18px;border-color:#fff transparent transparent transparent}.event-carousel-type3-head .mec-end-date-label{display:inline;margin-left:2px}.event-carousel-type4-head.clearfix{position:relative;overflow:hidden;background:#fff}.event-carousel-type4-head .mec-event-overlay{position:absolute;left:0;right:0;bottom:0;top:0;width:auto;height:auto;background-color:rgba(36,36,36,.4);transition:all .33s ease-in-out}.mec-event-hover-carousel-type4{font-size:15px;color:#fff;position:absolute;bottom:0;padding:50px 35px;transition:all .33s ease-in-out;opacity:0;visibility:hidden}.mec-event-carousel-type4 .mec-event-article{margin:0 10px}.mec-event-carousel-type4 .mec-event-article:hover .mec-event-hover-carousel-type4{opacity:1;visibility:visible}.mec-event-hover-carousel-type4 .mec-event-icon{font-size:18px;float:left;margin-right:14px;color:#fff;padding:13px}.mec-event-hover-carousel-type4 .mec-event-date{font-size:11px;text-transform:uppercase;font-weight:400;line-height:1.6;text-align:left}.mec-event-hover-carousel-type4 .mec-event-date span{display:block;font-weight:700;font-size:14px}.mec-event-hover-carousel-type4 .mec-event-title{color:#fff;margin:20px 0 38px;font-size:16px;font-weight:700;text-transform:uppercase;font-style:normal}.mec-event-hover-carousel-type4 .mec-btn-wrapper{text-align:left}.mec-event-hover-carousel-type4 .mec-event-button{color:#fff;background-color:#191919;border:2px #191919 solid;padding:10px 14px;letter-spacing:1.5px;font-size:11px;font-weight:700;font-style:normal;transition:all .22s ease;text-decoration:none}.mec-event-hover-carousel-type4 .mec-event-button:hover{color:#191919;background-color:#fff;border-color:#fff;border-radius:1px}.mec-event-carousel-type4 .owl-next{right:-70px}.mec-event-carousel-type4 .owl-prev{left:-70px}.mec-carousel-type4-head{margin-bottom:25px}.mec-carousel-type4-head-title{padding:0 11px;text-align:left;font-weight:700;font-size:20px;color:#000}.mec-carousel-type4-head-link{text-align:right;padding:0 11px}.mec-carousel-type4-head-link a{background:#222;color:#fff;padding:10px 38px;transition:all .3s ease}.mec-carousel-type4-head-link a:hover,.mec-carousel-type4-head-link a:visited{color:#fff}@media (max-width:960px){.mec-event-carousel-type4 .owl-stage{left:-50px}}.mec-wrap .mec-event-countdown-style1{color:#fff;padding:0!important;display:table;background:#437df9}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part1{z-index:5;padding:50px 1% 50px 4%;display:table-cell;float:none;vertical-align:middle}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part2{background-color:rgba(0,0,0,.05);height:100%;padding-top:0;display:table-cell;float:none;position:relative;vertical-align:middle}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part3{background-color:#f8f8f8;display:table-cell;float:none;text-align:center;vertical-align:middle}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part1 .mec-event-title{color:#fff;font-size:15px;margin-top:30px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part1 .mec-event-upcoming{font-size:36px;font-weight:700;line-height:1;margin-top:0}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part2 .mec-event-countdown>div{display:inline-block}.mec-event-countdown-style1 .mec-events-meta-group-countdown{color:#c9c9c9;margin-bottom:30px;padding:20px 30px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-countdown-style1 .mec-event-countdown-part1 .mec-event-upcoming span{display:block}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part2:after{content:"";position:absolute;display:inline-block;z-index:1;top:50%;margin-top:-11px;right:-24px;width:0;border-width:12px;border-style:solid;border-color:transparent transparent transparent #4077ed}.mec-event-countdown-style1 .mec-event-countdown-part2 .mec-event-date-place{text-align:center;padding-bottom:8px}.mec-event-countdown-part2 .mec-event-place,.mec-event-countdown-style1 .mec-event-countdown-part2 .mec-event-date{display:inline;font-size:14px;padding:0 5px;text-align:center}.mec-event-countdown-style1 .mec-event-countdown-part3 .mec-event-button{display:inline-block;padding:14px 30px;vertical-align:middle;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#fff;background:#4077ed;transition:all .24s ease}.mec-event-countdown-style1 .mec-event-countdown-part3 .mec-event-button:hover{background:#222}.mec-event-countdown-style1 .mec-event-countdown{text-align:center;display:table;table-layout:fixed;margin:0 auto}.mec-event-countdown-style1 .mec-event-countdown .label-w{letter-spacing:1px;text-transform:uppercase;position:relative}.mec-event-countdown-style1 .mec-event-countdown .block-w{display:table-cell;margin:0 20px 10px;position:relative;height:70px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li{background-color:rgba(0,0,0,.1);margin:5px;padding:20px 0;min-width:94px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li span{font-size:30px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li .label-w{font-size:12px;color:#fff;margin:8px 0 0;line-height:1}@media only screen and (min-width:1200px){.mec-wrap.mec-sm959 .mec-event-countdown-style1 .mec-event-countdown-part1,.mec-wrap.mec-sm959 .mec-event-countdown-style1 .mec-event-countdown-part2,.mec-wrap.mec-sm959 .mec-event-countdown-style1 .mec-event-countdown-part3{width:100%;display:block;padding-top:50px;padding-bottom:50px}.mec-wrap.mec-sm959 .mec-event-countdown-style1 .mec-event-countdown-part2:after{border-color:#4077ed transparent transparent transparent;top:auto;margin-top:0;bottom:-24px;margin-left:-11px;left:50%}}@media (max-width:960px){.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part1,.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part2,.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part3{width:100%;display:block;padding-top:50px;padding-bottom:50px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part2:after{border-color:#4077ed transparent transparent transparent;top:auto;margin-top:0;bottom:-24px;margin-left:-11px;left:50%;transform:rotate(90deg)}}@media (max-width:480px){.mec-event-countdown-style1 .mec-event-countdown .block-w{margin:3px;height:auto}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li{padding:10px 5px;min-width:50px;margin:3px 1px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li span{font-size:15px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li .label-w{font-size:8px}.mec-event-countdown-style1 .mec-event-countdown-part2 .mec-event-date-place{display:inline}}.mec-wrap .mec-event-countdown-style2{color:#fff;padding:30px 0;background:#437df9;max-width:600px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part1,.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part2,.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part3{width:100%;float:none;vertical-align:middle;padding:50px 10% 50px 10%}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part2{padding-top:12%;padding-bottom:0}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part1 .mec-event-title{color:#fff;font-size:15px;margin-top:30px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part1 .mec-event-upcoming{font-size:36px;font-weight:700;line-height:1;margin-top:0}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part2 .mec-event-countdown>div{display:inline-block}.mec-event-countdown-style2 .mec-events-meta-group-countdown{color:#c9c9c9;margin-bottom:30px;padding:20px 30px;background:#fff;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-countdown-style2 .mec-event-countdown-part1 .mec-event-upcoming span{display:block}.mec-event-countdown-style2 .mec-event-countdown-part2 .mec-event-date-place{text-align:left;padding-bottom:8px}.mec-event-countdown-part2 .mec-event-place,.mec-event-countdown-style2 .mec-event-countdown-part2 .mec-event-date{display:inline;font-size:14px;padding:0 8px}.mec-event-countdown-style2 .mec-event-countdown-part3 .mec-event-button{display:inline-block;padding:14px 30px;vertical-align:middle;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#222;background:#fff;transition:all .24s ease}.mec-event-countdown-style2 .mec-event-countdown-part3 .mec-event-button:hover{background:#222;color:#fff}.mec-event-countdown-style2 .mec-event-countdown{text-align:center;display:table;table-layout:fixed;margin:0}.mec-event-countdown-style2 .mec-event-countdown .label-w{letter-spacing:1px;text-transform:uppercase;position:relative}.mec-event-countdown-style2 .mec-event-countdown .block-w{display:table-cell;margin:0 20px 10px;position:relative;height:70px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li{background-color:rgba(0,0,0,.1);margin:5px;padding:20px 0;min-width:94px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li span{font-size:30px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li .label-w{font-size:12px;color:#fff;margin:8px 0 0;line-height:1}@media only screen and (max-width:767px){.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li{min-width:80px;padding:15px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li span{font-size:26px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li .label-w{font-size:11px}}@media only screen and (max-width:479px){.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li{min-width:40px;padding:15px 10px;margin:2px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li span{font-size:20px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li .label-w{font-size:9px}}@media (max-width:380px){.mec-event-countdown-style2 .mec-event-countdown .block-w{margin:3px;height:auto}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li{padding:10px 4px;margin:4px 1px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li span{font-size:15px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li .label-w{font-size:7px}}.mec-wrap .mec-event-countdown-style3{color:#fff;padding:0;background:#282828;display:table;width:100%}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1{width:68%;padding:50px 1% 50px 4%;vertical-align:middle;display:table-cell;position:relative}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part2{width:32%;display:table-cell;position:relative;padding-bottom:0;padding-top:0}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part2 img{width:100%;display:block}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1 .mec-event-countdown-part-title span{font-weight:300;display:block}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1 .mec-event-upcoming{color:#fff;font-size:36px;letter-spacing:-2px;font-weight:700;line-height:1;margin-top:-10px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part2 .mec-event-countdown>div{display:inline-block}.mec-event-countdown-style3 .mec-events-meta-group-countdown{color:#c9c9c9;margin-bottom:30px;padding:20px 30px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-countdown-style3 .mec-event-countdown-part2 .mec-event-date-place{text-align:center;padding-bottom:8px}.mec-event-countdown-part2 .mec-event-place,.mec-event-countdown-style3 .mec-event-countdown-part2 .mec-event-date{display:inline;font-size:14px;padding:0 5px;text-align:center}.mec-event-countdown-style3 .mec-event-countdown-part3 .mec-event-button{display:inline-block;padding:14px 30px;vertical-align:middle;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#fff;background:#4077ed;transition:all .24s ease}.mec-event-countdown-style3 .mec-event-countdown-part3 .mec-event-button:hover{background:#222}.mec-event-countdown-style3 .mec-event-countdown{text-align:center;display:table;table-layout:fixed;margin:0 auto;position:absolute;top:40px;right:20px}.mec-event-countdown-style3 .mec-event-countdown .label-w{letter-spacing:1px;text-transform:uppercase;position:relative}.mec-event-countdown-style3 .mec-event-countdown .block-w{display:table-cell;margin:0 20px 10px;position:relative;height:70px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li{padding:15px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li span{font-size:30px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li .label-w{font-size:11px;color:#888;margin:8px 0 0;line-height:1}.mec-event-countdown-style3 .mec-event-date{width:176px;height:96px;background:#40d9f1;color:#fff;font-size:13px;position:absolute;left:-27px;top:146px}.mec-event-countdown-style3 .mec-event-date:after{content:"";position:absolute;display:inline-block;z-index:1;bottom:-18px;left:8px;width:0;border-width:19px;border-style:solid;border-color:transparent transparent #40d9f1 transparent;transform:rotate(45deg)}.mec-event-countdown-style3 .mec-event-date .mec-date1{font-size:50px;position:absolute;top:3px;left:12px;letter-spacing:-3px}.mec-event-countdown-style3 .mec-event-date .mec-date2{position:absolute;left:80px;top:26px}.mec-event-countdown-style3 .mec-event-date .mec-date3{position:absolute;left:80px;top:45px}.mec-event-countdown-style3 .mec-event-countdown-part-details{padding-top:35px;margin-bottom:50px;min-height:100px}.mec-event-countdown-style3 .mec-event-countdown-part-details .mec-event-title{font-size:17px;color:#fff;line-height:1.4;padding-right:20px}.mec-event-countdown-style3 .mec-event-countdown-part-details .mec-event-link{color:#fff;font-size:12px;position:relative;padding-left:22px}.mec-event-countdown-style3 .mec-event-countdown-part-details .mec-event-link:before{content:"";display:inline-block;width:18px;border-top:1px solid #fff;position:absolute;left:0;top:8px}.mec-event-countdown-style3 .mec-event-title-link{position:absolute;left:190px;top:152px}.event-carousel-type1-head .mec-event-date-carousel:before,.mec-event-countdown-style3 .mec-event-date:before{content:"";position:absolute;left:0;bottom:0;z-index:2;width:100%;height:96px;display:inline-block;box-shadow:0 5px 5px rgba(0,0,0,.12);background:0 0}@media only screen and (min-width:960px){.mec-wrap.mec-sm959 .mec-event-countdown-style3 .mec-event-countdown li{padding:10px}.mec-wrap.mec-sm959 .mec-event-countdown-style3 .mec-event-countdown-part1 .mec-event-upcoming{font-size:31px}}@media (max-width:959px){.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1,.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part2{width:100%;display:block}.mec-event-countdown-style3 .mec-event-title-link{top:190px}.mec-event-countdown-style3 .mec-event-countdown{top:96px}.mec-event-countdown-style3 .mec-event-date{left:0;top:190px}.mec-event-countdown-style3 .mec-event-date:after{display:none}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1 .mec-event-countdown-part-title span{display:inline}.mec-event-countdown-style3 .mec-event-countdown-part-details{min-height:150px}}@media (max-width:767px){.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1 .mec-event-upcoming{font-size:26px;letter-spacing:-1px}.mec-event-countdown-style3 .mec-event-title-link{left:130px}.mec-event-countdown-style3 .mec-event-date{width:120px;font-size:10px;height:63px}.mec-event-countdown-style3 .mec-event-date .mec-date1{font-size:36px;top:20px;left:4px;letter-spacing:-2px}.mec-event-countdown-style3 .mec-event-date .mec-date2{position:absolute;left:52px;top:12px}.mec-event-countdown-style3 .mec-event-date .mec-date3{position:absolute;left:52px;top:28px}}@media (max-width:380px){.mec-event-countdown-style3 .mec-event-title-link{left:10px;top:260px}.mec-event-countdown-style3 .mec-event-countdown-part-details{min-height:300px}.mec-event-countdown-style3 .mec-event-countdown .block-w{margin:3px;height:auto}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li{padding:10px 5px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li span{font-size:15px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li .label-w{font-size:8px}}.mec-slider-t1-wrap{width:100%;padding:60px 90px;background:#f7f7f7;min-height:560px;position:relative}.mec-slider-t1{height:500px;box-shadow:0 5px 35px 0 rgba(0,0,0,.13)}.mec-slider-t1 .mec-event-article{position:relative;height:500px}.mec-slider-t1 .mec-slider-t1-img{position:relative;background-size:cover!important;background-position:center!important;width:50%;height:100%;float:right;margin:0;overflow:hidden}.mec-slider-t1 .mec-slider-t1-content{width:50%;float:left;height:100%;background:#fff;padding:6%}.mec-slider-t1-content.mec-event-grid-modern .mec-event-article{border:none;padding:0;margin:0;box-shadow:none}.mec-slider-t1-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-slider-t1-content.mec-event-grid-modern .mec-event-title a:hover{text-decoration:underline}.mec-slider-t1-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev{opacity:1;width:54px;height:54px;line-height:48px;border-radius:0;text-align:center;background:#fff;box-shadow:0 2px 11px 0 rgba(0,0,0,.045);transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:50%;margin-top:-27px;cursor:pointer}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next:hover,.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev:hover{box-shadow:0 4px 29px 0 rgba(0,0,0,.095)}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next{left:auto;right:-100px}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev{right:auto;left:-100px}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next i,.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev i{font-size:12px;color:#282828;transition:all .21s ease}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next:hover i,.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev:hover i{font-size:13px;color:#000;cursor:pointer}@media only screen and (min-width:961px){.mec-slider-t1{margin:0 auto;max-width:900px}}@media only screen and (max-width:960px){.mec-slider-t1 .mec-slider-t1-content,.mec-slider-t1 .mec-slider-t1-img{width:100%;float:none}.mec-slider-t1 .mec-slider-t1-img{height:300px}.mec-slider-t1,.mec-slider-t1 .mec-event-article{height:auto}}@media only screen and (max-width:768px){.mec-slider-t1-wrap{padding:0}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev{top:40px;margin-top:0}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next{left:auto;right:10px}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev{right:auto;left:10px}}@media only screen and (max-width:479px){.mec-slider-t1-content.mec-event-grid-modern .mec-event-title{font-size:22px}.mec-slider-t1-content.mec-event-grid-modern .event-grid-modern-head .mec-event-day{font-size:25px}}.mec-slider-t2-wrap{width:100%;padding:0;background:#fff;min-height:600px;position:relative}.mec-slider-t2 .mec-event-article{height:600px;position:relative;border:none;padding:0;margin:0;box-shadow:none;background:0 0}.mec-slider-t2 .mec-slider-t2-img{position:absolute;left:0;top:0;background-size:cover!important;background-position:center!important;width:70%;height:100%;margin:0;overflow:hidden}.mec-slider-t2 .mec-slider-t2-content{width:50%;position:absolute;right:0;top:60px;bottom:60px;padding:5%}.mec-slider-t2 .mec-slider-t2-content.mec-event-grid-modern *{color:#fff}.mec-slider-t2 .mec-slider-t2-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-slider-t2-content.mec-event-grid-modern .mec-event-content,.mec-slider-t2-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{background:0 0}.mec-slider-t2-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px}.mec-slider-t2-content.mec-event-grid-modern .mec-event-footer .mec-booking-button:hover{background:#fff;color:#000;border-color:#fff}.mec-slider-t2-content.mec-event-grid-modern .mec-event-footer .mec-booking-button:hover,.mec-slider-t2-content.mec-event-grid-modern .mec-event-title a:hover{color:#111}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev{opacity:1;width:44px;height:44px;line-height:38px;border-radius:0;text-align:center;background:0 0;border:1px solid #fff;transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:84px;cursor:pointer}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next:hover,.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev:hover{box-shadow:0 4px 16px 0 rgba(0,0,0,.075);background:#fff}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next{right:30px}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev{right:82px}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next i,.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev i{font-size:14px;color:#fff;opacity:1;transition:all .25s ease}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next:hover i,.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev:hover i{color:#000;cursor:pointer}.mec-wrap.colorskin-custom .mec-slider-t2 .mec-event-article .mec-event-date.mec-color{color:#fff}@media only screen and (min-width:961px){.mec-slider-t2{margin:0 auto;max-width:1200px}}@media only screen and (max-width:960px){.mec-slider-t2 .mec-slider-t2-content,.mec-slider-t2 .mec-slider-t2-img{width:100%;float:none;position:static}.mec-slider-t2 .mec-slider-t2-img{height:300px}.mec-slider-t2 .mec-event-article{height:auto}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev{top:40px}}@media only screen and (max-width:479px){.mec-slider-t2-content.mec-event-grid-modern .mec-event-title{font-size:22px}}.mec-slider-t3-wrap{width:100%;padding:0;background:#161616;min-height:700px;position:relative}.mec-slider-t3 .mec-event-article{height:700px;position:relative;border:none;padding:0;margin:0;box-shadow:none;background:0 0}.mec-slider-t3 .mec-slider-t3-img{position:absolute;left:0;top:0;background-size:cover!important;background-position:center!important;width:100%;height:100%;margin:0;overflow:hidden;opacity:.68;z-index:1}.mec-slider-t3 .mec-slider-t3-content{width:50%;height:auto;vertical-align:middle;display:table;position:absolute;left:0;top:50%;transform:translateY(-50%);bottom:0;padding:0 2% 0 7%;margin:auto 0;background:0 0;z-index:2}.mec-slider-t3 .mec-slider-t3-content.mec-event-grid-modern :not(.mec-color){color:#fff}.mec-slider-t3-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-slider-t3-content.mec-event-grid-modern .mec-event-content,.mec-slider-t3-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{background:0 0}.mec-slider-t3-content.mec-event-grid-modern .mec-booking-button{display:inline-block;border:1px solid;font-weight:500;letter-spacing:1px;text-transform:uppercase;font-size:13px;padding:0 42px;line-height:49px;height:50px;transition:all .21s ease}.mec-slider-t3-content.mec-event-grid-modern .mec-booking-button:hover{background:#fff;color:#000;border-color:#fff}.mec-slider-t3-content.mec-event-grid-modern .mec-slider-t3-footer{text-align:left;padding:15px 15px 10px}.mec-slider-t3-content.mec-event-grid-modern .mec-event-footer .mec-booking-button:hover,.mec-slider-t3-content.mec-event-grid-modern .mec-event-title a:hover{color:#40d9f1}.mec-slider-t3-content.mec-event-grid-modern .mec-event-footer .mec-booking-button:hover{border-color:#40d9f1}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev{opacity:1;width:44px;height:44px;line-height:38px;border-radius:0;text-align:center;background:0 0;border:1px solid #fff;transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:50%;margin-top:-22px;cursor:pointer}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next:hover,.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev:hover{box-shadow:0 4px 16px 0 rgba(0,0,0,.075);background:#fff}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next{right:10px}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev{right:auto;left:10px}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next i,.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev i{font-size:14px;color:#fff;opacity:1;transition:all .25s ease}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next:hover i,.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev:hover i{color:#000;cursor:pointer}@media only screen and (min-width:961px){.mec-slider-t3-content.mec-event-grid-modern .mec-event-title{font-size:50px;font-weight:300}.mec-slider-t3-content.mec-event-grid-modern .mec-event-description{font-size:19px}}@media only screen and (max-width:767px){.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev{top:40px;margin-top:0}}@media only screen and (max-width:479px){.mec-slider-t3 .mec-slider-t3-content{width:100%}.mec-slider-t3-content.mec-event-grid-modern .mec-event-title{font-size:22px}.mec-slider-t1-content.mec-event-grid-modern .event-grid-modern-head .mec-event-day{font-size:25px}}.mec-slider-t4-wrap{width:100%;padding:0;background:#161616;min-height:700px;position:relative}.mec-slider-t4 .mec-event-article{height:700px;border:none;padding:0;margin:0;box-shadow:none;background:0 0}.mec-slider-t4 .mec-slider-t4-img{position:absolute;left:0;top:0;background-size:cover!important;background-position:center!important;width:100%;height:100%;margin:0;overflow:hidden;z-index:1}.mec-slider-t4 .mec-slider-t4-content{width:auto;max-width:700px;background:rgba(37,37,37,.94)!important;height:auto;vertical-align:middle;display:table;position:absolute;left:8%;top:19%;padding:3%;margin:auto 0;background:0 0;z-index:2}.mec-slider-t4 .mec-slider-t4-content.mec-event-grid-modern :not(.mec-color){color:#fff}.mec-slider-t4-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-slider-t4-content.mec-event-grid-modern .mec-event-content,.mec-slider-t4-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{background:0 0}.mec-slider-t4-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:13px;padding:0 42px;line-height:49px;height:50px}.mec-slider-t4-content.mec-event-grid-modern .mec-event-title a:hover{color:#40d9f1}.mec-slider-t4-content.mec-event-grid-modern .mec-slider-t4-footer{text-align:left;padding:15px 15px 10px}.mec-slider-t4-content.mec-event-grid-modern .mec-booking-button{display:inline-block;border:1px solid;font-weight:500;letter-spacing:1px;text-transform:uppercase;font-size:13px;padding:0 42px;line-height:49px;height:50px;transition:all .21s ease}.mec-slider-t4-content.mec-event-grid-modern .mec-booking-button:hover{background:#fff;color:#000;border-color:#fff}.mec-slider-t4-content.mec-event-grid-modern .mec-event-footer .mec-booking-button:hover,.mec-slider-t4-content.mec-event-grid-modern .mec-event-title a:hover{color:#111}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-prev{opacity:1;width:44px;height:44px;line-height:40px;border-radius:0;text-align:center;background:0 0;border:1px solid #fff;transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:34px;cursor:pointer}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-next:hover,.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-prev:hover{box-shadow:0 4px 16px 0 rgba(0,0,0,.075);background:#fff}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-next{right:60px}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-prev{right:112px}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-next i,.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-prev i{font-size:14px;color:#fff;opacity:1;transition:all .25s ease}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-next:hover i,.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-prev:hover i{color:#000;cursor:pointer}@media only screen and (max-width:767px){.mec-slider-t4 .mec-slider-t4-content{width:100%;left:0;top:auto;bottom:0}.mec-slider-t4-content.mec-event-grid-modern .mec-event-title{font-size:22px}.mec-slider-t1-content.mec-event-grid-modern .event-grid-modern-head .mec-event-day{font-size:25px}}.mec-slider-t5-wrap{width:auto;max-width:570px;padding:0;margin:0 auto 25px;background:#f7f7f7;min-height:480px;position:relative}.mec-slider-t5{height:auto;box-shadow:0 5px 35px 0 rgba(0,0,0,.13)}.mec-slider-t5 .mec-event-article{position:relative;height:auto}.mec-slider-t5 .mec-slider-t5-img{position:relative;background-size:cover!important;background-position:center!important;width:100%;height:300px;float:none;margin:0;overflow:hidden}.mec-slider-t5 .mec-slider-t5-content{width:100%;float:none;height:100%;background:#fff;padding:0 20px 20px;margin-bottom:0}.mec-slider-t5 .mec-events-content p{margin-bottom:20px}.mec-slider-t5-content.mec-event-grid-modern .mec-event-article{border:none;padding:0;margin:0;box-shadow:none}.mec-slider-t5-wrap .mec-event-grid-modern .event-grid-modern-head{margin-bottom:10px;padding:14px 34px;margin-left:-20px;margin-right:-20px;text-align:left;background:#f9f9f9;border-bottom:1px solid #eee}.mec-slider-t5-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-slider-t5 .mec-slider-t5-col6{width:50%;float:left;height:100%}.mec-slider-t5 .mec-slider-t5-col6 i{font-size:42px;float:left;margin-right:7px;height:58px}.mec-slider-t5 .mec-slider-t5-col6 h6{text-transform:uppercase;font-size:17px;padding:4px 0;display:inline;color:#444}.mec-slider-t5 .mec-slider-t5-col6 address{font-size:12px;margin-bottom:0}.mec-slider-t5-content.mec-event-grid-modern .mec-event-title a:hover{text-decoration:underline}.mec-slider-t5-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px;top:0}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-prev{opacity:1;width:44px;height:44px;line-height:40px;border-radius:0;text-align:center;background:0 0;border:1px solid #fff;transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:34px;cursor:pointer}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-next:hover,.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-prev:hover{box-shadow:0 4px 16px 0 rgba(0,0,0,.075);background:#fff}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-next{right:30px}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-prev{right:82px}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-next i,.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-prev i{font-size:14px;color:#fff;opacity:1;transition:all .25s ease}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-next:hover i,.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-prev:hover i{color:#000;cursor:pointer}@media only screen and (max-width:768px){.mec-slider-t5 .mec-slider-t5-col6{width:100%;margin:10px 0}}@media only screen and (max-width:479px){.mec-slider-t5-content.mec-event-grid-modern .mec-event-title{font-size:24px}}.mec-single-modern .mec-events-event-image{text-align:center}.mec-single-modern .mec-events-event-image img{width:100%}.mec-single-modern .mec-single-event-bar{background-color:#f7f7f7;margin:20px 0 0;padding:15px;display:table;width:100%}.mec-single-modern .mec-single-event-bar>div{display:table-cell}.mec-single-modern .mec-single-event-bar>div i{font-size:20px;vertical-align:middle}.mec-single-modern .mec-single-event-bar>div .mec-time-comment{font-size:12px;color:#999}.mec-single-modern .mec-single-event-bar>div h3{text-transform:uppercase;font-size:16px;font-weight:700;padding-bottom:5px;display:inline;color:#000;padding-left:10px}.mec-single-modern .mec-single-event-bar>div dd{font-size:14px;color:#8d8d8d;padding-left:34px;margin-bottom:0}.mec-single-modern .col-md-4 .mec-frontbox{margin-top:-50px;margin-bottom:70px;padding:20px;border:none;background:#f7f7f7;box-shadow:none}.mec-single-modern .col-md-4.mec-no-image .mec-frontbox{margin-top:20px}.mec-next-occurrence ul{padding-left:0;margin-left:0}.mec-next-occurrence li{list-style:none}@media only screen and (min-width:960px){.mec-single-modern .col-md-4 .mec-frontbox{margin-left:20px}}@media only screen and (max-width:960px){.mec-single-modern .mec-single-event-bar>div{display:block}}.lity-content>div{overflow:auto}.mec-next-event-details li{list-style:none;margin-top:20px}.mec-next-event-details h6{text-transform:uppercase;font-size:13px;padding-bottom:5px;display:inline;color:#222;padding-left:0}.mec-next-event-details abbr{display:block;padding-left:0;color:#8d8d8d}.mec-next-event-details i{margin-right:10px;margin-left:12px}.mec-next-event-details i:before{color:#40d9f1}.mec-next-event-details a{text-align:center;display:block;background:#fff;padding:6px 0;font-size:11px;font-weight:400;letter-spacing:0;border:1px solid #e3e3e3;transition:.3s}.mec-single-modal.mec-single-modern .mec-single-title{text-align:center;padding:15px 10px 0}.admin-bar .mec-single-modal.mec-single-modern .mec-single-title{padding-top:40px}.mec-single-modal.mec-single-modern .mec-single-event-bar{padding:5px}.mec-single-modal.mec-single-modern .mec-single-event-bar>div dd{font-size:13px}.mec-single-modal.mec-single-modern .mec-single-event-bar>div h3{font-size:15px}@media only screen and (min-width:960px){.mec-single-modal.mec-single-modern .col-md-4 .mec-frontbox{margin-left:0}}.mec-single-modal.mec-single-modern .col-md-4 .mec-frontbox{margin-top:10px;margin-bottom:10px}.mec-single-modal.mec-single-modern .col-md-4 .mec-frontbox.mec-event-meta{padding:0}@media(min-width:961px){.mec-single-event.mec-sticky{position:relative}.mec-single-event.mec-sticky .col-md-4{position:-webkit-sticky;position:sticky;top:120px}.mec-single-modern.mec-sticky .col-md-4{top:170px}.single-mec-events .mec-sticky .col-md-8>div:last-child{margin-bottom:30px}.single-mec-events .mec-single-modern.mec-sticky .col-md-8>div:last-child{margin-bottom:70px}}.mec-single-modal .mec-event-meta dd.mec-organizer-email a,.mec-single-modal .mec-event-meta dd.mec-organizer-url a{font-size:12px;display:block}.mec-organizer-description p{padding-left:12px}.mec-modal-wrap{max-width:60vw;max-height:90vh!important;background:#fff;box-shadow:0 1px 55px rgba(0,0,0,.5);overflow-x:hidden!important}@media (max-width:1023px){.mec-modal-wrap{max-width:80vw}}.mec-single-modal .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li,.mec-single-modal .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li a.mec-events-button{display:block;text-align:center}.mec-holding-status-expired{color:#d8000c}.mec-holding-status-ongoing{color:#0dbf52}body .featherlight{z-index:999999!important}body .featherlight .featherlight-content{background:0 0;overflow:unset;z-index:9999}body .featherlight .featherlight-close-icon{position:fixed;top:40px;right:40px;background:0 0;color:#fff;border:1px solid #fff;border-radius:0}body .featherlight .featherlight-close-icon:hover{background:#fff;color:#000;border:1px solid #000}@media (max-width:320px){.mec-wrap span.flip-clock-divider{width:20px}.mec-single-event .mec-events-meta-group-countdown{padding:15px 12%}}@media (max-width:414px){.mec-wrap span.flip-clock-divider{width:30px}.mec-single-event .mec-events-meta-group-countdown{margin-left:0;padding:15px 7%}}@media (max-width:480px){body .featherlight .featherlight-content{width:95%}.mec-wrap span.flip-clock-divider{width:7px}.mec-single-event .mec-events-meta-group-countdown{margin-left:0;padding:15px 1%}body .featherlight .featherlight-close-icon{color:#000;border-color:#000}}@media (max-width:1366px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:20px!important}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:20px 15px}body .mec-modal-wrap .mec-single-modal .flip-clock-wrapper ul{width:48px}}@media (max-width:1280px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:14px!important}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:15px 10px}body .mec-modal-wrap .mec-single-modal .flip-clock-wrapper ul{width:38px}}@media (min-width:961px) and (max-width:1024px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:7px!important}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:15px 5px}body .mec-modal-wrap .mec-single-modal .flip-clock-wrapper ul{width:14px}body .mec-modal-wrap .mec-single-modal .flip-clock-wrapper ul li a div{font-size:30px}}@media (max-width:640px){body .mec-modal-wrap .mec-single-modal.featherlight-close-icon{top:14px;right:14px}}@media (max-width:480px){.featherlight .featherlight-content,body .mec-modal-wrap{max-width:100%}body .mec-modal-wrap.flip-clock-divider .flip-clock-label{display:block}}@media (max-width:414px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:50px!important}.mec-wrap .flip-clock-divider .flip-clock-label{display:none}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:20px 5px 20px 65px}body .featherlight-content .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:20px 2px 20px 2px!important}body .featherlight-content .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:3px!important}}@media (max-width:375px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:50px!important}.mec-wrap .flip-clock-divider .flip-clock-label{display:none}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:20px 5px 20px 45px}}@media (max-width:320px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:20px!important}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:20px 5px 20px 40px}}.mec-single-event-bar dd{margin-left:0}.mec-events-toggle{max-width:960px;margin-left:auto;margin-right:auto}.mec-events-toggle .mec-toggle-item{border:1px solid #e4e4e4;margin-bottom:15px;box-shadow:0 10px 15px #f3f3f3}.mec-events-toggle .mec-toggle-item-inner{cursor:pointer;position:relative;padding:30px 60px 30px 15px;background:#fff;transition:all .3s ease;min-height:100px;display:table;width:100%;border-collapse:separate}.mec-events-toggle .mec-toggle-item-inner:hover{background:#fbfbfb}.mec-toggle-item-col{width:200px;border-right:1px solid #e3e3e3;margin-right:15px;display:table-cell;padding-right:5px}.mec-toggle-item-col .mec-event-date{font-size:38px;line-height:40px;float:left;margin-right:8px}.mec-toggle-item-col .mec-event-month,.mec-toggle-item-col .mec-time-details{text-transform:uppercase;font-size:12px;line-height:14px;padding-top:4px;font-weight:700}.mec-toggle-item-col .mec-event-detail{font-size:10px}.mec-toggle-item-col .mec-event-day{margin-top:9px;color:silver;font-size:35px;font-weight:100;text-transform:uppercase;letter-spacing:-1px}.mec-events-toggle .mec-toggle-title{color:#000;font-size:23px;font-weight:600;margin-bottom:0;transition:all .3s ease;display:table-cell;text-align:left;max-width:calc(100% - 200px);padding-left:15px;vertical-align:middle}.mec-events-toggle .mec-toggle-item-inner span.event-color{width:5px;height:100%;position:absolute;left:-1px;top:0;bottom:0;border-radius:0;margin:0}.mec-events-toggle .mec-toggle-item-inner i{position:absolute;font-size:30px;right:25px;top:50%;transform:translate(0,-50%);cursor:pointer}.mec-events-toggle .mec-toggle-item.is-open i.mec-sl-plus:before{content:"\e615"}.mec-events-toggle .mec-toggle-item.is-open .mec-toggle-title{background:#f8f8f8;cursor:pointer}.mec-events-toggle .mec-toggle-content{border-top:1px solid #e4e4e4}.mec-events-toggle .mec-toggle-content .mec-modal-wrap{margin:0;max-width:100%;box-shadow:none}.mec-events-toggle .mec-toggle-content .mec-modal-wrap .mec-single-event{margin:0}.mec-events-toggle .mec-toggle-content .mec-single-event-bar,.mec-events-toggle .mec-toggle-content h1.mec-single-title{display:none}.mec-events-toggle .media-links a{margin-bottom:0}.mec-events-toggle .mec-toggle-content .mec-toggle-meta{margin-bottom:14px}.mec-events-toggle #mec_speakers_details.mec-frontbox{padding:0;margin:0}.mec-events-toggle .mec-toggle-item h3.mec-speakers{border:none;text-align:left}.mec-events-toggle .mec-toggle-item h3.mec-speakers:before{content:"\e063";font-family:simple-line-icons;border:none;position:relative;display:inline-block;left:unset;bottom:unset;font-size:22px;font-weight:400;padding:0 11px 0 28px;vertical-align:middle}@media only screen and (max-width:767px){.mec-toggle-item-inner .mec-toggle-item-col{float:none;width:100%;border-right:none;margin-bottom:5px;display:block;max-width:100%;padding-left:15px}.mec-events-toggle .mec-toggle-title{display:block;width:100%;max-width:100%}}.mec-events-agenda-wrap{margin:10px 0;border:1px solid #e9e9e9;padding-left:20px;box-shadow:0 2px 2px rgba(0,0,0,.03)}.mec-events-agenda{padding:0;border-bottom:1px solid #e9e9e9;overflow:hidden}.mec-agenda-date-wrap{width:210px;padding-top:15px;float:left;font-size:13px}.mec-agenda-date-wrap i,.mec-agenda-event i{font-size:11px;color:#aaa;margin-right:4px;margin-left:1px}.mec-agenda-event i{vertical-align:middle;margin-right:1px}.mec-agenda-events-wrap{float:left;width:calc(100% - 210px);background:#f9f9f9;padding:15px}.mec-agenda-time{font-size:11px;color:#707070;padding-right:10px;width:138px;display:inline-block}.mec-agenda-event-title{position:relative;padding-left:14px}.mec-agenda-event-title a{font-size:14px;font-weight:600;color:#333}.mec-agenda-event-title span.event-color{width:9px;height:9px;position:absolute;left:0;top:4px;margin:0}.mec-agenda-date-wrap span.mec-agenda-day{color:#aaa;font-size:12px}@media only screen and (max-width:767px){.mec-agenda-date-wrap,.mec-agenda-events-wrap{float:none;width:100%}.mec-events-agenda span.mec-agenda-event-title{display:block;width:100%}.mec-agenda-event-title span.event-color{top:7px}.mec-agenda-event-title a{font-size:13px}}.mec-yearly-view-wrap{margin:0 0 15px;border:1px solid #e6e6e6;box-shadow:0 2px 4px rgba(0,0,0,.04);border-bottom-width:4px}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar{max-width:100%;width:232px;padding:10px;background:#fff;margin:10px;display:inline-block}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar dl dt{transition:none;height:30px;width:30px;line-height:30px;border-radius:0;font-size:12px}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar .mec-calendar-events-sec{padding:10px}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar .mec-has-event:after{width:4px;height:4px;bottom:3px;margin-left:-2px}.mec-yearly-view-wrap .mec-calendar-side .mec-calendar-table{min-height:200px}.mec-calendar.mec-yearly-calendar .mec-calendar-table-head dl dt{background:#f9f9f9;font-size:13px}.mec-calendar.mec-yearly-calendar .mec-calendar-table-title{text-align:center;font-size:15px;font-weight:700;color:#222;margin-top:-5px;padding-bottom:5px}.mec-yearly-view-wrap .mec-yearly-calendar-sec{min-height:200px;width:538px;overflow:hidden;float:left;background:#f8f8f8;padding:15px}.mec-yearly-view-wrap .mec-yearly-agenda-sec{min-height:200px;width:calc(100% - 538px);float:left;padding:0 0 0 20px;overflow:hidden}.mec-yearly-view-wrap .mec-yearly-title-sec{position:relative;padding:15px;text-align:center;border-bottom:1px solid #e6e6e6;box-shadow:0 1px 3px rgba(0,0,0,.02)}.mec-yearly-view-wrap .mec-yearly-title-sec h2{font-size:30px;line-height:40px;color:#333;margin:0;font-weight:700}.mec-yearly-view-wrap .mec-yearly-title-sec .mec-next-year,.mec-yearly-view-wrap .mec-yearly-title-sec .mec-previous-year{position:absolute;top:50%;margin-top:-15px;min-width:30px;height:30px;line-height:30px;padding:0 8px;text-align:center;background:#fff;color:#666;font-size:14px;border:1px solid #eee;border-radius:2px;box-shadow:0 2px 0 0 rgba(0,0,0,.015);transition:all .33s ease;cursor:pointer}.mec-yearly-view-wrap .mec-yearly-title-sec .mec-previous-year{right:auto;left:20px;padding-right:14px}.mec-yearly-view-wrap .mec-yearly-title-sec .mec-next-year{left:auto;right:20px;padding-left:14px}.mec-yearly-view-wrap .mec-yearly-title-sec .mec-next-year i,.mec-yearly-view-wrap .mec-yearly-title-sec .mec-previous-year i{font-size:12px;color:#40d9f1;cursor:pointer}.mec-yearly-view-wrap .mec-events-agenda.mec-selected{box-shadow:-10px 0 0 0 #fffcf2,0 -1px 0 #fbebb6;background:#fffcf2;border-color:#fbebb6;color:#f9af29}.mec-yearly-agenda-sec span.mec-event-label-captions.mec-fc-style{right:0;top:0}@media only screen and (max-width:959px){.mec-yearly-view-wrap .mec-yearly-calendar-sec{width:268px;padding:10px 5px}.mec-yearly-view-wrap .mec-yearly-agenda-sec{width:calc(100% - 268px);padding:0 0 0 10px}}@media only screen and (max-width:767px){.mec-yearly-view-wrap .mec-yearly-agenda-sec,.mec-yearly-view-wrap .mec-yearly-calendar-sec{width:100%;float:none}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar{width:auto}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar dl dt{width:14.2%}.mec-yearly-view-wrap .mec-yearly-title-sec h2{font-size:25px}}.mec-yearly-view-wrap .mec-agenda-event i,.mec-yearly-view-wrap .mec-agenda-time{display:none}@media only screen and (min-width:768px){.mec-yearly-view-wrap .mec-events-agenda-wrap{margin-top:0;border:none;padding-left:0;box-shadow:none}.mec-yearly-view-wrap .mec-agenda-date-wrap{width:174px;font-size:11px;padding-top:10px}.mec-yearly-view-wrap .mec-agenda-events-wrap{width:calc(100% - 174px);padding:10px}.mec-yearly-view-wrap .mec-agenda-event-title a{font-size:13px}.mec-yearly-view-wrap .mec-agenda-event-title span.event-color{width:8px;height:8px}.mec-yearly-view-wrap .mec-agenda-date-wrap span.mec-agenda-day{font-size:11px}.mec-yearly-view-wrap .mec-yearly-calendar-sec{box-shadow:-2px 0 5px rgba(0,0,0,.03) inset}}@media only screen and (max-width:1200px){.mec-yearly-view-wrap .mec-agenda-event-title a{font-size:12px;padding-right:6px}}.mec-calendar.mec-calendar-timetable .mec-calendar-d-table{padding-bottom:10px;border-bottom:none}.mec-calendar.mec-calendar-timetable .mec-calendar-d-table dl dt:hover{cursor:pointer}.mec-calendar.mec-calendar-timetable .mec-calendar-d-table dl dt.mec-timetable-has-no-event,.mec-calendar.mec-calendar-timetable .mec-calendar-d-table dl dt.mec-timetable-has-no-event:hover{color:#bbb;cursor:default}.mec-calendar.mec-calendar-timetable .mec-calendar-d-table dl dt.mec-timetable-day-active{background:#40d9f1;color:#fff;position:relative}.mec-calendar.mec-calendar-timetable .mec-calendar-d-table dl dt.mec-timetable-day-active:after{content:"";position:absolute;display:block;bottom:-20px;left:50%;margin-left:-10px;width:0;border-width:10px;border-style:solid;border-color:#40d9f1 transparent transparent transparent}.mec-timetable-events-list{padding:10px 20px;border:none;margin:0}.mec-timetable-events-list .mec-timetable-event{padding:10px 0;border-bottom:1px dashed #ddd}.mec-timetable-events-list .mec-timetable-event:last-child{border:none}.mec-timetable-event .mec-timetable-event-span{font-size:12px;color:#444;padding-right:30px;line-height:22px}.mec-timetable-events-list .mec-timetable-event i{font-size:13px;color:#aaa;margin-right:3px;vertical-align:baseline}.mec-timetable-event .mec-timetable-event-span a{color:#333}.mec-timetable-event .mec-timetable-event-time{font-size:11px}.mec-timetable-event .mec-timetable-event-time i{vertical-align:text-bottom}.mec-timetable-event .mec-timetable-event-title{font-size:13px}.mec-timetable-event .mec-timetable-event-title .event-color{width:10px;height:10px}.mec-timetable-events-list .mec-timetable-event.mec-util-hidden{display:none}.mec-timetable-events-list.mec-util-hidden{display:none}@media only screen and (min-width:768px){.mec-timetable-events-list{display:table;width:100%;margin:10px 0 20px}.mec-timetable-events-list .mec-timetable-event{display:table-row;padding:0;border:none;background:#fff}.mec-timetable-events-list .mec-timetable-event:hover{background:#fafafa}.mec-timetable-event .mec-timetable-event-span{display:table-cell;padding:10px 15px;border-bottom:1px solid #ebebeb}.mec-timetable-events-list .mec-timetable-event:last-child .mec-timetable-event-span{border-bottom:none}}@media only screen and (max-width:767px){.mec-timetable-event .mec-timetable-event-title{display:block;width:100%;padding:5px 0 10px;font-weight:700}}.mec-timetable-t2-wrap{border:1px solid #e6e6e6;background:#fafafa;padding:0 15px 15px;display:-webkit-box;overflow-x:scroll;box-shadow:0 3px 2px 0 rgba(0,0,0,.012)}.mec-timetable-t2-col{width:20%;float:left;min-height:20px;padding-right:1px;background:0 0}.mec-ttt2-title{background:#fafafa;color:#333;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;text-align:center;padding:25px 10px 10px;margin-bottom:1px}.mec-timetable-t2-col .mec-event-article{position:relative}.mec-timetable-t2-col .mec-event-article .event-color{position:absolute;width:auto;height:auto;left:0;right:0;top:0;bottom:0;margin:0;z-index:1;border-radius:2px}.mec-timetable-t2-content{position:relative;z-index:2;color:#fff;padding:15px 15px 20px;text-align:left;height:185px;margin-bottom:1px;overflow:hidden}.mec-timetable-t2-content .mec-event-title{line-height:22px;margin-bottom:13px;white-space:nowrap;padding-right:1px;overflow:hidden}.mec-timetable-t2-content .mec-event-title a{color:#fff;font-size:15px;font-weight:600;white-space:pre-line;overflow:hidden}.mec-timetable-t2-content div{color:#fff;font-size:11px;font-weight:400;line-height:19px;white-space:nowrap}.mec-timetable-t2-content div i{font-size:12px;margin-right:4px}@media only screen and (max-width:960px){.mec-timetable-t2-col{width:100%;float:none}}@media (min-width:961px){.mec-timetable-col-7{width:14.28%}.mec-timetable-col-6{width:16.6666%}}.mec-timetable-t3-wrap td{position:relative;padding:0}.mec-timetable-t3-wrap td a{width:100%;display:block;min-height:110px}.mec-weather-box{padding:15px 0}.mec-weather-head{min-height:90px;padding:5px 0;clear:both;overflow:hidden;margin-bottom:25px;border-radius:10px;background:#238af5;position:relative}.mec-weather-icon-box{float:left;width:80px;height:80px;border-radius:10px;overflow:hidden;background:#238af5}.mec-weather-icon{width:80px;height:80px;display:inline-block;border-radius:10px}.mec-weather-summary{float:left;width:calc(100% - 80px);padding-left:10px;margin:10px 0;height:60px}.mec-weather-summary-report{font-size:15px;color:rgba(255,255,255,.68);margin-bottom:6px}.mec-weather-summary-temp{font-weight:300;color:#fff;font-size:29px;line-height:1}.degrees-mode{background:rgba(0,0,0,.2);cursor:pointer;font-weight:300;font-size:18px;padding:4px 5px;line-height:1;color:#fff;position:absolute;border-radius:8px;bottom:16px;left:16px}.mec-weather-extras{width:auto;padding:10px 15px 0 15px;float:right;min-height:80px;color:#fff;font-size:13px;line-height:1}.mec-weather-extras{width:auto;padding:10px 15px 0 15px;float:right;min-height:80px;color:#fff;font-size:13px;line-height:1}.mec-weather-extras div{line-height:20px;height:20px}.mec-weather-extras span{color:rgba(255,255,255,.68);font-size:12px;text-transform:uppercase}.mec-weather-extras var{font-size:11px;letter-spacing:.4px}.mec-weather-icon.clear-day,.mec-weather-icon.clear-night{background-image:url(../img/mec-weather-icon-01.png)}.mec-weather-icon.partly-sunny-day,.mec-weather-icon.partly-sunny-night{background-image:url(../img/mec-weather-icon-02.png)}.mec-weather-icon.partly-cloudy-day,.mec-weather-icon.partly-cloudy-night{background-image:url(../img/mec-weather-icon-03.png)}.mec-weather-icon.cloudy,.mec-weather-icon.fog,.mec-weather-icon.wind{background-image:url(../img/mec-weather-icon-04.png)}.mec-weather-icon.thunderstorm{background-image:url(../img/mec-weather-icon-05.png)}.mec-weather-icon.rain{background-image:url(../img/mec-weather-icon-06.png)}.mec-weather-icon.hail,.mec-weather-icon.sleet,.mec-weather-icon.snow{background-image:url(../img/mec-weather-icon-07.png)}.mec-av-spot-wrap{width:auto;max-width:1200px;padding:0;margin:0 auto 25px;background:#f7f7f7;min-height:480px;position:relative}.mec-av-spot{height:auto;border:1px solid #eee;box-shadow:0 6px 12px -4px rgba(0,0,0,.05)}.mec-av-spot .mec-event-article{position:relative;height:auto}.mec-av-spot .mec-av-spot-img{position:relative;background-size:cover!important;background-position:center!important;width:100%;height:330px;float:none;margin:0;overflow:hidden}.mec-av-spot .mec-av-spot-content,.mec-av-spot .mec-av-spot-head{width:100%;float:none;height:100%;background:#fff;padding:0 20px 20px;margin-bottom:0}.mec-av-spot .mec-av-spot-head{background:#222;color:#fff;min-height:80px}.mec-av-spot .mec-av-spot-head .mec-av-spot-box{padding-top:25px;font-size:13px;color:#ddd}.mec-av-spot .mec-av-spot-head .mec-av-spot-box span{color:#40d9f1;font-size:40px;font-weight:700;font-style:italic}.mec-av-spot .mec-av-spot-head .mec-event-countdown{text-align:center;padding-top:10px;display:table;table-layout:fixed;margin:0 auto;float:right}.mec-av-spot .mec-av-spot-head .mec-event-countdown li{display:table-cell;padding:10px 20px;position:relative;height:60px}.mec-av-spot .mec-av-spot-head .mec-event-countdown p{margin-bottom:0}.mec-av-spot .mec-events-content p{margin-bottom:20px}.mec-av-spot-content.mec-event-grid-modern .mec-event-article{border:none;padding:0;margin:0;box-shadow:none}.mec-av-spot-wrap .mec-event-grid-modern .event-grid-modern-head{margin-bottom:10px;padding:14px 34px;margin-left:-20px;margin-right:-20px;text-align:left;background:#f9f9f9;border-bottom:1px solid #eee}.mec-av-spot-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-av-spot .mec-av-spot-col6{width:50%;float:left;height:100%}.mec-av-spot .mec-av-spot-col6 i{font-size:42px;float:left;margin-right:7px;height:58px}.mec-av-spot .mec-av-spot-col6 h6{text-transform:uppercase;font-size:17px;padding:4px 0;display:inline;color:#444}.mec-av-spot .mec-av-spot-col6 address{font-size:12px;margin-bottom:0}.mec-av-spot-content.mec-event-grid-modern .mec-event-title a:hover{text-decoration:underline}.mec-av-spot-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px;top:0;box-shadow:0 5px 11px -3px rgba(0,0,0,.05)}@media only screen and (max-width:768px){.mec-av-spot .mec-av-spot-col6{width:100%;margin:10px 0}}@media only screen and (max-width:479px){.mec-av-spot-content.mec-event-grid-modern .mec-event-title{font-size:24px}}.mec-events-masonry-wrap{display:block;width:auto}.mec-masonry-item-wrap{width:calc(33.33% - 30px);padding:0;margin:0 15px 30px;min-height:10px;position:relative;float:left}.mec-events-masonry-cats{padding:10px;margin-bottom:25px;text-align:center;clear:both;list-style:none outside none}.mec-events-masonry-cats a{border-radius:2px;padding:6px 12px;font-size:13px;line-height:1.2;color:#333;font-weight:400;margin-top:0!important;text-align:center;display:inline-block;width:auto;border:2px solid transparent;transition:all .2s ease}.mec-events-masonry-cats a:hover{border-color:#40d9f1;color:#333}.mec-events-masonry-cats a.mec-masonry-cat-selected{border:2px solid #40d9f1;color:#40d9f1}.mec-masonry{background:#f7f7f7;height:auto;border:1px solid #eee;box-shadow:0 6px 12px -4px rgba(0,0,0,.05)}.mec-masonry .mec-event-article{position:relative;height:auto}.mec-masonry .mec-masonry-img{position:relative;width:100%;height:auto;float:none;margin:0;overflow:hidden}.mec-masonry .mec-masonry-img img{width:100%}.mec-masonry .mec-masonry-content,.mec-masonry .mec-masonry-head{width:100%;float:none;height:100%;background:#fff;padding:0 20px 20px;margin-bottom:0}.mec-masonry .mec-events-content p{margin-bottom:20px}.mec-masonry-content.mec-event-grid-modern .mec-event-article{border:none;padding:0;margin:0;box-shadow:none}.mec-masonry-item-wrap .mec-event-grid-modern .event-grid-modern-head{min-height:79px;margin-bottom:10px;padding:14px 5%;margin-left:-20px;margin-right:-20px;text-align:left;background:#f9f9f9;border-bottom:1px solid #eee}.mec-masonry-content.mec-event-grid-modern .mec-event-title{font-size:22px}.mec-masonry-content.mec-event-grid-modern .mec-event-content{padding-top:20px}@media (max-width:480px){.mec-masonry-content.mec-event-grid-modern .mec-labels-normal{display:block}}.mec-masonry-content.mec-event-grid-modern .mec-event-footer{height:auto}.mec-masonry .mec-masonry-col6 .mec-event-date{font-size:52px;letter-spacing:-2px;line-height:41px;vertical-align:top}.mec-masonry .mec-masonry-col6{width:50%;float:left;height:100%}.mec-masonry .mec-masonry-col6 i{font-size:24px;float:left;margin-right:7px;height:50px}.mec-masonry .mec-masonry-col6 .mec-event-month,.mec-masonry .mec-masonry-col6 h6{text-transform:capitalize;font-size:15px;padding:4px 0;display:inline;color:#444}.mec-masonry .mec-masonry-col6 .mec-event-detail,.mec-masonry .mec-masonry-col6 address{font-size:11px;margin-bottom:0}.mec-masonry-content.mec-event-grid-modern .mec-event-title a:hover{text-decoration:underline}.mec-masonry-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px;top:0;box-shadow:0 5px 11px -3px rgba(0,0,0,.05)}@media only screen and (max-width:960px){.mec-masonry-item-wrap{width:calc(50% - 30px)}}@media only screen and (max-width:768px){.mec-masonry .mec-masonry-col6{width:100%;margin:10px 0}.mec-masonry-item-wrap{width:calc(100% - 30px)}}@media only screen and (max-width:479px){.mec-masonry-content.mec-event-grid-modern .mec-event-title{font-size:24px}}.mec-wrap.mec-skin-masonry-container .mec-load-more-wrap{position:unset}.btn-wrapper{text-align:center}.countdown-wrapper .btn-wrapper{padding-top:10px;padding-right:0}.countdown-wrapper h5.countdown-message{letter-spacing:5px;font-weight:500;font-size:18px}.blox.dar .countdown-wrapper p,.countdown-wrapper p{color:#888}.countdown-wrapper a.button.black{float:right;margin-right:0}.mec-wrap .threedaydigits .days .flip-clock-label{right:-100px}@media only screen and (min-width:320px) and (max-width:767px){.mec-wrap .flip-clock-wrapper ul{width:29px!important}.mec-wrap .flip-clock-wrapper ul li a div div.inn{font-size:25px!important}.mec-wrap .flip-clock-divider .flip-clock-label{left:0;font-weight:300}.mec-wrap span.flip-clock-divider{width:12px}}@media only screen and (min-width:320px) and (max-width:480px){.mec-wrap .flip-clock-wrapper ul{width:29px!important}.mec-wrap .flip-clock-wrapper ul li a div div.inn{font-size:25px!important}.mec-wrap .flip-clock-divider .flip-clock-label{display:none}.mec-wrap span.flip-clock-divider:first-child{width:0}.mec-wrap span.flip-clock-divider{width:20px}.mec-single-event .mec-events-meta-group-countdown{margin-left:0;padding:15px 18%}}@media screen and (min-width:960px) and (max-width:1200px){.mec-wrap .threedaydigits ul{height:50px;width:47px}}@media screen and (min-width:480px) and (max-width:768px){.mec-wrap .threedaydigits ul{height:48px;width:26px!important}.mec-wrap .threedaydigits .flip-clock-label{font-size:8px;left:-8px}}@media screen and (min-width:320px) and (max-width:480px){.mec-wrap .threedaydigits ul{height:48px;width:22px!important}}.mec-wrap .flip-clock-wrapper *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;backface-visibility:hidden}.mec-wrap .flip-clock-wrapper a{cursor:pointer;text-decoration:none;color:#ccc}.mec-wrap .flip-clock-wrapper a:hover{color:#fff}.mec-wrap .flip-clock-wrapper ul{list-style:none}.flip-clock-wrapper.clearfix:after,.mec-wrap .flip-clock-wrapper.clearfix:before{content:" ";display:table}.mec-wrap .flip-clock-wrapper.clearfix:after{clear:both}.mec-wrap .flip-clock-wrapper{font:normal 11px "helvetica neue",helvetica,sans-serif;-webkit-user-select:none}.mec-wrap .flip-clock-meridium{background:0 0!important;box-shadow:0 0 0!important;font-size:36px!important}.mec-wrap .flip-clock-meridium a{color:#313333}.mec-wrap .flip-clock-wrapper{text-align:center;position:relative;display:inline-block;padding-bottom:10px}.flip-clock-wrapper:after,.mec-wrap .flip-clock-wrapper:before{content:" ";display:table}.mec-wrap .flip-clock-wrapper:after{clear:both}.mec-wrap .flip-clock-wrapper ul{position:relative;float:left;margin:2px;width:50px;height:50px;font-size:80px;font-weight:700;line-height:87px;border-radius:3px;background:rgba(0,0,0,.21)}.mec-wrap .flip-clock-wrapper ul li{z-index:1;position:absolute;left:0;top:0;width:100%;height:100%;line-height:54px;text-decoration:none!important}.mec-wrap .flip-clock-wrapper ul li:first-child{z-index:2}.mec-wrap .flip-clock-wrapper ul li a{display:block;height:100%;-webkit-perspective:200px;-moz-perspective:200px;perspective:200px;margin:0!important;overflow:visible!important;cursor:default!important}.mec-wrap .flip-clock-wrapper ul li a div{z-index:1;position:absolute;left:0;width:100%;height:50%;font-size:80px;overflow:hidden;outline:1px solid transparent}.mec-wrap .flip-clock-wrapper ul li a div .shadow{position:absolute;width:100%;height:100%;z-index:2}.mec-wrap .flip-clock-wrapper ul li a div.up{-webkit-transform-origin:50% 100%;-moz-transform-origin:50% 100%;-ms-transform-origin:50% 100%;-o-transform-origin:50% 100%;transform-origin:50% 100%;top:0}.mec-wrap .flip-clock-wrapper ul li a div.up:after{content:"";position:absolute;top:24px;left:0;z-index:5;width:100%;height:3px;background-color:rgba(0,0,0,.12)}.mec-wrap .flip-clock-wrapper ul li a div.down{-webkit-transform-origin:50% 0;-moz-transform-origin:50% 0;-ms-transform-origin:50% 0;-o-transform-origin:50% 0;transform-origin:50% 0;bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.mec-wrap .flip-clock-wrapper ul li a div div.inn{position:absolute;left:0;z-index:1;width:100%;height:200%;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.25);text-align:center;background-color:#40d9f1;border-radius:3px;font-size:48px}.mec-wrap .flip-clock-wrapper ul li a div.up div.inn{top:0}.mec-wrap .flip-clock-wrapper ul li a div.down div.inn{bottom:0}.mec-wrap .flip-clock-wrapper ul.play li.flip-clock-before{z-index:3}.mec-wrap .flip-clock-wrapper .flip{box-shadow:0 2px 5px rgba(0,0,0,.17)}.mec-wrap .flip-clock-wrapper ul.play li.flip-clock-active{-webkit-animation:asd .5s .5s linear both;-moz-animation:asd .5s .5s linear both;animation:asd .5s .5s linear both;z-index:5}.mec-wrap .flip-clock-divider{float:left;display:inline-block;position:relative;width:18px;height:62px}.mec-wrap .flip-clock-divider:first-child{width:0}.mec-wrap .flip-clock-dot{display:none;background:#323434;width:10px;height:10px;position:absolute;border-radius:50%;box-shadow:0 0 5px rgba(0,0,0,.5);left:5px}.mec-wrap .flip-clock-divider .flip-clock-label{position:absolute;bottom:-1.5em;right:-71px;color:#101010;font-weight:700;text-shadow:none;text-transform:uppercase}.mec-wrap .blox.dark .flip-clock-divider .flip-clock-label{color:#8a8a8a}.mec-wrap .flip-clock-divider.seconds .flip-clock-label{right:-82px}.mec-wrap .flip-clock-dot.top{top:30px}.mec-wrap .flip-clock-dot.bottom{bottom:30px}@-webkit-keyframes asd{0%{z-index:2}20%{z-index:4}100%{z-index:4}}@-moz-keyframes asd{0%{z-index:2}20%{z-index:4}100%{z-index:4}}@-o-keyframes asd{0%{z-index:2}20%{z-index:4}100%{z-index:4}}@keyframes asd{0%{z-index:2}20%{z-index:4}100%{z-index:4}}.flip-clock-wrapper ul.play li.flip-clock-active .down{z-index:2;-webkit-animation:turn .5s .5s linear both;-moz-animation:turn .5s .5s linear both;animation:turn .5s .5s linear both}@-webkit-keyframes turn{0%{-webkit-transform:rotatex(90deg)}100%{-webkit-transform:rotatex(0)}}@-moz-keyframes turn{0%{-moz-transform:rotatex(90deg)}100%{-moz-transform:rotatex(0)}}@-o-keyframes turn{0%{-o-transform:rotatex(90deg)}100%{-o-transform:rotatex(0)}}@keyframes turn{0%{transform:rotatex(90deg)}100%{transform:rotatex(0)}}.flip-clock-wrapper ul.play li.flip-clock-before .up{z-index:2;-webkit-animation:turn2 .5s linear both;-moz-animation:turn2 .5s linear both;animation:turn2 .5s linear both}@-webkit-keyframes turn2{0%{-webkit-transform:rotatex(0)}100%{-webkit-transform:rotatex(-90deg)}}@-moz-keyframes turn2{0%{-moz-transform:rotatex(0)}100%{-moz-transform:rotatex(-90deg)}}@-o-keyframes turn2{0%{-o-transform:rotatex(0)}100%{-o-transform:rotatex(-90deg)}}@keyframes turn2{0%{transform:rotatex(0)}100%{transform:rotatex(-90deg)}}.flip-clock-wrapper ul li.flip-clock-active{z-index:3}.flip-clock-wrapper ul.play li.flip-clock-before .up .shadow{background:-moz-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,.1)),color-stop(100%,rgba(64,64,64,.68)));background:linear,top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%;background:-o-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:-ms-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:linear,to bottom,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%;-webkit-animation:show .5s linear both;-moz-animation:show .5s linear both;animation:show .5s linear both}.flip-clock-wrapper ul.play li.flip-clock-active .up .shadow{background:-moz-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,.1)),color-stop(100%,rgba(64,64,64,.68)));background:linear,top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%;background:-o-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:-ms-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:linear,to bottom,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%;-webkit-animation:hide .5s .3s linear both;-moz-animation:hide .5s .3s linear both;animation:hide .5s .3s linear both}.flip-clock-wrapper ul.play li.flip-clock-before .down .shadow{background:-moz-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(64,64,64,.68)),color-stop(100%,rgba(0,0,0,.1)));background:linear,top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%;background:-o-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:-ms-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:linear,to bottom,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%;-webkit-animation:show .5s linear both;-moz-animation:show .5s linear both;animation:show .5s linear both}.flip-clock-wrapper ul.play li.flip-clock-active .down .shadow{background:-moz-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(64,64,64,.68)),color-stop(100%,rgba(0,0,0,.1)));background:linear,top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%;background:-o-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:-ms-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:linear,to bottom,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%;-webkit-animation:hide .5s .3s linear both;-moz-animation:hide .5s .3s linear both;animation:hide .5s .2s linear both}@-webkit-keyframes show{0%{opacity:0}100%{opacity:1}}@-moz-keyframes show{0%{opacity:0}100%{opacity:1}}@-o-keyframes show{0%{opacity:0}100%{opacity:1}}@keyframes show{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes hide{0%{opacity:1}100%{opacity:0}}@-moz-keyframes hide{0%{opacity:1}100%{opacity:0}}@-o-keyframes hide{0%{opacity:1}100%{opacity:0}}@keyframes hide{0%{opacity:1}100%{opacity:0}}@media only screen and (min-width:320px) and (max-width:480px){.single-mec-events .mec-wrap .flip-clock-wrapper{padding-bottom:0;max-width:218px}.single-mec-events .mec-wrap .mec-events-meta-group-countdown{padding:20px 20px 20px 40px}.single-mec-events .mec-wrap .flip-clock-wrapper .flip{margin-bottom:40px}.single-mec-events .mec-wrap .flip-clock-divider .flip-clock-label{display:block}.single-mec-events .mec-wrap .flip-clock-divider.days .flip-clock-label{left:21px}.single-mec-events .mec-wrap .flip-clock-divider.hours .flip-clock-label{left:31px}.single-mec-events .mec-wrap .flip-clock-divider.minutes .flip-clock-label{bottom:-108px;left:-390px}.single-mec-events .mec-wrap .flip-clock-divider.seconds .flip-clock-label{left:20px}}@font-face{font-family:simple-line-icons;src:url(../fonts/Simple-Line-Icons.eot?v=2.3.1);src:url(../fonts/Simple-Line-Icons.eot?v=2.3.1#iefix) format("embedded-opentype"),url(../fonts/Simple-Line-Icons.woff2?v=2.3.1) format("woff2"),url(../fonts/Simple-Line-Icons.woff?v=2.3.1) format("woff"),url(../fonts/Simple-Line-Icons.ttf?v=2.3.1) format("truetype"),url(../fonts/Simple-Line-Icons.svg?v=2.3.1#simple-line-icons) format("svg");font-weight:400;font-style:normal}[class*=mec-sl-]{font-family:simple-line-icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mec-sl-facebook:before{content:"\e00b"}.mec-sl-twitter:before{content:"\e009"}.mec-sl-google-plus:before{content:"\e60d"}.mec-sl-angle-left:before{content:"\e605"}.mec-sl-angle-right:before{content:"\e606"}.mec-sl-calendar:before{content:"\e075"}.mec-sl-clock-o:before{content:"\e081"}.mec-sl-home:before{content:"\e069"}.mec-sl-phone:before{content:"\e600"}.mec-sl-envelope:before{content:"\e086"}.mec-sl-sitemap:before{content:"\e037"}.mec-sl-map-marker:before{content:"\e096"}.mec-sl-floder:before{content:"\e089"}.mec-sl-wallet:before{content:"\e02a"}.mec-color,.mec-color-before :before,.mec-color-hover:hover,.mec-wrap .mec-color,.mec-wrap .mec-color-before :before,.mec-wrap .mec-color-hover:hover{color:#40d9f1}.mec-bg-color,.mec-bg-color-hover:hover,.mec-wrap .mec-bg-color,.mec-wrap .mec-bg-color-hover:hover{background-color:#40d9f1}.mec-box-marker,.mec-vip-content-notice{box-shadow:5px 0 0 #40d9f1 inset;padding:5px 10px}.mec-border-color,.mec-border-color-hover:hover,.mec-wrap .mec-border-color,.mec-wrap .mec-border-color-hover:hover{border-color:#40d9f1}.mec-toggle-month-divider.mec-skin-list-events-container{border:1px solid #e8e8e8;margin-bottom:30px;background:#f8f8f8;box-shadow:0 2px 18px -1px rgba(0,0,0,.1);border-radius:2px}.mec-toggle-month-divider .mec-month-divider{margin:0;text-align:left;background:#fff;position:relative;cursor:pointer;border-top:1px solid #e8e8e8}.mec-toggle-month-divider .mec-month-divider span{padding:20px;border-bottom:1px solid #e8e8e8}.mec-toggle-month-divider .mec-month-divider i{position:absolute;right:20px;top:24px;font-size:20px;cursor:pointer}.mec-toggle-month-divider .mec-month-divider span:before{display:none}.mec-toggle-month-divider .mec-month-divider+article{margin-top:20px}.mec-toggle-month-divider .mec-wrap .mec-month-divider:first-of-type{border-top:none}.mec-toggle-month-divider .mec-event-list-accordion .mec-month-divider:not(:first-of-type)~article{display:none}.mec-skin-list-events-container:not(.mec-toggle-month-divider) .mec-month-divider i{display:none}.mec-toogle-inner-month-divider .mec-toggle-item-col .mec-event-month{display:inline-block;padding-top:0}.mec-toogle-inner-month-divider .mec-toggle-item-col .mec-event-date{font-size:14px;line-height:14px;float:none;display:inline-block;margin-right:0;font-weight:700}.mec-events-toggle .mec-toogle-inner-month-divider.mec-toggle-item-inner{padding:20px 60px 30px 15px}.mec-toogle-inner-month-divider .mec-toggle-month-inner-image{float:left;clear:right;width:100px;margin-right:20px;margin-left:10px}.mec-toogle-inner-month-divider .mec-toggle-item-col .mec-event-detail{margin-top:-6px}.mec-toogle-inner-month-divider .mec-toggle-item-col{float:none;width:100%;margin-top:10px;display:block;border:none}.mec-events-toggle .mec-toogle-inner-month-divider .mec-toggle-title{font-size:19px;display:block;padding-top:10px}@media only screen and (max-width:768px){.mec-events-toggle .mec-toogle-inner-month-divider .mec-toggle-title{font-size:14px;padding-top:0}.mec-toogle-inner-month-divider .mec-toggle-item-col{margin-top:0}.mec-toogle-inner-month-divider .mec-toggle-month-inner-image{width:70px}}.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-label-canceled,.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-label-custom,.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-label-featured{overflow:hidden;position:relative}.mec-event-label-captions{z-index:1;position:absolute;top:20px;right:-37px;font-size:11px;letter-spacing:1px;text-transform:uppercase;background:#04de78;padding:2px 40px;color:#fff;-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:.5s cubic-bezier(.25,.5,.06,.85);transition:.5s cubic-bezier(.25,.5,.06,.85);list-style:none;text-align:center}.mec-box-calendar.mec-event-calendar-classic.mec-event-container-novel .mec-event-label-captions{display:none}.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-label-canceled:before{background:#de0404}.mec-daily-view-date-events article:before,ul.mec-weekly-view-dates-events article:before{padding:7px 40px!important;top:27px!important}.mec-event-grid-classic article .mec-fc-style,.mec-event-grid-minimal article .mec-fc-style,.mec-event-grid-simple article .mec-fc-style,.mec-timeline-event .mec-fc-style,.mec-timetable-wrap article .mec-fc-style,.mec-wrap .mec-event-list-accordion article .mec-fc-style,.mec-wrap .mec-event-list-modern article .mec-fc-style,.mec-wrap .mec-events-agenda .mec-agenda-event .mec-fc-style,.mec-wrap article.mec-event-cover-classic .mec-fc-style,.mec-wrap article.mec-event-cover-clean .mec-fc-style,.mec-wrap article.mec-event-cover-modern .mec-fc-style,.mec-wrap article[class^=mec-event-countdown-] .mec-fc-style{font-size:9px;letter-spacing:.5px;text-transform:uppercase;background:#04de78;padding:2px 7px;color:#fff;position:relative;margin-left:5px;border-radius:2px}.mec-timeline-event.mec-label-canceled .mec-fc-style,.mec-wrap .mec-events-agenda .mec-agenda-event.mec-label-canceled .mec-fc-style,.mec-wrap article.mec-event-cover-modern.mec-label-canceled .mec-fc-style{background:#de0404}.mec-event-grid-minimal article .mec-fc-style:before,.mec-event-grid-simple article .mec-fc-style:before,.mec-timeline-event .mec-fc-style:before,.mec-timetable-wrap article .mec-fc-style:before,.mec-wrap .mec-event-list-accordion article .mec-fc-style:before,.mec-wrap .mec-event-list-modern article .mec-fc-style:before,.mec-wrap .mec-events-agenda .mec-agenda-event .mec-fc-style:before,.mec-wrap article.mec-event-cover-classic .mec-fc-style:before,.mec-wrap article.mec-event-cover-clean .mec-fc-style:before,.mec-wrap article[class^=mec-event-countdown-] .mec-fc-style:before{width:0;height:0;border-top:4px solid transparent!important;border-right:5px solid;border-bottom:4px solid transparent;margin:0;top:50%;left:-5px;transform:translateY(-4.5px);position:absolute;content:"";color:var(--background-color)}.mec-timeline-event.mec-label-canceled .mec-fc-style:before,.mec-wrap .mec-events-agenda .mec-agenda-event.mec-label-canceled .mec-fc-style:before{color:#de0404}.mec-event-grid-classic article.mec-label-canceled:before,.mec-event-grid-classic article.mec-label-featured:before,.mec-event-grid-minimal article.mec-label-canceled:before,.mec-event-grid-minimal article.mec-label-featured:before,.mec-event-grid-simple article.mec-label-canceled:before,.mec-event-grid-simple article.mec-label-featured:before,.mec-timetable-wrap article.mec-label-canceled:before,.mec-timetable-wrap article.mec-label-featured:before,.mec-wrap .mec-event-list-accordion article.mec-label-canceled:before,.mec-wrap .mec-event-list-accordion article.mec-label-featured:before,.mec-wrap .mec-event-list-modern article.mec-label-canceled:before,.mec-wrap .mec-event-list-modern article.mec-label-featured:before{display:none}.mec-wrap .mec-event-list-accordion article .mec-fc-style,.mec-wrap .mec-event-list-modern article .mec-fc-style,.mec-wrap article.mec-event-cover-classic .mec-fc-style,.mec-wrap article.mec-event-cover-clean .mec-fc-style,.mec-wrap article[class^=mec-event-countdown-] .mec-fc-style{top:-1px;right:-3px;font-size:11px;white-space:nowrap}.mec-event-grid-classic article.mec-label-canceled .mec-fc-style,.mec-event-grid-minimal article.mec-label-canceled .mec-fc-style,.mec-event-grid-simple article.mec-label-canceled .mec-fc-style,.mec-timetable-wrap article.mec-label-canceled .mec-fc-style,.mec-wrap .mec-event-list-accordion article.mec-label-canceled .mec-fc-style,.mec-wrap .mec-event-list-modern article.mec-label-canceled .mec-fc-style,.mec-wrap article.mec-event-cover-classic.mec-label-canceled .mec-fc-style,.mec-wrap article.mec-event-cover-clean.mec-label-canceled .mec-fc-style,.mec-wrap article[class^=mec-event-countdown-].mec-label-canceled .mec-fc-style{background:#de0404}.mec-event-grid-classic article.mec-label-canceled .mec-fc-style:before,.mec-event-grid-minimal article.mec-label-canceled .mec-fc-style:before,.mec-event-grid-simple article.mec-label-canceled .mec-fc-style:before,.mec-timetable-wrap article.mec-label-canceled .mec-fc-style:before,.mec-wrap .mec-event-list-accordion article.mec-label-canceled .mec-fc-style:before,.mec-wrap .mec-event-list-modern article.mec-label-canceled .mec-fc-style:before,.mec-wrap article.mec-event-cover-classic.mec-label-canceled .mec-fc-style:before,.mec-wrap article.mec-event-cover-clean.mec-label-canceled .mec-fc-style:before,.mec-wrap article[class^=mec-event-countdown-].mec-label-canceled .mec-fc-style:before{color:#de0404}.mec-wrap .mec-slider-t5 article:not([class^=mec-event-countdown]).mec-label-canceled:before,.mec-wrap .mec-slider-t5 article:not([class^=mec-event-countdown]).mec-label-featured:before{-ms-transform:none;-webkit-transform:none;transform:none;-webkit-transition:none;transition:none;top:271px;right:0}.mec-timetable-wrap article .mec-fc-style{top:-2px;font-size:10px;right:0}.mec-wrap article.mec-event-cover-modern .mec-fc-style{padding:5px 9px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:24px;display:inline-block;border-radius:2px;-ms-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0);right:0;top:0}.mec-skin-grid-events-container .mec-wrap .mec-event-grid-clean .mec-event-article:before{-ms-transform:none;-webkit-transform:none;transform:none!important;-webkit-transition:none;transition:none;top:22px!important;right:22px!important;padding:0 10px!important}.mec-event-grid-minimal article .mec-fc-style,.mec-event-grid-simple article .mec-fc-style{top:-4px;font-size:10px;margin-left:10px;right:0}.mec-event-grid-classic article .mec-fc-style{padding:5px 20px;font-size:12px;margin-top:8px;display:inline-block}.mec-load-month-link{color:#a9a9a9;font-size:12px;font-weight:400;letter-spacing:1px;text-transform:uppercase;text-decoration:unset;transition:all .33s ease}ul.mec-categories{padding:0}ul.mec-categories li.mec-category{list-style:none}ul.mec-categories li.mec-category a{font-weight:400;color:#626262;font-size:13px;text-align:left;transition:all .23s ease;-webkit-transition:all .23s ease}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields{display:inline-block;width:20px;height:20px;position:relative;cursor:pointer;margin:0 4px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAD90lEQVRoge2ZzWscZRjAf8/OJpUkQrF6SJMcNB+zobVdk8WCWEwqBEou0kMKtkgPHoRUD54VFMQ/wJBYhJ6MoGvFg3rQQ7dQFJVN09RANl9UkrgRbVrFuDZpZh4PSWqYmd2Z2a8Ize+0+7zPO/N7dt7l/RjYY48HGynHRZKqRltm7mmBXo1It9jEEBqBhq2UVYSswrTYmraVVFdn248iYpd675IK+GluruXehg4KchZoCtl9SVRHJcrw0fb2pWIdiirg2uzsY2LLOyjngNpib77FOujFdd1481hn50rYzqELGJ+afxGxh0AeCdvXhxURBuNm2ydhOgUuIJ1O1xgN+0eAl0OrhUDgwp3lxVd7e3s3Aub7k05n64yG3CXgZEl2QVG+sv6uG0gkDub8UiN+CZu/fBXlAYR+oz6XTKVSUb9U3wK2hk315LcR+vc3Nr/nn1aA8cz8GdDR8lmFR9DT8Vh7Mn97Hn6YmjpQKzUZ4NGKmAVnxRIrljDNW16NeYdQbaTmXXZfHuCAYUffytfo+QQmZmebbUvmKX2SKhdrIlZr3DR/cTZ4PgHL4jz/H3mAfUp00KvBVYCqRgQ5U3mnkKi+lFQ1nGFXAeOZuWNAc1WkwtHUMXOz2xl0FSDQWx2f8NjoCWfM4z8giWrIFIMorifgnqojdKDeF7Asi69TVxm7MYkIdB85TF/PcQzDqGjeNoqa/gWoNuab3765cpUr331//3vq283PJ5/vqWjeNgKNzpjXEGpwxzZJT0zuSmwHDzsDvou5nYjHg4l4xMqdVwiPAnQ1X3L3kcOuWNfRJyuet4O/nAH3f0BkGcVzu9jXcxyAsRuT9wX6nnu24nnbKCy7dJ2Ba9Nzn4lyKu9VdhX59KlY68DOiHsis3WsekLhEHC5uQqwlcvV0QmPitvNNYRUNTI+Pf+zQEt1tAKzEDdbH3ee5rmHkIgdUf2oel4BEUa9jiI95wGJMgysV1wqOGuCNeLV4FnA5lmlXqysU3BE+MBrNwaF9sTWQ28Av1fMKjgra/a9t/M15i3g0KGW2yq8Vhmn4Cj6SqFD34JroS6z7WOBC+XXCoYIQ12x9kuFcnwXczNm63mUz8unFRDRL+9kF1/3TQtyrXQ6W2fU55II/aWb+aPIF3fra08/09Lyj19uoOV0InEw98eviy+Avl+6XmFEGPpzeeFUEHko4gXH9czsgCLDlP/U7jdFB/3GvJNQGxqAeKw9WWvtM1EZBtbC9ncicFeEIWO9JhZWfqt/8Vyfnm5SooOqeraItdMC8KGyMdIVi2WLdSjLa1ZVjUzM3EzY6AlRuhU1BW36b3+tqyBLIDMCaRUuxzueGCvHa9Y99njQ+RcbkGTacAW/agAAAABJRU5ErkJggg==);background-position:center center;background-size:cover}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip{position:absolute;width:340px;bottom:24px;left:calc(50% - 170px);background:#fff;border-radius:5px;border:1px solid #535a6121;box-shadow:0 4px 45px -8px #444b5061;visibility:hidden;opacity:0;transition:opacity .18s ease,transform .18s ease,visibility .25s ease;transform:scale(.9);z-index:99}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields:hover .mec-data-fields-tooltip{visibility:visible;opacity:1;transform:scale(1)}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip:before{display:block;content:"";position:absolute;width:12px;height:12px;left:calc(50% - 12px);top:100%;transform:translate(50%,-50%) rotate(-45deg);background-color:#fff;box-shadow:0 8px 9px -4px #535a61;z-index:0}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box{overflow:hidden;border-radius:11px;padding:12px 0}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul{width:100%;height:200px;overflow-y:scroll;padding:9px 15px;text-align:left}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul::-webkit-scrollbar-track{background-color:#fafafa}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul::-webkit-scrollbar{width:4px;background-color:#fafafa}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul::-webkit-scrollbar-thumb{background-color:#40d9f1;border-radius:4px}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul .mec-event-data-field-item{display:block;width:100%;text-transform:none;margin:0 0 8px 0;color:#616263;font-size:13px;line-height:1.5;font-weight:400;padding-bottom:8px;border-bottom:1px dashed #e1e2e3}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul .mec-event-data-field-item:last-child{border-bottom:none}.mec-wrap [id^=mec_skin_events_] .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul .mec-event-data-field-item a{color:#40d9f1;font-size:13px;line-height:1.5;font-weight:400}.mec-wrap [id^=mec_skin_events_] .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul .mec-event-data-field-item a:hover{color:#000}.mec-wrap .mec-custom-data .mec-timetable-t2-content,.mec-wrap .mec-custom-data .mec-timetable-t2-content .mec-event-title,.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-custom-data.mec-label-canceled,.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-custom-data.mec-label-featured{overflow:visible!important}.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-custom-data.mec-label-canceled .mec-event-label-captions,.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-custom-data.mec-label-featured .mec-event-label-captions{-ms-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0);width:fit-content;top:7px;right:7px;padding:2px 5px;border-radius:4px}@media(min-width:768px){.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-canceled .mec-event-data-fields .mec-data-fields-tooltip,.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-custom .mec-event-data-fields .mec-data-fields-tooltip,.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-featured .mec-event-data-fields .mec-data-fields-tooltip{bottom:calc(50% - 110px);left:30px}.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-canceled .mec-event-data-fields .mec-data-fields-tooltip:before,.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-custom .mec-event-data-fields .mec-data-fields-tooltip:before,.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-featured .mec-event-data-fields .mec-data-fields-tooltip:before{left:-10px;top:calc(100% - 110px);box-shadow:-8px -5px 9px -4px #535a61}}.mec-hourly-schedule-speaker-info{background:#fff;padding:30px;border:1px solid #e6e6e6;max-width:740px;width:740px;margin-left:-110px}.mec-hourly-schedule-speaker-thumbnail{float:left;max-width:30%;width:30%}.mec-hourly-schedule-speaker-name{font-weight:700;font-size:26px;line-height:1.2;color:#333;text-transform:uppercase}.mec-hourly-schedule-speaker-details{float:left;width:69%;padding-left:25px}.mec-hourly-schedule-speaker-job-title{font-size:16px;line-height:1.3;margin-bottom:4px}.mec-hourly-schedule-speaker-description{font-size:14px;font-weight:400;color:#6d7683;line-height:1.7;text-align:left}.mec-hourly-schedule-speaker-contact-information a i{color:#6b6b6b;background:#ebebeb;line-height:29px;margin:9px 7px 9px 0;width:30px;height:30px;display:inline-block;text-align:center;transition:all .2s ease;font-size:15px;cursor:pointer;border-radius:3px}.mec-hourly-schedule-speaker-contact-information a i:hover{background:#222;color:#fff}@media only screen and (max-width:479px){.mec-hourly-schedule-speaker-thumbnail{float:none;max-width:none;margin-right:0;margin-bottom:15px;width:100%}.mec-hourly-schedule-speaker-thumbnail img{width:100%}.mec-hourly-schedule-speaker-details{padding-left:0}.mec-hourly-schedule-speaker-info{width:90%;margin:0 auto}}.mec-profile .mec-profile-bookings{border:2px solid #e6e6e6;text-align:center}.mec-profile .mec-profile-bookings tbody tr:first-child{background:#f7f7f7;font-weight:700;text-transform:capitalize}.mec-profile .mec-profile-bookings tbody tr{border-bottom:1px solid #e6e6e6;font-size:14px}.mec-profile .mec-profile-bookings tbody tr td{border:1px solid #e6e6e6;padding:10px;text-align:center;word-break:initial}.mec-profile .mec-profile-bookings tbody tr td:nth-child(1){width:5%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(2){width:53%;text-align:left}.mec-profile .mec-profile-bookings tbody tr td:nth-child(3){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(4){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(5){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(6){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(7){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(8){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(8) i{color:#fe686a}.mec-profile .mec-event-status{padding:5px 10px;color:#fff;border-radius:2px;font-size:12px;line-height:12px;letter-spacing:.4px}.mec-profile .mec-event-status.mec-book-confirmed{background:#50d477}.mec-profile .mec-event-status.mec-book-pending{background:#fcbe69}.mec-profile .mec-event-status.mec-book-rejected{background:#fe686a}.mec-profile .mec-event-date{font-size:12px;color:#888}.mec-event-date,.mec-event-status{text-align:center}.mec-event-date .mec-tooltip,.mec-event-status .mec-tooltip{position:relative;width:fit-content;margin:auto}.mec-profile i{font-size:15px;color:#008aff;vertical-align:text-bottom;margin-right:4px}.mec-event-date .mec-tooltip .box,.mec-event-status .mec-tooltip .box{min-width:250px;max-width:300px;display:inline-block;top:-8px;left:50%;margin-top:0;transform:translate(-50%,-100%);padding:0;background-color:#000;color:#fff;font-weight:400;font-size:14px;letter-spacing:.5px;line-height:1.5;position:absolute;z-index:99999999;box-sizing:border-box;border-radius:6px;box-shadow:0 4px 45px -8px #535a61;padding:5px 10px 6px;border-radius:8px;text-align:center;font-style:normal;opacity:0;visibility:hidden;display:none}.mec-event-date .mec-tooltip .box,.mec-event-status .mec-tooltip .box{font-size:13px;letter-spacing:1.1px;font-weight:500}.mec-event-date .mec-tooltip:hover .box:after,.mec-event-status .mec-tooltip:hover .box:after{content:"";position:absolute;width:12px;height:12px;left:calc(50% - 12px);bottom:-12px;transform:translate(50%,-50%) rotate(-45deg);background-color:#000;box-shadow:0 8px 9px -4px #535a61}.mec-event-status .mec-tooltip .box{min-width:100px}.mec-event-status.mec-book-confirmed .mec-tooltip .box,.mec-event-status.mec-book-confirmed .mec-tooltip:hover .box:after{background-color:#50d477}.mec-event-status.mec-book-rejected .mec-tooltip .box,.mec-event-status.mec-book-rejected .mec-tooltip:hover .box:after{background-color:#fe686a}.mec-event-status.mec-book-pending .mec-tooltip .box,.mec-event-status.mec-book-pending .mec-tooltip:hover .box:after{background-color:#fcbe69}.mec-event-date .mec-tooltip:hover .box,.mec-event-status .mec-tooltip:hover .box{opacity:1;visibility:visible;display:block}.mec-profile .mec-event-status{padding:0}.mec-profile .mec-booking-number-of-attendees{font-size:13px;color:#888}.mec-profile .mec-booking-number-of-attendees i,.mec-profile .mec-profile-bookings-view-invoice i{font-size:15px;color:#008aff;vertical-align:text-bottom;margin-right:4px}.mec-booking-attendees{background:#fff;padding:10px}.mec-booking-attendees{width:850px;text-align:center}.mec-booking-attendees-wrapper{border:2px solid #e6e6e6;font-size:14px}.mec-booking-attendees-head{display:table;width:100%;background:#f7f7f7;border-bottom:1px solid #e6e6e6;font-weight:700}.mec-booking-attendees-head span,.mec-booking-attendees-head-content>span{vertical-align:middle;display:table-cell;padding:7px;border-right:1px solid #e6e6e6;font-size:12px}.mec-booking-attendees-head-content{display:table;width:100%;border-bottom:1px solid #e6e6e6}.mec-booking-attendees-wrapper .mec-booking-attendees-head-content:last-child{border:none}.mec-booking-attendees-head span:nth-child(1),.mec-booking-attendees-head-content>span:nth-child(1){width:4%}.mec-booking-attendees-head span:nth-child(2),.mec-booking-attendees-head-content>span:nth-child(2){width:20%}.mec-booking-attendees-head span:nth-child(3),.mec-booking-attendees-head-content>span:nth-child(3){width:24%}.mec-booking-attendees-head span:nth-child(4),.mec-booking-attendees-head-content>span:nth-child(4){width:26%}.mec-booking-attendees-head span:nth-child(5),.mec-booking-attendees-head-content>span:nth-child(5){width:26%}@media only screen and (max-width:759px){.mec-booking-attendees{width:470px}.mec-booking-attendees-head span,.mec-booking-attendees-head-content>span{word-break:break-all}}@media (max-width:1366px){.mec-profile .mec-profile-bookings tbody tr td:nth-child(1){width:6%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(2){width:40%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(3){width:8%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(4){width:8%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(5){width:12%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(6){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(7){width:8%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(8){width:8%}}@media (max-width:1024px){.mec-profile .mec-profile-bookings tbody tr td:nth-child(1){width:5%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(2){width:30%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(3){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(4){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(5){width:15%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(6){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(7){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(8){width:10%}}@media (max-width:780px){.mec-profile .mec-profile-bookings tbody tr,.mec-profile i{font-size:12px}.mec-event-date .mec-tooltip .box{min-width:200px}.mec-event-status .mec-tooltip .box{min-width:90px}.mec-event-date .mec-tooltip .box,.mec-event-status .mec-tooltip .box{padding:4px 5px!important}.mec-profile .mec-profile-bookings tbody tr{font-size:12px}}@media (max-width:480px){.mec-profile .mec-booking-number-of-attendees,.mec-profile .mec-profile-bookings tbody tr,.mec-profile i{font-size:8px!important}.mec-profile .mec-profile-bookings tbody tr td{padding:3px}.mec-profile .mec-profile-bookings tbody tr td:nth-child(1){width:5%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(2){width:19%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(3){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(4){width:12%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(5){width:18%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(6){width:13%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(7){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(8){width:13%}.mec-event-date .mec-tooltip .box,.mec-event-status .mec-tooltip .box{font-size:8px}.mec-event-date .mec-tooltip .box{min-width:75px}.mec-event-status .mec-tooltip .box{min-width:70px}.mec-event-date .mec-tooltip .box,.mec-event-status .mec-tooltip .box{padding:4px 5px!important}}.mec-woo-booking-checkout{position:relative;border:none;border-radius:0;color:#fff;display:inline-block;font-size:12px;letter-spacing:1px;line-height:1.5;text-transform:uppercase;font-weight:600;text-decoration:none;cursor:pointer;margin-bottom:21px;margin-right:10px;line-height:1;padding:18px 20px 16px;background:#39c36e;-webkit-transition:all .21s ease;-moz-transition:all .21s ease;transition:all .21s ease;border-radius:0;margin-bottom:6px;min-width:170px;margin-top:5px;text-align:center}.mec-woo-booking-checkout:hover{background:#222;color:#fff}.mec-woo-booking-checkout:focus,.mec-woo-booking-checkout:visited{color:#fff}.single-mec-events .lity-container{max-width:480px;width:480px}.lity-content .mec-events-meta-group-booking{width:100%;padding:20px 50px;background:#fff}.lity-content .mec-events-meta-group-booking .mec-booking form>h4{text-transform:uppercase;font-size:15px;font-weight:700;color:#313131;border-bottom:4px solid #ebebeb;width:100%;display:block;padding-bottom:10px;position:relative;text-align:center;line-height:1.2;margin-bottom:10px}.lity-content .mec-events-meta-group-booking .mec-booking form>h4:before{padding:1px 35px;border-bottom:4px solid #40d9f1;font-size:6px;content:"";text-align:center;position:absolute;bottom:-4px;margin-left:-35px;left:50%}.lity-content .mec-events-meta-group-booking .mec-event-ticket-available,.lity-content .mec-events-meta-group-booking .mec-event-ticket-name,.lity-content .mec-events-meta-group-booking .mec-event-ticket-price,.lity-content .mec-events-meta-group-booking .mec-ticket-variation-name,.lity-content .mec-events-meta-group-booking .mec-ticket-variation-price,.lity-content .mec-events-meta-group-booking label{color:#424242;font-size:12px;font-weight:300;letter-spacing:0;margin:3px 0;clear:none;padding:5px 1em 3px 0;display:inline-block}.lity-content .mec-events-meta-group-booking .mec-event-ticket-available{margin-bottom:12px}.lity-content .mec-events-meta-group-booking select{display:block;background:#fcfcfc;min-height:42px;min-width:180px;font-size:13px;border:1px solid #e0e0e0;padding:13px 10px;width:100%;margin-bottom:20px;box-shadow:inset 0 2px 4px rgba(0,0,0,.051);clear:both}.lity-content .mec-events-meta-group-booking input[type=email]{color:#888;border:1px solid #e1e1e1;font-size:14px;display:block;width:100%;outline:0}.lity-content .mec-events-meta-group-booking input{margin-bottom:10px!important}.lity-content .mec-book-ticket-variation h5{color:#424242;font-size:12px;font-weight:300;letter-spacing:0;margin:0;clear:none;padding:5px 1em 3px 0;display:inline-block;text-transform:capitalize}.lity-content ul.mec-book-tickets-container{padding:0}.lity-content .mec-events-meta-group-booking input[type=email],.lity-content .mec-events-meta-group-booking input[type=number],.lity-content .mec-events-meta-group-booking input[type=text]{outline:0;display:block;background:#fcfcfc;min-height:42px;min-width:180px;font-size:13px;border:1px solid #e0e0e0;padding:13px 10px;width:100%;margin-bottom:20px;box-shadow:inset 0 2px 4px rgba(0,0,0,.051);clear:both;margin-bottom:2px!important}.lity-container .mec-click-pay #mec_woo_add_to_cart_btn_r,.lity-content button[type=submit]{position:relative;border:none;color:#fff;display:inline-block;font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:600;text-decoration:none;cursor:pointer;margin-right:10px;line-height:1;padding:18px 20px 16px;background:#39c36e;-webkit-transition:all .21s ease;-moz-transition:all .21s ease;transition:all .21s ease;min-width:170px;margin-top:5px;border-radius:0;margin-bottom:6px}.lity-content button[type=submit]:hover{background:#222}.lity-content .mec-book-tickets-container li{list-style:none}.lity-content .mec-events-meta-group-booking #mec_book_payment_form h4,.lity-content .mec-events-meta-group-booking li h4{font-size:19px;font-weight:700}.lity-content .mec-events-meta-group-booking .mec-book-price-total{display:inline-block;margin-bottom:10px;font-size:26px;color:#39c36e;font-weight:700;padding:10px 0}.lity-content .mec-events-meta-group-booking ul.mec-book-price-details li{width:50%}.lity-content .mec-events-meta-group-booking ul.mec-book-price-details li:nth-child(even){border:none}.lity-content .mec-events-meta-group-booking ul.mec-book-price-details li span{display:block}.lity-content .mec-events-meta-group-booking button[type=submit]:after{display:none;font-family:simple-line-icons;content:"\e098";margin-left:4px;-webkit-animation:rotating 1.2s linear infinite;-moz-animation:rotating 1.2s linear infinite;-ms-animation:rotating 1.2s linear infinite;-o-animation:rotating 1.2s linear infinite;animation:rotating 1.2s linear infinite}.lity-content .mec-events-meta-group-booking button[type=submit].loading:after{display:inline-block}@media only screen and (max-width:480px){.lity-content .mec-events-meta-group-booking{padding:20px;width:340px;margin:0 auto}}@media (max-width:480px){.single-mec-events .lity-container{max-width:440px;width:440px;margin:0 auto!important}}@media (max-width:411px){.single-mec-events .lity-container{max-width:380px;width:380px}}@media (max-width:375px){.single-mec-events .lity-container{max-width:350px;width:350px}}@media (max-width:320px){.single-mec-events .lity-container{max-width:300px;width:300px}}.mec-events-meta-group-booking{position:relative}.mec-cover-loader:after{content:"";position:absolute;top:0;right:0;left:0;bottom:0;background:rgba(255,255,255,.5);z-index:99999}.mec-loader{background:rgba(0,0,0,0);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9}.mec-loader,.mec-loader:after{border-radius:50%;width:5em;height:5em;z-index:999999999999}.mec-loader{font-size:10px;text-indent:-9999em;border-top:.5em solid rgba(0,0,0,.2);border-right:.5em solid rgba(0,0,0,.2);border-bottom:.5em solid rgba(0,0,0,.2);border-left:.5em solid #fff;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:mecloader 1.1s infinite linear;animation:mecloader 1.1s infinite linear}@-webkit-keyframes mecloader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes mecloader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.mec-google-recaptcha{margin:0 0 20px 16px}.mec-wrap *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mec-wrap :after,.mec-wrap :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mec-wrap .clearfix:after,.mec-wrap .clearfix:before{content:"\0020";display:block;overflow:hidden;visibility:hidden;width:0;height:0}.mec-wrap .clearfix:after{clear:both}.mec-wrap .clearfix{zoom:1}.mec-wrap .clear,.mec-wrap .clr{clear:both;display:block;overflow:hidden;visibility:hidden}.mec-wrap .clr{visibility:visible;overflow:visible}.mec-container [class*=col-] img{max-width:100%}.mec-container{margin-right:auto;margin-left:auto;padding-left:10px;padding-right:10px}.mec-container:after,.mec-container:before{content:" ";display:table}.mec-container:after{clear:both}@media only screen and (max-width:479px){.mec-container{width:300px}}@media only screen and (min-width:480px) and (max-width:767px){.mec-container{width:420px}}@media only screen and (min-width:768px) and (max-width:960px){.mec-container{width:768px}}@media only screen and (min-width:961px){.mec-container{width:960px}}@media only screen and (min-width:1200px){.mec-container{width:1196px;padding-left:15px;padding-right:15px}}@media only screen and (min-width:1921px){.mec-container{max-width:1690px}}.mec-wrap .row{margin-left:-10px;margin-right:-10px}.mec-wrap .row:after,.mec-wrap .row:before{content:" ";display:table}.mec-wrap .row:after{clear:both}.mec-wrap .col-lg-1,.mec-wrap .col-lg-10,.mec-wrap .col-lg-11,.mec-wrap .col-lg-12,.mec-wrap .col-lg-2,.mec-wrap .col-lg-3,.mec-wrap .col-lg-4,.mec-wrap .col-lg-5,.mec-wrap .col-lg-6,.mec-wrap .col-lg-7,.mec-wrap .col-lg-8,.mec-wrap .col-lg-9,.mec-wrap .col-md-1,.mec-wrap .col-md-10,.mec-wrap .col-md-11,.mec-wrap .col-md-12,.mec-wrap .col-md-2,.mec-wrap .col-md-3,.mec-wrap .col-md-4,.mec-wrap .col-md-5,.mec-wrap .col-md-6,.mec-wrap .col-md-7,.mec-wrap .col-md-8,.mec-wrap .col-md-9,.mec-wrap .col-sm-1,.mec-wrap .col-sm-10,.mec-wrap .col-sm-11,.mec-wrap .col-sm-12,.mec-wrap .col-sm-2,.mec-wrap .col-sm-3,.mec-wrap .col-sm-4,.mec-wrap .col-sm-5,.mec-wrap .col-sm-6,.mec-wrap .col-sm-7,.mec-wrap .col-sm-8,.mec-wrap .col-sm-9,.mec-wrap .col-xs-1,.mec-wrap .col-xs-10,.mec-wrap .col-xs-11,.mec-wrap .col-xs-12,.mec-wrap .col-xs-2,.mec-wrap .col-xs-3,.mec-wrap .col-xs-4,.mec-wrap .col-xs-5,.mec-wrap .col-xs-6,.mec-wrap .col-xs-7,.mec-wrap .col-xs-8,.mec-wrap .col-xs-9{position:relative;min-height:1px;padding-left:10px;padding-right:10px}@media only screen and (min-width:1200px){.mec-wrap .col-lg-1,.mec-wrap .col-lg-10,.mec-wrap .col-lg-11,.mec-wrap .col-lg-12,.mec-wrap .col-lg-2,.mec-wrap .col-lg-3,.mec-wrap .col-lg-4,.mec-wrap .col-lg-5,.mec-wrap .col-lg-6,.mec-wrap .col-lg-7,.mec-wrap .col-lg-8,.mec-wrap .col-lg-9,.mec-wrap .col-md-1,.mec-wrap .col-md-10,.mec-wrap .col-md-11,.mec-wrap .col-md-12,.mec-wrap .col-md-2,.mec-wrap .col-md-3,.mec-wrap .col-md-4,.mec-wrap .col-md-5,.mec-wrap .col-md-6,.mec-wrap .col-md-7,.mec-wrap .col-md-8,.mec-wrap .col-md-9,.mec-wrap .col-sm-1,.mec-wrap .col-sm-10,.mec-wrap .col-sm-11,.mec-wrap .col-sm-12,.mec-wrap .col-sm-2,.mec-wrap .col-sm-3,.mec-wrap .col-sm-4,.mec-wrap .col-sm-5,.mec-wrap .col-sm-6,.mec-wrap .col-sm-7,.mec-wrap .col-sm-8,.mec-wrap .col-sm-9,.mec-wrap .col-xs-1,.mec-wrap .col-xs-10,.mec-wrap .col-xs-11,.mec-wrap .col-xs-12,.mec-wrap .col-xs-2,.mec-wrap .col-xs-3,.mec-wrap .col-xs-4,.mec-wrap .col-xs-5,.mec-wrap .col-xs-6,.mec-wrap .col-xs-7,.mec-wrap .col-xs-8,.mec-wrap .col-xs-9{padding-left:15px;padding-right:15px}.mec-wrap .row{margin-left:-15px;margin-right:-15px}}.mec-container [class*=col-].alpha{padding-left:0}.mec-container [class*=col-].omega{padding-right:0}.mec-wrap .col-xs-1,.mec-wrap .col-xs-10,.mec-wrap .col-xs-11,.mec-wrap .col-xs-12,.mec-wrap .col-xs-2,.mec-wrap .col-xs-3,.mec-wrap .col-xs-4,.mec-wrap .col-xs-5,.mec-wrap .col-xs-6,.mec-wrap .col-xs-7,.mec-wrap .col-xs-8,.mec-wrap .col-xs-9{float:left}.mec-wrap .col-xs-12{width:100%}.mec-wrap .col-xs-11{width:91.66666666666666%}.mec-wrap .col-xs-10{width:83.33333333333334%}.mec-wrap .col-xs-9{width:75%}.mec-wrap .col-xs-8{width:66.66666666666666%}.mec-wrap .col-xs-7{width:58.333333333333336%}.mec-wrap .col-xs-6{width:50%}.mec-wrap .col-xs-5{width:41.66666666666667%}.mec-wrap .col-xs-4{width:33.33333333333333%}.mec-wrap .col-xs-3{width:25%}.mec-wrap .col-xs-2{width:16.666666666666664%}.mec-wrap .col-xs-1{width:8.333333333333332%}@media (min-width:768px){.mec-wrap .col-sm-1,.mec-wrap .col-sm-10,.mec-wrap .col-sm-11,.mec-wrap .col-sm-12,.mec-wrap .col-sm-2,.mec-wrap .col-sm-3,.mec-wrap .col-sm-4,.mec-wrap .col-sm-5,.mec-wrap .col-sm-6,.mec-wrap .col-sm-7,.mec-wrap .col-sm-8,.mec-wrap .col-sm-9{float:left}.mec-wrap .col-sm-12{width:100%}.mec-wrap .col-sm-11{width:91.66666666666666%}.mec-wrap .col-sm-10{width:83.33333333333334%}.mec-wrap .col-sm-9{width:75%}.mec-wrap .col-sm-8{width:66.66666666666666%}.mec-wrap .col-sm-7{width:58.333333333333336%}.mec-wrap .col-sm-6{width:50%}.mec-wrap .col-sm-5{width:41.66666666666667%}.mec-wrap .col-sm-4{width:33.33333333333333%}.mec-wrap .col-sm-3{width:25%}.mec-wrap .col-sm-2{width:16.666666666666664%}.mec-wrap .col-sm-1{width:8.333333333333332%}}@media (min-width:961px){.mec-wrap .col-md-1,.mec-wrap .col-md-10,.mec-wrap .col-md-11,.mec-wrap .col-md-12,.mec-wrap .col-md-2,.mec-wrap .col-md-3,.mec-wrap .col-md-4,.mec-wrap .col-md-5,.mec-wrap .col-md-6,.mec-wrap .col-md-7,.mec-wrap .col-md-8,.mec-wrap .col-md-9{float:left}.mec-wrap .col-md-12{width:100%}.mec-wrap .col-md-11{width:91.66666666666666%}.mec-wrap .col-md-10{width:83.33333333333334%}.mec-wrap .col-md-9{width:75%}.mec-wrap .col-md-8{width:66.66666666666666%}.mec-wrap .col-md-7{width:58.333333333333336%}.mec-wrap .col-md-6{width:50%}.mec-wrap .col-md-5{width:41.66666666666667%}.mec-wrap .col-md-4{width:33.33333333333333%}.mec-wrap .col-md-3{width:25%}.mec-wrap .col-md-2{width:16.666666666666664%}.mec-wrap .col-md-1{width:8.333333333333332%}}@media (min-width:1200px){.mec-wrap .col-lg-1,.mec-wrap .col-lg-10,.mec-wrap .col-lg-11,.mec-wrap .col-lg-12,.mec-wrap .col-lg-2,.mec-wrap .col-lg-3,.mec-wrap .col-lg-4,.mec-wrap .col-lg-5,.mec-wrap .col-lg-6,.mec-wrap .col-lg-7,.mec-wrap .col-lg-8,.mec-wrap .col-lg-9{float:left}.mec-wrap .col-lg-12{width:100%}.mec-wrap .col-lg-11{width:91.66666666666666%}.mec-wrap .col-lg-10{width:83.33333333333334%}.mec-wrap .col-lg-9{width:75%}.mec-wrap .col-lg-8{width:66.66666666666666%}.mec-wrap .col-lg-7{width:58.333333333333336%}.mec-wrap .col-lg-6{width:50%}.mec-wrap .col-lg-5{width:41.66666666666667%}.mec-wrap .col-lg-4{width:33.33333333333333%}.mec-wrap .col-lg-3{width:25%}.mec-wrap .col-lg-2{width:16.666666666666664%}.mec-wrap .col-lg-1{width:8.333333333333332%}}#mec_woo_add_to_cart_btn{min-width:170px;margin-top:5px;text-align:center}.mec-breadcrumbs{border-radius:2px;padding:9px 15px 6px;font-size:11px;color:#8d8d8d;letter-spacing:0;text-transform:none;font-weight:500;margin:auto 15px 33px 15px;border:1px solid #e6e6e6;box-shadow:0 2px 0 0 rgba(0,0,0,.025)}.mec-breadcrumbs-modern{margin:auto 0 33px 0}.mec-breadcrumbs a{color:#000;padding-left:4px}.mec-breadcrumbs a:hover{text-decoration:underline}.mec-breadcrumbs i{font-size:8px;margin:0 0 0 4px}.mec-breadcrumbs .container{padding-left:20px}.mec-content-notification a{margin-left:5px}.mec-content-notification{background:#f7f7f7;padding:10px 10px 10px;border:1px solid #e8e8e8}.mec-content-notification p{margin-bottom:0}.mec-fes-form #mec-advanced-wraper div:first-child>ul{border:1px solid #cfeff5;width:auto;box-shadow:0 1px 4px -2px #cfeff5;display:block;margin:5px 0 10px;padding:5px 0;border-radius:2px}.mec-fes-form #mec-advanced-wraper div:first-child>ul:last-of-type{margin-bottom:35px}#mec-advanced-wraper div:first-child>ul span{display:none}#mec-advanced-wraper div:first-child>ul *{display:inline-block;background:#fff;font-size:12px;color:#717273;text-align:center}#mec-advanced-wraper div:first-child>ul>li{width:60px;font-weight:700;margin:0 10px 0 0;padding:4px 0;border-right:1px solid #cfeff5}#mec-advanced-wraper div:first-child>ul>ul>li{margin:0;padding:2px 10px;cursor:pointer;border-radius:2px;transition:all .18s ease}.mec-fes-form #mec-advanced-wraper div:first-child>ul>ul>li.mec-active,.mec-fes-form #mec-advanced-wraper div:first-child>ul>ul>li:hover{background:#40d9f1!important;box-shadow:0 1px 9px -3px #40d9f1;color:#fff!important}.mec-search-bar-wrap .mec-search-form .mec-text-input-search{width:83%}.mec-search-bar-wrap .mec-search-form .mec-ajax-search-result .mec-text-input-search{width:100%;float:none}.mec-search-bar-wrap input#mec-search-bar-input{width:calc(100% - 84%);margin-left:11px;background:#40d9f1;color:#fff;font-weight:400}.mec-text-input-search+input#mec-search-bar-input{margin-left:-3px}.mec-search-bar-wrap input#mec-search-bar-input:hover{background:#000}.mec-wrap.mec-search-bar-wrap .mec-totalcal-box input{float:none}@media (max-width:768px){.mec-search-bar-wrap .mec-search-form .mec-text-input-search{display:inline-block}}@media (max-width:480px){.mec-search-bar-wrap .mec-search-form .mec-text-input-search{width:64%}.mec-search-bar-wrap input#mec-search-bar-input{width:calc(100% - 67%)}}.mec-wrap.mec-search-bar-wrap .mec-totalcal-box{overflow:visible}.mec-ajax-search-result{position:relative}.mec-search-bar-wrap.mec-wrap .mec-totalcal-box input[type=text]{width:calc(100% - 36px)}.mec-search-bar-wrap.mec-wrap .mec-totalcal-box input[type=text]:focus{border-color:#efefef}div#mec-ajax-search-result-wrap{position:absolute;top:100%;opacity:0;visibility:hidden;width:calc(100% - 2px);min-height:50px;left:0;right:0;padding:0 10px;z-index:9999;transition:all .3s ease}.mec-ajax-search-result-events{background:#fff;padding:10px 20px;border:1px solid #efefef;border-top:none}.mec-ajax-search-result-events article:first-of-type{border:none}article.mec-search-bar-result{text-align:left;margin-bottom:0;padding-bottom:25px;padding-top:26px;border-top:1px solid #efefef;transition:all .33s ease;clear:both}.mec-search-bar-result .mec-event-list-search-bar-date{width:64px;height:64px;margin-right:10px;font-size:11px;text-transform:uppercase;float:left;text-align:center;padding-top:2px}.mec-search-bar-result .mec-event-list-search-bar-date span{font-size:40px;line-height:30px;font-weight:700;display:block;margin-bottom:6px;letter-spacing:1px}.mec-search-bar-result .mec-event-image{float:left;margin-right:20px;width:65px;height:auto}.mec-search-bar-result .mec-event-time{font-size:11px;line-height:1.1;margin:0}.mec-search-bar-result .mec-event-time i{color:#40d9f1;float:none;width:unset;height:unset;font-size:inherit;margin-right:3px;border:none;padding:0}.mec-search-bar-result .mec-event-title{font-size:13px;padding:0;margin:10px 0 8px;font-weight:700;text-transform:uppercase}.mec-search-bar-result .mec-event-title a{text-decoration:none;color:#494949;transition:color .3s ease}.mec-search-bar-result .mec-event-detail{font-size:13px;line-height:1.3;color:#9a9a9a;margin-bottom:0}.mec-wrap.mec-modern-search-bar .mec-totalcal-box{background:rgba(255,255,255,.87);border:none;padding:35px;border-radius:3px;box-shadow:0 3px 13px rgba(0,0,0,.4);position:relative}.mec-wrap.mec-modern-search-bar .mec-totalcal-box input[type=search],.mec-wrap.mec-modern-search-bar .mec-totalcal-box input[type=text]{height:58px;background:rgba(255,255,255,.99);border-radius:2px;box-shadow:0 4px 8px rgba(0,0,0,.1) inset;border:1px solid #ccc;width:100%;padding-left:45px;padding-right:13px;font-size:16px}.mec-wrap.mec-modern-search-bar .mec-totalcal-box .mec-text-input-search i{position:absolute;background:0 0;border:none;font-size:21px;left:15px;top:calc(50% - 19px);color:#40d9f1}.mec-wrap.mec-modern-search-bar .mec-text-input-search{position:relative;height:58px}.mec-wrap.mec-modern-search-bar .mec-totalcal-box input[type=submit]{height:58px;border:none;border-radius:2px;background:#fc4a1a;font-size:17px;font-weight:700!important}.mec-wrap.mec-modern-search-bar .mec-text-input-search+input#mec-search-bar-input{margin-left:0}.mec-wrap.mec-modern-search-bar .mec-search-form .mec-dropdown-wrap .mec-dropdown-search select{height:45px;background:rgba(255,255,255,.99);border-radius:2px;box-shadow:0 4px 8px rgba(0,0,0,.1) inset;border:1px solid #ccc;padding-right:13px;font-size:16px;border-left:0}.mec-wrap.mec-modern-search-bar .mec-search-form .mec-dropdown-wrap i{height:45px;background:#ffff;border-radius:2px 0 0 2px;box-shadow:none;border:1px solid #ccc;font-size:15px;padding-top:14px;border-right:0;color:#40d9f1;margin-right:-1px}.mec-wrap.mec-modern-search-bar .mec-search-form .mec-dropdown-wrap{min-height:64px}@media (max-width:768px){.mec-wrap.mec-modern-search-bar .mec-search-form .mec-text-input-search{width:70%}.mec-wrap.mec-modern-search-bar input#mec-search-bar-input{width:calc(100% - 72%)}}@media (max-width:480px){.mec-wrap.mec-modern-search-bar input#mec-search-bar-input{width:92%;padding:0 10px;position:relative;display:block;margin-left:11px}.mec-wrap.mec-modern-search-bar .mec-search-form .mec-text-input-search{width:100%;margin-bottom:20px}.mec-wrap.mec-modern-search-bar .mec-text-input-search+input#mec-search-bar-input{margin-left:10px}}.mec-wrap .mec-related-events-wrap{margin-left:0;margin-right:0}.mec-related-events{margin-right:-15px;margin-left:-15px}@media(max-width:980px){.mec-related-events{margin-right:-10px;margin-left:-10px}}.mec-related-events-wrap{margin-top:50px}.mec-related-events-wrap h3.mec-rec-events-title:before{content:"";background:#2c2f34;width:46px;height:4px;position:absolute;top:59px;left:0}.mec-related-events-wrap h3.mec-rec-events-title{font-size:21px;font-weight:600;padding:17px 0;margin-bottom:28px;text-transform:uppercase;border-bottom:1px solid #e8e8e8;position:relative}.mec-related-event-post figure{margin:0}.mec-related-event-post figure img{width:100%;border-radius:3px}.mec-related-event-content{background-color:#fff;margin:-40px 20px 15px;border-radius:2px;position:relative;max-width:90%;padding:10px 12px 16px 17px}.mec-related-event-content h5 a{font-size:16px;color:#121212;font-weight:600;transition:all .3s ease}@media(max-width:480px){.mec-wrap .mec-related-events .mec-related-event-post{padding-right:15px;padding-left:15px}}.mec-next-previous-events{width:100%;height:104px;display:block;padding:0}.mec-next-previous-events li{list-style:none;width:50%;display:inline-block;margin:40px 0 40px}.mec-next-previous-events li:last-child{text-align:right;float:right}.mec-next-previous-events li a{padding:9px 14px 9px 14px;border:1px solid #000;transition:.3s}.mec-wrap .mec-next-previous-events li a:hover{color:#fff}.mec-previous-event{float:left;text-align:left}.mec-next-event ul{padding-left:0}.mec-next-previous-events .mec-previous-event i{padding-right:20px}.mec-next-previous-events .mec-next-event i{padding-left:20px}.mec-next-multiple ul{padding:0}.mec-next-multiple ul li a{display:block;position:relative;padding:11px 14px 9px;z-index:9}.mec-next-multiple ul .mec-date,.mec-next-multiple ul .mec-time{display:inline-block}.mec-next-multiple ul .mec-time{width:40%}.mec-next-multiple ul .mec-date{width:60%}.mec-next-multiple ul .mec-date{float:left;text-align:left}.mec-next-multiple ul .mec-time{text-align:right;position:relative;z-index:-1}.mec-next-multiple ul .mec-time dd{margin:0;padding:0}.mec-next-multiple ul .mec-date .mec-end-date-label,.mec-next-multiple ul .mec-date .mec-start-date-label,.mec-next-multiple ul .mec-time .mec-events-abbr{font-size:11px;line-height:24px}@media (max-width:1280px){.mec-next-multiple ul li a{padding:7px 9px 5px}.mec-next-multiple ul .mec-date .mec-start-date-label,.mec-next-multiple ul .mec-time .mec-events-abbr{font-size:12px}}@media (max-width:480px){.mec-next-previous-events li{list-style:none;width:100%;display:block;margin:10px 0;float:unset}.mec-next-previous-events li a{width:100%;max-width:100%;float:unset;display:block;text-align:center;font-size:16px}}.mec-fes-form-cntt #mec-organizer-payments ul{list-style:none;background:0 0;margin:0;padding-left:0}.mec-fes-form-cntt #mec-organizer-payments ul li h4{background:0 0;letter-spacing:.2px;display:inline-block;padding-left:0!important;padding-bottom:10px!important;margin:0;margin-bottom:1px;letter-spacing:1px;text-transform:capitalize;padding-top:1px}.mec-fes-form-cntt #mec-organizer-payments ul>li{width:100%;display:inline-block;vertical-align:top;padding:0;margin:0}.mec-fes-form #mec_gateway_options_form_stripe_connection_button{padding:9px 13px!important}#mec-login-form.mec-login-form{width:100%;background:#fff;padding:20px;margin:0 auto;text-align:center;position:relative}#mec-login-form.mec-login-form .mec-login-input{display:block;width:286px;margin:0 auto;margin-bottom:12px}#mec-login-form.mec-login-form .mec-login-forgotpassword{display:inline-block}.mec-login-forgotpassword a{color:#000}#mec-login-form.mec-login-form .mec-login-submit{float:right;text-align:right;width:49%;padding-right:2px}#mec-login-form.mec-login-form .mec-login-input input{border:none;box-shadow:none;background:#fff;color:#ccc;border-left:1px solid #e6e6e6;padding:0;height:100%;background-image:none!important;padding-left:10px;padding-right:0;width:222px;margin-left:0;clear:none;float:left}#mec-login-form.mec-login-form .mec-login-input label{border:1px solid #e6e6e6;height:52px;display:inline-block;padding:0;border-radius:3px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.04)}#mec-login-form.mec-login-form .mec-login-input label i{padding:15px 13px 17px 16px;vertical-align:middle;font-size:20px;width:50px;color:#c5cad0;background:#fafafa;margin-right:0;float:left}#mec-login-form.mec-login-form .mec-login-forgotpassword{float:left;width:49%;text-align:left;padding-top:10px;font-size:13px;padding-left:2px}#mec-login-form.mec-login-form button{width:120px;height:44px;border:none;color:#fff;border-radius:3px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:all .22s ease;margin:0;min-width:unset}.mec-login-form button{box-shadow:0 4px 22px -7px #40d9f1;background-color:#40d9f1}#mec-login-form.mec-login-form button:hover{background:#222;box-shadow:0 3px 14px -4px #333}#mec-login-form.mec-login-form .mec-login-form-footer{width:286px;margin:0 auto;margin-top:20px;clear:both;position:relative;display:block;min-height:50px}#mec-login-form.mec-login-form .mec-ajax-login-loading{position:absolute;background:#ffffffc2;left:0;right:0;top:0;bottom:0}#mec-login-form.mec-login-form .lds-ripple{position:absolute;width:64px;height:64px;top:calc(50% - 23px);left:calc(50% - 23px)}#mec-login-form.mec-login-form .lds-ripple div{position:absolute;border:4px solid #40d9f1;opacity:1;border-radius:50%;animation:lds-ripple 1.2s cubic-bezier(0,.2,.1,.8) infinite}#mec-login-form.mec-login-form .lds-ripple div:nth-child(2){animation-delay:-.5s}#mec-login-form.mec-login-form .mec-ajax-login-loading-text{position:absolute;min-width:200px;top:calc(50% - 18px);left:calc(50% - 124px);color:#fff;padding:10px 22px;border-radius:3px;background:#fff;height:47px}#mec-login-form.mec-login-form .mec-ajax-login-loading-text strong{color:#3fcc60}#mec-login-form.mec-login-form .mec-ajax-login-loading-text strong:before{content:"";position:absolute;top:8px;left:1px;border-right:2px solid #3fcc60;border-bottom:2px solid #3acb5c;transform:rotate(45deg);transform-origin:0 100%;color:#000;animation:checkbox-check 130ms 140ms cubic-bezier(.4,0,.23,1) forwards;width:8px;height:14px}#mec-login-form.mec-login-form .mec-ajax-login-loading-text.error strong:after{content:"";position:absolute;top:14px;left:5px;border-bottom:2px solid #ff5d39;transform:rotate(45deg);transform-origin:0 100%;color:#000;animation:checkbox-check 130ms 140ms cubic-bezier(.4,0,.23,1) forwards;width:14px;height:4px}#mec-login-form.mec-login-form .mec-ajax-login-loading-text.error strong{color:#ff5d39}#mec-login-form.mec-login-form .mec-ajax-login-loading-text.error strong:before{border-color:#ff5d39;border-bottom:none}@keyframes lds-ripple{0%{top:28px;left:28px;width:0;height:0;opacity:1}100%{top:-1px;left:-1px;width:58px;height:58px;opacity:0}}.mec-book-form-gateway-checkout [id*=mec_do_transaction_stripe_] .mec-form-row:first-child{margin-bottom:20px}.mec-events-meta-group-booking .StripeElement{box-sizing:border-box;height:40px;padding:10px 12px;border:1px solid transparent;border-radius:4px;background-color:#fff;box-shadow:0 1px 3px 0 #e6ebf1;-webkit-transition:box-shadow 150ms ease;transition:box-shadow 150ms ease;margin-bottom:20px;background:#fff}.mec-book-form-gateways [id*=mec_book_form_gateway_checkout] input[type=text]{box-sizing:border-box;height:40px;padding:10px 12px;border:0!important;border-radius:4px;background-color:#fff;box-shadow:0 1px 3px 0 #e6ebf1!important;-webkit-transition:box-shadow 150ms ease;transition:box-shadow 150ms ease;margin-bottom:20px;background:#fff!important}.mec-book-form-gateways [id*=mec_book_form_gateway_checkout] input[type=text]:focus{outline:0}.mec-events-meta-group-booking .StripeElement--focus{box-shadow:0 1px 3px 0 #cfd7df}.mec-events-meta-group-booking .StripeElement--invalid{border-color:#fa755a}.mec-events-meta-group-booking .StripeElement--webkit-autofill{background-color:#fefde5!important}.mec-booking-tab-content .button,.mec-booking-tab-content .mec-bfixed-field-add-option,.mec-booking-tab-content .mec-reg-field-add-option,.mec-fes-form .mec-form-row .button:not(.wp-color-result),.mec-fes-form input[type=file],ul#mec_bfixed_form_fields li .mec_bfixed_field_remove,ul#mec_orgz_form_row li .mec-additional-organizer-remove,ul#mec_reg_form_fields li .mec_reg_field_remove{height:40px;margin-top:1px;text-decoration:none;font-size:14px;line-height:34px!important;margin:0;padding:0 15px 1px!important;text-transform:none;letter-spacing:0;font-weight:600;color:#40d9f1;background:#fff;border-radius:3px;margin-right:8px;border:2px solid #cfeff5;box-shadow:0 2px 6px -3px #cfeff5}.mec-fes-form .mec-additional-organizers .select2-container{margin-bottom:0}.mec-booking-tab-content .button:hover,.mec-booking-tab-content .mec-bfixed-field-add-option:hover,.mec-booking-tab-content .mec-reg-field-add-option:hover,.mec-fes-form .mec-form-row .button:not(.wp-color-result):hover{background:#40d9f1;color:#fff;border-color:#40d9f1;box-shadow:0 2px 6px -3px #40d9f1}.mec-fes-form .mec-form-row input+button.button{vertical-align:top}.mec-fes-form .mec-form-row .quicktags-toolbar input.button.button-small{border-width:1px;padding:0 7px;color:#80c6d2;font-weight:400;margin:1px;transform:none}.mec-fes-form input[type=file]{max-width:166px;text-align:center;height:44px;transition:all .2s ease;border-radius:5px!important;border:2px dashed #b8e9f3}.mec-fes-form input[type=file]:hover{box-shadow:0 2px 16px -3px #cfeff5}.mec-fes-form input[type=file]::-webkit-file-upload-button{visibility:hidden;width:1px;height:38px}.mec-fes-form input[type=file]::-moz-file-upload-button{visibility:hidden;width:1px;height:38px}.mec-fes-form .mec-meta-box-fields>label{padding:0}#mec_bfixed_form_fields li,#mec_orgz_form_row li,#mec_reg_form_fields li{list-style:none}ul#mec_bfixed_form_fields,ul#mec_orgz_form_row,ul#mec_reg_form_fields{padding:0;margin:0}ul#mec_bfixed_form_fields li,ul#mec_orgz_form_row li,ul#mec_reg_form_fields li{background:#f8feff;margin:6px -20px;padding:15px 25px 10px;width:auto;font-size:13px;border-top:1px solid #e8fafd;border-bottom:1px solid #e8fafd;position:relative}ul#mec_bfixed_form_fields li .mec_bfixed_field_remove,ul#mec_orgz_form_row li .mec-additional-organizer-remove,ul#mec_reg_form_fields li .mec_reg_field_remove{position:absolute;right:10px;top:10px;margin:0;padding:6px 8px!important;font-size:11px;line-height:12px!important;min-height:10px;height:auto;display:block;cursor:pointer;color:#ea6485;border-color:#ffd2dd;letter-spacing:.4px}ul#mec_bfixed_form_fields li .mec_bfixed_field_remove:hover,ul#mec_orgz_form_row li .mec-additional-organizer-remove:hover,ul#mec_reg_form_fields li .mec_reg_field_remove:hover{background:#ea6485;color:#fff;border-color:#ea6485;box-shadow:0 2px 6px -3px #ea6485}#mec_bfixed_form_fields input[type=checkbox],#mec_bfixed_form_fields input[type=radio],#mec_reg_form_fields input[type=checkbox],#mec_reg_form_fields input[type=radio],.mec-form-row input[type=checkbox],.mec-form-row input[type=radio]{background-color:#fff;border:1px solid #cfeff5;box-shadow:0 1px 3px -1px #cfeff5;padding:9px;border-radius:3px;min-width:24px;min-height:24px;display:inline-block!important;vertical-align:middle;float:none;transition:all .18s ease;outline:0;margin:1px 4px 4px 0;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none}#mec_bfixed_form_fields input[type=checkbox]:focus,#mec_bfixed_form_fields input[type=radio]:focus,#mec_reg_form_fields input[type=checkbox]:focus,#mec_reg_form_fields input[type=radio]:focus,.mec-form-row input[type=checkbox]:focus,.mec-form-row input[type=radio]:focus{outline:0}#mec_bfixed_form_fields input[type=radio],#mec_reg_form_fields input[type=radio],.mec-form-row input[type=radio]{-webkit-appearance:none;border-radius:20px!important;min-width:20px;min-height:20px;margin:0 0 4px 0;vertical-align:middle}#mec_bfixed_form_fields input[type=checkbox]:hover,#mec_bfixed_form_fields input[type=radio]:hover,#mec_reg_form_fields input[type=checkbox]:hover,#mec_reg_form_fields input[type=radio]:hover,.mec-form-row input[type=checkbox]:hover,.mec-form-row input[type=radio]:hover{border-color:#40d9f1}#mec_bfixed_form_fields input[type=checkbox]:checked,#mec_bfixed_form_fields input[type=radio]:checked,#mec_reg_form_fields input[type=checkbox]:checked,#mec_reg_form_fields input[type=radio]:checked,.mec-fes-form .mec-form-row input[type=checkbox]:checked,.mec-fes-form .mec-form-row input[type=radio]:checked{box-shadow:0 1px 6px -2px #40d9f1;border-color:#40d9f1;background:#40d9f1!important;border-radius:2px;position:relative}.mec-form-row input[type=radio]:checked{box-shadow:0 1px 6px -2px #40d9f1,inset 0 0 0 3px #fff!important}#mec_bfixed_form_fields input[type=checkbox]:checked::before,#mec_reg_form_fields input[type=checkbox]:checked::before,.mec-form-row input[type=checkbox]:checked:before{content:"";font:normal;position:absolute;top:12px;left:5px;margin:0;vertical-align:middle;line-height:1;border-right:2px solid #fff!important;border-bottom:2px solid #fff!important;transform:rotate(45deg);transform-origin:0 100%;color:#fff;transition:all .2s ease;animation:checkbox-check 130ms 140ms cubic-bezier(.4,0,.23,1) forwards}@keyframes checkbox-check{0%{width:0;height:0;border-color:#fff;transform:translate3d(0,0,0) rotate(45deg)}33%{width:6px;height:0;transform:translate3d(0,0,0) rotate(45deg)}100%{width:6px;height:12px;border-color:#fff;transform:translate3d(0,-12px,0) rotate(45deg)}}#wrap #mec-event-data input[type=radio]{position:relative}#wrap #mec-event-data input[type=radio]:empty::before{display:none}#mec_bfixed_form_field_types .button,#mec_reg_form_field_types .button{position:relative;outline:0;border-radius:50px;padding:2px 21px 2px 31px!important;line-height:1;font-size:11px;font-weight:600;color:#40d9f1;letter-spacing:2px;height:auto;cursor:pointer;margin-top:5px;text-transform:uppercase;box-shadow:0 2px 6px -3px #40d9f1;border:2px solid #cfeff5}#mec_fes_location_remove_image_button,#mec_fes_organizer_remove_image_button,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-col-1 .button,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-form-row.mec-box .button,#mec_meta_box_tickets_form [id^=mec_ticket_row] button,#mec_reg_form_field_types .button.red{color:#ea6485;box-shadow:0 2px 6px -3px #ea6485;background:#fff;border-color:#ffd2dd}#mec_fes_location_remove_image_button:hover,#mec_fes_organizer_remove_image_button:hover,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-col-1 .button:hover,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-form-row.mec-box .button:hover,#mec_meta_box_tickets_form [id^=mec_ticket_row] button:hover,#mec_reg_form_field_types .button.red:hover{background:#ea6485;color:#fff}#mec_bfixed_form_field_types .button:before,#mec_reg_form_field_types .button:before{position:absolute;left:12px;color:#40d9f1;content:"\e095";font-family:simple-line-icons;font-size:13px;display:inline-block}#mec_reg_form_field_types .button.red:before{color:#ea6485}#mec_bfixed_form_field_types .button:hover:before,#mec_reg_form_field_types .button.red:hover:before,#mec_reg_form_field_types .button:hover:before{color:#fff}#mec_fes_location_remove_image_button:hover,#mec_fes_organizer_remove_image_button:hover,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-col-1 .button:hover,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-form-row.mec-box .button:hover,#mec_meta_box_tickets_form [id^=mec_ticket_row] button:hover,#mec_price_per_dates_container .button:hover,#mec_reg_form_field_types .button.red:hover{color:#fff;border:2px solid #ea6485}#mec_taxes_fees_container_toggle [id^=mec_remove_fee_button],#mec_ticket_variations_list [id^=mec_remove_ticket_variation_button]{color:#ea6485;border-color:#ffd2dd}#mec_taxes_fees_container_toggle [id^=mec_remove_fee_button]:hover,#mec_ticket_variations_list [id^=mec_remove_ticket_variation_button]:hover{color:#fff;border:2px solid #ea6485;background:#ea6485}#mec_fees_list [id^=mec_remove_fee_button],#mec_meta_box_ticket_variations_form .mec-form-row [id^=mec_remove_ticket_variation_button]{margin-left:14px!important}#mec_meta_box_hourly_schedule_days .mec-add-hourly-schedule-button{line-height:10px!important}#mec_meta_box_tickets_form [id^=mec_ticket_row] .mec_add_price_date_button{color:#40d9f1;box-shadow:0 2px 6px -3px #40d9f1;border:2px solid #cfeff5}#mec_meta_box_tickets_form [id^=mec_ticket_row] .mec_add_price_date_button:hover,#mec_reg_form_field_types .button:hover{color:#fff;border:2px solid #40d9f1;background:#40d9f1}.mec-fes-form #mec_bfixed_form_fields span.mec_bfixed_field_sort,.mec-fes-form #mec_orgz_form_row span.mec-additional-organizer-sort,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_sort{font-size:0;color:#fff;padding-left:20px}.mec-fes-form #mec_bfixed_form_fields .mec_bfixed_field_option_sort,.mec-fes-form #mec_orgz_form_row span.mec-additional-organizer-sort,.mec-fes-form #mec_reg_form_fields .mec_reg_field_options,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_option_sort{font-size:0}.mec-fes-form #mec_bfixed_form_fields span.mec_bfixed_field_option_sort:before,.mec-fes-form #mec_bfixed_form_fields span.mec_bfixed_field_sort:before,.mec-fes-form #mec_orgz_form_row span.mec-additional-organizer-sort:before,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_option_sort:before,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_options:before,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_sort:before{position:absolute;left:px;top:12px;width:80px;height:20px;display:block;cursor:move;font-family:simple-line-icons;content:"\e023";font-size:18px;color:#888}.mec-fes-form #mec_bfixed_form_fields span.mec_bfixed_field_option_sort:before,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_option_sort:before,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_options:before{font-size:13px;left:2px;top:26px;width:14px;height:14px}.mec-fes-form #mec_bfixed_form_fields .mec_bfixed_field_options,.mec-fes-form #mec_reg_form_fields .mec_reg_field_options{margin-top:20px}.mec-fes-form #mec_fes_form #mec_bfixed_form_fields .mec_bfixed_notification_placeholder{font-size:0}.mec-form-row input+span.mec-tooltip,.mec-form-row select+span.mec-tooltip{bottom:10px}.mec-form-row label+span.mec-tooltip{bottom:8px}.mec-form-row textarea+span.mec-tooltip{bottom:auto;vertical-align:top;top:12px}.mec-form-row span+span.mec-tooltip{bottom:0;vertical-align:middle}.mec-form-row .mec-col-8 input[type=text],.mec-form-row .mec-col-8 select,.mec-form-row .mec-col-8 span.mec-archive-skins{vertical-align:top}.mec-form-row input:disabled{opacity:.6;background:#f6f6f6}.mec-form-row p{font-size:12px!important;line-height:18px!important;color:#97b2bb!important}.mec-form-row p.description{font-style:italic}.ui-datepicker.ui-widget{border:1px solid #e8e8e8;box-shadow:0 1px 9px rgba(0,0,0,.12)}table.ui-datepicker-calendar{margin-bottom:0}.ui-datepicker-calendar th{font-weight:700;color:#4a4b4c}.ui-datepicker-calendar td,.ui-datepicker-calendar th,.ui-datepicker-calendar tr{border:none}.ui-datepicker.ui-widget select{font-weight:600;font-size:12px;display:inline-block;border-radius:2px;padding:2px 10px;margin:5px 3px;width:auto;min-height:20px;height:26px;border:1px solid #e3e3e3;box-shadow:inset 0 1px 3px rgba(0,0,0,.04)}.ui-datepicker.ui-widget table{border-spacing:2px;border:none}.ui-datepicker.ui-widget td,.ui-datepicker.ui-widget tr{padding:0;background:0 0!important}.ui-datepicker.ui-widget td a{color:#9a9b9c;font-weight:600;width:30px;height:30px;line-height:30px;display:inline-block;border-radius:33px;padding:0;background:#fff;transition:all .2s ease}.ui-datepicker.ui-widget td a.ui-state-active,.ui-datepicker.ui-widget td a:hover{background:#40d9f1;color:#fff}.ui-datepicker.ui-widget .ui-datepicker-next,.ui-datepicker.ui-widget .ui-datepicker-prev{color:#40d9f1;width:30px;height:30px;line-height:30px;display:inline-block;text-align:center;border-radius:33px;background:#ecfcff;transition:all .2s ease}.ui-datepicker.ui-widget .ui-datepicker-next:hover,.ui-datepicker.ui-widget .ui-datepicker-prev:hover{background:#fff;box-shadow:0 0 7px -3px rgba(0,0,0,.4)}.mec-fes-form .mec-tooltip .dashicons-before:before{color:#40d9f1}.mec-fes-form button[type=submit].mec-fes-sub-button{border-radius:3px;background:#40d9f1;color:#fff;height:54px;font-size:17px;font-weight:700;box-shadow:0 2px 8px -4px #40d9f1;display:block;transition:all .28s ease;text-transform:uppercase;margin:20px 0 0;padding:14px 20px;border:0;cursor:pointer;text-align:center;letter-spacing:.1em;line-height:1}.mec-fes-form button[type=submit].mec-fes-sub-button:hover{box-shadow:0 2px 12px -2px #40d9f1}.mec-fes-form button[type=submit].mec-fes-sub-button:focus{margin-bottom:-2px;background:#1dc2dc}.mec-fes-form .mec-title span.mec-dashicons{color:#40d9f1;float:left;margin-right:5px}.mec-fes-form .mec-tooltip .box h5{padding:14px 2px}#mec_fes_form,.mec-fes-form-top-actions{max-width:838px;margin:0 auto}@media only screen and (min-width:961px){.mec-fes-form .mec-fes-form-cntt{width:calc(100% - 300px);float:left;padding-right:20px;max-width:538px;display:block}.mec-fes-form .mec-fes-form-sdbr{width:300px}}.mec-fes-form .quicktags-toolbar,.mec-fes-form div.mce-toolbar-grp{background:#ecfcff;border-bottom:1px solid #cfeff5;box-shadow:0 1px 0 1px #cfeff5}.mec-fes-form .quicktags-toolbar{margin-right:-1px;border-top:1px solid #cfeff5}.mec-fes-form div.mce-statusbar{border-top-color:#cfeff5}.mec-fes-form .mce-toolbar .mce-btn-group .mce-btn.mce-listbox{border:1px solid #cfeff5;border-radius:3px}.mec-fes-form .mce-tinymce.mce-container.mce-panel{border:1px solid #cfeff5;box-shadow:0 2px 6px -3px #cfeff5;border-radius:2px 0 2px 2px}.mec-fes-form .wp-editor-tools .wp-media-buttons{transform:translateY(-6px);margin-top:-6px}.mec-fes-form .wp-editor-tabs{padding-right:0;margin-right:-2px}.mec-fes-form .wp-editor-tabs .wp-switch-editor{border-radius:3px 3px 0 0;border-color:#cfeff5;background:#fff;color:#96b8bd;border-bottom:1px solid #ecfcff}.mec-fes-form .html-active .switch-html,.mec-fes-form .tmce-active .switch-tmce,.mec-fes-form .wp-editor-tabs .wp-switch-editor:active{background:#ecfcff;color:#40d9f1}.mec-fes-form .wp-editor-container,.mec-fes-form div.mce-edit-area.mce-panel{border:none;box-shadow:none}.mec-fes-form .wp-editor-container textarea.wp-editor-area{max-width:100%}.mec-fes-form .mce-toolbar .mce-listbox button{font-size:12px;line-height:22px;color:#798f96}.mec-fes-form .mce-toolbar .mce-ico{color:#627f88}.mec-fes-form .mce-toolbar .mce-btn-group .mce-btn.mce-active,.mec-fes-form .mce-toolbar .mce-btn-group .mce-btn:active,.mec-fes-form .qt-dfw.active{background:#fff;border-color:#40d9f1;box-shadow:inset 0 2px 6px -3px rgba(106,231,255,.7)}.mec-fes-form .mce-toolbar .mce-btn-group .mce-btn.mce-active .mce-ico{color:#40d9f1}body .mce-menu .mce-menu-item.mce-active.mce-menu-item-normal,body .mce-menu .mce-menu-item.mce-selected,body .mce-menu .mce-menu-item:focus,body .mce-menu .mce-menu-item:hover,body.mce-menu .mce-menu-item.mce-active.mce-menu-item-preview{background:#40d9f1;color:#fff}.mec-fes-form .mec-not-in-days-day{display:inline-block;padding:4px 32px 4px 15px;border-radius:33px;border:1px solid #cfeff5;box-shadow:0 1px 3px -1px #cfeff5;background:#fbfeff;color:#40d9f1;vertical-align:top}.mec-fes-form .mec-not-in-days-remove{display:inline-block;padding:0 1px 0 0;margin-left:-30px;vertical-align:sub;background:#ff918a;color:#fff;font-family:cursive;width:21px;height:21px;line-height:17px;text-align:center;border-radius:20px;cursor:pointer}.mec-fes-list ul li .mec-event-status{float:left;margin-right:10px;margin-left:0;font-size:11px;font-weight:400;letter-spacing:.3px;border-radius:3px;padding:4px 8px}.mec-fes-form .post-status.mec-book-confirmed:before,.mec-fes-list ul li .mec-event-status.mec-book-confirmed:before{content:"";margin:0;vertical-align:middle;line-height:1;border-right:2px solid #fff!important;border-bottom:2px solid #fff!important;transform:rotate(45deg);color:#fff;width:6px;height:12px;float:left;margin-right:6px}.mec-fes-list ul li .mec-fes-event-export a:before,.mec-fes-list ul li .mec-fes-event-remove:before,.mec-fes-list ul li .mec-fes-event-view a:before,.mec-fes-list-top-actions a:before{content:"\e054";font-family:simple-line-icons;font-size:13px;vertical-align:middle}.mec-fes-list ul li .mec-fes-event-view a:before{content:"\e087"}.mec-fes-list-top-actions a:before{content:"\e095";font-weight:400;margin-right:6px}.mec-fes-list ul li .mec-fes-event-export a:before{content:"\e083"}.mec-fes-form .post-status{border-radius:20px}.mec-fes-form .post-status.mec-book-confirmed:before{height:20px;width:9px;margin:3px 10px}.ui-datepicker .ui-datepicker-calendar td,.ui-datepicker-calendar th{height:auto;padding:0}.ui-datepicker .ui-datepicker-calendar td a,.ui-datepicker-calendar th{font-size:14px;line-height:30px}.mec-fes-form .description{font-size:16px}.mec-fes-form input[type=file]{text-align:left}.mec-fes-export-wrapper{width:640px;background:#f8feff;padding:40px 25px}.mec-fes-export-wrapper .mec-fes-btn-date{font-size:16px;line-height:44px;overflow:hidden}.mec-fes-export-wrapper .date-messgae{font-family:sans-serif;padding:2px 18px}.mec-fes-list ul li .mec-event-export-csv,.mec-fes-list ul li .mec-event-export-excel{font-size:12px;border:1px solid #40d9f1;padding:1px 4px;background:rgba(141,229,243,.18);border-radius:4px;color:#40d9f1;font-family:sans-serif;cursor:pointer;display:inline-block;height:26px;line-height:22px}.mec-export-badge{font-size:11px;color:#40d9f1;width:auto;height:24px;line-height:25px;display:inline-block;padding:0 8px;text-align:center;border-radius:3px;background:#ecfcff;transition:all .2s ease}.mec-fes-list ul li .mec-fes-event-export{font-size:11px;background:#f7f7f7;float:right;margin-left:5px}.mec-fes-list ul li .mec-fes-event-export:hover{cursor:pointer;background:#90f0e0;border-color:#4dc8cc}.mec-fes-export-wrapper ul{padding:0;width:100%;text-align:center}.mec-fes-export-wrapper ul li{list-style:none;display:inline-block;width:30%;padding:10px 15px 10px 32px;border-radius:3px;margin-bottom:15px;border:1px solid #cfeff5;box-shadow:0 2px 6px -4px #cfeff5;background:#fff;line-height:normal;margin-right:10px;position:relative;cursor:pointer;font-size:13px;line-height:1;transition:all .2s ease}.mec-fes-export-wrapper ul li:nth-child(3n+0){margin-right:0}.mec-fes-export-wrapper ul li:hover{box-shadow:0 2px 16px -1px #c6e8ef}.mec-fes-export-wrapper ul li:before{content:"";position:absolute;display:inline-block;background:#fff;width:15px;height:15px;margin:-1px 0 0 5px;cursor:pointer;border:2px solid #e1e7ed;box-shadow:0 2px 15px -3px rgba(69,77,89,.32);border-radius:50%;left:9px;top:calc(50% - 7px)}.mec-fes-export-wrapper ul li.fes-export-date-active{color:#40d9f1}.mec-fes-export-wrapper ul li.fes-export-date-active:before{width:15px;height:15px;border:6px solid #40d9f1;background:#fff;box-shadow:0 3px 16px -3px #40d9f1}.mec-fes-btn-export{margin-left:15px;margin-top:12px}.mec-fes-btn-export span{position:relative;border:none;border-radius:3px;color:#fff!important;display:inline-block;font-size:13px;line-height:1;text-transform:none;font-weight:400;text-decoration:none;cursor:pointer;margin-right:4px;line-height:1;letter-spacing:0;padding:15px 22px;background:#39c36e;box-shadow:0 1px 7px -3px #39c36e!important;-webkit-transition:all .21s ease;-moz-transition:all .21s ease;transition:all .21s ease;cursor:pointer;margin-left:6px}.mec-fes-btn-export span:hover{background:#222}.mec-event-export-excel:before,span.mec-event-export-csv:before{content:"\e083";font-family:simple-line-icons;font-size:13px;vertical-align:middle;margin-right:7px;margin-top:-1px;display:inline-block}.mec-fes-list .wn-p-t-right{min-width:170px;max-width:200px;display:inline-block;top:-8px;left:50%;margin-top:0;transform:translate(-50%,-100%);padding:0;background-color:#000;color:#fff;font-weight:400;font-size:14px;letter-spacing:.5px;line-height:1.5;position:absolute;z-index:99999999;box-sizing:border-box;border-radius:6px;box-shadow:0 4px 45px -8px #535a61;visibility:hidden;opacity:0;transition:opacity .23s;padding:5px 10px 6px;border-radius:8px;text-align:center;font-style:normal}.mec-fes-list .mec-fes-event-export:hover .wn-p-t-right,.mec-fes-list .mec-fes-event-remove:hover .wn-p-t-right,.mec-fes-list .mec-fes-event-view:hover .wn-p-t-right{visibility:visible;opacity:1}.mec-fes-list .wn-p-t-right i{position:absolute!important;top:100%;right:50%;margin-top:-6px!important;margin-right:-6px!important;width:12px;height:24px;overflow:hidden;transform:rotate(-90deg)}.mec-fes-list .wn-p-t-right i:after{content:"";position:absolute;width:12px;height:12px;left:0;top:50%;transform:translate(50%,-50%) rotate(-45deg);background-color:#000;box-shadow:0 8px 9px -4px #535a61}.mec-fes-form .select2-container{min-height:38px;box-sizing:border-box;margin-bottom:8px;padding:0 6px;border-radius:2px;border:1px solid #ddd;box-shadow:inset 0 1px 6px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out;min-width:200px;font-size:14px}.mec-fes-form .select2-selection{border:none;background:0 0;padding-top:2px;width:100%;height:100%}.mec-fes-form .select2-container--default.select2-container--focus .select2-selection{border:none!important;outline:0}.mec-fes-form .select2-container--default .select2-selection--single .select2-selection__arrow{top:5px;right:4px}.select2-results{font-size:14px}.mec-fes-category-children,.mec-fes-category-children .mec-fes-category-children{padding-left:24px}.mec-timeline-events-container{margin-left:19px;padding-top:20px;padding-bottom:9px}.mec-events-timeline-wrap{position:relative;display:block;overflow:visible;padding-left:95px}.mec-events-timeline-wrap:before{width:1px;content:"";height:100%;position:absolute;background:#b8f5ff;left:95px}.mec-timeline-month-divider+.mec-timeline-events-container{padding-top:110px}.mec-timeline-right-content{float:right;width:300px}.mec-timeline-left-content{float:left;width:calc(100% - 300px);padding-left:15px;padding-right:15px;position:relative}.mec-timeline-month-divider{position:absolute;display:block;background:#fff;right:calc(100% - 95px);left:0;width:190px;text-align:center;border:1px solid #b8f5ff;border-radius:50px;font-size:15px;padding:12px 27px;color:#40d9f1}.mec-timeline-event-date{position:relative}.mec-timeline-events-container .mec-timeline-event-date:before{content:"";width:11px;height:11px;position:absolute;background:#40d9f1;border-radius:50px;top:8px;left:-24px;z-index:9}.mec-timeline-events-container .mec-timeline-event-date:after{content:"";width:21px;height:21px;position:absolute;background:rgba(64,217,241,.3);border-radius:50px;top:3px;left:-29px}.mec-timeline-event-date{float:left;width:17%;margin-top:27px}.mec-timeline-event-content{float:left;width:82%;background:#fff;box-shadow:0 10px 30px 0 rgba(0,0,0,.1);border-radius:10px;overflow:visible;position:relative}.mec-timeline-main-content{padding:23px 30px}.mec-timeline-main-content h4{margin-bottom:15px}.mec-timeline-main-content h4 a{font-size:25px;font-weight:700;color:#000;line-height:33px;text-decoration:none}.mec-timeline-main-content p{font-size:15px;color:#515151;line-height:24px;margin-bottom:36px}a.mec-timeline-readmore{width:100%;display:block;text-align:center;color:#fff;text-decoration:none;line-height:52px;font-size:17px;font-weight:700;-webkit-transition:all .2s ease;transition:all .2s ease;border-radius:0 0 10px 10px}a.mec-timeline-readmore:hover{background:#222;color:#fff}.mec-timeline-event-time .mec-time-details{display:inline-block;margin-left:7px;font-size:13px;line-height:13px;font-weight:500}.mec-timeline-event-time i{vertical-align:middle}.mec-timeline-event-time{background:rgba(64,217,241,.11);display:inline-block;padding:4px 20px 8px;border-radius:50px}.mec-timeline-event-location address{font-style:normal;margin-bottom:0}.mec-timeline-event-location address span{font-size:13px;font-weight:500;vertical-align:middle;margin-left:6px}.mec-timeline-event-location address i{font-size:17px;vertical-align:middle}.mec-timeline-event-location{background:rgba(64,217,241,.11);display:inline-block;padding:7px 20px 11px;border-radius:20px;line-height:1.24}.mec-timeline-event-details+.mec-timeline-event-details{margin-top:12px}.mec-timeline-event-content .col-md-4{padding:0}.mec-timeline-event-content:after{content:"";display:block;position:absolute;left:50%;margin-left:-10px;width:0;height:0;border-style:solid;border-width:10px}.mec-timeline-event-content:after{top:30px;border-color:transparent #fff transparent transparent;left:-10px}.mec-timeline-event-image img{border-radius:0 10px 0 0;width:100%}.mec-timeline-event-image a{display:block;line-height:0}a.mec-timeline-readmore i{vertical-align:middle;margin-left:10px;font-size:9px}.mec-wrap .mec-timeline-event-content a.mec-timeline-readmore:hover{background:#444}@media (min-width:1024px){.mec-timeline-event{margin:50px 0}}@media (max-width:1023px){.mec-timeline-event{margin:25px 0}.mec-events-timeline-wrap{padding-left:20px}.mec-events-timeline-wrap:before{left:20px}}@media (max-width:1200px) and (min-width:992px){.mec-timeline-event-content{width:81%}.mec-timeline-event-date{width:18%}}@media (max-width:992px){.mec-timeline-left-content,.mec-timeline-right-content{float:none;width:100%;text-align:center}.mec-timeline-right-content .mec-timeline-event-image{text-align:center}.mec-timeline-right-content .mec-timeline-event-image img{max-width:300px;border-radius:10px;margin-top:35px}}@media (max-width:440px){.mec-timeline-right-content .mec-timeline-event-image img{margin-top:0}}@media (max-width:320px){.mec-timeline-event-content,.mec-timeline-event-date{float:none;width:100%}.mec-timeline-event-date{margin-bottom:8px}.mec-timeline-event-content:after{display:none}.mec-timeline-main-content{padding:23px 0}.mec-timeline-main-content p{font-size:13px}.mec-timeline-main-content h4 a{font-size:23px;line-height:24px}.mec-time-details span{font-size:11px}.mec-timeline-event-location address span{font-size:12px}a.mec-timeline-readmore{line-height:44px;font-size:14px}}.mec-timeline-event-image img{margin-bottom:-7px;border-radius:0 10px 10px 0}.mec-timeline-event-image a img{margin-bottom:0;border-radius:0 10px 0 0}.mec-event-tile-view article.mec-tile-item{height:400px;margin:15px 0;border-radius:22px;padding:35px 25px;position:relative;color:#fff;background-size:cover!important;background-position:center!important;box-shadow:0 2px 9px rgba(0,0,0,.25);transition:all .22s ease}.mec-event-tile-view article.mec-tile-item:hover{cursor:pointer;box-shadow:0 4px 19px rgba(0,0,0,.5)}.mec-event-tile-view article.mec-tile-item div{position:relative;z-index:3}.mec-event-tile-view article.mec-tile-item:after,.mec-event-tile-view article.mec-tile-item:before{position:absolute;background:-moz-linear-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.48) 65%,rgba(0,0,0,.72) 100%);background:-webkit-gradient(left top,right top,color-stop(0,rgba(0,0,0,.35)),color-stop(65%,rgba(0,0,0,.48)),color-stop(100%,rgba(0,0,0,.72)));background:-webkit-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.48) 65%,rgba(0,0,0,.72) 100%);background:linear-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.48) 65%,rgba(0,0,0,.72) 100%);content:"";left:0;right:0;bottom:0;top:0;width:100%;height:100%;display:block;border-radius:22px;z-index:1}.mec-event-tile-view article.mec-tile-item:after{background-color:inherit;background-image:none;top:35px;bottom:auto;height:40px;border-radius:0 3px 3px 0;width:97px;z-index:2;box-shadow:2px 1px 7px rgba(0,0,0,.1)}.mec-event-tile-view article.mec-tile-item .event-tile-view-head{padding:8px 3px;font-size:16px;font-weight:700;margin-bottom:50px;text-transform:uppercase}.mec-event-tile-view article.mec-tile-item .event-tile-view-head>div{display:inline}.mec-event-tile-view article.mec-tile-item .mec-event-time{color:#d6d6d6;font-size:15px;font-weight:400;line-height:1;padding-top:4px;position:absolute;right:1px;top:10px}.mec-event-tile-view article.mec-tile-item .mec-event-time i{vertical-align:baseline;font-size:14px;float:left}.mec-event-tile-view article.mec-tile-item i{margin-right:5px}.mec-event-tile-view article.mec-tile-item .mec-event-title{color:#fff;font-weight:700;font-size:23px;padding-top:12px}.mec-event-tile-view article.mec-tile-item .mec-event-title a{color:#fff}.mec-event-tile-view article.mec-tile-item .mec-event-title a:hover{text-decoration:underline}.mec-event-tile-view article.mec-tile-item .mec-event-content{position:absolute;height:100%;bottom:0;left:0;right:0}.mec-event-tile-view article.mec-tile-item .mec-tile-into-content-link{position:absolute;content:"";top:0;right:0;left:0;bottom:0;background:0 0}.mec-tile-event-content{position:absolute!important;bottom:25px;left:25px;right:25px}.mec-event-tile-view article.mec-label-canceled:before,.mec-event-tile-view article.mec-label-featured:before{height:auto}.mec-skin-tile-month-navigator-container{position:relative;text-align:center;font-size:12px;height:80px;background:#f7f7f7;padding:28px;border-radius:11px;margin-bottom:20px}.mec-skin-tile-month-navigator-container:after,.mec-skin-tile-month-navigator-container:before{content:"";display:block;position:absolute;left:50%;margin-left:-10px;width:0;height:0;border-style:solid;border-width:10px}.mec-skin-tile-month-navigator-container:after{bottom:-20px;border-color:#f7f7f7 transparent transparent transparent}.mec-skin-tile-month-navigator-container:before{bottom:-21px;border-color:#fff transparent transparent transparent}@media only screen and (max-width:480px){.mec-skin-tile-month-navigator-container{height:110px;padding-top:68px}}.mec-skin-tile-month-navigator-container h2{font-size:23px;font-weight:700}.mec-skin-tile-month-navigator-container .mec-next-month,.mec-skin-tile-month-navigator-container .mec-previous-month{position:absolute;top:28px;left:20px;cursor:pointer;padding:3px 12px;line-height:23px;background:#fff;border-radius:32px;box-shadow:0 1px 3px rgba(0,0,0,.02);transition:all .22s ease}.mec-skin-tile-month-navigator-container .mec-next-month{left:auto;right:20px}.mec-skin-tile-month-navigator-container .mec-next-month:hover,.mec-skin-tile-month-navigator-container .mec-previous-month:hover{box-shadow:0 2px 5px rgba(0,0,0,.1);color:#000}.mec-wrap .mec-event-tile-view article.mec-label-canceled:before,.mec-wrap .mec-event-tile-view article.mec-label-featured:before{position:absolute;bottom:auto;text-align:center;right:auto;font-size:10px}.mec-event-tile-view article.mec-tile-item .mec-tile-overlay{position:absolute;background:-moz-linear-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.48) 65%,rgba(0,0,0,.72) 100%);background:-webkit-gradient(left top,right top,color-stop(0,rgba(0,0,0,.35)),color-stop(65%,rgba(0,0,0,.48)),color-stop(100%,rgba(0,0,0,.72)));background:-webkit-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.48) 65%,rgba(0,0,0,.72) 100%);background:linear-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.48) 65%,rgba(0,0,0,.72) 100%);content:"";left:0;right:0;bottom:0;top:0;width:100%;height:100%;display:block;border-radius:22px;z-index:1}.mec-wrap .mec-event-tile-view .col-md-3 article.mec-label-canceled:before,.mec-wrap .mec-event-tile-view .col-md-3 article.mec-label-featured:before{top:12px;left:103px;z-index:9}.mec-wrap .mec-event-tile-view .col-md-4 article.mec-label-canceled:before,.mec-wrap .mec-event-tile-view .col-md-4 article.mec-label-featured:before{top:18px;left:125px}.mec-wrap .mec-event-tile-view .col-md-6 article.mec-label-canceled:before,.mec-wrap .mec-event-tile-view .col-md-6 article.mec-label-featured:before{top:20px;left:200px}@media (max-width:960px){.mec-wrap .mec-event-tile-view .col-sm-3{width:50%}}@media (max-width:480px){.mec-wrap .mec-event-tile-view .col-sm-3{width:100%}}.mec-event-tile-view article.mec-tile-item.tile-multipleday-event:after{width:165px}.mec-event-tile-view .col-md-6.col-sm-6 article.mec-label-canceled:before{top:100px;left:140px}.mec-event-tile-view .col-md-4.col-sm-4 article.mec-label-canceled:before{top:20px;left:140px}@media (min-width:761px) and (max-width:1200px){.mec-event-tile-view .col-md-3.col-sm-3{width:50%}.mec-event-tile-view .col-md-6.col-sm-6 article.mec-label-canceled:before{top:80px;left:90px}.mec-event-tile-view .col-md-4.col-sm-4 article.mec-label-canceled:before{top:40px;left:70px}.mec-event-tile-view .col-md-3.col-sm-3 article.mec-label-canceled:before{top:90px;left:110px}}@media (min-width:761px) and (max-width:1024px){.mec-event-tile-view .col-md-4.col-sm-4{width:50%}.mec-event-tile-view .col-md-4.col-sm-4:nth-child(1n+3){width:100%}}@media (max-width:760px){.mec-event-tile-view .col-md-3.col-sm-3{width:100%}.mec-event-tile-view .col-md-4.col-sm-4{width:100%}}@media (max-width:480px){.mec-event-tile-view .col-md-6.col-sm-6 article.mec-label-canceled:before{top:100px;left:80px}}.mec-calendar .mec-event-article .mec-event-date{font-size:12px;text-align:left}.mec-event-detailed-time{display:flex}.mec-event-detailed-time i{width:15px;padding-top:7px}.mec-ongoing-normal-label{background-color:#40d9f1}.mec-expired-normal-label{background-color:#000}.mec-wrap .mec-cancellation-reason span,.mec-wrap .mec-labels-normal .mec-label-normal{position:relative;top:-3px;font-size:11px;font-weight:300;margin-left:10px;line-height:1.9;letter-spacing:1px;color:#fff;padding:2px 7px;border-radius:2px;white-space:nowrap}.mec-agenda-event-title .mec-labels-normal .mec-label-normal,.mec-timetable-event .mec-labels-normal .mec-label-normal,.tooltipster-box .mec-labels-normal .mec-label-normal{font-size:9px;letter-spacing:.5px;text-transform:uppercase;padding:2px 7px;color:#fff;position:relative;margin-left:5px;border-radius:2px;top:0}.mec-av-spot .mec-labels-normal .mec-label-normal,.mec-event-countdown-part1 .mec-labels-normal .mec-label-normal,.mec-event-countdown-part2 .mec-labels-normal .mec-label-normal,.mec-event-cover-modern .mec-labels-normal .mec-label-normal,.mec-masonry-content .mec-labels-normal .mec-label-normal,.mec-owl-carousel:not(.mec-slider-t1) .mec-labels-normal .mec-label-normal,.mec-tile-item .mec-labels-normal .mec-label-normal,.mec-timeline-event .mec-labels-normal .mec-label-normal,.tooltipster-box .mec-labels-normal .mec-label-normal{margin:0 5px 0 0}.mec-event-countdown-style3 .mec-labels-normal .mec-label-normal{margin:0 0 0 5px}.mec-event-footer-carousel-type3 .mec-labels-normal .mec-label-normal{display:inline}.mec-event-carousel-type4 .mec-fc-style{display:none}.mec-event-carousel-type4 .mec-labels-normal{top:-20px;position:relative}.mec-wrap .mec-cancellation-reason{display:inline-block}.mec-wrap .mec-cancellation-reason span{line-height:1.3;background:#eb3450;text-transform:none;display:inline-block;white-space:nowrap}.mec-wrap .mec-event-list-accordion .mec-cancellation-reason span,.mec-wrap .mec-event-list-accordion .mec-labels-normal .mec-label-normal{top:7px}.mec-agenda-event-title .mec-cancellation-reason span,.mec-timetable-event .mec-cancellation-reason span,.tooltipster-box .mec-cancellation-reason span{font-size:9px;letter-spacing:.5px;text-transform:uppercase;padding:2px 7px;color:#fff;position:relative;margin-left:5px;border-radius:2px;top:0}.mec-wrap .mec-event-container-novel .mec-cancellation-reason span,.mec-wrap .mec-event-container-novel .mec-labels-normal .mec-label-normal{white-space:inherit;margin-left:0}.mec-wrap .mec-event-container-simple .mec-cancellation-reason span,.mec-wrap .mec-event-container-simple .mec-labels-normal .mec-label-normal{top:-12px;white-space:inherit;margin-left:0}.mec-av-spot .mec-cancellation-reason span,.mec-event-countdown-part1 .mec-cancellation-reason span,.mec-event-countdown-part2 .mec-cancellation-reason span,.mec-event-cover-modern .mec-cancellation-reason span,.mec-masonry-content .mec-cancellation-reason span,.mec-owl-carousel:not(.mec-slider-t1) .mec-cancellation-reason span,.mec-tile-item .mec-cancellation-reason span,.mec-timeline-event .mec-cancellation-reason span,.tooltipster-box .mec-cancellation-reason span{margin:0 5px 0 0}.mec-owl-carousel .mec-event-footer-carousel-type3 span.mec-event-title-soldout,.mec-owl-carousel .mec-event-footer-carousel-type3 span.mec-few-tickets{display:inline}.mec-owl-carousel .mec-event-footer-carousel-type3 span.mec-labels-normal,.mec-owl-carousel .mec-event-footer-carousel-type3 span.soldout{margin-top:0;color:#fff;display:unset}.mec-wrap .mec-single-event .mec-cancellation-reason span{margin:0;padding:6px 12px;font-size:14px;font-weight:700;white-space:normal;word-break:break-word}.featherlight-content .mec-cancellation-reason{display:block;width:100%;text-align:center;margin-top:20px;margin-bottom:-10px}.mec-event-data-fields{margin-bottom:30px}.mec-event-data-fields ul.mec-event-data-field-items{overflow:hidden;padding-top:10px;padding-left:0}.mec-event-data-fields .mec-event-data-field-item{list-style:none;margin-bottom:10px;border-bottom:1px dashed #e1e2e3;padding-bottom:8px;width:50%;float:left}.mec-event-data-fields .mec-event-data-field-item .mec-event-data-field-value{margin:0 0 8px 0;color:#616263;font-size:13px;line-height:1.5}.mec-event-data-fields .mec-event-data-field-item:last-child{border:none;width:100%}.mec-event-data-fields .mec-event-data-field-item .mec-event-data-field-name{text-transform:none;font-size:13px;font-weight:600;padding-bottom:5px;color:#313131;width:100%;padding-bottom:10px;position:relative;letter-spacing:-.2px}@media (max-width:768px){.mec-event-data-fields .mec-event-data-field-item{width:100%}}.mec-wrap .col-md-4 .mec-event-data-fields .mec-event-data-field-item{width:100%;display:block}.mec-shortcode-organizers{overflow:hidden;margin-top:7px;font-weight:400;line-height:19px;font-size:12px}.mec-event-list-minimal .mec-shortcode-organizers{margin-top:6px}.mec-shortcode-organizers i{color:#777}.mec-shortcode-organizers .mec-organizers{display:inline-block;list-style:none;padding:0 0 0 3px;vertical-align:top}.mec-organizer-item a{color:#777}.mec-event-list-standard .mec-shortcode-organizers .mec-sl-user:before{position:absolute;left:6px;font-size:15px;line-height:26px}.mec-organizer-item a{font:14px/25px sans-serif;font-weight:400;color:#626262}.mec-shortcode-organizers{position:relative;padding-left:28px;margin-bottom:10px}.mec-skin-grid-container .mec-organizers,.mec-skin-grid-container .mec-shortcode-organizers{padding:0;margin:0}.mec-skin-grid-container .mec-shortcode-organizers i{display:none}.mec-skin-grid-container .mec-event-grid-clean .mec-shortcode-organizers a,.mec-skin-grid-container .mec-event-grid-clean .mec-shortcode-organizers a:hover,.mec-skin-grid-container .mec-event-grid-colorful .mec-shortcode-organizers a,.mec-skin-grid-container .mec-event-grid-colorful .mec-shortcode-organizers a:hover{color:#fff;font-size:12px}.mec-skin-grid-container .mec-event-grid-clean .mec-shortcode-organizers a:hover,.mec-skin-grid-container .mec-event-grid-colorful .mec-shortcode-organizers a:hover{text-decoration:underline}.mec-skin-grid-container .mec-event-grid-minimal .mec-shortcode-organizers{margin-top:12px}.mec-skin-grid-container .mec-event-grid-novel .mec-shortcode-organizers{position:relative}.mec-skin-grid-container .mec-event-grid-novel .mec-shortcode-organizers i{display:block;color:rgba(255,255,255,.4)}.mec-skin-grid-container .mec-event-grid-novel .mec-shortcode-organizers i:before{position:absolute;top:6px;left:6px;font-size:17px;font-family:simple-line-icons;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1}.mec-skin-grid-container .mec-event-grid-novel .mec-shortcode-organizers a{padding-left:35px;font-size:15px;line-height:30px;color:rgba(255,255,255,.4)}.mec-skin-grid-container .mec-event-grid-novel .mec-shortcode-organizers a:hover{color:#fff}.mec-calendar-daily .mec-shortcode-organizers,.mec-calendar-daily .mec-shortcode-organizers .mec-organizers{padding:0}.mec-calendar-daily .mec-shortcode-organizers i{display:none}.mec-calendar-daily .mec-organizer-item a{font-size:13px;line-height:1.3;color:#9a9a9a;margin-bottom:0}.mec-events-masonry-wrap .mec-shortcode-organizers i{display:none}.mec-events-masonry-wrap .mec-shortcode-organizers,.mec-events-masonry-wrap .mec-shortcode-organizers .mec-organizers{padding:0}.mec-events-timeline-wrap .mec-shortcode-organizers{width:fit-content;display:inline-block;padding:4px 20px 8px;border-radius:50px}.mec-events-timeline-wrap .mec-organizer-item,.mec-events-timeline-wrap .mec-shortcode-organizers .mec-organizers{margin:0;display:inline-block;padding-right:7px}.mec-events-timeline-wrap .mec-shortcode-organizers i{line-height:24px;margin-right:7px}.mec-events-timeline-wrap .mec-organizer-item:after{content:","}.mec-events-timeline-wrap .mec-organizer-item:last-child:after{content:"";padding:0}.mec-events-timeline-wrap .mec-organizer-item a,.mec-events-timeline-wrap .mec-organizer-item:after{font-weight:500}.mec-events-timeline-wrap .mec-organizer-item a:hover{text-decoration:underline}.mec-event-tile-view .mec-shortcode-organizers,.mec-event-tile-view .mec-shortcode-organizers .mec-organizers{padding:0}.mec-event-tile-view .mec-shortcode-organizers i{line-height:24px}.mec-event-tile-view .mec-shortcode-organizers .mec-organizers a,.mec-event-tile-view .mec-shortcode-organizers i{color:#fff}.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-modal-preloader,.mec-dark-mode .mec-month-navigator-loading{background-color:rgba(40,40,40,.88)}.mec-dark-mode .event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-booking-button,.mec-dark-mode .mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-table-head dt,.mec-dark-mode .mec-calendar .mec-calendar-row dt:hover,.mec-dark-mode .mec-event-footer .mec-booking-button,.mec-dark-mode .mec-event-grid-classic .mec-event-content,.mec-dark-mode .mec-event-schedule-content .mec-schedule-speakers,.mec-dark-mode .mec-events-meta-group-tags a:hover,.mec-dark-mode .mec-events-toggle .mec-toggle-content .mec-modal-wrap,.mec-dark-mode .mec-fes-form .mec-meta-box-fields,.mec-dark-mode .mec-hourly-schedule-speaker-contact-information a i,.mec-dark-mode .mec-map-view-event-detail.mec-event-detail,.mec-dark-mode .mec-modal-wrap,.mec-dark-mode .mec-next-event-details a,.mec-dark-mode .mec-single-event .mec-event-exporting .mec-export-details a:hover,.mec-dark-mode .mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next,.mec-dark-mode .mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev,.mec-dark-mode .mec-timetable-events-list .mec-timetable-event,.mec-dark-mode .mec-wrap .button,.mec-dark-mode .mec-wrap a.button:not(.owl-dot):hover,.mec-dark-mode .mec-wrap button:not(.owl-dot):hover,.mec-dark-mode .mec-wrap input[type=button]:hover,.mec-dark-mode .mec-wrap input[type=reset]:hover,.mec-dark-mode .mec-wrap input[type=submit]:hover{background-color:#1f1f1f;color:#d2d2d2}.mec-dark-mode .mec-modal-wrap::-webkit-scrollbar{width:12px}.mec-dark-mode .mec-modal-wrap::-webkit-scrollbar-track{background:#000}.mec-dark-mode .mec-modal-wrap::-webkit-scrollbar-thumb{background-color:#333;border-radius:20px;border:2px solid #000}.mec-dark-mode .mec-modal-preloader,.mec-dark-mode .mec-month-navigator-loading{background-color:#1f1f1f}.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table,.mec-dark-mode .mec-skin-tile-month-navigator-container{background:#282828}.mec-dark-mode .mec-skin-tile-month-navigator-container:after{border-color:#282828 transparent transparent transparent}.mec-dark-mode .mec-event-grid-novel .mec-event-article,body.mec-dark-mode .mec-single-modern .mec-single-event-bar{background-color:#282828;color:#d2d2d2}.mec-dark-mode .event-carousel-type2-head,.mec-dark-mode .mec-box-calendar.mec-calendar .mec-calendar-table-head dt,.mec-dark-mode .mec-calendar .mec-calendar-side .mec-next-month,.mec-dark-mode .mec-calendar .mec-calendar-side .mec-previous-month,.mec-dark-mode .mec-calendar .mec-event-article:hover,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-a-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table a,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table a.mec-table-d-next,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table a.mec-table-d-prev,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table dl dt,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-next-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-previous-month,.mec-dark-mode .mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec .mec-event-article:hover,.mec-dark-mode .mec-calendar.mec-event-calendar-classic .mec-selected-day,.mec-dark-mode .mec-calendar.mec-event-calendar-classic dt.mec-selected-day:hover,.mec-dark-mode .mec-calendar.mec-yearly-calendar .mec-calendar-table-head dl dt,.mec-dark-mode .mec-event-carousel-content,.mec-dark-mode .mec-event-cost,.mec-dark-mode .mec-event-countdown-style1 .mec-event-countdown-part3 .mec-event-button,.mec-dark-mode .mec-event-footer,.mec-dark-mode .mec-event-grid-classic .mec-event-content .mec-wrap .mec-totalcal-box .mec-totalcal-view span,.mec-dark-mode .mec-event-list-minimal a.mec-detail-button,.mec-dark-mode .mec-event-list-modern .mec-btn-wrapper .mec-booking-button,.mec-dark-mode .mec-event-list-standard .mec-topsec,.mec-dark-mode .mec-event-more-info,.mec-dark-mode .mec-event-website,.mec-dark-mode .mec-events-agenda-wrap,.mec-dark-mode .mec-events-meta-date,.mec-dark-mode .mec-events-meta-group-tags a,.mec-dark-mode .mec-events-toggle .mec-toggle-item-inner,.mec-dark-mode .mec-fes-form,.mec-dark-mode .mec-fes-form input[type=email],.mec-dark-mode .mec-fes-form input[type=number],.mec-dark-mode .mec-fes-form input[type=password],.mec-dark-mode .mec-fes-form input[type=tel],.mec-dark-mode .mec-fes-form input[type=text],.mec-dark-mode .mec-fes-form select,.mec-dark-mode .mec-fes-form textarea,.mec-dark-mode .mec-fes-list,.mec-dark-mode .mec-hourly-schedule-speaker-info,.mec-dark-mode .mec-load-more-button,.mec-dark-mode .mec-map-lightbox-wp,.mec-dark-mode .mec-masonry-item-wrap .mec-event-grid-modern .event-grid-modern-head,.mec-dark-mode .mec-related-event-content,.mec-dark-mode .mec-single-event .mec-event-exporting .mec-export-details a,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=date],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=email],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=number],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=password],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=tel],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=text],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking select,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking textarea,.mec-dark-mode .mec-single-event .mec-events-meta-group-countdown,.mec-dark-mode .mec-single-event .mec-frontbox,.mec-dark-mode .mec-single-event .mec-speakers-details ul li,.mec-dark-mode .mec-single-event-additional-organizers,.mec-dark-mode .mec-single-event-category,.mec-dark-mode .mec-single-event-date,.mec-dark-mode .mec-single-event-label,.mec-dark-mode .mec-single-event-location,.mec-dark-mode .mec-single-event-organizer,.mec-dark-mode .mec-single-event-time,.mec-dark-mode .mec-single-modern .col-md-4 .mec-frontbox,.mec-dark-mode .mec-slider-t1-wrap,.mec-dark-mode .mec-timetable-events-list .mec-timetable-event,.mec-dark-mode .mec-timetable-t2-wrap,.mec-dark-mode .mec-ttt2-title,.mec-dark-mode .mec-wrap .mec-event-countdown-style1,.mec-dark-mode .mec-wrap .mec-event-countdown-style2,.mec-dark-mode .mec-wrap .mec-totalcal-box,.mec-dark-mode .mec-wrap .mec-totalcal-box i,.mec-dark-mode .mec-wrap .mec-totalcal-box input,.mec-dark-mode .mec-wrap .mec-totalcal-box select,.mec-dark-mode .mec-yearly-view-wrap .mec-yearly-title-sec .mec-next-year:hover,.mec-dark-mode .mec-yearly-view-wrap .mec-yearly-title-sec .mec-previous-year:hover,.mec-dark-mode.mec-wrap .mec-totalcal-box .mec-totalcal-view span,.mec-dark-mode.mec-wrap .mec-totalcal-box i,.mec-dark-mode.mec-wrap .mec-totalcal-box input,.mec-dark-mode.mec-wrap .mec-totalcal-box select{background-color:#282828}.mec-dark-mode .event-carousel-type2-head,.mec-dark-mode .event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-booking-button,.mec-dark-mode .mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month,.mec-dark-mode .mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month,.mec-dark-mode .mec-box-calendar.mec-calendar .mec-calendar-table-head dt,.mec-dark-mode .mec-box-calendar.mec-calendar dt,.mec-dark-mode .mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-table-head dt,.mec-dark-mode .mec-breadcrumbs,.mec-dark-mode .mec-calendar .mec-calendar-side .mec-next-month,.mec-dark-mode .mec-calendar .mec-calendar-side .mec-previous-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table a,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table a.mec-table-d-next,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table a.mec-table-d-prev .mec-calendar.mec-calendar-daily .mec-calendar-a-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table dl dt,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-next-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-previous-month,.mec-dark-mode .mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec,.mec-dark-mode .mec-event-carousel-content,.mec-dark-mode .mec-event-footer,.mec-dark-mode .mec-event-footer .mec-booking-button,.mec-dark-mode .mec-event-list-minimal .mec-event-article,.mec-dark-mode .mec-event-list-minimal a.mec-detail-button,.mec-dark-mode .mec-event-list-modern .mec-btn-wrapper .mec-booking-button,.mec-dark-mode .mec-event-list-modern .mec-event-article,.mec-dark-mode .mec-event-list-standard .mec-event-article,.mec-dark-mode .mec-event-list-standard .mec-event-meta-wrap,.mec-dark-mode .mec-event-list-standard .mec-topsec,.mec-dark-mode .mec-event-schedule-content,.mec-dark-mode .mec-event-schedule-content dl:before,.mec-dark-mode .mec-events-agenda-wrap,.mec-dark-mode .mec-events-meta-group-booking ul.mec-book-price-details,.mec-dark-mode .mec-events-meta-group-booking ul.mec-book-price-details li,.mec-dark-mode .mec-events-meta-group-tags a,.mec-dark-mode .mec-events-toggle .mec-toggle-content,.mec-dark-mode .mec-events-toggle .mec-toggle-item,.mec-dark-mode .mec-events-toggle .mec-toggle-item-inner,.mec-dark-mode .mec-fes-form .mec-meta-box-fields,.mec-dark-mode .mec-fes-form input[type=email],.mec-dark-mode .mec-fes-form input[type=number],.mec-dark-mode .mec-fes-form input[type=password],.mec-dark-mode .mec-fes-form input[type=tel],.mec-dark-mode .mec-fes-form input[type=text],.mec-dark-mode .mec-fes-form select,.mec-dark-mode .mec-fes-form textarea,.mec-dark-mode .mec-hourly-schedule-speaker-info,.mec-dark-mode .mec-load-more-button,.mec-dark-mode .mec-masonry-item-wrap .mec-event-grid-modern .event-grid-modern-head,.mec-dark-mode .mec-next-event-details a,.mec-dark-mode .mec-related-events-wrap h3.mec-rec-events-title,.mec-dark-mode .mec-single-event .mec-event-exporting .mec-export-details a:hover,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking form>h4,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=date],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=email],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=number],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=password],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=tel],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=text],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking select,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking textarea,.mec-dark-mode .mec-single-event .mec-events-meta-group-countdown,.mec-dark-mode .mec-single-event .mec-frontbox,.mec-dark-mode .mec-single-event .mec-frontbox-title,.mec-dark-mode .mec-timetable-t2-wrap,.mec-dark-mode .mec-wrap .mec-totalcal-box,.mec-dark-mode .mec-wrap .mec-totalcal-box .mec-totalcal-view span,.mec-dark-mode .mec-wrap .mec-totalcal-box i,.mec-dark-mode .mec-wrap .mec-totalcal-box input,.mec-dark-mode .mec-wrap .mec-totalcal-box select,.mec-dark-mode .mec-yearly-view-wrap,.mec-dark-mode .mec-yearly-view-wrap .mec-yearly-title-sec{border-color:#353535}.mec-dark-mode .entry-content .mec-wrap h1,.mec-dark-mode .entry-content .mec-wrap h2,.mec-dark-mode .entry-content .mec-wrap h3,.mec-dark-mode .entry-content .mec-wrap h4,.mec-dark-mode .entry-content .mec-wrap h5,.mec-dark-mode .entry-content .mec-wrap h6,.mec-dark-mode .mec-breadcrumbs a,.mec-dark-mode .mec-calendar .mec-event-article .mec-event-title a,.mec-dark-mode .mec-calendar dt,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-a-month .mec-next-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-a-month .mec-previous-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day.mec-has-event,.mec-dark-mode .mec-calendar.mec-event-container-simple dl dt.mec-calendar-day,.mec-dark-mode .mec-event-carousel-content .mec-event-carousel-title a,.mec-dark-mode .mec-event-content p,.mec-dark-mode .mec-event-grid-classic .mec-event-title a,.mec-dark-mode .mec-event-grid-clean .mec-event-title a,.mec-dark-mode .mec-event-grid-minimal .mec-event-date span,.mec-dark-mode .mec-event-grid-minimal .mec-event-title a,.mec-dark-mode .mec-event-grid-modern .mec-event-title a,.mec-dark-mode .mec-event-grid-simple .mec-event-title a,.mec-dark-mode .mec-event-list-classic .mec-event-title a,.mec-dark-mode .mec-event-list-minimal .mec-event-title a,.mec-dark-mode .mec-event-list-minimal a.mec-detail-button,.mec-dark-mode .mec-event-list-modern .mec-btn-wrapper .mec-booking-button,.mec-dark-mode .mec-event-list-standard .mec-event-title a,.mec-dark-mode .mec-events-meta-group-booking ul.mec-book-price-details li,.mec-dark-mode .mec-events-meta-group-booking ul.mec-book-price-details li span.mec-book-price-detail-amount,.mec-dark-mode .mec-events-meta-group-tags a,.mec-dark-mode .mec-events-toggle .mec-toggle-item-inner i,.mec-dark-mode .mec-fes-form,.mec-dark-mode .mec-fes-form input[type=email],.mec-dark-mode .mec-fes-form input[type=number],.mec-dark-mode .mec-fes-form input[type=password],.mec-dark-mode .mec-fes-form input[type=tel],.mec-dark-mode .mec-fes-form input[type=text],.mec-dark-mode .mec-fes-form label,.mec-dark-mode .mec-fes-form select,.mec-dark-mode .mec-fes-form textarea,.mec-dark-mode .mec-fes-list,.mec-dark-mode .mec-hourly-schedule-speaker-contact-information a i,.mec-dark-mode .mec-hourly-schedule-speaker-description,.mec-dark-mode .mec-hourly-schedule-speaker-name,.mec-dark-mode .mec-load-more-button,.mec-dark-mode .mec-next-event-details abbr,.mec-dark-mode .mec-related-event-content h5 a,.mec-dark-mode .mec-related-event-content span,.mec-dark-mode .mec-single-event .mec-event-meta dt,.mec-dark-mode .mec-single-event .mec-event-meta h3,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking form>h4,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking h5 span,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=date],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=email],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=number],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=password],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=tel],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=text],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking label,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking select,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking textarea,.mec-dark-mode .mec-single-event .mec-frontbox-title,.mec-dark-mode .mec-single-event .mec-speakers-details ul li .mec-speaker-job-title,.mec-dark-mode .mec-single-modern .mec-single-event-bar>div h3,.mec-dark-mode .mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next i,.mec-dark-mode .mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev i,.mec-dark-mode .mec-timeline-main-content h4 a,.mec-dark-mode .mec-timetable-event .mec-timetable-event-time,.mec-dark-mode .mec-timetable-events-list .mec-timetable-event span a,.mec-dark-mode .mec-tooltip-event-title,.mec-dark-mode .mec-ttt2-title,.mec-dark-mode .mec-wrap,.mec-dark-mode .mec-wrap .mec-event-list-modern .mec-event-title a,.mec-dark-mode .mec-wrap .mec-event-schedule-content a,.mec-dark-mode .mec-wrap .mec-single-title,.mec-dark-mode .mec-wrap .mec-totalcal-box .mec-totalcal-view span,.mec-dark-mode .mec-wrap .mec-totalcal-box input,.mec-dark-mode .mec-wrap .mec-totalcal-box select,.mec-dark-mode .mec-wrap h1,.mec-dark-mode .mec-wrap h2,.mec-dark-mode .mec-wrap h3,.mec-dark-mode .mec-wrap h4,.mec-dark-mode .mec-wrap h5,.mec-dark-mode .mec-wrap h6,.mec-dark-mode .mec-wrap p{color:#d2d2d2}.mec-dark-mode .mec-breadcrumbs a:hover,.mec-dark-mode .mec-calendar .mec-event-article .mec-event-title a:hover,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day.mec-has-event:hover,.mec-dark-mode .mec-event-footer .mec-booking-button:hover,.mec-dark-mode .mec-event-grid-classic .mec-event-title a:hover,.mec-dark-mode .mec-event-grid-minimal .mec-event-date:hover,.mec-dark-mode .mec-event-grid-minimal .mec-event-title a:hover,.mec-dark-mode .mec-event-list-classic .mec-event-title a:hover,.mec-dark-mode .mec-event-list-minimal .mec-event-title a:hover,.mec-dark-mode .mec-event-list-minimal a.mec-detail-button:hover,.mec-dark-mode .mec-event-list-modern .mec-btn-wrapper .mec-booking-button:hover,.mec-dark-mode .mec-event-list-standard .mec-event-title a:hover,.mec-dark-mode .mec-single-event .mec-event-meta dd a:hover,.mec-dark-mode .mec-wrap .mec-event-list-modern .mec-event-title a:hover,.mec-dark-mode .mec-wrap .mec-totalcal-box .mec-totalcal-view span:hover,.mec-dark-mode .mec-wrap a:hover{color:#fff}.mec-dark-mode .mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix:first-child{border-color:#333!important}.mec-dark-mode .mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix:nth-child(odd){background:#1f1f1f!important}.mec-dark-mode .mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix{background:#282828!important}.mec-dark-mode .lity-container .mec-events-meta-group-booking input[type=radio]:before,.mec-dark-mode .mec-related-events-wrap h3.mec-rec-events-title:before,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=checkbox],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=radio]:before{background-color:#c4cace}.mec-dark-mode .lity-container .mec-events-meta-group-booking input[type=radio]:before,.mec-dark-mode .mec-month-divider span,.mec-dark-mode .mec-related-events-wrap h3.mec-rec-events-title:before,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=checkbox],.mec-dark-mode .mec-single-event .mec-events-meta-group-booking input[type=radio]:before{border-color:#313131}.mec-dark-mode .event-carousel-type3-head .mec-event-footer-carousel-type3,.mec-dark-mode .mec-agenda-events-wrap,.mec-dark-mode .mec-av-spot .mec-av-spot-content,.mec-dark-mode .mec-av-spot .mec-av-spot-head,.mec-dark-mode .mec-av-spot-wrap .mec-event-grid-modern .event-grid-modern-head,.mec-dark-mode .mec-calendar .mec-calendar-side .mec-next-month:hover,.mec-dark-mode .mec-calendar .mec-calendar-side .mec-previous-month:hover,.mec-dark-mode .mec-calendar .mec-calendar-topsec,.mec-dark-mode .mec-calendar .mec-event-article:hover,.mec-dark-mode .mec-calendar dt,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-a-month .mec-next-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-a-month .mec-previous-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day.mec-has-event:hover,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table a:hover,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-top,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-next-month:hover,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-previous-month:hover,.mec-dark-mode .mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt:hover,.mec-dark-mode .mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec,.mec-dark-mode .mec-event-cover-classic,.mec-dark-mode .mec-event-footer .mec-booking-button:hover,.mec-dark-mode .mec-event-grid-clean .mec-event-article,.mec-dark-mode .mec-event-grid-clean .mec-event-content,.mec-dark-mode .mec-event-grid-modern .mec-event-article,.mec-dark-mode .mec-event-grid-modern .mec-event-content,.mec-dark-mode .mec-event-list-minimal a.mec-detail-button:hover,.mec-dark-mode .mec-event-list-modern .mec-btn-wrapper .mec-booking-button:hover,.mec-dark-mode .mec-event-sharing-wrap .mec-event-sharing,.mec-dark-mode .mec-events-toggle .mec-toggle-item-inner:hover,.mec-dark-mode .mec-hourly-schedule-speaker-contact-information a:hover i,.mec-dark-mode .mec-masonry .mec-masonry-content,.mec-dark-mode .mec-masonry .mec-masonry-head,.mec-dark-mode .mec-slider-t1 .mec-slider-t1-content,.mec-dark-mode .mec-slider-t5 .mec-slider-t5-content,.mec-dark-mode .mec-slider-t5-wrap,.mec-dark-mode .mec-slider-t5-wrap .mec-event-grid-modern .event-grid-modern-head,.mec-dark-mode .mec-timeline-event-content,.mec-dark-mode .mec-timeline-month-divider,.mec-dark-mode .mec-timetable-events-list .mec-timetable-event:hover,.mec-dark-mode .mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part3,.mec-dark-mode .mec-wrap .mec-totalcal-box,.mec-dark-mode .mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar,.mec-dark-mode .mec-yearly-view-wrap .mec-yearly-calendar-sec,.mec-dark-mode .mec-yearly-view-wrap .mec-yearly-title-sec .mec-next-year,.mec-dark-mode .mec-yearly-view-wrap .mec-yearly-title-sec .mec-previous-year,.mec-dark-mode .tooltipster-sidetip:not(.uael-tooltipster-active) .tooltipster-content{background:#191919}.mec-dark-mode .event-carousel-type3-head .mec-event-footer-carousel-type3,.mec-dark-mode .event-carousel-type3-head .mec-event-footer-carousel-type3 .mec-booking-button,.mec-dark-mode .mec-av-spot,.mec-dark-mode .mec-av-spot-wrap .mec-event-grid-modern .event-grid-modern-head,.mec-dark-mode .mec-box-calendar.mec-calendar dl dt:last-child,.mec-dark-mode .mec-calendar,.mec-dark-mode .mec-calendar .mec-event-article,.mec-dark-mode .mec-calendar.mec-box-calendar .mec-table-nullday:last-child,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-a-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-a-month .mec-next-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-a-month .mec-previous-month,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-calendar-d-table,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-next-month:hover,.mec-dark-mode .mec-calendar.mec-calendar-daily .mec-previous-month:hover,.mec-dark-mode .mec-event-cover-classic,.mec-dark-mode .mec-event-cover-clean,.mec-dark-mode .mec-event-grid-classic .mec-event-article,.mec-dark-mode .mec-event-grid-clean .mec-event-article,.mec-dark-mode .mec-event-grid-modern .mec-event-article,.mec-dark-mode .mec-event-sharing-wrap .mec-event-sharing,.mec-dark-mode .mec-event-sharing-wrap .mec-event-sharing:after,.mec-dark-mode .mec-event-sharing-wrap>li:first-of-type,.mec-dark-mode .mec-events-agenda,.mec-dark-mode .mec-fes-form .mec-meta-box-fields,.mec-dark-mode .mec-masonry,.mec-dark-mode .mec-slider-t5-wrap .mec-event-grid-modern .event-grid-modern-head,.mec-dark-mode .mec-timeline-month-divider,.mec-dark-mode .mec-wrap .mec-totalcal-box,.mec-dark-mode .mec-yearly-view-wrap .mec-yearly-title-sec .mec-next-year,.mec-dark-mode .mec-yearly-view-wrap .mec-yearly-title-sec .mec-previous-year{border-color:#353535}.mec-dark-mode .mec-event-sharing-wrap .mec-event-sharing:after{border-color:#191919 transparent transparent transparent}.mec-dark-mode .mec-event-sharing-wrap .mec-event-sharing:before{border-color:#353535 transparent transparent transparent}.mec-dark-mode .mec-book-form-gateways [id*=mec_book_form_gateway_checkout] input[type=text],.mec-dark-mode .mec-events-meta-group-booking .StripeElement,.mec-dark-mode .mec-wrap .mec-book-form-gateways [id*=mec_book_form_gateway_checkout] input[type=email],.mec-dark-mode .mec-wrap .mec-book-form-gateways [id*=mec_book_form_gateway_checkout] input[type=text]{background:#999!important;border:1px solid #353535!important;box-shadow:none!important;color:#353535!important}.mec-dark-mode .CardField CardField--ltr .__PrivateStripeElement .InputContainer input{color:#d2d2d2!important}.mec-dark-mode .mec-events-toggle .mec-toggle-item{border:1px solid #e4e4e4;box-shadow:0 10px 15px #282828}.mec-dark-mode .mec-agenda-events-wrap .mec-event-grid-colorful .mec-event-content{background-color:transparent}.mec-dark-mode .mec-calendar .mec-calendar-side{box-shadow:0 1px 5px 6px rgba(255,255,255,.005) inset}.mec-dark-mode .tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-box{border:1px solid #282828!important}.mec-dark-mode .mec-timeline-event-content:after{border-color:transparent #191919 transparent transparent}.mec-dark-mode .mec-fes-form .mec-meta-box-fields{box-shadow:0 2px 6px -3px #353535}.mec-dark-mode .mec-fes-form .mec-meta-box-fields h4{color:#d2d2d2;background:#000}.mec-dark-mode .mec-fes-form input[type=email],.mec-dark-mode .mec-fes-form input[type=number],.mec-dark-mode .mec-fes-form input[type=password],.mec-dark-mode .mec-fes-form input[type=tel],.mec-dark-mode .mec-fes-form input[type=text],.mec-dark-mode .mec-fes-form select,.mec-dark-mode .mec-fes-form textarea{box-shadow:0 2px 5px rgba(0,0,0,.38) inset}.mec-dark-mode .mec-fes-form input{background:#353535!important;color:#d2d2d2!important}.mec-dark-mode .mec-booking-tab-content .button:hover,.mec-dark-mode .mec-booking-tab-content .mec-reg-field-add-option:hover,.mec-dark-mode .mec-fes-form .mec-form-row .button:not(.wp-color-result):hover{background:#353535;color:#d2d2d2;border-color:#353535;box-shadow:0 2px 6px -3px #353535}.mec-dark-mode .mec-booking-tab-content .button,.mec-dark-mode .mec-booking-tab-content .mec-reg-field-add-option,.mec-dark-mode .mec-fes-form .mec-form-row .button:not(.wp-color-result),.mec-dark-mode .mec-fes-form input[type=file],.mec-dark-mode ul#mec_orgz_form_row li .mec-additional-organizer-remove,.mec-dark-mode ul#mec_reg_form_fields li .mec_reg_field_remove{color:#d2d2d2;background:#282828;border:2px solid #353535;box-shadow:0 2px 6px -3px #353535}.mec-dark-mode #mec_reg_form_fields input[type=checkbox],.mec-dark-mode #mec_reg_form_fields input[type=radio],.mec-dark-mode .mec-form-row input[type=checkbox],.mec-dark-mode .mec-form-row input[type=radio]{background-color:#000;border:1px solid #353535;box-shadow:0 1px 3px -1px #353535}.mec-dark-mode .mec-fes-form .select2-container{border:1px solid #353535;background-color:#282828;color:#d2d2d2}.mec-dark-mode ul#mec_bfixed_form_fields li,.mec-dark-mode ul#mec_orgz_form_row li,.mec-dark-mode ul#mec_reg_form_fields li{background:#000;border-color:#000}.mec-dark-mode #mec_meta_box_tickets_form [id^=mec_ticket_row] .mec_add_price_date_button{background:#000;border-color:#2d2d2d;box-shadow:0 2px 6px -3px #2d2d2d}.mec-dark-mode #mec_reg_form_field_types .button.red{background:#2d2d2d;border-color:#2d2d2d;box-shadow:0 2px 6px -3px #2d2d2d}.mec-dark-mode #mec_bfixed_form_field_types .button,.mec-dark-mode #mec_reg_form_field_types .button{color:#d2d2d2;box-shadow:0 2px 6px -3px #2d2d2d;border-color:#2d2d2d}.mec-dark-mode #mec_meta_box_tickets_form [id^=mec_ticket_row] .mec_add_price_date_button:hover,.mec-dark-mode #mec_reg_form_field_types .button:hover{background:#000}.mec-dark-mode ul#mec_bfixed_form_fields li .mec_bfixed_field_remove,.mec-dark-mode ul#mec_orgz_form_row li .mec-additional-organizer-remove,.mec-dark-mode ul#mec_reg_form_fields li .mec_reg_field_remove{background:#282828}.mec-dark-mode #mec_taxes_fees_container_toggle [id^=mec_remove_fee_button]:hover,.mec-dark-mode #mec_ticket_variations_list [id^=mec_remove_ticket_variation_button]:hover,.mec-dark-mode ul#mec_bfixed_form_fields li .mec_bfixed_field_remove:hover,.mec-dark-mode ul#mec_orgz_form_row li .mec-additional-organizer-remove:hover,.mec-dark-mode ul#mec_reg_form_fields li .mec_reg_field_remove:hover{color:#fff;border:2px solid #ea6485;background:#ea6485}.mec-events-meta-group-booking-shortcode{background-color:#e6f7ff;padding:40px;position:relative}.mec-events-meta-group-booking-shortcode h4{margin-bottom:20px}.mec-booking-shortcode .mec-event-tickets-list.mec-sell-all-occurrences{width:100%}.mec-booking-shortcode .mec-book-reg-field-mec_email{width:48%;display:inline-block;margin-right:30px}.mec-booking-shortcode .mec-book-reg-field-name{width:48%;display:inline-block}.mec-booking-shortcode .mec-form-row.mec-paypal-credit-card-expiration-date-month{width:48%;display:inline-block;vertical-align:top;margin-right:30px}.mec-booking-shortcode .mec-form-row.mec-paypal-credit-card-cvv2{width:48%;display:inline-block}.mec-booking-shortcode .mec-form-row.mec-paypal-credit-card-expiration-date-month .nice-select{width:48%;display:inline-block}.mec-booking-shortcode .mec-form-row.mec-paypal-credit-card-expiration-date-month label{width:100%}.mec-booking-shortcode .mec-form-row.mec-paypal-credit-card-expiration-date-month .nice-select:first-of-type{margin-right:10px}.mec-booking-shortcode .mec-form-row.mec-name-stripe,.mec-booking-shortcode .mec-form-row.mec-paypal-credit-card-card-type,.mec-booking-shortcode .mec-form-row.mec-paypal-credit-card-first-name{width:48%;vertical-align:top;display:inline-block;margin-right:30px}.mec-booking-shortcode .mec-form-row.mec-email-stripe,.mec-booking-shortcode .mec-form-row.mec-paypal-credit-card-cc-number,.mec-booking-shortcode .mec-form-row.mec-paypal-credit-card-last-name{width:48%;display:inline-block}.mec-events-meta-group-booking .mec-booking-shortcode .StripeElement{height:56px;padding:19px 12px 0;max-width:420px}.mec-booking-shortcode .nice-select,.mec-booking-shortcode input{float:none;border:1px solid #c7ebfb!important;border-radius:3px;background-color:#fff;height:41px;line-height:39px;padding-left:15px;padding-right:15px;margin:0;margin-bottom:24px!important;color:#00acf8;font-size:14px;font-weight:400;box-shadow:none!important;min-height:unset;min-width:unset;padding-top:0;padding-bottom:0}.mec-booking-shortcode .mec-gateway-message.mec-success{font-size:14px}.mec-booking-shortcode .mec-form-row.mec-name-stripe{margin-bottom:0!important}.mec-booking-shortcode .mec-book-form-gateways [id*=mec_book_form_gateway_checkout] input[type=text],.mec-events-meta-group-booking .mec-booking-shortcode .StripeElement{border:1px solid #c7ebfb!important;border-radius:3px;box-shadow:none!important}.mec-booking-shortcode .nice-select ul{width:100%}.mec-booking-shortcode .mec-event-ticket-name,.mec-booking-shortcode .mec-event-ticket-price,.mec-booking-shortcode .mec-ticket-variation-name,.mec-booking-shortcode .mec-ticket-variation-price,.mec-booking-shortcode label{font-size:14px;line-height:19px;font-weight:400;color:#00acf8;padding-right:5px;margin:0 0 4px!important}.mec-booking-shortcode span.mec-event-ticket-available{margin-top:-22px!important;margin-bottom:28px!important;display:block;font-size:11px;letter-spacing:.5px;font-weight:300;color:#80abbf}.mec-booking-shortcode button{background-color:#00acf8;border-radius:2px;box-shadow:0 2px 2px rgba(0,172,248,.27);font-weight:500;font-size:11px;letter-spacing:.5px;margin:0;min-width:116px;padding:16px 15px 14px;float:none;position:relative;border:none;color:#fff;display:inline-block}.mec-booking-shortcode .mec-booking-form-container ul li{list-style:none}.mec-booking-shortcode .mec-booking-form-container ul{padding:0}.mec-events-meta-group-booking-shortcode .mec-error{background-color:#ff017e;color:#fff!important;margin:24px 0 24px;padding:10px 15px;border-radius:3px}.mec-events-meta-group-booking-shortcode .info-msg{margin:24px 0 24px}.mec-booking-shortcode .mec-book-ticket-variation h5{margin:0 0 4px}.mec-booking-shortcode .mec-book-available-tickets-details-header{border-bottom:2px solid #00acf8}.mec-booking-shortcode .mec-book-available-tickets-details-header,.mec-booking-shortcode .mec-book-available-tickets-details-item,.mec-booking-shortcode .mec-book-price-detail{display:-webkit-box;display:flex;flex-wrap:wrap}.mec-booking-shortcode .mec-book-available-tickets-details-header span,.mec-booking-shortcode .mec-book-available-tickets-details-item span,.mec-booking-shortcode .mec-book-price-detail span{-webkit-box-flex:1.97;flex:1.97 1.97 0;min-height:1px;font-size:14px;line-height:22px;color:#616264;font-weight:500;padding-bottom:20px;padding-top:20px}.mec-booking-shortcode .mec-book-available-tickets-details span:nth-of-type(2),.mec-booking-shortcode .mec-book-available-tickets-details-item span:nth-of-type(2),.mec-booking-shortcode .mec-book-price-detail span:nth-of-type(2){-webkit-box-flex:1;flex:1 1 0}.mec-booking-shortcode .mec-book-available-tickets-details span:last-child,.mec-booking-shortcode .mec-book-available-tickets-details-item span:last-child,.mec-booking-shortcode .mec-book-price-detail span:last-child{-webkit-box-flex:1.085;flex:1.085 1.085 0}.mec-booking-shortcode .mec-book-available-tickets-details-header span{padding-bottom:11px}.mec-booking-shortcode .mec-book-available-tickets-details-item span{font-weight:400;font-size:12px}.mec-booking-shortcode span.mec-book-price-detail-amount,.mec-booking-shortcode span.mec-book-price-detail-description{font-size:14px;line-height:22px;font-weight:500;padding:6px 0;color:#000}.mec-booking-shortcode span.mec-book-price-detail-amount{color:#777}.mec-booking-shortcode .mec-book-form-gateways label{cursor:pointer}.mec-booking-shortcode .mec-book-form-gateways label{cursor:pointer}.mec-booking-shortcode span.mec-book-price-detail-description{padding:6px 13px 6px 0;font-size:14px;font-weight:400;color:#00acf8}.mec-booking-shortcode ul.mec-book-price-details li{border-right:1px solid #c7ebfb!important}@media(max-width:980px){.mec-events-meta-group-booking-shortcode{padding:20px}.mec-booking-shortcode ul.mec-book-price-details li{width:100%;border-right:0!important;border-bottom:1px solid}.mec-booking-shortcode ul.mec-book-price-details li:last-child{width:100%;border-right:0;border-bottom:0 solid}}.mec-booking-shortcode span.mec-book-price-total{font-size:22px;line-height:22px;font-weight:700;color:#2bbc10;margin-top:20px;margin-bottom:35px;display:inline-block}.mec-booking-shortcode ul.mec-book-price-details{border:1px solid #c7ebfb!important;border-radius:3px;box-shadow:none!important}.mec-booking-shortcode span.mec-book-price-total-description{font-size:18px;line-height:22px;font-weight:700;color:#000}.mec-booking-shortcode span.mec-book-price-total-amount{font-size:22px;line-height:22px;font-weight:700;color:#2bbc10}.mec-booking-shortcode .mec-book-form-price{clear:both;position:relative}.mec-booking-shortcode .mec-book-form-gateway-label input[type=radio]:after{content:"";display:inline-block;width:7px;height:7px;background-color:#fff;border-radius:50%;cursor:pointer;position:absolute;top:4px;left:3px}.mec-booking-shortcode .mec-book-form-gateway-label input[type=radio]:before{box-shadow:none;border:2px solid #a8e4ff;width:17px;height:17px;position:absolute;top:-9px;left:-2px;margin:0;content:"";display:inline-block;background:#fff;border-radius:18px;cursor:pointer;position:relative}.mec-booking-shortcode .mec-book-form-gateway-label{-webkit-box-flex:0;flex:0 0 50%;margin-bottom:14px;padding-right:15px}.mec-booking-shortcode .mec-book-form-gateways{display:-webkit-box;display:flex;flex-wrap:wrap;margin-bottom:20px}.mec-booking-shortcode .mec-book-form-gateway-checkout{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}.mec-booking-shortcode input::-webkit-input-placeholder,.mec-booking-shortcode textarea::-webkit-input-placeholder{color:#afe6ff}.mec-booking-shortcode input::-moz-placeholder,.mec-booking-shortcode textarea::-moz-placeholder{color:#afe6ff}.mec-booking-shortcode input:-ms-input-placeholder,.mec-booking-shortcode textarea:-ms-input-placeholder{color:#afe6ff}.mec-booking-shortcode input:-moz-placeholder,.mec-booking-shortcode textarea:-moz-placeholder{color:#afe6ff}.mec-booking-shortcode input[type=radio]:checked:before{border:2px solid #a8e4ff;box-shadow:none}.mec-booking-shortcode input[type=radio]:checked:after{background-color:#00acf8}.mec-booking-shortcode .mec-book-form-gateway-label label input{position:relative;cursor:pointer;margin:0!important;height:auto;margin-right:4px!important}.mec-booking-shortcode .mec-click-pay button[type=submit]{position:absolute;left:190px;bottom:40px}.mec-booking-shortcode button#mec-book-form-btn-step-2{margin-left:30px}.mec-booking-shortcode .mec-ticket-name{display:inline-block;background-color:#fff;border-radius:3px;font-size:12px;line-height:12px;font-weight:400;color:#00acf8;padding:8px 13px;letter-spacing:0}.mec-booking-shortcode .mec_book_first_for_all{display:none}.mec-booking-shortcode li.mec-first-for-all-wrapper{margin-bottom:20px}.mec-booking-shortcode label.wn-checkbox-label:before{display:inline-block;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;-webkit-transform-origin:left top;transform-origin:left top;content:"";-webkit-transition:opacity ease .5;-moz-transition:opacity ease .5;transition:opacity ease .5;position:absolute;background-color:#00acf8;width:2px;-webkit-transform:rotate(-138deg);transform:rotate(-138deg)}.mec-booking-shortcode label.wn-checkbox-label{position:relative;display:inline-block;-moz-transition:border-color ease .2s;-o-transition:border-color ease .2s;-webkit-transition:border-color ease .2s;transition:border-color ease .2s;cursor:pointer;vertical-align:middle;font-size:14px;line-height:19px;font-weight:400;color:#00acf8;margin:0 0 4px!important;padding:0;background-color:#fff;border:2px solid #a8e4ff;width:17px;height:17px;border-radius:3px;margin-right:9px!important;box-shadow:none}.mec-booking-shortcode label.wn-checkbox-label:after{-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-moz-animation:dothabottomcheck 80ms ease 0s forwards;-o-animation:dothabottomcheck 80ms ease 0s forwards;-webkit-animation:dothabottomcheck 80ms ease 0s forwards;animation:dothabottomcheck 80ms ease 0s forwards;content:"";display:inline-block;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;-webkit-transform-origin:left top;transform-origin:left top;content:"";-webkit-transition:opacity ease .5;-moz-transition:opacity ease .5;transition:opacity ease .5;position:absolute;background-color:#00acf8;width:2px}.mec-booking-shortcode input[type=checkbox]:checked+.wn-checkbox-label::after{height:5px;left:2px;top:7px;-moz-animation:dothatopcheck .16s ease 0s forwards;-o-animation:dothatopcheck .16s ease 0s forwards;-webkit-animation:dothatopcheck .16s ease 0s forwards;animation:dothatopcheck .16s ease 0s forwards}.mec-booking-shortcode input[type=checkbox]:checked+.wn-checkbox-label::before{height:6px;left:7px;top:9px;-moz-animation:dothatopcheck .16s ease 0s forwards;-o-animation:dothatopcheck .16s ease 0s forwards;-webkit-animation:dothatopcheck .16s ease 0s forwards;animation:dothatopcheck .16s ease 0s forwards}.mec-booking-shortcode button[type=button],.mec-booking-shortcode button[type=submit]{font-weight:500;font-size:13px;letter-spacing:.5px;line-height:16px;outline:0}.mec-booking-shortcode button.mec-book-form-back-button{background-color:#afe6ff;box-shadow:0 2px 2px rgba(175,230,255,.27)}.mec-booking-shortcode button[type=button]:hover,.mec-booking-shortcode button[type=submit]:hover{background-color:#000;text-decoration:none;box-shadow:0 4px 10px rgba(1,2,4,.32)}.mec-booking-shortcode a.button:after,.mec-booking-shortcode button[type=submit]:after{display:none;width:13px;height:13px;border-top:0;border-right:.1em solid #f0f1f1;border-bottom:.1em solid #fbfbfb;border-left:.1em solid #fff;content:"";-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:mecloader 1.1s infinite linear;animation:mecloader 1.1s infinite linear;background:rgba(0,0,0,0);position:absolute;top:18px;right:20px;border-radius:50%;z-index:999999999999}.mec-booking-shortcode a.button.loading:after,.mec-booking-shortcode button[type=submit].loading:after{display:block}.mec-booking-shortcode .mec-book-form-coupon{margin-bottom:35px}.mec-booking-calendar-month-navigation{position:relative;text-align:center;padding:1px 0 1px;max-width:330px}.mec-booking-calendar.mec-wrap{margin-bottom:20px;width:100%}.mec-booking-calendar.mec-wrap{max-width:330px;background:#fff;box-shadow:0 1px 5px 6px rgba(0,0,0,.005) inset;border:1px solid #efefef}.mec-booking-calendar-month-navigation .mec-calendar-header h2{text-transform:uppercase;font-size:13px;font-weight:700;line-height:1.14;margin:16px auto;color:#333}.mec-booking-calendar-month-navigation .mec-next-month,.mec-booking-calendar-month-navigation .mec-previous-month{cursor:pointer;position:absolute;top:0;min-width:40px;height:40px;line-height:40px;text-align:center;background:#fff;color:#a9a9a9;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding-left:5px;padding-right:5px;border-top:none;transition:all .33s ease;border-bottom:1px solid #efefef;box-shadow:0 2px 0 0 rgba(0,0,0,.015);transition:all .33s ease}.mec-booking-calendar-month-navigation .mec-previous-month{left:0;border-bottom-right-radius:6px;border-left:none;border-right:1px solid #efefef}.mec-booking-calendar-month-navigation .mec-next-month{right:0;border-bottom-left-radius:6px;border-right:none;border-left:1px solid #efefef}.mec-booking-calendar-month-navigation .mec-next-month:hover,.mec-booking-calendar-month-navigation .mec-previous-month:hover{background-color:#f9f9f9;color:#40d9f1}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar{margin-bottom:0;width:100%}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar dl dt{text-align:center;padding:0;height:47px;line-height:47px;border:0;cursor:pointer}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar dl dt:last-child{border:0}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar .mec-calendar-row dt:hover{background:0 0}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar .mec-calendar-novel-selected-day,.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar .mec-calendar-novel-selected-day span{width:32px;height:32px;margin:auto;line-height:30px;border-radius:50%;font-size:12px;font-weight:600;padding:0}.mec-has-event-for-booking{position:relative}.mec-has-event-for-booking .mec-calendar-novel-selected-day{border:2px solid #40d9f1;border-radius:50px;cursor:pointer}.mec-has-event-for-booking.mec-active .mec-calendar-novel-selected-day{background-color:#40d9f1}.mec-has-event-for-booking .mec-booking-calendar-date,.mec-has-event-for-booking .mec-booking-tooltip,.mec-multiple-event .mec-has-event-for-booking .mec-booking-tooltip{opacity:0;visibility:hidden;transition:all .4s ease}.mec-has-event-for-booking .mec-booking-tooltip,.mec-multiple-event .mec-has-event-for-booking .mec-booking-tooltip{top:60px}.mec-has-event-for-booking .mec-booking-tooltip,.mec-multiple-event .mec-has-event-for-booking .mec-booking-tooltip{position:absolute;z-index:99;width:150px;font-size:9px;left:calc(50% - 75px);background:#535a61;line-height:29px;border-radius:4px;color:#fff;font-weight:400;letter-spacing:1px;text-transform:uppercase;padding:3px 5px;box-shadow:0 4px 15px -2px #444b50a3}.mec-has-event-for-booking:hover .mec-booking-calendar-date,.mec-has-event-for-booking:hover .mec-booking-tooltip,.mec-has-event-for-booking:hover .mec-booking-tooltip.multiple-time .mec-booking-calendar-date,.mec-multiple-event .mec-has-event-for-booking:hover .mec-booking-calendar-date,.mec-multiple-event .mec-has-event-for-booking:hover .mec-booking-tooltip{opacity:1;visibility:visible}.mec-has-event-for-booking:hover .mec-booking-tooltip,.mec-multiple-event .mec-has-event-for-booking:hover .mec-booking-tooltip{top:43px}.mec-has-event-for-booking .mec-booking-calendar-date:before,.mec-multiple-event .mec-has-event-for-booking .mec-booking-calendar-date:before{display:block;content:""!important;position:absolute!important;width:12px;height:12px;top:-6px;left:calc(50% - 6px);transform:rotate(-45deg)!important;background-color:#535a61;z-index:0!important;box-shadow:0 8px 9px -9px #535a61!important}.mec-multiple-event .mec-has-event-for-booking .mec-booking-calendar-date-hover{border-bottom:1px solid #ffffff30}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar.mec-multiple-event .first-day{position:relative;padding-left:7px}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar.mec-multiple-event .first-day .mec-calendar-novel-selected-day{border-radius:47px;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0;width:100%}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar.mec-multiple-event .first-day .mec-calendar-novel-selected-day span{margin-left:-7px}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar.mec-multiple-event .last-day{position:relative;padding-right:7px}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar.mec-multiple-event .last-day .mec-calendar-novel-selected-day{border-radius:47px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:0;width:100%}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar.mec-multiple-event .last-day .mec-calendar-novel-selected-day span{margin-right:-7px}.mec-events-meta-group-booking .mec-booking-calendar .mec-calendar.mec-multiple-event .middle-day .mec-calendar-novel-selected-day{border-radius:0;border-right:0;border-left:0;width:100%}.mec-booking-tooltip.multiple-time{color:#fff}.mec-booking-tooltip.multiple-time .mec-booking-calendar-date:before{display:none}.mec-booking-tooltip.multiple-time .mec-booking-calendar-date:first-child:before{display:block}.mec-booking-tooltip.multiple-time .mec-booking-calendar-date{border:1px dashed #68717a;line-height:25px;margin:8px 0;border-radius:20px;transition:all .17s ease;-webkit-transition:all .17s ease;-moz-transition:all .17s ease;-ms-transition:all .17s ease;-o-transition:all .17s ease}.mec-booking-tooltip.multiple-time .mec-booking-calendar-date:hover,.mec-calendar-day.mec-active .mec-booking-tooltip.multiple-time .mec-booking-calendar-date.mec-active{background:#40d9f1;border-color:#40d9f1}.mec-choosen-time-message{max-width:330px;padding:3px 14px;border-radius:4px;background:rgb(64 217 241 / 24%);color:#40d9f1;transition:all .17s ease;opacity:1;visibility:visible;font-size:12px;margin-bottom:20px}.mec-choosen-time-message .mec-choosen-time{padding-left:7px}.mec-choosen-time-message.disable,.mec-choosen-time-message.disable .mec-choosen-time-message{opacity:0;visibility:hidden;padding:0;font-size:0;margin:0}.lity-wrap .mec-booking-calendar.mec-wrap{margin-top:20px}.lity-wrap .mec-booking-calendar-month-navigation,.lity-wrap .mec-booking-calendar.mec-wrap,.lity-wrap .mec-choosen-time-message{max-width:100%}.mec-events-meta-group-booking-shortcode .mec-booking-calendar-wrapper .mec-booking-calendar .mec-calendar dl dt{height:47px!important}@media (min-width:961px){.mec-wrap .mec-events-meta-group-booking .mec-booking-calendar .mec-calendar dl dt{height:47px}}.mec-dark-mode .mec-single-event .mec-events-meta-group-booking .mec-booking-calendar-month-navigation,.mec-dark-mode .mec-single-event .mec-events-meta-group-booking .mec-calendar{background:#000;border-color:#222;color:#999}.mec-dark-mode .mec-booking-calendar-month-navigation .mec-next-month,.mec-dark-mode .mec-booking-calendar-month-navigation .mec-previous-month{background:#222;border-color:#000;color:#d2d2d2}.mec-dark-mode .mec-booking-calendar.mec-wrap{border-color:#111}.mec-dark-mode .mec-events-meta-group-booking .mec-booking-calendar .mec-calendar .mec-calendar-row dt:hover{background:0 0!important}.mec-dark-mode .mec-calendar.mec-event-calendar-classic,.mec-dark-mode .mec-calendar.mec-event-calendar-classic .mec-calendar-side{height:auto}.is-light-theme .mec-fes-form textarea{border:1px solid #cfeff5;box-shadow:0 2px 5px rgba(207,239,245,.38) inset}.is-light-theme .mec-fes-form .select2-selection{height:auto}.is-light-theme .mec-fes-form input[type=checkbox]:after{border:unset!important}.is-light-theme .mec-fes-form input[type=radio]:after{background:unset!important}.is-light-theme .mec-fes-form input+label{padding-top:0}.is-light-theme .mec-events-event-image img{height:auto}span.mec-booking-field-required{color:red;margin-left:10px}.mec-gCalendar{position:relative}.mec-gCalendar-filters{display:none;position:absolute;width:518px;background:#fff;right:calc(50% - 119px);top:60px;z-index:9999999;border:1px solid #e3e4e5;border-radius:7px;box-shadow:0 2px 7px rgb(0 0 0 / 5%)}.mec-gCalendar-filters-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;padding:30px;gap:20px 10px;align-items:center}.mec-gCalendar-filters-wrap>div{flex:1 0 calc(43% - 10px);display:inline-flex}.mec-gCalendar-filters-wrap .select2-container--default>ul{margin-top:2px;width:100%}.mec-gCalendar-filters-wrap span.select2.select2-container{width:100%!important}.mec-gCalendar-filters-wrap .select2-container--default>ul>li{width:100%}.mec-gCalendar-filters-wrap .select2-container--default{height:39px}.mec-gCalendar-filters-wrap span.select2-selection.select2-selection--multiple{border:none!important;height:38px!important}.mec-gCalendar-filters-wrap .select2-container--default .select2-selection--multiple .select2-selection__choice{margin:0;background-color:#eee;font-size:11px}.mec-gCalendar-filters-wrap .select2-container--default .select2-selection--multiple .select2-selection__rendered li{line-height:29px;margin-top:5px;border:none;margin-right:5px}.mec-gCalendar-filters-wrap .mec-searchbar-category-wrap{margin:0!important;width:182px!important;padding:0!important;height:40px!important;border-radius:0 3px 3px 0;border:1px solid #e3e4e5!important}.mec-gCalendar-filters-wrap .mec-checkboxes-search i,.mec-gCalendar-filters-wrap .mec-dropdown-search i,.mec-gCalendar-filters-wrap .mec-minmax-event-cost i,.mec-gCalendar-filters-wrap .mec-text-address-search i{color:#b7b7b7;background-color:#fbfbfb;border-radius:3px 0 0 3px;border:1px solid #e3e4e5;width:40px;height:40px;line-height:40px;padding:0;border-right:0;text-align:center}.mec-gCalendar-filters-wrap .mec-minmax-event-cost input,.mec-gCalendar-filters-wrap .mec-minmax-event-cost input:focus,.mec-gCalendar-filters-wrap .mec-text-address-search input,.mec-gCalendar-filters-wrap .mec-text-address-search input:focus{width:208px;height:40px;border-radius:0;border-right:0;border-color:#e3e4e5;font-size:12px;border-style:solid;border-width:1px;padding-left:15px}.mec-gCalendar-filters-wrap .mec-text-address-search input,.mec-gCalendar-filters-wrap .mec-text-address-search input:focus{width:415px}.mec-gCalendar-filters-wrap .mec-minmax-event-cost input:last-child,.mec-gCalendar-filters-wrap .mec-text-address-search input,.mec-gCalendar-filters-wrap .mec-text-address-search input:focus{border-right:1px solid #e3e4e5;border-radius:0 3px 3px 0;border-left:none}.mec-gCalendar .mec-gCalendar-filters-wrap .mec-text-address-search i{border-right:1px solid #e3e4e5}.mec-gCalendar-filters-wrap ul.list li[data-value=""]{display:none}.mec-gCalendar .fc .fc-scroller-harness,.mec-gCalendar .fc .fc-scroller-liquid-absolute,.mec-gCalendar .fc-h-event .fc-event-title{overflow:visible!important}#MonthPicker_mec-gCalendar-month-filter:after,#MonthPicker_mec-gCalendar-month-filter:before,.mec-gCalendar-filters:after,.mec-gCalendar-filters:before{content:'';display:block;position:absolute;left:50%;margin-left:77px;width:0;height:0;border-style:solid;border-width:7px}#MonthPicker_mec-gCalendar-month-filter:after,#MonthPicker_mec-gCalendar-month-filter:before{margin-left:68px}#MonthPicker_mec-gCalendar-month-filter:before,.mec-gCalendar-filters:before{top:-15px;border-color:transparent transparent #e3e9f1 transparent}#MonthPicker_mec-gCalendar-month-filter:after,.mec-gCalendar-filters:after{top:-14px;border-color:transparent transparent #fff transparent}.mec-gCalendar-tooltip{width:290px;height:auto;position:absolute;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;left:calc(50% - 145px);bottom:calc(100% - 1px);border:1px solid #e3e4e5;border-radius:7px;opacity:1;box-shadow:0 4px 13px rgb(0 0 0 / 7%);z-index:9997}.mec-gCalendar-tooltip-image img{width:100%;border-radius:3px!important}.mec-gCalendar-tooltip-image{padding:10px;padding-bottom:8px}.mec-gCalendar a.fc-event:active{opacity:1}.mec-gCalendar #mec-gCalendar-wrap a.fc-event{padding:7px 3px;font-size:12px;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.mec-gCalendar-tooltip-title{color:#000;line-height:24px;font-size:15px;padding:10px 25px;font-weight:500}.mec-gCalendar-tooltip-title span{width:12px;height:12px;display:inline-block;margin-left:7px;vertical-align:middle;border-radius:50px}.mec-gCalendar-tooltip-title a{color:#000}.mec-gCalendar-tooltip-title a:hover{text-decoration:underline;color:#000}.mec-gCalendar-tooltip-location{color:#707172;font-size:12px;font-weight:400;line-height:23px;padding:0 25px 15px;margin-top:-2px}.mec-gCalendar-tooltip-location i{margin-right:6px;color:#c1c7ce}.mec-gCalendar .fc-event-time{display:none}.mec-gCalendar-tooltip-date{background:#f7f8f9;color:#898a8c;font-weight:400;padding:10px 24px;display:flex;justify-content:space-between;font-size:12px}.mec-gCalendar-tooltip-date-text>div>span,.mec-gCalendar-tooltip-date-time>div>span{display:block;line-height:23px}.mec-gCalendar-tooltip-date-text>div>span:last-child,.mec-gCalendar-tooltip-date-time>div>span:last-child{margin:0}.mec-gCalendar-tooltip-date-text .mec-gCalendar-tooltip-date-day{font-size:14px;color:#000}.mec-gCalendar-tooltip-date-text,.mec-gCalendar-tooltip-date-time{display:flex;align-items:baseline}.mec-gCalendar-tooltip-date-text i,.mec-gCalendar-tooltip-date-time i{margin-right:8px;color:#c1c7ce}.mec-gCalendar-tooltip:after,.mec-gCalendar-tooltip:before{content:'';display:block;position:absolute;left:calc(50% - 8px);width:0;height:0;border-style:solid;border-width:8px}.mec-gCalendar-tooltip:before{bottom:-17px;border-color:#e3e9f1 transparent transparent transparent}.mec-gCalendar-tooltip:after{bottom:-16px;border-color:#fff transparent transparent transparent}#mec-gCalendar-wrap .openMonthFilter i{-moz-transition:all .27s ease;-webkit-transition:all .27s ease;-o-transition:all .27s ease;transition:all .27s ease}#mec-gCalendar-wrap .openMonthFilter.open i{transform:rotate(-180deg)}.mec-gCalendar input#mec-gCalendar-month-filter{display:none}.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk,.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk>div:not(#MonthPicker_mec-gCalendar-month-filter){display:flex;align-items:center;justify-content:space-between}.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk{margin-bottom:8px}.mec-gCalendar #mec-gCalendar-wrap .fc-header-toolbar.fc-toolbar{border:1px solid #e3e4e5;border-radius:7px;padding:18px 30px 10px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;position:relative;flex-wrap:wrap}.mec-gCalendar #mec-gCalendar-wrap h2.fc-toolbar-title{font-size:22px;font-weight:600;line-height:20px;margin-right:20px;position:relative;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.mec-gCalendar #mec-gCalendar-wrap h2.fc-toolbar-title>span{font-weight:100}.mec-gCalendar h2.fc-toolbar-title i{color:#a1a2a3;cursor:pointer;margin-left:2px;font-size:14px;margin-right:0}.mec-gCalendar h2.fc-toolbar-title button{background:0 0;border:none;cursor:pointer;padding:0;outline:0}.mec-gCalendar table.fc-scrollgrid-sync-table tbody td{border:none;border-bottom:1px solid #eee;border-right:1px solid #eee}.mec-gCalendar button.fc-nextYear-button.fc-button.fc-button-primary,.mec-gCalendar button.fc-nextYear-button.fc-button.fc-button-primary:active,.mec-gCalendar button.fc-prevYear-button.fc-button.fc-button-primary,.mec-gCalendar button.fc-prevYear-button.fc-button.fc-button-primary:active{background:#fff;color:#a1a2a3;border-radius:7px 0 0 7px;border-color:#e3e4e5;padding:3px 2px;box-shadow:none!important}.mec-gCalendar button.fc-button span.fc-icon{font-size:20px;padding:1px 0;width:30px;height:34px;vertical-align:middle;position:relative}.mec-gCalendar-filters-wrap .nice-select .list{margin:0;box-shadow:0 0 0 1px rgb(68 68 68 / 11%),0 2px 4px rgb(0 0 0 / 5%)}.mec-gCalendar button.fc-button span.fc-icon:before{vertical-align:middle;font-size:18px;position:absolute;top:calc(50% - 9px);left:calc(50% - 9px)}.mec-gCalendar button.fc-prevYear-button.fc-button.fc-button-primary{border-right:none}.mec-gCalendar button.fc-nextYear-button.fc-button.fc-button-primary{border-left:none;border-radius:0 7px 7px 0}.mec-gCalendar button.fc-next-button.fc-button.fc-button-primary,.mec-gCalendar button.fc-next-button.fc-button.fc-button-primary:active,.mec-gCalendar button.fc-prev-button.fc-button.fc-button-primary,.mec-gCalendar button.fc-prev-button.fc-button.fc-button-primary:active{background:#fff;color:#a1a2a3;border-right:none;border-left:none;border-radius:0;border-color:#e3e4e5;padding:3px 2px;box-shadow:none!important}.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary,.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary:active{background:#fff;color:#707070;border-left:none;border-right:none;border-radius:0;border-color:#e3e4e5;font-size:13px;text-transform:capitalize;font-weight:400;opacity:1;padding:9px 8px 12px;box-shadow:none!important;cursor:pointer;height:42px}.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary:disabled{cursor:auto}.mec-gCalendar button.fc-button.fc-button-primary:hover span{background:#f4f5f6;color:#000;border-radius:7px}.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary:not(:disabled):hover{background:#f4f5f6;color:#000;border-radius:0}.mec-gCalendar button.fc-filterEvents-button.fc-button.fc-button-primary,.mec-gCalendar button.fc-findEvents-button.fc-button.fc-button-primary,.mec-gCalendar button.fc-findEvents-button.fc-button.fc-button-primary:active{min-width:100px;border-radius:7px!important;margin-right:0;background:#00acf8;border:none!important;padding:10px 15px 11px;font-size:13px;font-weight:500;margin-left:20px!important;box-shadow:none!important}.mec-gCalendar tr.fc-scrollgrid-section.fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>td{border-radius:7px 7px 0 0;border:none}.mec-gCalendar button.fc-filterEvents-button.fc-button.fc-button-primary{position:relative;text-align:right;padding-right:13px;padding-left:32px;min-width:auto;background:0 0;font-size:14px;color:#969798;font-weight:400}.mec-gCalendar button.fc-filterEvents-button.fc-button.fc-button-primary:active,.mec-gCalendar button.fc-filterEvents-button.fc-button.fc-button-primary:hover{background:#f4f5f6;color:#000}.mec-gCalendar button.fc-filterEvents-button.fc-button.fc-button-primary svg{position:absolute;left:10px;top:14px}.mec-gCalendar button.fc-findEvents-button.fc-button.fc-button-primary:hover{background:#444}.mec-gCalendar-tooltip-location,.mec-gCalendar-tooltip-title{white-space:normal}.mec-gCalendar #mec-gCalendar-wrap .mec-gCalendar-search-text-wrap input[type=text],.mec-gCalendar #mec-gCalendar-wrap .mec-gCalendar-search-text-wrap input[type=text]:focus{margin:0;border:none;box-shadow:none!important;font-size:14px;font-weight:400;line-height:20px;color:#949aa1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding-right:5px;padding-left:8px;background:#fff;outline:0}.mec-gCalendar .mec-gCalendar-search-text-wrap input[type=text]::-webkit-input-placeholder{color:#949aa1}.mec-gCalendar .mec-gCalendar-search-text-wrap input[type=text]::-moz-placeholder{color:#949aa1}.mec-gCalendar .mec-gCalendar-search-text-wrap input[type=text]:-ms-input-placeholder{color:#949aa1}.mec-gCalendar .mec-gCalendar-search-text-wrap input[type=text]:-moz-placeholder{color:#949aa1}.mec-gCalendar-search-text-wrap{border-left:1px solid #e3e4e5;padding-left:16px}.mec-gCalendar-search-text-wrap i{margin-right:0;color:#bcc4ce;font-size:17px}.mec-gCalendar .fc-direction-ltr .fc-button-group>.fc-button:first-child{margin-left:7px!important}.mec-gCalendar .fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:0}.mec-gCalendar .mec-localtime-wrap{color:#000;font-size:11px;margin-top:2px;margin-bottom:2px}.mec-gCalendar .fc-theme-standard .fc-popover{background:#fff;border:1px solid #e3e4e5;border-radius:7px;box-shadow:0 4px 13px rgb(0 0 0 / 7%)}.mec-gCalendar .mec-localtime-wrap i{display:none}.mec-gCalendar .datepicker.dropdown-menu{position:absolute;top:51px!important;left:unset!important;min-width:215px!important;z-index:999;background:#fff;right:0;padding:4px 0 3px;margin:0;color:#000;border:1px solid #e3e4e5;border-radius:7px;box-shadow:0 3px 5px rgb(0 0 0 / 3%);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.mec-gCalendar .datepicker.dropdown-menu *{background:#fff;border-radius:7px;border:none;height:auto}.mec-gCalendar .datepicker table caption+thead tr:first-child td,.mec-gCalendar .datepicker table caption+thead tr:first-child th,.mec-gCalendar .datepicker table colgroup+thead tr:first-child td,.mec-gCalendar .datepicker table colgroup+thead tr:first-child th,.mec-gCalendar .datepicker table thead:first-child tr:first-child td,.mec-gCalendar .datepicker table thead:first-child tr:first-child th{border:none}.mec-gCalendar .datepicker table thead:first-child tr:first-child th.switch{font-weight:500}.mec-gCalendar .datepicker table thead:first-child tr:first-child th.next,.mec-gCalendar .datepicker table thead:first-child tr:first-child th.prev{font-size:0;padding-top:11px}.mec-gCalendar .datepicker table thead:first-child tr:first-child th.next:before,.mec-gCalendar .datepicker table thead:first-child tr:first-child th.prev:before{content:"\e606";font-family:simple-line-icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:12px;color:#a1a2a3}.mec-gCalendar .datepicker table thead:first-child tr:first-child th.prev:before{content:"\e605"}.mec-gCalendar .datepicker table.table-condensed thead tr{display:flex;padding:6px 12px 10px;justify-content:space-between;align-items:center}.mec-gCalendar .datepicker thead tr:first-child th{width:auto;height:auto}.mec-gCalendar .datepicker thead tr:first-child th.next,.mec-gCalendar .datepicker thead tr:first-child th.prev{width:34px;height:34px;padding:0 12px}.mec-gCalendar .datepicker thead tr:first-child th.switch{padding:5px 18px}.mec-gCalendar .datepicker table.table-condensed tbody tr td{justify-content:space-between;align-items:center;padding:0 9px 7px;display:flex;flex-direction:row;flex-wrap:wrap;width:auto}.mec-gCalendar .datepicker td span.active.active,.mec-gCalendar .datepicker td span.active.disabled,.mec-gCalendar .datepicker td span.active:active,.mec-gCalendar .datepicker td span.active:focus,.mec-gCalendar .datepicker td span.active:hover,.mec-gCalendar .datepicker td span.active[disabled]{background-color:#00acf8;text-shadow:none}.mec-gCalendar .datepicker td span{width:43px;line-height:41px;font-size:14px}.mec-gCalendar .datepicker thead tr:first-child th:hover{background:#f4f5f6}.mec-gCalendar .datepicker thead tr:first-child th:hover:before{color:#000!important}.mec-gCalendar .datepicker td span:hover{background-color:#f4f5f6}.mec-gCalendar .datepicker:after{left:unset;right:11px}.mec-gCalendar .datepicker:before{left:unset;right:10px}#gCalendar-loading{width:100%;height:100%;background:no-repeat rgba(255,255,255,.88) url(../img/ajax-loader.gif) center;border-style:none;position:absolute;left:0;right:0;bottom:0;top:0;z-index:9}#gCalendar-loading.mec-modal-preloader{display:block!important}#mec-gCalendar-wrap table.fc-scrollgrid{border:1px solid #e3e4e5;border-radius:7px}#mec-gCalendar-wrap table.fc-scrollgrid thead tr td{border:none!important;background:0 0}#mec-gCalendar-wrap table.fc-scrollgrid table{margin-bottom:0}#mec-gCalendar-wrap table.fc-scrollgrid tr th{background:0 0;padding:20px 0 3px 10px;text-align:left;border-right:none!important;border-left:none!important;border-bottom:1px solid #e3e4e5}#mec-gCalendar-wrap table.fc-scrollgrid tr th a{font-size:15px!important;font-weight:500!important;color:#000;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;text-decoration:none}#mec-gCalendar-wrap .openMonthFilter{position:relative;padding:7px 10px 2px;display:inline-block}#mec-gCalendar-wrap.fc .fc-daygrid-day-number{font-size:16px;padding:12px 10px 2px;color:#000;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;text-decoration:none}#mec-gCalendar-wrap table.fc-scrollgrid-sync-table{margin:0;border-spacing:0;border-collapse:separate}.mec-gCalendar table.fc-scrollgrid-sync-table tbody tr td:last-child{border-right:none}.mec-gCalendar table.fc-scrollgrid-sync-table tbody tr:last-child td{border-bottom:none}#mec-gCalendar-wrap span.mec-general-calendar-label{color:#fff;padding:1px 4px 3px;font-size:11px;border-radius:3px;margin:5px 3px 2px 0;display:inline-block}.mec-gCalendar .fc .fc-scrollgrid-section-sticky>*{position:relative;z-index:1}.mec-gCalendar .fc-direction-ltr .fc-daygrid-event.fc-event-end,.mec-gCalendar .fc-direction-ltr .fc-daygrid-event.fc-event-start,.mec-gCalendar .fc-direction-rtl .fc-daygrid-event.fc-event-end,.mec-gCalendar .fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:0!important;margin-left:0!important}#mec-gCalendar-wrap table.fc-scrollgrid-sync-table tr td{text-align:left;background:#fff!important}#mec-gCalendar-wrap table.fc-scrollgrid-sync-table .fc-daygrid-day-top{display:flex;flex-direction:row;padding-left:10px}#mec-gCalendar-wrap .fc-daygrid-day.fc-day-today{background:#fff!important}#mec-gCalendar-wrap .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{color:#00acf8;font-size:17px;font-weight:500}#mec-gCalendar-wrap .fc-scrollgrid-section-body>td{border:none!important}#mec-gCalendar-wrap table.fc-scrollgrid-sync-table tbody tr:last-child td:first-child{border-radius:0 0 0 7px}#mec-gCalendar-wrap table.fc-scrollgrid-sync-table tbody tr:last-child td:last-child{border-radius:0 0 7px 0}.select2-container{z-index:99999999}@media(max-width:1200px){.mec-gCalendar-search-text-wrap{padding-left:10px}.mec-gCalendar .mec-gCalendar-search-text-wrap input[type=text],.mec-gCalendar .mec-gCalendar-search-text-wrap input[type=text]:focus{width:100px}}@media(max-width:990px){.mec-gCalendar .mec-gCalendar-search-text-wrap input[type=text],.mec-gCalendar .mec-gCalendar-search-text-wrap input[type=text]:focus{width:auto}.mec-gCalendar #mec-gCalendar-wrap .fc-header-toolbar.fc-toolbar{display:block}.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk:last-child{margin:0}}@media (max-width:990px){.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk:first-child>div{width:100%;justify-content:right!important;position:relative}.mec-gCalendar #mec-gCalendar-wrap h2.fc-toolbar-title{position:absolute;left:0}}@media(max-width:480px){.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary,.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary:active{padding:6px 6px 9px}.mec-gCalendar button.fc-button span.fc-icon{font-size:12px;width:20px;height:27px}.mec-gCalendar #mec-gCalendar-wrap h2.fc-toolbar-title{font-size:17px;margin-right:11px}.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk,.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk>div:not(#MonthPicker_mec-gCalendar-month-filter){flex-wrap:wrap}.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk:last-child>div:not(#MonthPicker_mec-gCalendar-month-filter){width:100%;display:block}.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk:last-child>div.fc-button-group{text-align:right}.mec-gCalendar-filters-wrap .mec-text-address-search input,.mec-gCalendar-filters-wrap .mec-text-address-search input:focus{width:100%}.mec-gCalendar-filters-wrap>div{width:100%}.mec-gCalendar-filters-wrap .nice-select{width:100%}.mec-gCalendar-filters{width:328px;right:calc(50% - 165px);top:52px}.mec-gCalendar-filters:after,.mec-gCalendar-filters:before{margin-left:30px}.mec-gCalendar-filters-wrap .mec-minmax-event-cost input,.mec-gCalendar-filters-wrap .mec-minmax-event-cost input:focus{width:116px}.mec-gCalendar .datepicker:after{left:unset;right:55px}.mec-gCalendar .datepicker:before{left:unset;right:54px}.mec-gCalendar .datepicker.dropdown-menu{top:40px!important;right:-45px}.mec-gCalendar #mec-gCalendar-wrap .fc-header-toolbar.fc-toolbar{padding:18px 10px}.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary,.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary:active{height:35.5px}.mec-gCalendar-search-text-wrap{border-left:0;border-bottom:1px solid #eee;padding:0;margin-bottom:10px}.mec-gCalendar-filters:after,.mec-gCalendar-filters:before{margin:0}}@media(max-width:360px){.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk:last-child>div.fc-button-group{text-align:left}.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk:last-child>div:not(#MonthPicker_mec-gCalendar-month-filter){margin-bottom:8px}.mec-gCalendar #mec-gCalendar-wrap h2.fc-toolbar-title{position:relative;width:100%;margin-bottom:12px}.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk:first-child>div{justify-content:left!important}.mec-gCalendar #mec-gCalendar-wrap h2.fc-toolbar-title{font-size:22px}.mec-gCalendar button.fc-button span.fc-icon{font-size:20px;width:30px;height:34px}.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary,.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary:active{padding:9px 8px 12px}.mec-gCalendar-filters:after,.mec-gCalendar-filters:before{margin-left:-100px}.mec-gCalendar-filters{top:60px}.mec-gCalendar .datepicker.dropdown-menu{width:215px}.mec-gCalendar .datepicker.dropdown-menu{top:37px!important;right:27px}.mec-gCalendar #mec-gCalendar-wrap h2.fc-toolbar-title{font-size:12px;display:inline-block;width:46%;margin-right:0}#mec-gCalendar-wrap .openMonthFilter{padding-right:0}.mec-gCalendar button.fc-button span.fc-icon{width:20px;height:25px}.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary,.mec-gCalendar button.fc-today-button.fc-button.fc-button-primary:active{line-height:1}.mec-gCalendar .datepicker.dropdown-menu{right:-80px}.mec-gCalendar .datepicker:after{right:calc(50% - 3px)}.mec-gCalendar .datepicker:before{right:calc(50% - 4px)}.mec-gCalendar .fc-header-toolbar .fc-toolbar-chunk:last-child>div.fc-button-group{text-align:right}.mec-gCalendar-filters{width:300px;right:calc(50% - 150px)}.mec-gCalendar-filters-wrap{padding:15px}.fc-h-event .fc-event-main{font-size:9px;line-height:11px}}@media(max-width:768px){.mec-cart{overflow-x:scroll}}.mec-cart-coupon input[type=text]{background:#fcfcfc;min-height:42px;min-width:180px;font-size:13px;border:1px solid #e0e0e0;padding:13px 10px;width:330px;margin-bottom:20px;margin-right:10px;box-shadow:inset 0 2px 4px rgba(0,0,0,.051)}.mec-cart-coupon button:hover{background:#000!important}.mec-cart ul{padding:0;list-style:none}.mec-cart ul h5,.mec-cart ul h6{margin:0;font-size:14px;color:#000;font-weight:inherit}.mec-cart ul h6{padding-left:0}.mec-cart ul h6:before{content:'— '}.mec-cart ul h5{font-weight:400;margin:0 0 3px 0}.mec-cart ul h6:last-child{margin-bottom:12px}.mec-cart table td:nth-child(4) ul li{margin-bottom:5px}.mec-cart table td:nth-child(4) ul li:last-child{margin-bottom:12px}.mec-cart table a{font-size:15px;font-weight:400;line-height:20px;color:#474849;fill:#474849}.mec-cart table a:hover{color:#000}.mec-cart table #mec_cart_total_payable,.mec-cart table .mec-transaction-price{font-size:20px;font-weight:700;line-height:26px;letter-spacing:-.8px;text-align:right;color:#060607;fill:#060607}.mec-cart table .mec-line-through{text-decoration:line-through}.mec-cart table .mec-cart-remove-transactions svg:hover,.mec-cart table .mec-cart-remove-transactions svg:hover path{color:red!important;fill:red!important;cursor:pointer}.mec-cart table tr{text-align:left}.mec-cart table tr th{margin-bottom:27px;margin-top:0;padding:9px 12px 9px;font-size:14px;line-height:1.8;letter-spacing:0;font-weight:600;position:relative;color:#000}.mec-cart table tr td{padding:9px 12px 9px;font-size:14px;color:#000}.mec-cart table tr td a:hover{color:#000;text-decoration:underline}.mec-cart table tr td,.mec-cart table tr th{background-color:#fff!important;border:0!important;vertical-align:middle}.mec-cart table tr{border-top:1px solid rgba(0,0,0,.1)}.mec-cart table tr th:last-child{text-align:right}.mec-cart table tr{border-top:1px solid rgba(0,0,0,.1)}.mec-cart table td:nth-child(1){width:35px;max-width:35px}.mec-cart table td:nth-child(2){width:135px;max-width:135px}.mec-cart table td:nth-child(3),.mec-cart table td:nth-child(4){min-width:200px;width:200px}.mec-cart table td:nth-child(5){font-size:12px}.mec-cart table td:nth-child(6){text-align:right;vertical-align:middle}.mec-cart .mec-cart-coupon-code{font-size:12px;color:#8d9599}.mec-cart .mec-cart-checkout-link.button:hover{background:#000!important}.mec-cart table thead tr th{border-bottom:1px solid #a3a3a3!important}.mec-cart table thead tr,.mec-cart table thead tr th{border-top:none!important}@media only screen and (max-width:992px){.mec-cart table{min-width:780px;overflow-x:scroll}}.mec-cart table tfoot tr th:last-child{display:none}.mec-checkout .mec-checkout-list{list-style:none;padding:0;margin:40px 0;display:grid;grid-template-columns:auto auto;column-gap:25px;row-gap:25px;padding-bottom:40px;border-bottom:1px solid #e6e6e6}.mec-checkout .mec-checkout-list .mec-list-items{padding:20px 30px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 2px 0 0 rgb(0 0 0 / 2%)}.mec-checkout .mec-checkout-list .mec-list-items h3{margin-top:20px;margin-bottom:12px;font-size:22px;line-height:27px;letter-spacing:-.4px;font-weight:700;position:relative}.mec-checkout .mec-checkout-list .mec-list-items h5{font-size:18px;font-weight:500;padding-bottom:5px;display:inline;color:#000;margin:0 0 8px 0}.mec-checkout .mec-checkout-list .mec-list-items h6{margin:0;font-size:16px;line-height:23px;color:#8d9599;font-weight:inherit}.mec-checkout .mec-checkout-list .mec-list-items h6{padding-left:0}.mec-checkout .mec-checkout-list .mec-list-items h6:before{content:'— '}.mec-checkout .mec-checkout-list .mec-list-items ul{list-style:none;padding:15px 0 0 0}.mec-checkout .mec-checkout-list .mec-list-items .mec-checkout-price-details{color:#000;border:none;border-radius:2px;background:#f7f7f7;padding:15px;margin:15px 0 0 0;max-width:100%}.mec-checkout .mec-checkout-list .mec-list-items .mec-checkout-price-details li{display:flex;flex-wrap:nowrap;justify-content:space-between}.mec-checkout #mec_cart_total_payable{margin:0 0 40px 0;font-size:29px;line-height:27px;letter-spacing:-.4px;font-weight:700;position:relative;color:#39c36e}.mec-checkout .mec-gateway-comment{margin-top:20px;margin:0 0 20px 0;color:#616161;font-size:14px;line-height:1.8}.mec-checkout .mec-email-stripe input[type=email],.mec-checkout .mec-name-stripe input[type=text]{box-sizing:border-box;height:40px;padding:10px 12px;border:0!important;border-radius:4px;background-color:#fff;box-shadow:0 1px 3px 0 #e6ebf1!important;-webkit-transition:box-shadow 150ms ease;transition:box-shadow 150ms ease;margin-bottom:20px;background:#fff!important;max-width:330px}.mec-checkout label{color:#424242;font-weight:700;font-size:13px;letter-spacing:0;margin:0 0 4px 0;display:block;clear:none;padding:7px 1em 3px 0}.mec-checkout input[type=radio]:before{content:"";display:inline-block;background:#fff;border-radius:24px;width:13px;height:13px;cursor:pointer;margin:1px 0 0 0;border:1px solid #d7d8d9}.mec-checkout input[type=radio]:checked:before{border:0;background:#000}.mec-checkout input[type=radio]{margin:0 4px 0 0;font-size:0}.mec-checkout input[type=checkbox]{float:left}.mec-checkout-gateways-wrapper{max-width:54%;margin-bottom:20px}@media(max-width:768px){.mec-checkout-gateways-wrapper{max-width:100%;margin-bottom:20px}}.mec-checkout .mec-book-form-next-button{float:right;right:30%;width:155px;text-align:center}.mec-checkout .mec-checkout-actions .mec-checkout-cart-link.button{background-color:#c4cace!important;width:155px;text-align:center}.mec-checkout .mec-book-form-next-button:hover,.mec-checkout .mec-checkout-actions .mec-checkout-cart-link.button:hover{background:#000!important}@media(max-width:768px){.mec-checkout .mec-checkout-list{display:block;padding-bottom:20px}.mec-checkout .mec-checkout-list .mec-list-items{margin-bottom:20px;padding:15px}.mec-checkout-gateways-wrapper{max-width:100%;margin-bottom:20px}.mec-checkout .mec-book-form-next-button{right:0}}.mec-checkout-footer{background:#f5f6f7;padding:30px 40px 15px;border-radius:5px}.mec-checkout #mec_cart_total_payable{margin:0 0 15px;font-size:26px;line-height:1;letter-spacing:-.4px;font-weight:700;position:relative;color:#000}
|
1 |
+
.mec-wrap{position:relative}.entry-content .mec-wrap h1,.entry-content .mec-wrap h2,.entry-content .mec-wrap h3,.entry-content .mec-wrap h4,.entry-content .mec-wrap h5,.entry-content .mec-wrap h6,.mec-wrap h1,.mec-wrap h2,.mec-wrap h3,.mec-wrap h4,.mec-wrap h5,.mec-wrap h6{color:#171c24;font-weight:300;font-style:inherit;letter-spacing:normal;clear:none}.mec-wrap h1{font-size:50px;line-height:1.16;margin-bottom:12px;letter-spacing:-1px}.mec-wrap h2{font-size:36px;line-height:1.14;margin-bottom:10px}.mec-wrap h3{font-size:28px;line-height:1.2;margin-bottom:8px}.mec-wrap h4{font-size:24px;line-height:1.2;margin-bottom:10px}.mec-wrap h5{font-size:18px;line-height:1.3;margin-bottom:7px}.mec-wrap h6{font-size:16px;line-height:1.3;margin-bottom:4px}.mec-wrap .subheader{color:#849098}.mec-wrap h1 strong{font-weight:700}.mec-wrap p{margin:0 0 20px 0;color:#616161;font-size:14px;line-height:1.8}.mec-wrap .mec-event-article .mec-color-hover{box-shadow:none;border:none}.mec-wrap abbr,.mec-wrap acronym{cursor:auto;border:none}.entry-content .mec-wrap a{box-shadow:none}.mec-wrap .button,.mec-wrap a.button:not(.owl-dot),.mec-wrap button:not(.owl-dot):not(.gm-control-active),.mec-wrap input[type=button],.mec-wrap input[type=reset],.mec-wrap input[type=submit]{position:relative;border:none;border-radius:2px;color:#fff;display:inline-block;font-size:12px;letter-spacing:1px;line-height:1.5;text-transform:uppercase;font-weight:600;text-decoration:none;cursor:pointer;margin-bottom:21px;margin-right:10px;line-height:1;padding:18px 20px 16px;background:#24ca4f;-webkit-transition:all .21s ease;-moz-transition:all .21s ease;transition:all .21s ease}.mec-wrap .button:hover,.mec-wrap a.button:hover,.mec-wrap button:hover,.mec-wrap input[type=button]:hover,.mec-wrap input[type=reset]:hover,.mec-wrap input[type=submit]:hover{background:#222;color:#fff}.mec-wrap #mec_woo_add_to_cart_btn_r{min-width:155px;margin-top:5px;border-radius:2px;box-shadow:0 2px 1px rgba(0,0,0,.08);float:left;text-align:center}.mec-booking-form-container button{display:block}.vertical-space,.vertical-space1,.vertical-space2,.vertical-space3,.vertical-space4,.vertical-space5{display:block;width:100%;margin:0;clear:both;border:0 none;height:20px}.vertical-space2{height:40px}.vertical-space3{height:60px}.vertical-space4{height:80px}.vertical-space5{height:100px}@media only screen and (max-width:479px){.vertical-space,.vertical-space1{height:8px}.vertical-space2{height:14px}.vertical-space3{height:28px}.vertical-space4{height:40px}.vertical-space5{height:60px}}@media only screen and (max-width:960px){.vertical-space,.vertical-space1{height:12px}.vertical-space2{height:18px}.vertical-space3{height:36px}.vertical-space4{height:50px}.vertical-space5{height:80px}}.mec-wrap abbr{cursor:auto;border-bottom:0}@-webkit-keyframes rotating{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.mec-wrap{font:14px/25px;font-weight:400;color:#626262}.mec-wrap .mec-events a{border-bottom:none}.mec-wrap .mec-container a{box-shadow:none}.mec-event-content p{font-weight:300}.mec-wrap .mec-clear:after,.mec-wrap .mec-clear:before{content:" ";display:table}.mec-wrap .mec-clear:after{clear:both}.mec-events-button{background:#fff;padding:12px 28px;font-size:15px;font-weight:400;letter-spacing:0;border:1px solid #e3e3e3;border-radius:2px;text-shadow:none;margin-right:10px;box-shadow:0 2px 0 0 rgb(0 0 0 / 3%);transition:.3s}.mec-wrap .mec-events-button:hover{color:#fff}.mec-no-event{display:none}#mec-active-current{display:block}.current-hide #mec-active-current{display:none!important}.mec-event-grid-classic .mec-event-article{position:relative;border:2px solid #e3e3e3;box-shadow:0 2px 0 0 rgba(0,0,0,.016);margin-bottom:30px;max-width:none}.mec-event-grid-classic .mec-event-content{background:#fff;color:#767676;padding:0 20px 5px;text-align:center;min-height:125px}.mec-event-grid-classic .mec-event-title{color:#202020;margin:10px 0;font-weight:700;font-size:20px;letter-spacing:1px;text-transform:uppercase}.mec-event-grid-classic .mec-event-title a{color:#202020;transition:all .24s ease}.mec-event-grid-classic .mec-event-date{font-weight:400;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#fff;padding:3px 20px;margin:0 -20px 20px -20px;text-align:center}.widget_mec_mec_widget .mec-event-grid-classic .mec-event-date{margin:0}.mec-event-grid-classic .mec-event-content p{font-size:15px;color:#8a8a8a}.mec-event-grid-classic .mec-event-detail{display:none}.mec-event-grid-classic img{margin-bottom:0;width:100%}.mec-event-footer{position:relative;border-top:1px solid #efefef;padding:20px;min-height:80px;margin:0;background:#fafafa}.mec-event-sharing-wrap{left:15px;position:absolute;list-style:none;margin:0;padding-left:0}.mec-event-sharing-wrap .mec-event-sharing{position:absolute;padding:8px 0 2px;left:-6px;bottom:54px;margin:0;margin-top:6px;border-radius:5px;width:50px;visibility:hidden;opacity:0;border:1px solid #e2e2e2;background:#fff;box-shadow:0 0 9px 0 rgba(0,0,0,.06);z-index:99;-webkit-transition:all .18s ease;transition:all .18s ease}.mec-event-sharing-wrap .mec-event-sharing:after,.mec-event-sharing-wrap .mec-event-sharing:before{content:"";display:block;position:absolute;bottom:-10px;left:50%;margin-left:-10px;width:0;height:0;border-style:solid;border-width:10px}.mec-event-sharing-wrap .mec-event-sharing:before{bottom:-21px;border-color:#e2e2e2 transparent transparent transparent}.mec-event-sharing-wrap .mec-event-sharing:after{bottom:-19px;border-color:#fff transparent transparent transparent}.mec-event-sharing-wrap:hover .mec-event-sharing{opacity:1;visibility:visible}.mec-event-sharing-wrap li{text-align:center;border:0;display:block;margin-right:2px;overflow:hidden;margin:0 auto 6px;width:38px}.mec-event-sharing-wrap li.mec-event-share{height:38px}.mec-event-sharing-wrap:hover>li{cursor:pointer;background-color:#40d9f1}.mec-event-sharing-wrap:hover li a{color:#fff}.mec-event-sharing-wrap>li:first-of-type{border:1px solid #d9d9d9}.mec-event-sharing-wrap li a,.mec-event-sharing-wrap:hover li ul li a{border:none;color:#767676;display:block}.mec-event-sharing-wrap li i{width:36px;height:36px;display:table-cell;vertical-align:middle}.mec-event-sharing-wrap li svg{height:16px}.mec-event-sharing-wrap .mec-event-sharing li a{display:block}.mec-event-sharing-wrap .mec-event-sharing li:hover a{color:#40d9f1}.mec-event-sharing .mec-event-share:hover .event-sharing-icon{background:#40d9f1;border-width:0 1px 0;cursor:pointer}.mec-event-sharing .mec-event-map{border-width:1px 0 1px}.mec-event-footer .mec-booking-button{box-shadow:none;transition:all .21s ease;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;background:#fff;color:#767676;border:1px solid #e8e8e8;position:absolute;top:20px;right:15px;padding:0 16px;line-height:37px;height:38px}.mec-event-footer .mec-booking-button:hover{background:#191919;color:#fff;border-color:#191919}@media only screen and (max-width:960px){.mec-event-grid-classic{margin-bottom:30px}}.mec-widget .mec-event-grid-classic.mec-owl-carousel{padding:36px 0 16px}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav{margin:5px 0;width:100%;position:absolute;top:15px;padding:0}.mec-skin-grid-container.mec-widget{padding-top:18px}.mec-widget .mec-event-grid-classic.mec-owl-carousel{padding:20px 0 16px}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav{margin:0;width:100%;position:absolute;top:0;padding:0}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav div{position:absolute;background:#fff;line-height:0;width:34px;height:26px;padding:6px;text-align:center;margin-top:-17px;border-radius:3px;border:1px solid #e2e2e2;text-align:center;box-shadow:0 2px 0 0 rgba(0,0,0,.028);transition:all .33s ease}.mec-skin-grid-container .mec-categories{padding:0}.mec-skin-grid-container .mec-categories li{list-style:none}.mec-skin-grid-container .mec-categories li a{color:#000;line-height:24px;text-align:left;transition:all .23s ease;-webkit-transition:all .23s ease}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav i{font-size:12px;color:#40d9f1;cursor:pointer}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav .owl-next{right:0}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav .owl-prev{left:0}.mec-widget .mec-event-grid-classic.mec-owl-carousel .mec-event-sharing{display:none}.mec-widget .mec-event-grid-classic.mec-owl-carousel .mec-event-footer{text-align:center}.mec-widget .mec-event-grid-classic.mec-owl-carousel .mec-event-footer .mec-booking-button{position:static;padding:11px 16px}.widget .mec-event-footer ul.mec-event-sharing-wrap li a.mec-event-share-icon{padding:0}@media screen and (min-width:56.875em){.mec-widget .mec-month-container dl{margin-bottom:0}}.mec-widget .mec-event-grid-classic.owl-carousel .mec-event-footer{text-align:right}.mec-widget .mec-event-grid-classic.owl-carousel .mec-event-sharing-wrap{left:5px;padding-left:5px}.mec-widget .mec-event-grid-classic.owl-carousel .mec-event-sharing-wrap .mec-event-sharing{left:0}.mec-widget .mec-event-sharing-wrap .mec-event-sharing{position:absolute;top:auto;bottom:52px;margin:0;margin-top:0;border-radius:5px}.mec-widget .mec-event-sharing-wrap .mec-event-sharing:after{top:auto;bottom:-17px;border-color:#fff transparent transparent transparent}.mec-widget .mec-event-sharing-wrap .mec-event-sharing:before{top:auto;bottom:-18px;border-color:#e2e2e2 transparent transparent transparent}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav button{position:absolute;background:#fff;padding:6px;margin-top:-17px;border-radius:3px;border:1px solid #e2e2e2;box-shadow:0 2px 0 0 rgba(0,0,0,.028)}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav button:hover{background:#40d9f1;border-color:#40d9f1}.mec-widget .mec-event-grid-classic.mec-owl-carousel .owl-nav button:hover i{color:#fff}.mec-widget .mec-event-grid-classic.mec-owl-carousel .mec-booking-button{width:40%;float:right;color:#202020;height:36px;line-height:14px;font-size:12px;width:auto}.mec-widget .mec-event-grid-classic.mec-owl-carousel .mec-booking-button:hover{color:#fff}.mec-widget .mec-event-list-modern .col-md-2.col-sm-2,.mec-widget .mec-event-list-modern .col-md-6.col-sm-6{padding:0;width:100%;display:block;position:unset}.mec-widget .mec-event-list-modern .col-md-4.col-sm-4 .mec-booking-button{width:80%;height:46px;line-height:22px;padding:11px 20px;float:right}.mec-widget .mec-event-list-modern .col-md-4.col-sm-4.mec-btn-wrapper{top:auto;bottom:5%}@media (max-width:480px){.mec-widget .mec-event-list-modern .col-md-4.col-sm-4{padding:0}.mec-widget .mec-event-list-modern .col-md-4.col-sm-4 .mec-booking-button{width:100%}}.mec-widget .mec-event-list-modern .mec-month-divider{margin:30px 0 10px 0}.mec-widget .mec-event-list-minimal .mec-event-date span{font-size:12px}.mec-widget .mec-event-list-minimal .mec-event-date:after{height:29px}.mec-widget .mec-event-list-minimal .col-md-3,.mec-widget .mec-event-list-minimal .col-md-9{display:block;width:100%;text-align:left}.mec-widget .mec-event-list-modern .col-md-4.col-sm-4.mec-btn-wrapper{position:relative}.mec-widget .mec-event-list-modern .col-md-4.col-sm-4 .mec-booking-button{width:100%;text-align:center}.mec-widget .mec-event-list-minimal .mec-event-date:first-child{margin-right:24px}.mec-event-grid-clean{margin-bottom:10px;max-width:none}.mec-event-grid-clean .mec-event-article{margin-bottom:30px;position:relative;border:1px solid #e2e2e2;text-align:center;padding:15px 15px 0;background:#fff;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-grid-clean .mec-event-content{background:#fff;color:#767676;padding:25px 16px 0;text-align:left}.mec-event-grid-clean .mec-event-title{color:#202020;margin:0 0 10px 0;font-weight:700;font-size:21px;text-transform:capitalize}.mec-event-grid-clean .mec-event-title a{color:#202020;transition:all .24s ease}.mec-event-grid-clean .mec-event-date{font-weight:400;font-size:11px;text-transform:uppercase;letter-spacing:1px;background-color:#40d9f1;color:#fff;padding:3px 0;margin:0;text-align:center}.mec-event-grid-clean .mec-event-content p{font-size:15px;color:#9a9a9a;line-height:1.54}.mec-event-grid-clean img{margin-bottom:0;width:100%}.mec-event-grid-clean .event-grid-t2-head{margin-bottom:10px;color:#fff;padding:9px 14px 6px;text-align:left}.mec-event-grid-clean .event-grid-t2-head .mec-event-date{font-size:50px;line-height:50px;float:left;margin-right:11px}.mec-event-grid-clean .event-grid-t2-head .mec-event-month{text-transform:uppercase;font-size:17px;line-height:20px;padding-top:4px}.mec-event-grid-clean .event-grid-t2-head .mec-event-detail{font-size:12px}.mec-event-grid-clean .event-grid-t2-head .mec-categories li a{margin-bottom:10px;color:#fff}.mec-event-grid-clean .event-grid-t2-head .mec-categories li a:hover{color:#000}.mec-event-grid-clean .mec-event-sharing-wrap{left:0;padding-left:0}.mec-event-grid-clean .mec-event-footer{position:relative;border-top:2px solid;padding:20px 0;margin:0 14px;text-align:left;background:0 0}.mec-event-grid-clean .mec-event-footer .mec-booking-button{right:0}.mec-event-grid-clean .row{margin-bottom:30px}.mec-event-grid-modern{margin-bottom:10px;max-width:none}.mec-event-grid-modern .mec-event-article{position:relative;border:1px solid #e2e2e2;text-align:center;margin-bottom:30px;padding:45px 15px 10px;background:#fff;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-grid-modern .mec-event-content{background:#fff;color:#767676;padding:35px 15px 10px;text-align:left}.mec-event-grid-modern .mec-event-title{color:#202020;margin:0 0 10px 0;font-weight:700;font-size:24px;text-transform:none;letter-spacing:-1px}.mec-event-grid-modern .mec-event-title a{color:#202020;transition:all .24s ease}.mec-event-grid-modern .mec-event-content p{font-size:15px;color:#9a9a9a;line-height:1.54}.mec-event-grid-modern img{margin-bottom:0;width:100%}.mec-event-grid-modern .event-grid-modern-head{margin-bottom:10px;padding:9px 14px 6px;text-align:left}.mec-event-grid-modern .event-grid-modern-head .mec-event-date{font-size:50px;line-height:50px;float:left;margin-right:11px}.mec-event-grid-modern .event-grid-modern-head .mec-event-month{text-transform:uppercase;font-size:17px;line-height:20px;padding-top:4px}.mec-event-grid-modern .event-grid-modern-head .mec-event-detail{font-size:12px}.mec-event-grid-modern .event-grid-modern-head .mec-event-day{margin-top:9px;color:silver;font-size:35px;font-weight:100;text-transform:uppercase;letter-spacing:-1px}.mec-event-grid-modern .mec-event-footer{position:relative;height:90px;padding:20px 0;border:none;margin:0 14px;text-align:left;background:0 0}.mec-event-grid-modern .mec-event-footer .mec-booking-button{right:auto;left:0}.mec-event-grid-modern .mec-event-sharing-wrap{left:auto;right:0;padding-left:0}.mec-event-grid-modern .mec-event-sharing{left:auto;right:-6px}.mec-event-grid-modern .mec-event-sharing-wrap li{border-radius:55px}.mec-event-grid-modern .row{margin-bottom:0}@media only screen and (max-width:479px){.mec-event-grid-modern .mec-event-article{padding-bottom:30px}.mec-event-grid-modern .mec-event-sharing{top:60px;left:0;right:auto}.mec-event-grid-modern .mec-event-footer .mec-booking-button{top:0}}span.mec-event-title-soldout{font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:#e63360;color:#fff;padding:3px 8px;line-height:1;border-radius:15px;white-space:nowrap;vertical-align:middle}.mec-repeating-label{background:#222;color:#fff;padding:3px 8px;font-size:8px;font-weight:700;letter-spacing:.5px;border-radius:40px;display:inline-block}.mec-event-grid-colorful .mec-event-article{min-height:400px;border:none;box-shadow:none;background:#40d9f1;padding-top:25px;margin:0;color:#fff}.mec-event-grid-colorful .mec-event-content{background:0 0}.mec-event-grid-colorful .event-grid-modern-head,.mec-event-grid-colorful .event-grid-modern-head .mec-event-date,.mec-event-grid-colorful .event-grid-modern-head .mec-event-day,.mec-event-grid-colorful .mec-event-content p,.mec-event-grid-colorful .mec-event-sharing-wrap>li>a,.mec-event-grid-colorful .mec-event-title a{color:#fff}.mec-event-grid-colorful .mec-event-footer .mec-booking-button{border:none}.mec-event-grid-colorful .mec-event-sharing-wrap>li{border-color:#fff}.mec-event-grid-colorful .mec-event-sharing-wrap:hover>li{background:#333;border-color:#333}.mec-event-grid-colorful .mec-event-title a.mec-color-hover:hover{color:#fff;text-decoration:underline}.mec-event-grid-colorful .mec-event-title .event-color{display:none}.mec-event-grid-colorful div[class^=col-md-]{padding:0 1px 1px 0;margin:0}.mec-event-grid-colorful .mec-event-article .mec-time-details{color:#fff}@media only screen and (min-width:768px){.mec-wrap.mec-sm959.mec-event-grid-colorful .event-grid-modern-head .mec-event-day{font-size:26px}.mec-wrap.mec-sm959.mec-event-grid-colorful .event-grid-modern-head .mec-event-month{font-size:15px}.mec-wrap.mec-sm959.mec-event-grid-colorful .event-grid-modern-head .mec-event-date{font-size:50px}.mec-wrap.mec-sm959.mec-event-grid-colorful .mec-event-title{font-size:21px}.mec-wrap.mec-sm959.mec-event-grid-colorful .mec-event-content p{font-size:13px}}@media only screen and (min-width:768px) and (max-width:1200px){.mec-wrap.mec-sm959.mec-event-grid-colorful div[class^=col-md-]{width:50%}}.mec-event-list-minimal .mec-event-article{border-bottom:1px solid #efefef;padding:24px 0 16px}.mec-event-list-minimal .mec-wrap .col-md-9{padding:0}.mec-event-list-minimal .mec-event-date{position:relative;float:left;margin-right:30px;color:#fff;width:52px;padding:6px 4px 3px;text-align:center;text-transform:uppercase;border-radius:3px}.mec-event-list-minimal .mec-event-date{min-width:52px;width:fit-content}.mec-event-list-minimal .mec-event-date:nth-child(2){margin:0 30px 0 -20px}.mec-event-list-minimal .mec-event-date span{display:block;font-size:24px;font-weight:700;text-align:center;margin-bottom:4px}.mec-event-list-minimal .mec-event-date:after{display:block;content:"";position:absolute;width:50px;left:1px;top:1px;height:34px;background:rgba(255,255,255,.1);box-shadow:0 4px 4px rgba(0,0,0,.02)}.mec-event-list-minimal .mec-event-date:after{width:100%}.mec-event-list-minimal .mec-event-title{margin-top:0;margin-bottom:10px;font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:0;padding-top:10px}.mec-event-list-minimal .mec-event-detail,.mec-event-list-minimal .mec-time-details{font-size:15px;font-weight:300;line-height:1;letter-spacing:0;color:#9a9a9a}.mec-event-list-minimal .btn-wrapper{text-align:right;padding-right:0;padding-top:6px}.mec-event-list-minimal .btn-wrapper .mec-detail-button{border-bottom:0;margin-bottom:14px;margin-right:0;box-shadow:none}.mec-event-list-minimal a.mec-detail-button{text-align:center;display:inline-block;background:#ededed;color:#191919;padding:12px;border-radius:2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;transition:all .24s ease}.mec-event-list-minimal a.mec-detail-button:hover{background:#292929;color:#fff}.vc_col-sm-4 .mec-event-list-minimal .mec-event-date,.vc_col-sm-6 .mec-event-list-minimal .mec-event-date{margin-right:12px}.vc_col-sm-4 .mec-event-list-minimal .mec-event-title,.vc_col-sm-6 .mec-event-list-minimal .mec-event-title{font-size:15px;letter-spacing:2px}@media only screen and (min-width:480px) and (max-width:767px){.mec-event-list-minimal .btn-wrapper{padding-left:0}.mec-event-list-minimal .mec-event-date{margin-right:10px}}@media only screen and (max-width:767px){.mec-event-list-minimal .btn-wrapper .mec-detail-button{display:block;text-align:center;margin:0;margin-top:16px;padding:8px}.mec-event-list-minimal .btn-wrapper{margin:12px 0}}@media only screen and (max-width:479px){.mec-event-list-minimal .mec-event-date{float:none;width:100%;margin-bottom:8px}.mec-event-list-minimal .mec-event-date span{display:inline;padding-right:25px;margin-right:7px;font-size:inherit}.mec-event-list-minimal .mec-event-date:after{width:45%;box-shadow:4px 0 4px rgba(0,0,0,.02)}.mec-event-list-minimal .btn-wrapper{text-align:center;padding-left:0}.mec-event-list-minimal{text-align:center}.mec-event-list-minimal .mec-event-detail{margin-bottom:10px}}.mec-wrap .mec-event-list-modern .mec-event-title{margin-top:0;margin-bottom:10px}.mec-event-list-modern .mec-event-article{border-bottom:1px solid #efefef;padding:30px 0 10px}.mec-event-list-modern .mec-event-article:last-child{border-bottom:none}.mec-event-list-modern .mec-event-title a{color:#191919;transition:all .24s ease;box-shadow:none}.mec-event-list-modern .mec-event-date{text-transform:uppercase;padding:10px 0}.mec-event-list-modern .mec-event-date .event-d{font-size:48px;display:table-cell;padding:10px 0 0}.mec-event-list-modern .mec-event-date .event-d.mec-multiple-dates{font-size:20px;padding:0}.mec-event-list-modern .mec-event-date.mec-multiple-date-event:first-child{padding:10px 0 6px 0;position:relative;width:fit-content}.mec-event-list-modern .mec-event-date.mec-multiple-date-event:first-child:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:silver}.mec-event-list-modern .mec-event-date.mec-multiple-date-event:last-child{padding:5px 0 10px 0}.mec-event-list-modern .mec-event-date.mec-multiple-date-event .event-d{font-size:20px;padding:0}.mec-event-list-modern .mec-event-date.mec-multiple-date-event .event-da{font-size:20px;margin:0}.mec-event-list-modern .mec-event-date .event-f{font-size:13px;display:table-cell;vertical-align:middle;padding-left:7px;font-weight:500;letter-spacing:3px;color:#777}.mec-event-list-modern .mec-event-detail{font-weight:300;color:#8a8a8a}.mec-event-list-modern .mec-event-detail .mec-time-details{display:inline}.mec-event-list-modern .mec-event-date .event-da{margin-top:9px;color:silver;font-size:28px;font-weight:100;text-transform:uppercase;letter-spacing:-1px;text-align:left}.mec-event-list-modern .mec-btn-wrapper .mec-booking-button{border-radius:1px;letter-spacing:2px;border:1px solid #e6e6e6;color:#333;background-color:#fff;padding:13px 20px;font-weight:700;font-size:11px;box-shadow:0 2px 0 0 rgba(0,0,0,.016);transition:all .28s ease}.mec-event-list-modern .mec-btn-wrapper .mec-booking-button:hover{border-color:#222;background:#222;color:#fff}.mec-event-list-modern .mec-event-title{font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:1px}.mec-event-list-modern .mec-event-detail{color:#9a9a9a;font-size:15px;font-weight:300;line-height:25px}.mec-event-list-modern .mec-btn-wrapper{text-align:right;padding:10px 0;text-transform:uppercase}.mec-event-list-modern .mec-event-sharing{position:relative;margin:10px 0;padding-left:0}.mec-event-list-modern .mec-event-sharing>li{display:inline-block;border:none;border-radius:50%;margin-right:3px}.mec-event-list-modern .mec-event-sharing .telegram{min-width:36px;min-height:36px;line-height:36px;padding:9px 1px 10px;border-radius:60px}.mec-event-list-modern .mec-event-sharing>li .telegram{padding-top:8px;padding-bottom:9px;border-radius:50%;border:1px solid #ddd}.mec-event-list-modern .mec-event-sharing .telegram .svg-inline--fa.fa-telegram.fa-w-16{width:3.246rem;padding:2px 10px 0 10px;margin-bottom:-2px}.mec-event-list-modern .mec-event-sharing .telegram .svg-inline--fa.fa-telegram.fa-w-16 path{fill:#767676}.mec-event-list-modern .mec-event-sharing li:hover .telegram{background-color:#40d9f1}.mec-event-list-modern .mec-event-sharing li:hover .telegram .svg-inline--fa.fa-telegram.fa-w-16 path{fill:#fff}.mec-event-list-modern .mec-event-sharing>li:hover{display:inline-block}.mec-event-list-modern .mec-event-sharing>li:hover a i{color:#fff;background:#40d9f1;border-color:#40d9f1}.mec-event-list-modern .mec-event-sharing>li i{width:36px;display:inline-block;line-height:35px;color:#767676;text-align:center;border-radius:50%;border:1px solid #ddd;font-size:14px}.mec-event-list-modern .mec-event-sharing .mec-event-share:hover .mec-event-sharing-icon{background:#40d9f1;border-color:#40d9f1;cursor:pointer;border-radius:50%}.mec-event-list-modern .mec-event-sharing li:hover a i{background:#40d9f1}@media only screen and (min-width:768px){.mec-event-list-modern .mec-event-article{position:relative;min-height:160px;overflow:hidden}.mec-event-list-modern .col-md-2.col-sm-2{width:210px;position:absolute;left:0;top:20px;padding:0}.mec-event-list-modern .col-md-4.col-sm-4.mec-btn-wrapper{width:180px;padding:0;position:absolute;right:0;top:30%}.mec-event-list-modern .col-md-6.col-sm-6{width:100%;padding-left:225px;padding-right:195px}}@media only screen and (max-width:767px){.mec-event-list-modern .mec-btn-wrapper .mec-booking-button{letter-spacing:1px;border:1px solid #e1e1e1;padding:8px 16px}.mec-event-list-modern .mec-btn-wrapper{padding:0 0 12px}.mec-event-list-modern .mec-event-sharing{margin-bottom:0}}.mec-event-grid-minimal .mec-event-article{margin:15px 0;min-height:80px;display:table}.mec-event-grid-minimal .event-detail-wrap{display:table-cell;vertical-align:middle}.mec-event-grid-minimal .mec-event-date{width:70px;float:left;margin-right:20px;padding:12px 16px 10px;text-align:center;text-transform:uppercase;border-radius:4px;border:1px solid #e6e6e6;transition:all .37s ease-in-out;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-grid-minimal .mec-event-date span{display:block;font-size:24px;font-weight:700;text-align:center;margin-bottom:4px;color:#2a2a2a;transition:color .3s ease}.mec-event-grid-minimal .mec-event-title{margin-top:0;margin-bottom:10px;font-weight:700;line-height:21px;font-size:16px;text-transform:uppercase;transition:color .3s ease}.mec-event-grid-minimal .mec-event-title a{color:#191919;transition:color .3s ease}.mec-event-grid-minimal .mec-event-detail,.mec-event-grid-minimal .mec-time-details{font-size:15px;font-weight:300;line-height:1;letter-spacing:0;color:#9a9a9a;margin-bottom:5px}.mec-event-grid-minimal .mec-event-date:hover{color:#fff}.mec-event-grid-minimal .mec-event-date:hover span{color:#fff}.mec-wrap .mec-event-grid-minimal .mec-event-date:hover{color:#fff}.mec-event-list-classic .mec-event-article{padding:12px 0;margin-bottom:20px}.mec-event-list-classic .mec-event-image{float:left;width:86px;margin-right:20px}.mec-event-list-classic .mec-event-date,.mec-event-list-classic .mec-event-time{font-weight:400;font-size:13px;letter-spacing:0;line-height:18px;text-align:left;display:initial;margin-right:12px}.mec-event-list-classic .mec-event-time .mec-time-details,.mec-event-list-classic .mec-event-time i{display:inline;margin-right:3px}.mec-event-list-classic .mec-event-date span{font-weight:500;margin-bottom:6px}.mec-event-list-classic .mec-event-title{font-size:15px;margin:10px 0 12px;font-weight:700;text-transform:uppercase}.mec-event-list-classic .mec-event-title a{color:#494949;transition:color .3s ease}.mec-event-list-classic .mec-event-detail{color:#777;font-weight:400;line-height:12px;font-size:12px;overflow:hidden}.mec-event-list-classic a.magicmore{padding:10px 16px;color:#fff;background:#222;letter-spacing:2px;font-size:11px}.mec-event-list-classic a.magicmore:after{content:"";display:none}.mec-event-list-classic a.magicmore:hover{color:#40d9f1}.mec-event-grid-simple .mec-event-article{position:relative;margin-bottom:30px}.mec-event-grid-simple .mec-event-article:after{border-right:1px solid #e6e6e6;height:60px;position:absolute;top:50%;margin-top:-30px;right:-1px}.mec-event-grid-simple .row div:last-child .mec-event-article:after{border:none}.mec-event-grid-simple .row{margin:15px 0 30px;text-align:center}.mec-event-grid-simple .mec-event-date{padding:0;margin:0;text-transform:capitalize;font-size:12px;font-weight:700}.mec-event-grid-simple .mec-event-title{margin-top:0;margin-bottom:10px;font-weight:700;line-height:21px;font-size:15px;padding-top:5px;padding-left:5px;padding-right:5px;text-transform:uppercase;transition:color .37s ease}.mec-event-grid-simple .mec-event-title a{color:#494949;transition:color .3s ease}.mec-event-grid-simple .mec-event-detail{font-weight:400;line-height:1;letter-spacing:0;font-size:13px;color:#777}.mec-event-grid-simple:hover .mec-event-title{color:#40d9f1}.mec-event-grid-simple:hover .mec-event-date{background:0 0}.event-last:after{display:none}@media only screen and (max-width:767px){.mec-event-grid-simple .mec-event-article{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #eee}.mec-event-grid-simple .mec-event-article:after{border:none}}.mec-event-grid-novel .mec-event-article{position:relative;margin-bottom:30px;padding:60px 5% 60px 7%;border:1px solid rgba(255,255,255,.12);border-radius:10px;background-color:#0050fd;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;z-index:1}.mec-event-grid-novel .mec-event-article .novel-grad-bg{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:10px;opacity:0;z-index:-1;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.mec-event-grid-novel .mec-event-article:hover{-webkit-box-shadow:0 13px 36px 0 rgba(0,0,0,.23);box-shadow:0 13px 36px 0 rgba(0,0,0,.23);border-color:transparent}.mec-event-grid-novel .mec-event-article:hover .novel-grad-bg{background-image:-webkit-gradient(linear,left top,right top,from(#262e32),to(#0e1015));background-image:-webkit-linear-gradient(left,#262e32 0,#0e1015 100%);background-image:-o-linear-gradient(left,#262e32 0,#0e1015 100%);background-image:linear-gradient(90deg,#262e32 0,#0e1015 100%);opacity:1}.mec-event-grid-novel .mec-event-image{float:left;width:150px;height:150px}.mec-event-grid-novel .mec-event-image img{width:150px;height:150px;border-radius:50%}.mec-event-grid-novel .mec-event-detail-wrap{margin-left:200px}.mec-event-grid-novel .mec-event-content h4{position:relative;margin-bottom:10px;display:inline-block}.mec-event-grid-novel .mec-event-content h4 a{font-size:24px;line-height:35px;color:#fafcff}.mec-event-grid-novel .mec-event-content h4.mec-gCalendar-search-text-wrap input[type=text]before{content:"";position:absolute;top:8px;left:-30px;width:17px;height:17px;background:#5cd0ed;opacity:.4;border-radius:50%;padding-right:5px}.mec-event-grid-novel .mec-event-content h4::after{content:"";position:absolute;top:12px;left:-26px;width:9px;height:9px;background:#5cd0ed;border-radius:50%}.mec-skin-grid-container .mec-event-grid-novel .mec-categories li a{color:#fff}.mec-event-grid-novel .mec-event-address,.mec-event-grid-novel .mec-event-detail,.mec-event-grid-novel .mec-event-month,.mec-event-grid-novel .mec-local-time-details{position:relative;padding-left:35px;font-size:15px;line-height:30px;color:rgba(255,255,255,.4)}.mec-event-grid-novel .mec-event-address::before,.mec-event-grid-novel .mec-event-detail::before,.mec-event-grid-novel .mec-event-month::before,.mec-event-grid-novel .mec-local-time-details:before{position:absolute;top:6px;left:6px;font-size:17px;font-family:simple-line-icons;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1}.mec-event-grid-novel .mec-local-time-details::before{content:"\e007"}.mec-event-grid-novel .mec-event-month::before{content:"\e075"}.mec-event-grid-novel .mec-event-detail::before{content:"\e081"}.mec-event-grid-novel .mec-event-address::before{content:"\e096"}.mec-event-grid-novel .mec-event-footer{clear:both;padding:20px 0;border-top:none;background:0 0}.mec-event-grid-novel .mec-event-footer .mec-booking-button{right:auto;left:0;height:42px;width:148px;padding:0 20px;font-size:14px;font-weight:400;line-height:42px;text-align:center;color:#fff;background:0 0;border-color:rgba(255,255,255,.1);border-radius:50px}.mec-event-grid-novel .mec-event-footer .mec-booking-button:hover{background-color:rgba(255,255,255,.1)}.mec-event-grid-novel .mec-event-sharing-wrap{left:175px;cursor:pointer;padding-left:0}.mec-event-grid-novel .mec-event-sharing-wrap>li{border-color:rgba(255,255,255,.1);border-radius:50%}.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing{top:-5px;left:0;padding:5px 10px 2px 50px;min-width:150px;width:inherit;height:37px;background-color:rgba(255,255,255,.1);-webkit-box-shadow:none;box-shadow:none;border:none;border-radius:50px}.mec-event-grid-novel .mec-event-sharing-wrap:hover>li{background-color:rgba(255,255,255,.1)}.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing::after,.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing::before{display:none}.mec-event-grid-novel .mec-event-sharing .mec-event-social-icon,.mec-event-grid-novel .mec-event-sharing .mec-event-social-icon a,.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing li i{display:inline}.mec-event-grid-novel .mec-event-sharing .mec-event-social-icon a{padding:0 10px}.mec-event-grid-novel .mec-event-sharing-wrap>li a{color:#fff}.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing li a{color:rgba(255,255,255,.4)}.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing li a:hover{color:rgba(255,255,255,1)}@media only screen and (max-width:1200px){.mec-event-grid-novel .row .col-md-6.col-sm-6{width:100%;float:none}.mec-event-grid-novel .mec-event-image{float:none;margin-top:-20px;margin-bottom:20px}.mec-event-grid-novel .mec-event-detail-wrap{margin-left:20px}.mec-event-grid-novel .mec-event-footer{margin-top:30px}}@media only screen and (max-width:767px){.mec-event-grid-novel .mec-event-footer{margin-top:0;padding-top:30px;margin-bottom:24px}.mec-event-grid-novel .mec-event-footer .mec-booking-button{display:block;position:relative}.mec-event-grid-novel .mec-event-sharing-wrap{left:0;bottom:-55px;padding-left:0}.mec-event-grid-novel .mec-event-content h4 a{font-size:20px;line-height:1.3}}.mec-event-grid-novel .mec-event-sharing-wrap{padding-left:0}.mec-event-grid-novel .mec-event-sharing-wrap .mec-event-sharing{width:fit-content;z-index:999999}@media (min-width:1280px){.mec-event-grid-novel .col-md-4.col-sm-4 .mec-event-article img{width:100px;height:100px}.mec-event-grid-novel .col-md-4.col-sm-4 .mec-event-detail-wrap{margin-left:150px}}@media (min-width:760px) and (max-width:1024px){.mec-event-grid-novel .col-md-4.col-sm-4{width:100%}.mec-event-grid-novel .mec-event-image{float:left}.mec-event-grid-novel .col-md-4.col-sm-4 .mec-event-article img{width:100px;height:100px}}.mec-event-cover-modern{position:relative}.mec-event-cover-modern .mec-event-cover-a{background:0 0;position:absolute;color:#fff;bottom:0;left:0;text-decoration:none}.mec-event-cover-modern .mec-event-cover-a .mec-event-overlay{transition:all .5s;opacity:.8;width:100%;height:100%;position:absolute}.mec-event-cover-modern .mec-event-cover-a:hover .mec-event-overlay{opacity:1}.mec-event-cover-modern .mec-event-detail{padding:40px;position:relative}.mec-event-cover-modern .mec-event-cover-a:hover .mec-event-tag{color:#333;transition:all .5s}.mec-event-cover-modern .mec-event-cover-a .mec-event-title:hover{text-decoration:underline}.mec-event-cover-modern .mec-event-tag{background:#fff;display:inline-block;padding:5px 9px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:24px}.mec-event-cover-modern .mec-event-date{text-transform:uppercase;font-size:17px;font-weight:300}.mec-event-cover-modern .mec-event-title{color:#fff;text-transform:uppercase;font-size:40px;font-weight:700;margin:6px 0}.mec-event-cover-modern .mec-event-place{font-weight:400;font-size:18px}@media only screen and (max-width:767px){.mec-event-cover-modern .mec-event-cover-a{width:100%}}.mec-event-cover-classic{position:relative;overflow:hidden;background:#fff;padding:6px;border:1px solid #e8e8e8}.mec-event-cover-classic .mec-event-overlay{position:absolute;left:6px;right:6px;bottom:6px;top:6px;width:auto;height:auto;background-color:rgba(36,36,36,.4);transition:all .33s ease-in-out}.mec-event-cover-classic:hover .mec-event-overlay{background-color:rgba(36,36,36,.6)}.mec-event-cover-classic .mec-event-content{font-size:15px;color:#fff;position:absolute;bottom:0;padding:50px 35px;transition:all .33s ease-in-out}.mec-event-cover-classic .mec-event-date{font-size:14px;text-transform:uppercase;font-weight:400;line-height:1.6;text-align:left}.mec-event-cover-classic .mec-event-date span{display:block;font-weight:700;font-size:16px}.mec-event-cover-classic .mec-event-title{color:#fff;margin:20px 0 38px;font-size:24px;font-weight:700;text-transform:uppercase;font-style:normal}.mec-event-cover-classic .mec-btn-wrapper{text-align:left}.mec-event-cover-classic .mec-event-icon{font-size:18px;float:left;margin-right:14px;color:#fff;padding:13px}.mec-event-cover-classic .mec-event-button{color:#fff;background-color:#191919;border:2px #191919 solid;padding:12px 20px;letter-spacing:3px;font-size:12px;font-weight:700;font-style:normal;transition:all .22s ease;text-decoration:none}.mec-event-cover-classic .mec-event-button:hover{color:#191919;background-color:#fff;border-color:#fff;border-radius:1px}.mec-event-cover-classic .mec-event-image img{min-width:100%}@media only screen and (max-width:960px){.mec-event-cover-classic .mec-event-content{padding:20px}.mec-event-cover-classic .mec-event-button{font-size:11px;padding:7px 10px;letter-spacing:1px}.mec-event-cover-classic .mec-event-title{font-size:19px;margin:15px 0 25px}.mec-event-cover-classic .mec-event-date{font-size:12px}}@media only screen and (max-width:767px){.mec-event-cover-classic{margin-bottom:30px}}@media only screen and (max-width:479px){.mec-event-cover-classic .mec-event-content{padding:15px;font-size:15px}.mec-event-cover-classic .mec-event-title{font-size:15px;margin:10px 0}.mec-event-cover-classic .mec-event-button{font-size:10px;padding:6px;letter-spacing:1px}.mec-event-cover-classic .mec-event-icon{padding:10px}}.mec-load-more-wrap{text-align:center;display:block;width:100%;padding-top:20px;text-align:center;position:relative}.mec-load-more-button{box-shadow:none;transition:all .21s ease;font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;background:#fff;color:#767676;border:2px solid #e8e8e8;border-radius:50px;padding:0 28px;margin-bottom:20px;cursor:pointer;line-height:40px;height:42px;display:inline-block}.mec-load-more-button:hover{background:#191919;color:#fff;border-color:#191919}.mec-load-more-loading{content:url(../img/ajax-loader.gif);cursor:wait;background:0 0;border-style:none}.mec-load-more-loading:hover{background:0 0}.mec-modal-preloader,.mec-month-navigator-loading{width:100%;height:100%;background:no-repeat rgba(255,255,255,.88) url(../img/ajax-loader.gif) center;border-style:none;position:absolute;left:0;right:0;bottom:0;top:0;z-index:9}.mec-event-calendar-classic .mec-calendar-side .mec-calendar-table{min-height:1024px}.mec-calendar-side .mec-calendar-table{min-height:450px}.mec-skin-weekly-view-events-container.mec-month-navigator-loading{margin-top:0}.mec-calendar.mec-event-calendar-classic .mec-calendar-side{display:block}.mec-skin-daily-view-events-container.mec-month-navigator-loading{margin-top:0}@media only screen and (min-width:961px){.mec-wrap.mec-sm959 .mec-calendar-side .mec-calendar-table{min-height:1px}}@media only screen and (max-width:479px){.mec-calendar-side .mec-calendar-table{min-height:1px}}.mec-event-cover-clean{position:relative;border:1px solid #e6e6e6;padding:8px}.mec-event-cover-clean .mec-event-overlay{height:100%;background-color:rgba(36,36,36,.4);position:absolute;width:100%;left:0;border:8px solid #fff;top:0;transition:all .5s ease-in-out}.mec-event-cover-clean .mec-event-content{color:#fff;position:absolute;bottom:20px;padding:40px 60px;transition:all .5s ease-in-out}.mec-event-cover-clean .mec-event-title{color:#fff;font-weight:700;margin:46px 0 19px;font-size:29px;text-transform:uppercase;text-shadow:0 0 1px rgba(0,0,0,.5)}.mec-event-cover-clean .mec-event-title a{color:#fff;transition:all .5s;text-decoration:none;outline:0;border:none;box-shadow:none}.mec-event-cover-clean .mec-event-title a:hover{text-decoration:underline}.mec-event-cover-clean .mec-event-date{position:absolute;top:-20px;right:60px;color:#fff;width:60px;padding:14px 10px;z-index:1}.mec-event-cover-clean .mec-event-date div{text-align:center;text-transform:uppercase;letter-spacing:1px;line-height:16px}.mec-event-cover-clean .mec-event-date .dday{padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.5);margin-bottom:13px;font-size:24px}.mec-event-cover-clean .mec-event-date .dmonth{letter-spacing:2px}.mec-event-cover-clean .mec-event-place{font-size:18px}.mec-event-cover-clean .mec-event-image img{width:100%}@media only screen and (max-width:768px){.mec-event-cover-clean .mec-event-content{padding:20px;bottom:5px}.mec-event-cover-clean .mec-event-title{font-size:23px}.mec-event-cover-clean .mec-event-date{right:20px;padding:10px;width:50px}}@media only screen and (max-width:479px){.mec-event-cover-clean .mec-event-content{padding:10px}.mec-event-cover-clean .mec-event-title{font-size:19px;padding-right:25px}.mec-event-cover-clean .mec-event-date{right:-20px;top:-10px}.mec-event-cover-clean .mec-event-detail{font-size:12px}}.mec-month-divider{text-align:center;margin:60px 0 40px 0}.widget .mec-month-divider{margin:10px 0}.mec-month-divider span{text-transform:uppercase;font-size:22px;font-weight:700;padding-bottom:5px;color:#313131;border-bottom:4px solid #ebebeb;width:100%;display:block;padding-bottom:10px;position:relative}.mec-month-divider span:before{border-bottom:4px solid #40d9f1;font-size:6px;content:"";text-align:center;position:absolute;bottom:-4px;margin-left:-30px;left:50%;width:60px}.widget .mec-month-divider span{font-size:13px}.mec-event-list-standard .mec-events-pagination{margin-top:60px;border-top:4px solid #ebebeb;min-height:80px;padding-top:20px}.mec-event-list-standard .mec-events-pagination .mec-events-pag-previous{float:left;margin-left:0}.mec-event-list-standard .mec-events-pagination .mec-events-pag-next{float:right;margin-right:0}.mec-event-list-standard .mec-event-article{position:relative;display:block;margin-bottom:25px;border:1px solid #e9e9e9;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-list-standard .mec-topsec{display:table;width:100%}.mec-event-list-standard .col-md-3.mec-event-image-wrap{padding-left:0}.mec-event-list-standard .mec-event-content{padding-top:15px;padding-right:30px}.mec-event-list-standard .mec-event-title{font-size:29px;font-weight:700;letter-spacing:-1px;margin:0 0 10px}.mec-event-list-standard .mec-event-title a{color:#292929;transition:color .3s ease}.mec-event-list-standard .mec-col-table-c{display:table-cell;height:100%;vertical-align:middle;float:none!important}.mec-event-list-standard .mec-col-table-c.mec-event-meta-wrap{padding-top:15px}.mec-event-list-standard .mec-col-table-c.mec-event-image-wrap{vertical-align:top}.mec-topsec .mec-event-image{line-height:1px}.mec-topsec .mec-event-image a{display:block}.mec-event-list-standard .mec-event-meta-wrap{border-left:1px solid #eee}.mec-event-list-standard .mec-time-details{text-transform:uppercase;font-size:11px;font-weight:300;padding-top:0;text-align:left;padding-left:30px}.mec-event-list-standard .mec-event-meta .mec-event-address{font-style:normal;letter-spacing:0;font-size:12px;font-weight:300;margin:0 12px 0 0}.mec-event-list-standard .mec-event-meta span.mec-event-d,.mec-event-list-standard .mec-event-meta span.mec-event-m{font-size:17px;font-weight:700;padding-right:6px;color:#444;text-transform:uppercase}.mec-event-list-standard .mec-date-details,.mec-event-list-standard .mec-local-time-details,.mec-event-list-standard .mec-time-details,.mec-event-list-standard .mec-venue-details{position:relative;padding-left:28px;margin-bottom:10px}.mec-event-list-standard .mec-date-details:before,.mec-event-list-standard .mec-local-time-details:before,.mec-event-list-standard .mec-time-details:before,.mec-event-list-standard .mec-venue-details:before{content:"\f041";font-family:fontawesome;position:absolute;left:6px;font-size:15px}.mec-event-list-standard .mec-date-details:before{content:"\f073"}.mec-event-list-standard .mec-time-details:before{content:"\f017"}.mec-event-list-standard .mec-local-time-details:before{content:"\f0ac"}.mec-event-list-standard .mec-local-time-details .mec-local-title{display:block}.mec-event-list-standard .mec-local-time-details .mec-local-date,.mec-event-list-standard .mec-local-time-details .mec-local-time{font-style:normal;letter-spacing:0;font-size:11px;color:#8a8a8a;font-weight:300;line-height:1.6}.mec-event-list-minimal .mec-event-title a{color:#292929;transition:color .3s ease}.mec-event-meta-wrap .mec-price-details{margin-bottom:10px}.mec-price-details i{margin-right:4px;vertical-align:text-top}.mec-event-meta-wrap .mec-event-meta .mec-price-details i:before{font-size:15px}.mec-event-list-standard .mec-price-details{text-transform:uppercase;font-size:11px;font-weight:300}.mec-event-list-standard .mec-price-details i{margin-left:6px}.mec-month-side .mec-price-details{margin-left:2px}.mec-event-article .mec-price-details i,.mec-month-side .mec-price-details i,.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-content .mec-price-details i{padding-top:4px;vertical-align:unset}.mec-event-list-standard ul.mec-categories{position:relative;padding-left:28px;margin-bottom:10px}.mec-event-list-standard ul.mec-categories li.mec-category a:before{font-size:16px!important;content:"\f105";position:absolute;font-family:fontawesome;left:8px;font-size:15px}@media only screen and (max-width:960px){.mec-event-list-standard .mec-topsec{display:block}.mec-event-list-standard .mec-col-table-c.mec-event-image-wrap{display:block;width:40%}.mec-event-list-standard .mec-col-table-c.mec-event-content-wrap{display:block;min-height:230px}.mec-event-list-standard .mec-event-meta-wrap{display:block;border-left:none;border-top:1px solid #eee;width:100%;float:none;padding-top:20px}}@media only screen and (min-width:480px) and (max-width:960px){.mec-event-list-standard .mec-col-table-c.mec-event-content-wrap,.mec-event-list-standard .mec-col-table-c.mec-event-image-wrap{display:table-cell}}@media only screen and (max-width:479px){.mec-event-list-standard .mec-col-table-c.mec-event-image-wrap,.mec-event-list-standard .mec-col-table-c.mec-event-image-wrap img{float:none;width:100%;padding:0}.mec-event-list-standard .mec-col-table-c.mec-event-content-wrap{padding:10px 10px 10px 30px}}.mec-localtime-details{color:#777;font-weight:400;line-height:12px;font-size:12px}.mec-localtime-details .mec-localdate,.mec-localtime-details .mec-localtime,.mec-localtime-details .mec-localtitle{display:inline-block}.mec-localtime-details .mec-start-date-label{padding-right:5px}.mec-localtime-details .mec-localtime{padding-left:5px}.mec-event-list-minimal .mec-localtime-details{display:inline-flex;font-size:15px;font-weight:300;line-height:1;letter-spacing:0;color:#9a9a9a;padding-left:9px}.mec-event-grid-classic .mec-localtime-details,.mec-event-grid-clean .mec-localtime-details{color:#fff;font-weight:400;font-size:11px;text-transform:uppercase;letter-spacing:-.02em;color:#fff;padding:0 0;line-height:18px;margin-top:-3px}.mec-event-grid-clean .mec-localtime-details,.mec-event-grid-colorful .mec-localtime-details,.tooltipster-box .mec-localtime-details{line-height:22px;padding-top:10px}.mec-event-grid-colorful .mec-localtime-details{color:#fff}.mec-event-grid-classic .mec-localtime-details{text-align:center}.mec-event-grid-minimal .mec-localtime-details{line-height:22px}.mec-wrap .mec-yearly-view-wrap .mec-localtime-wrap i{display:inline-block;margin-left:-1px}.mec-timetable-t2-content .mec-local-time-details{padding-left:19px}.mec-timetable-t2-content .mec-local-time-details{position:relative}.mec-timetable-t2-content .mec-local-time-details:before{content:"\e007";font-family:simple-line-icons;position:absolute;font-size:12px;margin-right:4px;left:0}.mec-masonry .mec-masonry-col6 .mec-localtime-details{margin-top:10px;line-height:21px}.mec-masonry .mec-masonry-col6 .mec-localtime-details i{height:auto}.mec-event-cover-classic .mec-localtime-details{color:#fff;margin-top:12px}.mec-event-cover-classic .mec-localtime-details i{padding-right:8px}.mec-event-cover-clean .mec-localtime-details{color:#fff;margin-bottom:20px}.mec-event-cover-modern .mec-localtime-details{color:#fff;margin:10px 0;font-weight:400;font-size:18px}.mec-event-countdown-style1 .mec-localtime-details,.mec-event-countdown-style2 .mec-localtime-details,.mec-event-countdown-style3 .mec-localtime-details{color:#fff;padding:8px 5px 0;font-size:14px;line-height:25px}.mec-event-countdown-style1 .mec-localtime-details{text-align:center}.mec-event-hover-carousel-type4 .mec-localtime-details{display:block;color:#fff;font-size:11px}.mec-event-footer-carousel-type3 .mec-localtime-details .mec-localdate,.mec-event-footer-carousel-type3 .mec-localtime-details .mec-localtime,.mec-event-footer-carousel-type3 .mec-localtime-details .mec-localtitle,.mec-event-footer-carousel-type3 .mec-localtime-details span{display:inline-flex;line-height:20px;text-align:left;margin:0!important;font-size:12px;color:#777;line-height:28px}.mec-owl-crousel-skin-type1 .mec-localtime-details{margin-top:-7px;margin-bottom:12px}.mec-wrap .mec-slider-t5 .mec-localtime-details{margin-top:14px;line-height:20px}.mec-wrap .mec-slider-t5 .mec-localtime-details i{font-size:18px;height:20px}.mec-timeline-event-local-time{background:rgba(64,217,241,.11);display:inline-block;padding:7px 20px 11px;border-radius:20px;line-height:1.24}.mec-timeline-event-local-time .mec-localtime-details{font-size:13px;font-weight:500;vertical-align:middle;margin-left:6px;color:inherit;line-height:24px}.mec-timeline-event-local-time .mec-localtime-details i{font-size:17px;vertical-align:middle;margin-left:-7px;padding-right:3px}.mec-booking-modal{background-color:#e6f7ff}.mec-booking-modal .mec-booking-shortcode .mec-book-form-gateway-label input[type=radio]:before{top:-1px}.mec-modal-booking-button{box-shadow:none;transition:all .21s ease;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;background:#fff;color:#767676;border:1px solid #e8e8e8;padding:12px 16px;line-height:37px;height:38px;margin:12px 0}.mec-modal-booking-button:hover{background:#191919;color:#fff;border-color:#191919}.mec-modal-booking-button.mec-mb-icon i{font-size:14px}.mec-event-list-classic .mec-modal-booking-button{height:0;line-height:1;margin:7px 0 0;display:inline-table;letter-spacing:0;padding:12px 14px}.mec-event-grid-novel ul.mec-categories{position:relative;line-height:30px;font-size:15px}.mec-event-grid-novel ul.mec-categories li.mec-category a{padding-left:35px;color:rgba(255,255,255,.4);line-height:30px;font-size:15px}.mec-event-grid-novel ul.mec-categories li.mec-category a:before{font-size:16px!important;content:"\f105";position:absolute;font-family:fontawesome;left:8px;font-size:15px;color:rgba(255,255,255,.4)}.mec-calendar-events-side .mec-modal-booking-button,.mec-event-container-classic .mec-modal-booking-button,.mec-event-grid-minimal .mec-modal-booking-button,.mec-event-list-minimal .mec-modal-booking-button,.mec-timetable-t2-col .mec-modal-booking-button{margin:0;color:#282828;font-size:12px;transition:all .5s ease;-webkit-transition:all .5s ease;position:relative;padding:0 0 0 24px;background:0 0;text-align:left;display:inline;border:0;font-weight:700}.mec-timetable-t2-col .mec-modal-booking-button{color:#fff;padding-left:19px}.mec-timetable-t2-col .mec-modal-booking-button:hover{color:#282828}.mec-event-list-minimal .mec-modal-booking-button{margin:0 4px 0 84px}.mec-calendar-events-side .mec-modal-booking-button:before,.mec-event-container-classic .mec-modal-booking-button:before,.mec-event-grid-minimal .mec-modal-booking-button:before,.mec-event-list-minimal .mec-modal-booking-button:before{content:"";position:absolute;background:#7a7272;width:18px;height:1px;left:0;top:45%;transition:all .1s ease;-webkit-transition:all .1s ease}.mec-skin-carousel-container .mec-modal-booking-button{line-height:70px}.mec-event-list-modern .mec-modal-booking-button.mec-mb-icon{border-radius:1px;letter-spacing:2px;border:1px solid #e6e6e6;color:#333;background-color:#fff;padding:13px 12px 13px 14px;font-weight:700;box-shadow:0 2px 0 0 rgba(0,0,0,.016);transition:all .28s ease;line-height:unset}.mec-event-list-modern .mec-modal-booking-button.mec-mb-icon:hover{border-color:#222;background:#222;color:#fff}.mec-event-footer .mec-modal-booking-button,.mec-skin-carousel-container .mec-event-footer-carousel-type2 .mec-modal-booking-button{position:absolute;top:20px;right:125px;margin:0;padding:0 16px;line-height:37px}.mec-skin-carousel-container .mec-event-footer-carousel-type2 .mec-modal-booking-button{top:0;line-height:41px;height:41px;right:121px}.mec-skin-carousel-container .mec-event-footer-carousel-type3 .mec-modal-booking-button{line-height:18px;font-size:12px;letter-spacing:0;float:right;height:41px;margin:0 12px 0 0}.mec-skin-carousel-container .mec-owl-crousel-skin-type4 .mec-modal-booking-button{color:#fff;background-color:#191919;border:2px #191919 solid;padding:10px 14px;letter-spacing:1.5px;font-size:11px;font-weight:700;font-style:normal;transition:all .22s ease;text-decoration:none;margin:0 0 0 12px}.mec-skin-carousel-container .mec-owl-crousel-skin-type4 .mec-modal-booking-button:hover{color:#191919;background-color:#fff;border:2px #fff solid}.mec-event-grid-modern .mec-event-footer .mec-modal-booking-button{right:auto;left:110px}.mec-event-grid-simple .mec-modal-booking-button,.mec-events-agenda .mec-modal-booking-button{margin:0;font-size:12px;transition:all .5s ease;-webkit-transition:all .5s ease;position:relative;padding:0;background:0 0;text-align:left;display:inline;border:0;font-weight:700}.mec-events-agenda .mec-modal-booking-button{display:block;height:unset;padding-left:173px;line-height:14px;margin-bottom:7px}.mec-yearly-view-wrap .mec-modal-booking-button{margin:0;padding-left:14px;text-transform:capitalize}.mec-event-grid-novel .mec-event-footer .mec-modal-booking-button.mec-mb-icon{right:auto;left:238px;width:36px;height:36px;display:table-cell;vertical-align:middle;padding:0 10px;border-color:rgba(255,255,255,.1);background-color:rgba(0,0,0,0);color:#fff;border-radius:36px}.mec-event-grid-novel .mec-event-footer .mec-modal-booking-button.mec-mb-icon:hover{background-color:rgba(255,255,255,.1)}.mec-event-grid-simple .mec-modal-booking-button:hover,.mec-events-agenda .mec-modal-booking-button:hover,.mec-events-yearlu .mec-modal-booking-button:hover{color:#191919}.mec-event-masonry .mec-event-footer .mec-modal-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px;top:0;box-shadow:0 5px 11px -3px rgba(0,0,0,.05);right:auto;left:155px}.mec-timeline-event .mec-modal-booking-button{position:absolute;top:0;right:0;display:inline-block;padding:7px 20px 7px;line-height:22px;height:unset;border:unset;text-transform:capitalize;font-weight:500;font-size:13px;letter-spacing:0;margin:0;border-radius:0 0 0 10px}.mec-timeline-event .mec-modal-booking-button:hover{background:#191919;color:#fff}.mec-skin-daily-view-events-container .mec-modal-booking-button,.mec-weekly-view-dates-events .mec-event-article .mec-modal-booking-button{position:absolute;top:50%;transform:translateY(-50%);right:15px;line-height:26px;height:49px;border:unset;text-align:center;display:inline-block;background:#ededed;color:#191919;padding:12px;border-radius:2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;transition:all .24s ease;margin:0}.mec-skin-daily-view-events-container .mec-modal-booking-button:hover,.mec-weekly-view-dates-events .mec-event-article .mec-modal-booking-button:hover{background:#292929;color:#fff}@media (max-width:1023px){.mec-skin-daily-view-events-container .mec-modal-booking-button,.mec-weekly-view-dates-events .mec-event-article .mec-modal-booking-button{position:relative;top:unset;transform:unset;margin:14px 16px 0;padding:8px;line-height:20px;height:35px}}@media (max-width:768px){.featherlight .featherlight-inner{width:100%}.mec-events-agenda .mec-modal-booking-button{padding:0}}@media (max-width:480px){.mec-booking-modal .mec-events-meta-group-booking-shortcode{padding:20px}.mec-booking-modal .mec-booking-shortcode .mec-book-reg-field-mec_email,.mec-booking-modal .mec-booking-shortcode .mec-book-reg-field-name{width:100%}.mec-booking-modal .mec-booking-shortcode button#mec-book-form-btn-step-2{margin-left:20px}.mec-booking-modal .mec-booking-shortcode .mec-click-pay button[type=submit]{bottom:22px}.mec-calendar-events-side .mec-modal-booking-button:before,.mec-event-container-classic .mec-modal-booking-button:before,.mec-event-grid-minimal .mec-modal-booking-button:before,.mec-event-list-minimal .mec-modal-booking-button:before{display:none}.mec-calendar-events-side .mec-modal-booking-button,.mec-event-container-classic .mec-modal-booking-button,.mec-event-grid-minimal .mec-modal-booking-button,.mec-event-list-minimal .mec-modal-booking-button,.mec-timetable-t2-col .mec-modal-booking-button{margin:0;padding:0}.mec-event-grid-modern .mec-event-footer .mec-booking-button{top:20px}}.mec-wrap .mec-events-cal-links{margin-bottom:0}.mec-single-event #mec-wrap{padding:0;margin-top:35px}.mec-wrap .mec-single-title,.single-mec-events .mec-wrap.mec-no-access-error h1{margin-top:0;margin-bottom:30px;font-weight:700;font-size:33px}.mec-single-event .mec-event-content{padding:40px 0 30px;margin-bottom:10px}.mec-single-event .mec-events-meta-group-booking,.mec-single-event .mec-frontbox{margin-bottom:30px;padding:20px 30px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-wrap #main-content{overflow:hidden;padding-top:35px}.mec-single-event .mec-map-get-direction-address-cnt{position:relative}.mec-single-event .mec-map-get-direction-address-cnt input.mec-map-get-direction-address{width:100%;height:46px;padding:13px 10px;margin-bottom:0;background:#fcfcfc;border:1px solid #e0e0e0;border-radius:0;box-shadow:inset 0 2px 5px rgba(0,0,0,.081)}.mec-single-event .mec-map-get-direction-address-cnt input.mec-map-get-direction-address:focus{color:#444;background:#fff;border-color:#b0b0b0;box-shadow:0 0 3px rgba(0,0,0,.2)}.mec-single-event .mec-map-get-direction-btn-cnt input{width:100%}.mec-single-event .mec-map-get-direction-reset{position:absolute;z-index:2;top:5px;right:10px;font-size:11px;cursor:pointer}.mec-events-meta-group-tags{margin-top:20px}.mec-events-meta-group-tags a{display:inline-block;color:#444;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:500;padding:3px 7px;border:1px solid #ddd;border-radius:2px;background:#fff;margin:1px 3px}.mec-events-meta-group-tags a:hover{text-decoration:underline;background:#f9f9f9}.mec-local-time-details li{list-style:none}.mec-single-event:not(.mec-single-modern) .mec-local-time-details{background:#f7f7f7;padding:12px 14px 8px;margin-bottom:12px;vertical-align:baseline;position:relative;border:none}.mec-single-event:not(.mec-single-modern) .mec-local-time-details ul{margin:0;padding-left:35px}.mec-single-event:not(.mec-single-modern) .mec-local-time-details h3{border:none;padding-left:15px}.mec-single-event:not(.mec-single-modern) .mec-local-time-details h3:before{display:none}.mec-single-event.mec-single-modern i.mec-sl-speedometer{display:none}.mec-single-modern .mec-local-time-details.mec-frontbox i{display:none}.mec-single-event .mec-events-meta-group-booking{padding-bottom:30px}.mec-single-event .mec-events-meta-group-booking ul{list-style:none;margin-left:0;padding-left:0}.mec-single-event .mec-events-meta-group-booking ul li{padding:0;list-style:none;margin-top:40px}.mec-single-event .mec-events-meta-group-booking h4{margin-bottom:20px;font-size:23px;font-weight:700}.mec-single-event .mec-events-meta-group-booking li h4{font-size:19px}.mec-single-event .mec-events-meta-group-booking button,.mec-single-event .mec-events-meta-group-booking input{border-radius:0;margin-bottom:6px}.mec-single-event .mec-events-meta-group-booking button{min-width:155px;margin-top:5px;margin-left:10px;border-radius:2px;box-shadow:0 2px 1px rgba(0,0,0,.08)}.mec-single-event .mec-events-meta-group-booking button.mec-book-form-back-button{background:#c4cace;float:left}.mec-single-event .mec-events-meta-group-booking button.mec-book-form-back-button:hover{background:#000}.mec-single-event .mec-events-meta-group-booking button.mec-book-form-next-button{float:left;margin-left:0}button#mec-book-form-back-btn-step-3{float:none}.mec-next-occ-booking,.mec-next-occ-booking-p{padding-left:15px}.mec-events-meta-group-booking .mec-next-occ-booking,.mec-events-meta-group-booking .mec-next-occ-booking-p{padding:0;font-size:12px;letter-spacing:0;margin:3px 0;padding:5px 1em 3px 0}.mec-book-username-password-wrapper{padding:0 15px}.lity-container .mec-next-occ-booking,.lity-container .mec-next-occ-booking-p{padding-left:0}.mec-single-event .mec-events-meta-group-booking .mec-click-pay{max-width:350px}.mec-single-event .mec-events-meta-group-booking .mec-click-pay #mec_woo_add_to_cart_btn_r,.mec-single-event .mec-events-meta-group-booking .mec-click-pay button.mec-book-form-next-button{float:right}.mec-single-event .mec-events-meta-group-booking .mec-click-pay #mec_woo_add_to_cart_btn_r:hover,.mec-single-event .mec-events-meta-group-booking .mec-click-pay button.mec-book-form-next-button:hover{background:#000}.lity-container .mec-click-pay{max-width:400px}.lity-container .mec-book-form-btn-wrap button.mec-book-form-next-button,.lity-container .mec-click-pay #mec_woo_add_to_cart_btn_r{float:right}.lity-container button.mec-book-form-next-button{float:right}.lity-container .mec-click-pay #mec_woo_add_to_cart_btn_r:hover,.lity-container .mec-click-pay button.mec-book-form-next-button:hover{background:#000}.mec-single-event .mec-events-meta-group-booking .mec-click-next{float:right;position:relative;width:calc(100% - 186px)}.lity-container .mec-click-next{float:right;position:relative;width:calc(100% - 186px)}.mec-single-event .mec-book-form-coupon button{margin-left:0}.mec-single-event .mec-book-form-gateway-checkout button{margin-left:0}.mec-single-event .mec-single-event .mec-book-form-gateway-checkout button{margin-right:20px}.lity-content .mec-book-form-back-button{position:relative;border:none;border-radius:0;color:#fff;display:inline-block;font-size:12px;letter-spacing:1px;line-height:1.5;text-transform:uppercase;font-weight:600;text-decoration:none;cursor:pointer;margin-right:10px;line-height:1;padding:18px 20px 16px;-webkit-transition:all .21s ease;-moz-transition:all .21s ease;transition:all .21s ease;min-width:170px;margin-top:5px;border-radius:0;margin-bottom:6px;background:#c4cace}.lity-content .mec-book-form-back-button:hover{background:#000}.lity-content button#mec-book-form-back-btn-step-3{float:none}.lity-content .mec-book-form-next-button{float:left}.lity-content .mec-book-bfixed-fields-container{list-style:none;padding-left:0}.mec-single-event .mec-book-first,.mec-single-event .mec-book-form-gateways,.mec-single-event .mec-book-form-price,.mec-single-event .mec-event-tickets-list,.mec-single-event form.mec-click-next{padding-left:0;padding-right:0}.mec-single-event label.mec-fill-attendees{margin-left:0}.mec-wrap .mec-events-meta-group-booking #mec-book-form-back-btn-step-2,.mec-wrap .mec-events-meta-group-booking #mec-book-form-back-btn-step-3,.mec-wrap .mec-events-meta-group-booking #mec-book-form-btn-step-1{margin-left:0}.mec-wrap .mec-booking-form-container .col-md-12{padding-left:0}.mec-wrap .mec-events-meta-group-booking .mec-wrap-checkout.row{margin:0}.mec-wrap .mec-wrap-checkout .mec-book-form-gateways .mec-book-form-gateway-label{padding-left:3px}.mec-wrap p.mec-gateway-comment{margin-top:20px}.mec-single-event .mec-events-meta-group-booking .mec-event-ticket-available{display:block;margin-bottom:20px;margin-top:-17px;font-size:11px;color:#8a8a8a}.mec-single-event .mec-events-meta-group-booking .mec-book-price-total{display:inline-block;margin-bottom:10px;font-size:26px;color:#39c36e;font-weight:700;padding:10px 0}.mec-single-event .mec-events-meta-group-booking form{margin:0}.mec-single-event .mec-events-meta-group-booking h5 span,.mec-single-event .mec-events-meta-group-booking label{color:#424242;font-size:12px;font-weight:300;letter-spacing:0;margin:3px 0;display:block;clear:none;padding:5px 1em 3px 0}.mec-single-event .mec-events-meta-group-booking h5 span{display:inline-block}.mec-single-event .mec-events-meta-group-booking h5 span.mec-ticket-variation-name{padding-right:5px;text-transform:capitalize}.mec-single-event .mec-events-meta-group-booking input::-webkit-input-placeholder{color:#aaa}.mec-single-event .mec-events-meta-group-booking input:-moz-placeholder{color:#aaa}.mec-single-event .mec-events-meta-group-booking input[type=date],.mec-single-event .mec-events-meta-group-booking input[type=email],.mec-single-event .mec-events-meta-group-booking input[type=number],.mec-single-event .mec-events-meta-group-booking input[type=password],.mec-single-event .mec-events-meta-group-booking input[type=tel],.mec-single-event .mec-events-meta-group-booking input[type=text],.mec-single-event .mec-events-meta-group-booking select,.mec-single-event .mec-events-meta-group-booking textarea{display:block;background:#fcfcfc;min-height:42px;min-width:180px;font-size:13px;border:1px solid #e0e0e0;padding:13px 10px;width:330px;margin-bottom:20px;box-shadow:inset 0 2px 4px rgba(0,0,0,.051);clear:both}.wbmec-mandatory{padding-left:5px;font-size:14px}.mec-single-event .mec-events-meta-group-booking .mec-red-notification input,.mec-single-event .mec-events-meta-group-booking .mec-red-notification select,.mec-single-event .mec-events-meta-group-booking .mec-red-notification textarea{border:1px solid #ff3c3c!important}.lity .mec-events-meta-group-booking .mec-red-notification input[type=checkbox],.lity .mec-events-meta-group-booking .mec-red-notification input[type=radio],.mec-single-event .mec-events-meta-group-booking .mec-red-notification input[type=checkbox],.mec-single-event .mec-events-meta-group-booking .mec-red-notification input[type=radio]{outline:1px solid #ff3c3c!important}.lity .mec-book-ticket-container .mec-red-notification input,.lity .mec-book-ticket-container .mec-red-notification select,.lity .mec-book-ticket-container .mec-red-notification textarea{border:1px solid #ff3c3c!important}.mec-booking .woocommerce-notices-wrapper .woocommerce-message{color:#089740;background-color:#effdef;margin:0;padding:20px 20px 0;line-height:1;border:0;border-radius:5px}.mec-booking .woocommerce-notices-wrapper .woocommerce-message a{margin:0}@media only screen and (max-width:479px){.mec-single-event .mec-events-meta-group-booking input[type=date],.mec-single-event .mec-events-meta-group-booking input[type=email],.mec-single-event .mec-events-meta-group-booking input[type=number],.mec-single-event .mec-events-meta-group-booking input[type=password],.mec-single-event .mec-events-meta-group-booking input[type=tel],.mec-single-event .mec-events-meta-group-booking input[type=text],.mec-single-event .mec-events-meta-group-booking select,.mec-single-event .mec-events-meta-group-booking textarea{width:100%}}.mec-single-event .mec-events-meta-group-booking input[type=date]:focus,.mec-single-event .mec-events-meta-group-booking input[type=email]:focus,.mec-single-event .mec-events-meta-group-booking input[type=number]:focus,.mec-single-event .mec-events-meta-group-booking input[type=password]:focus,.mec-single-event .mec-events-meta-group-booking input[type=tel]:focus,.mec-single-event .mec-events-meta-group-booking input[type=text]:focus,.mec-single-event .mec-events-meta-group-booking select:focus,.mec-single-event .mec-events-meta-group-booking textarea:focus{border:1px solid #aaa;color:#444;background:#fff;-moz-box-shadow:0 0 3px rgba(0,0,0,.2);-webkit-box-shadow:0 0 3px rgba(0,0,0,.2);box-shadow:0 0 3px rgba(0,0,0,.2);outline:0}.mec-single-event .mec-events-meta-group-booking input[type=checkbox],.mec-single-event .mec-events-meta-group-booking input[type=radio]{margin-right:6px;margin-top:5px;min-height:20px;clear:none;margin:0 0 0 2px}.lity-container .mec-events-meta-group-booking input[type=radio]:before,.mec-single-event .mec-events-meta-group-booking input[type=radio]:before{content:"";display:inline-block;background:#fff;border-radius:18px;width:18px;height:18px;margin:-1px 0 0 -3px;cursor:pointer;border:2px solid #e1e7ed;box-shadow:0 2px 15px -3px rgba(69,77,89,.32)}.lity-container .mec-events-meta-group-booking input[type=radio]:checked:before,.mec-single-event .mec-events-meta-group-booking input[type=radio]:checked:before{border:7px solid #008aff;background:#fff;box-shadow:0 3px 16px -3px #008aff}.lity-container .mec-events-meta-group-booking input[type=radio],.mec-single-event .mec-events-meta-group-booking input[type=radio]{min-height:0;margin:0;margin-right:6px}.mec-single-event .mec-events-meta-group-booking input[type=checkbox]{float:left}.lity-container .mec-events-meta-group-booking .mec_book_first_for_all,.mec-single-event .mec-events-meta-group-booking .mec_book_first_for_all{display:none}.mec-events-meta-group-booking ul.mec-book-price-details{list-style:none;border:1px solid #eee;padding:0;overflow:hidden}.mec-events-meta-group-booking ul.mec-book-price-details li{font-size:15px;color:#a9a9a9;list-style:none;padding:13px 18px;margin:0;float:left;border-right:1px solid #eee}.mec-events-meta-group-booking ul.mec-book-price-details li:last-child{border-right:none}.mec-events-meta-group-booking ul.mec-book-price-details li span.mec-book-price-detail-amount{font-weight:700;font-size:21px;color:#222;display:contents}.lity-container .mec-events-meta-group-booking label.wn-checkbox-label,.mec-single-event .mec-events-meta-group-booking label.wn-checkbox-label{height:14px;width:14px;background-color:transparent;border:1px solid #d4d4d4;position:relative;display:inline-block;-moz-transition:border-color ease .2s;-o-transition:border-color ease .2s;-webkit-transition:border-color ease .2s;transition:border-color ease .2s;cursor:pointer;box-shadow:0 2px 16px -2px rgba(0,0,0,.2);vertical-align:middle;margin-right:3px;margin-top:-2px}.lity-container .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label,.mec-single-event .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label{border-color:#008aff;box-shadow:0 2px 14px -3px #008aff}.lity-container .mec-events-meta-group-booking label.wn-checkbox-label:after,.lity-container .mec-events-meta-group-booking label.wn-checkbox-label:before,.mec-single-event .mec-events-meta-group-booking label.wn-checkbox-label:after,.mec-single-event .mec-events-meta-group-booking label.wn-checkbox-label:before{position:absolute;height:0;width:1px;background-color:#008aff;display:inline-block;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;-webkit-transform-origin:left top;transform-origin:left top;content:"";-webkit-transition:opacity ease .5;-moz-transition:opacity ease .5;transition:opacity ease .5}.lity-container .mec-events-meta-group-booking label.wn-checkbox-label:before,.mec-single-event .mec-events-meta-group-booking label.wn-checkbox-label:before{top:8px;left:7px;box-shadow:0 0 0 2px #fff;-moz-transform:rotate(-145deg);-ms-transform:rotate(-145deg);-o-transform:rotate(-145deg);-webkit-transform:rotate(-145deg);transform:rotate(-145deg)}.lity-container .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label::before,.mec-single-event .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label::before{height:12px;-moz-animation:dothatopcheck .16s ease 0s forwards;-o-animation:dothatopcheck .16s ease 0s forwards;-webkit-animation:dothatopcheck .16s ease 0s forwards;animation:dothatopcheck .16s ease 0s forwards}.lity-container .mec-events-meta-group-booking label.wn-checkbox-label:after,.mec-single-event .mec-events-meta-group-booking label.wn-checkbox-label:after{top:6px;left:3px;-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.lity-container .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label::after,.mec-single-event .mec-events-meta-group-booking input[type=checkbox]:checked+.wn-checkbox-label::after{-moz-animation:dothabottomcheck 80ms ease 0s forwards;-o-animation:dothabottomcheck 80ms ease 0s forwards;-webkit-animation:dothabottomcheck 80ms ease 0s forwards;animation:dothabottomcheck 80ms ease 0s forwards;height:4px}.mec-single-event .mec-events-meta-group-booking button[type=submit]:after,.mec-single-event a.button:after{display:none;font-family:simple-line-icons;content:"\e098";margin-left:4px;-webkit-animation:rotating 1.2s linear infinite;-moz-animation:rotating 1.2s linear infinite;-ms-animation:rotating 1.2s linear infinite;-o-animation:rotating 1.2s linear infinite;animation:rotating 1.2s linear infinite}.mec-single-event .mec-events-meta-group-booking button[type=submit].loading:after,.mec-single-event a.button.loading:after{display:inline-block}.mec-single-event .mec-event-export-module{display:block}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul{display:table;width:100%}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li{display:table-cell}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li:last-child{text-align:right}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li a:hover{color:#fff}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul{padding-left:0;margin:15px 5px}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting{padding-left:0;margin:0}.mec-ticket-price{margin-left:10px;font-size:13px;font-weight:300}.mec-book-reg-field-checkbox label,.mec-book-reg-field-radio label{line-height:1.36}.mec-book-reg-field-checkbox input[type=checkbox],.mec-book-reg-field-radio input[type=radio]{float:left;margin-right:5px!important}.mec-ticket-available-spots .mec-event-ticket-description,.mec-ticket-available-spots .mec-event-ticket-price{font-size:11px}.mec-book-ticket-container .mec-reg-mandatory:nth-child(2) label:after,.mec-book-ticket-container .mec-reg-mandatory:nth-child(3) label:after,.mec-book-ticket-container .wbmec-mandatory{content:"";color:red;width:50px;height:50px;font-size:14px;padding-left:5px}@media only screen and (max-width:767px){.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li{width:100%;min-height:40px;margin-bottom:15px;text-align:center;float:none;display:block}.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li a{width:100%;padding-left:0;padding-right:0;text-align:center;display:block;font-size:12px}}.mec-single-event .mec-events-meta-group{margin-bottom:0}@media only screen and (max-width:767px){.mec-single-event .mec-events-meta-group-booking{margin-bottom:30px}}.mec-single-event .mec-event-meta dt,.mec-single-event .mec-event-meta h3{text-transform:uppercase;font-size:16px;font-weight:700;padding-bottom:5px;display:inline;color:#000;padding-left:10px}.mec-single-event .mec-event-meta h6{text-transform:uppercase;font-size:13px;padding-bottom:5px;display:inline;color:#222;padding-left:0}.mec-single-event .mec-event-meta .mec-events-event-categories a,.mec-single-event .mec-event-meta dd{font-size:14px;color:#8d8d8d}.mec-single-event .mec-event-meta .mec-location dd.author{color:#3c3b3b}.mec-single-event .mec-event-meta dd{margin:0;padding-left:35px}.mec-single-event .mec-event-meta dd.mec-events-event-categories{min-height:35px;line-height:35px}@media only screen and (max-width:480px){.single-mec-events .lity-container{width:100%}.single-mec-events .lity-content .mec-events-meta-group-booking{padding:20px;width:85%;margin:0 auto}}.mec-single-event .mec-event-meta dd.mec-events-event-categories:first-of-type{padding-top:5px}.mec-single-event .mec-event-meta dd.mec-events-event-categories:last-of-type{border-bottom:0}.mec-single-event .mec-event-meta dd a{color:#8d8d8d;transition:all .2s ease;-ms-word-wrap:break-word;word-wrap:break-word}.mec-single-event .mec-event-meta dd a i:before{font-size:16px!important}.mec-single-event .mec-event-meta dd a i{margin-right:8px}.mec-single-event .mec-event-meta dl{margin-bottom:0}.mec-single-event .mec-event-meta .mec-events-event-cost{font-size:18px}.mec-single-event .mec-event-meta .mec-events-address{color:#a9a9a9;margin-bottom:20px}.mec-single-event .mec-event-meta .mec-events-meta-group-venue .author{margin-bottom:0;color:#8d8d8d;font-size:13px}.mec-single-event .mec-events-event-image{margin-bottom:0}.mec-single-event h2.mec-single-event-title{margin-bottom:30px;font-weight:700;font-size:33px}.mec-single-event .mec-booking-button{border-bottom:none;letter-spacing:.5px;line-height:48px;height:76px;transition:all .5s ease;color:#fff;padding:16px;display:block;text-align:center;font-size:16px;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.15)}.mec-single-event .mec-booking-button:hover{background-color:#101010!important}.mec-single-event .mec-event-tags a{display:inline-block;color:#444;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:500;padding:3px 7px;border:1px solid #ddd;border-radius:2px;background:#fff;margin:1px 3px}.mec-single-event .mec-event-tags:before{font-size:24px;color:#303030;margin-right:5px;content:"\f02c";font-family:fontawesome}.mec-single-event .mec-event-tags{padding-top:13px}.mec-single-event .mec-event-sharing{margin:30px 0 10px}.mec-region.mec-events-abbr,.mec-single-event .mec-street-address{font-style:normal;font-size:13px}.mec-events-meta-group.mec-events-meta-group-venue:before,.mec-single-event-date:before,.mec-single-event-time:before{color:#40d9f1}.mec-single-event .mec-event-social{text-align:center}.mec-single-event .mec-event-social h3{text-transform:uppercase;font-size:15px;font-weight:700;padding-bottom:5px;color:#313131;border-bottom:4px solid #ebebeb;width:100%;display:block;padding-bottom:10px;position:relative}.mec-single-event .mec-social-single:before{padding:13px 35px;border-bottom:4px solid #40d9f1;font-size:6px;content:"";text-align:center;position:absolute;bottom:-4px;margin-left:39px}.mec-single-event .mec-event-social .event-sharing{margin-top:30px}.mec-single-event .mec-event-social ul{list-style:none;margin-left:0;padding:0}.mec-single-event .mec-event-social li.mec-event-social-icon{display:inline-block}.mec-single-event .mec-event-social li.mec-event-social-icon a{display:inline-block;color:#fff;width:40px;height:40px;padding:6px;font-size:18px;margin-right:5px;margin-bottom:5px;border-radius:2px}.mec-single-event .mec-event-social a.facebook{background:#3b5996}.mec-single-event .mec-event-social a.facebook:hover{background:#28385c}.mec-single-event .mec-event-social a.twitter{background:#00acee}.mec-single-event .mec-event-social a.twitter:hover{background:#0087bd}.mec-single-event .mec-event-social a.vimeo{background:#0dadd6}.mec-single-event .mec-event-social a.vimeo:hover{background:#0a85a3}.mec-single-event .mec-event-social a.dribble{background:#d53e68}.mec-single-event .mec-event-social a.dribble:hover{background:#bf4c78}.mec-single-event .mec-event-social a.youtube{background:#cb322c}.mec-single-event .mec-event-social a.youtube:hover{background:#992622}.mec-single-event .mec-event-social a.pinterest{background:#cb2027}.mec-single-event .mec-event-social a.pinterest:hover{background:#99181d}.mec-single-event .mec-event-social a.google{background:#c3391c}.mec-single-event .mec-event-social a.google:hover{background:#99181f}.mec-single-event .mec-event-social a.linkedin{background:#0073b2}.mec-single-event .mec-event-social a.linkedin:hover{background:#005380}.mec-single-event .mec-event-social a.email{background:#ff5d5e}.mec-single-event .mec-event-social a.email:hover{background:#cc4949}.mec-single-event .mec-event-social a.vk{background:#5b88bd}.mec-single-event .mec-event-social a.vk:hover{background:#3d608a}.mec-single-event .mec-event-social a.tumblr{background:#34465d}.mec-single-event .mec-event-social a.tumblr:hover{background:#273649}.mec-single-event .mec-event-social a.telegram{background:#08c}.mec-single-event .mec-event-social a.telegram:hover{background:#1076be}.mec-single-event .mec-event-social a.whatsapp{background:#25d366}.mec-single-event .mec-event-social a.whatsapp:hover{background:#23ac55}.mec-single-event .mec-event-social a.flipboard{background:#e12828}.mec-single-event .mec-event-social a.flipboard:hover{background:#af1e1e}.mec-single-event .mec-event-social a.pocket{background:#ef4056}.mec-single-event .mec-event-social a.pocket:hover{background:#8d1717}.mec-single-event .mec-event-social a.reddit{background:#ff5700}.mec-single-event .mec-event-social a.reddit:hover{background:#c94909}.mec-single-event .mec-event-social a.flipboard svg,.mec-single-event .mec-event-social a.telegram svg{height:16px}.mec-single-event .mec-event-social li.mec-event-social-icon a svg{display:unset}.mec-single-event .mec-event-social a.rss{background:#f29a1d}.mec-single-event .mec-event-social a.rss:hover{background:#cc7400}.mec-single-event .mec-event-social a.instagram{background:#457399}.mec-single-event .mec-event-social a.instagram:hover{background:#2e4d66}.mec-single-event .mec-event-social a.linkedin{background:#457399}.mec-single-event .mec-event-social a.linkedin:hover{background:#2e4d66}.mec-single-event .mec-event-social a.other-social{background:#ff5d5e}.mec-single-event .mec-event-social a.other-social:hover{background:#cc4949}.mec-single-event .mec-event-social{text-align:center}.mec-single-event .mec-events-meta-group-booking form>h4,.mec-single-event .mec-frontbox-title,.mec-single-event .mec-wrap-checkout h4{text-transform:uppercase;font-size:15px;font-weight:700;color:#313131;border-bottom:4px solid #ebebeb;width:100%;display:block;padding-bottom:10px;position:relative;text-align:center}.mec-single-event .mec-events-meta-group-booking form>h4:before,.mec-single-event .mec-frontbox-title:before,.mec-single-event .mec-wrap-checkout h4:before{padding:1px 35px;border-bottom:4px solid #40d9f1;font-size:6px;content:"";text-align:center;position:absolute;bottom:-4px;margin-left:-35px;left:50%}.mec-single-event .mec-events-meta-group-booking input[data-stripe=exp-month],.mec-single-event .mec-events-meta-group-booking input[data-stripe=exp-year]{width:47%!important;margin-right:12px;margin-top:5px;display:inline-block!important}@media (max-width:768px){.mec-single-event .mec-events-meta-group-booking input[data-stripe=exp-month],.mec-single-event .mec-events-meta-group-booking input[data-stripe=exp-year]{width:100%!important;margin-right:0;display:block!important}}.mec-single-event .mec-booking .mec-booking-dates-checkboxes{margin-bottom:22px}.lity-content .mec-events-meta-group-booking .mec-booking-dates-checkboxes label,.mec-single-event .mec-booking .mec-booking-dates-checkboxes label{margin-bottom:3px;line-height:1.1}.lity-content .mec-events-meta-group-booking .mec-booking-dates-checkboxes label{display:flex}.lity-content .mec-events-meta-group-booking .mec-booking-dates-checkboxes input[type=checkbox],.mec-booking input[type=checkbox],.mec-single-event .mec-events-meta-group-booking .mec-booking-dates-checkboxes input[type=checkbox]{width:17px;height:17px;min-height:unset;border-radius:3px;margin-top:-2px;margin-right:7px!important;margin-bottom:0!important}.lity-content .mec-events-meta-group-booking .mec-booking-dates-checkboxes input[type=checkbox]{margin-top:-1px}.mec-events-meta-group-booking-shortcode .mec-booking-dates-checkboxes label{display:flex}.mec-events-meta-group-booking-shortcode .mec-booking-dates-checkboxes input[type=checkbox]{margin-top:1px}.mec-event-meta i:before{font-size:20px;vertical-align:middle}.mec-event-meta .mec-single-event-additional-organizers i:before,.mec-event-meta .mec-single-event-organizer i:before{font-size:14px;vertical-align:baseline}#mec-wrap .mec-events-day-time-slot .mec-events-content{float:left;width:33%;padding:0 15px}#mec-wrap .mec-events-day-time-slot .mec-events-event-image{padding-left:0}#mec-events-content .mec-events-abbr{color:#8d8d8d;font-size:14px}.mec-single-event .mec-events-content{margin-bottom:30px}.mec-single-event .mec-organizer-url a{word-wrap:break-word}.mec-single-event #headline{margin:0 0 10px}.mec-single-event #headline h2{padding:0}.mec-single-event .mec-events-meta-group.mec-events-meta-group-gmap .mec-events-venue-map{margin-top:0;padding:8px;border:1px solid #e5e5e5;border-radius:7px}#mec-events-gmap-0{height:325px!important}.mec-events-list .mec-events-day-time-slot .mec-events-event-meta{width:33%;float:left;padding:40px;height:auto;margin:0}.mec-events-day-time-slot .mec-events-content.description.entry-summary{font-size:15px;font-weight:300;color:#8d8d8d}.mec-events-day-time-slot .type-mec_events h2{font-size:28px;padding-bottom:20px}.mec-events-day .mec-events-day-time-slot .type-mec_events{margin:0}.mec-events-day .mec-events-day-time-slot h5{background-color:#8d8d8d}.mec-single-event .mec-event-meta .mec-single-event-additional-organizers .mec-events-single-section-title,.mec-single-event .mec-event-meta .mec-single-event-organizer .mec-events-single-section-title,.mec-single-event .mec-events-meta-date h3{padding-left:0;margin:10px;display:inline-block}.mec-single-event .mec-events-meta-date h3{width:100%}.mec-single-event .mec-events-event-image{border:0}.mec-single-event .mec-events-venue-map{padding:0}.mec-event-cost,.mec-event-more-info,.mec-event-website,.mec-events-meta-date,.mec-single-event-additional-organizers,.mec-single-event-category,.mec-single-event-date,.mec-single-event-label,.mec-single-event-location,.mec-single-event-organizer,.mec-single-event-time{background:#f7f7f7;padding:12px 14px 8px;margin-bottom:12px;vertical-align:baseline;position:relative}.mec-single-event .mec-events-meta-date dd,.mec-single-event .mec-single-event-additional-organizers dd,.mec-single-event .mec-single-event-organizer dd{padding-left:0;margin-bottom:10px}.mec-single-event .mec-event-meta dd.mec-organizer-email a,.mec-single-event .mec-events-meta-date dd span,.mec-single-event .mec-single-event-additional-organizers dd span,.mec-single-event .mec-single-event-organizer dd span{display:block;padding-left:41px;color:#8d8d8d}.mec-single-event .mec-events-meta-date i,.mec-single-event .mec-single-event-additional-organizers i,.mec-single-event .mec-single-event-organizer i{margin-right:10px;margin-left:12px}.mec-events-meta-group.mec-events-meta-group-venue dl{margin-bottom:0}address.mec-events-address{line-height:19px;font-style:normal;font-size:12px}.mec-single-event .mec-event-content dt{margin-top:5px}.mec-single-event .mec-single-event-additional-organizers .mec-single-event-additional-organizer{margin-bottom:15px;padding-bottom:5px;border-bottom:1px solid #e4e4e4}.mec-single-event .mec-single-event-additional-organizers .mec-single-event-additional-organizer:last-child{margin-bottom:0;padding-bottom:0;border:none}.mec-event-category-color{width:9px;height:9px;display:inline-block;vertical-align:middle;margin:0 0 0 4px;border-radius:9px}.mec-event-schedule-content{border-left:4px solid #f0f0f0;padding-top:10px;margin-top:30px;margin-left:25px;margin-bottom:20px;color:#8a8a8a}.mec-event-schedule-content dl{padding-left:24px;font-size:12px;position:relative;margin-bottom:35px}.mec-event-schedule-content dl:before{content:"";display:block;position:absolute;left:0;top:4px;width:20px;height:0;border-top:4px solid #f0f0f0}.mec-event-schedule-content dl dt{margin:0 0 10px;line-height:1.16}.mec-event-schedule-content dl dt.mec-schedule-title{font-size:13px;color:#5a5a5a;font-weight:700}.mec-event-schedule-content dl dt.mec-schedule-description{font-weight:300}.mec-event-schedule-content .mec-schedule-speakers{background:#f7f7f7;padding:10px}.mec-wrap .mec-event-schedule-content h6{font-size:13px;color:#5a5a5a;font-weight:700;display:inline-block}.mec-wrap .mec-event-schedule-content a{font-weight:400;color:#5a5a5a;transition:all .1s ease}.single-mec-events .mec-speakers-details ul{padding:0;margin-left:0}.mec-single-event .mec-speakers-details ul li{list-style:none;background:#f7f7f7;padding:5px 5px 18px 5px;margin-top:14px}.mec-single-event .mec-speakers-details ul li a{-webkit-transition:.2s all ease;transition:.2s all ease}.mec-single-event .mec-speakers-details ul li .mec-speaker-avatar a img{float:left;border-radius:50%;transition:.2s all ease;border:2px solid transparent;width:68px;height:68px}.mec-single-event .mec-speakers-details ul li .mec-speaker-avatar a:hover img{border-color:#40d9f1}.mec-single-event .mec-speakers-details ul li .mec-speaker-name{display:inline-block;margin-top:10px;font-size:15px;line-height:1.8;text-transform:capitalize;font-weight:700;padding-left:8px}.mec-single-event .mec-speakers-details ul li .mec-speaker-job-title{display:block;font-size:12px;margin-top:-1px;padding-left:75px;color:#888}.mec-single-event-location img,.mec-single-event-organizer img{margin-bottom:10px;width:100%}.mec-qrcode-details{text-align:center}.mec-time-comment{font-size:11px}.mec-wrap .mec-attendees-list-details p{font-weight:300;margin:20px 0 0 0;color:#8d8d8d}.mec-wrap .mec-attendees-list-details li{list-style:none;display:block;margin-top:15px}.mec-wrap .mec-attendees-list-details li .mec-attendee-avatar{display:inline-block}.mec-wrap .mec-attendees-list-details li .mec-attendee-profile-link{display:inline-block;vertical-align:top;margin-left:10px}.mec-attendees-list-details ul{margin-bottom:0}.mec-attendees-list-details .mec-attendee-profile-link a{color:#8d8d8d;display:block}.mec-attendees-list-details .mec-attendee-profile-link span{display:inline-block;color:#000;vertical-align:middle;cursor:pointer}.mec-attendees-list-details span.mec-attendee-profile-ticket-number{border-radius:50px;width:20px;height:20px;font-size:12px;text-align:center;color:#fff;margin-right:4px;line-height:20px}#wrap .mec-attendees-list-details span.mec-attendee-profile-ticket-number{line-height:19px}.mec-attendees-list-details .mec-attendee-profile-link span i{vertical-align:middle;font-size:9px;font-weight:700;margin-left:5px}.mec-attendees-list-details .mec-attendees-toggle{border:1px solid #e6e6e6;background:#fafafa;padding:15px 15px 0;border-radius:3px;margin:12px 0 20px 52px;position:relative;font-size:13px;box-shadow:0 3px 1px 0 rgba(0,0,0,.02)}.mec-attendees-list-details .mec-attendees-toggle:after,.mec-attendees-list-details .mec-attendees-toggle:before{content:"";display:block;position:absolute;left:50px;width:0;height:0;border-style:solid;border-width:10px}.mec-attendees-list-details .mec-attendees-toggle:after{top:-20px;border-color:transparent transparent #fafafa transparent}.mec-attendees-list-details .mec-attendees-toggle:before{top:-21px;border-color:transparent transparent #e1e1e1 transparent}.mec-attendees-list-details .mec-attendees-toggle .mec-attendees-item{padding-bottom:15px}.mec-attendees-list-details .mec-attendee-avatar img{border-radius:3px}.mec-attendee-avatar-sec{float:left;width:50px;margin-right:12px}.mec-attendee-profile-name-sec,.mec-attendee-profile-ticket-sec{float:left;width:calc(100% - 62px);margin-top:3px}.mec-calendar{margin-bottom:20px;border:1px solid #e8e8e8;width:100%;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-calendar .mec-calendar-topsec{display:table;background:#fff}.mec-calendar .mec-calendar-topsec .mec-calendar-events-sec{display:none}.mec-calendar .mec-calendar-side{width:590px;display:table-cell;padding:40px;position:relative;text-align:center;box-shadow:0 1px 5px 6px rgba(0,0,0,.005) inset}.mec-calendar .mec-calendar-events-side{display:table-cell;height:100%;border-left:1px solid #efefef;padding:40px;width:100%}.mec-calendar .mec-calendar-events-side .mec-table-side-day{width:46px;height:46px;margin:0 auto 20px;position:relative;text-align:center;line-height:46px;border:1px solid #40d9f1;border-radius:50%;font-size:12px;font-weight:600;padding:0}.mec-calendar .mec-calendar-events-side .mec-table-side-title{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:3px;margin-bottom:14px}.mec-calendar .mec-calendar-header{position:relative;width:560px;margin-top:8px;margin-bottom:16px}.mec-calendar .mec-calendar-header h2{text-transform:uppercase;font-size:22px;font-weight:700;color:#333}.mec-calendar .mec-event-footer{width:auto;min-height:60px}.mec-calendar dl{display:table;margin:0;border:none;padding:0;table-layout:fixed}.mec-calendar dt{display:table-cell;transition:all .66s ease;color:#4d4d4d;background:#fff;border-radius:44px;font-size:14px;width:80px;height:80px;line-height:80px;text-align:center}.excerpt-wrap .mec-wrap dt,.nv-content-wrap .mec-wrap dt{display:table-cell}.mec-calendar .mec-calendar-table .mec-no-event{display:none}.mec-calendar .mec-calendar-table-head dt{font-weight:700;text-transform:uppercase;font-size:15px}.mec-calendar .mec-calendar-row dt:hover{background:#f4f4f4}.mec-calendar .mec-table-nullday{color:#cacaca}.mec-calendar.mec-box-calendar .mec-table-nullday:last-child{border-right:1px solid #eaeaea}.mec-calendar .mec-next-month:hover,.mec-calendar .mec-prev-month:hover{background:#f4f4f4}.mec-calendar .mec-selected-day,.mec-calendar .mec-selected-day:hover{background:#40d9f1;color:#fff}.mec-calendar .mec-selected-day a{color:#fff}.mec-calendar .mec-has-event{position:relative}.mec-calendar .mec-calendar-row dt.mec-has-event:hover{background:#40d9f1}.mec-calendar .mec-has-event a{cursor:pointer;display:block;width:100%;height:100%;border-radius:50%;color:#4d4d4d;transition:all .25s ease;text-decoration:none;box-shadow:none}.mec-calendar .mec-calendar-row dt.mec-has-event.mec-selected-day a,.mec-calendar .mec-calendar-row dt.mec-has-event:hover a{color:#fff}.mec-calendar .mec-has-event:after{background-color:#40d9f1;border-radius:50%;display:block;content:"";width:8px;height:8px;bottom:14px;left:50%;margin:-4px 0 0 -4px;position:absolute;transition:all .25s ease}.mec-calendar .mec-calendar-row dt.mec-has-event:hover:after{background-color:#fff}.mec-calendar .mec-has-event.mec-selected-day:after{display:none}.mec-calendar .mec-event-article{text-align:left;margin-bottom:0;padding-bottom:25px;padding-top:26px;border-top:1px solid #efefef;transition:all .33s ease}.mec-calendar .mec-event-article:hover{background-color:#fafafa}.mec-calendar .mec-event-article .mec-event-time{font-size:11px;line-height:1.1;margin:0}.mec-calendar .mec-event-article .mec-event-title{font-size:13px;padding:0;margin:10px 0 8px;font-weight:700;text-transform:uppercase}.mec-calendar .mec-event-article .mec-event-title a{text-decoration:none;color:#494949;transition:color .3s ease}.mec-calendar .mec-event-article .mec-event-title a:hover{color:#40d9f1}.mec-calendar .mec-event-article .mec-event-image,.mec-calendar .mec-event-list-classic .mec-event-image img{width:65px;height:auto}.mec-calendar .mec-event-article .mec-event-image{float:left;margin-right:20px;width:65px;height:auto}.mec-calendar .mec-event-article .mec-event-detail,.mec-calendar .mec-event-article .mec-localtime-details div{font-size:13px;line-height:1.3;color:#9a9a9a;margin-bottom:0}.mec-calendar .mec-calendar-side .mec-next-month,.mec-calendar .mec-calendar-side .mec-previous-month{cursor:pointer;position:absolute;top:0;min-width:50px;height:50px;line-height:50px;text-align:center;background:#fff;color:#a9a9a9;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding-left:10px;padding-right:10px;border:1px solid #efefef;border-top:none;box-shadow:0 2px 0 0 rgba(0,0,0,.015);transition:all .33s ease}.mec-calendar .mec-calendar-side .mec-next-month i,.mec-calendar .mec-calendar-side .mec-previous-month i{font-size:12px;color:#40d9f1;cursor:pointer}.mec-calendar .mec-calendar-side .mec-next-month:hover,.mec-calendar .mec-calendar-side .mec-previous-month:hover{background-color:#f9f9f9;color:#40d9f1}.mec-calendar .mec-calendar-side .mec-previous-month{left:0;border-bottom-right-radius:6px;border-left:none}.mec-calendar .mec-calendar-side .mec-next-month{right:0;border-bottom-left-radius:6px;border-right:none}@media only screen and (min-width:961px){.mec-wrap.mec-sm959 .mec-calendar:not(.mec-event-calendar-classic):not(.mec-calendar-weekly) .mec-has-event:after{width:6px;height:6px;bottom:6px}.mec-wrap.mec-sm959 .mec-calendar:not(.mec-event-calendar-classic):not(.mec-calendar-weekly) .mec-calendar-side{width:370px}.mec-wrap.mec-sm959 .mec-calendar:not(.mec-event-calendar-classic):not(.mec-calendar-weekly) .mec-calendar-header{position:relative;width:350px;margin-top:30px;margin-bottom:20px;padding-top:20px}.mec-wrap.mec-sm959 .mec-calendar:not(.mec-event-calendar-classic):not(.mec-calendar-weekly) dt{width:50px;height:50px;line-height:50px}.mec-wrap.mec-sm959 .mec-calendar.mec-event-calendar-classic dl dt{height:110px}}@media only screen and (max-width:1200px){.mec-calendar .mec-has-event:after{width:6px;height:6px;bottom:6px}.mec-calendar .mec-calendar-side{width:370px}.mec-calendar .mec-calendar-header{position:relative;width:350px;margin-top:30px}.mec-calendar dt{width:50px;height:50px;line-height:50px}}@media only screen and (max-width:767px){.mec-calendar .mec-calendar-header h2{font-size:18px}.mec-calendar .mec-calendar-topsec{width:100%}.mec-calendar .mec-calendar-side{width:100%;display:block;padding:30px}.mec-calendar .mec-calendar-header{width:auto}.mec-calendar .mec-calendar-events-side{width:100%;display:block;height:100%;border-left:none;border-top:1px solid #efefef;padding:20px}.mec-calendar dl{width:100%}.mec-calendar dt{width:14%;height:60px;line-height:60px;border-radius:50px}}@media only screen and (max-width:479px){.mec-calendar .mec-has-event:after{width:4px;height:4px}.mec-calendar .mec-calendar-header h2{font-size:16px;margin-top:33px}.mec-calendar dt{height:38px;line-height:38px}.mec-calendar .mec-event-list-classic .mec-event-detail,.mec-calendar .mec-event-list-classic .mec-event-title{font-size:12px}.mec-calendar .mec-event-list-classic .mec-event-time{font-size:10px}}.mec-box-calendar.mec-calendar .mec-has-event a,.mec-box-calendar.mec-calendar dt{border-radius:0}.mec-box-calendar.mec-calendar .mec-calendar-header{margin-top:2px;margin-bottom:30px}.mec-box-calendar.mec-calendar dt{border-bottom:1px solid #eaeaea;border-left:1px solid #eaeaea}.mec-box-calendar.mec-calendar dl dt:last-child{border-right:1px solid #eaeaea}.mec-box-calendar.mec-calendar .mec-calendar-table-head dt{border-top:1px solid #eaeaea;background-color:#f8f8f8}.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-table-head dt{background-color:#f4f4f4}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month,.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{border-radius:2px;top:40px;border:1px solid #eee;height:30px;line-height:30px;z-index:1}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{left:40px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month{right:40px}.mec-box-calendar.mec-calendar .mec-calendar-side{box-shadow:none}.mec-box-calendar.mec-calendar .mec-calendar-events-side{border:none}.mec-box-calendar.mec-calendar .mec-calendar-events-side .mec-table-side-day{border-radius:2px}.mec-box-calendar.mec-calendar h4.mec-month-label{position:relative;width:560px;margin-top:2px;margin-bottom:30px;text-transform:uppercase;font-size:22px;font-weight:700;color:#333}.mec-widget .mec-box-calendar.mec-calendar h4.mec-month-label{width:100%;margin-top:8px;font-size:13px}@media only screen and (max-width:1200px){.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{left:42px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month{right:42px}.mec-calendar .mec-calendar-header h2{font-size:17px;margin-top:7px}}@media only screen and (max-width:767px){.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month,.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{top:28px;font-size:10px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{left:30px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month{right:30px}.mec-calendar .mec-calendar-header h2{font-size:15px}}@media only screen and (max-width:479px){.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month,.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{top:16px;font-size:0;padding:4px 0;text-align:center;min-width:33px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{left:10px}.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month{right:10px}.mec-box-calendar.mec-calendar .mec-calendar-header h2{font-size:12px;margin-top:15px}.mec-box-calendar.mec-calendar .mec-event-image{margin-right:12px}}.mec-calendar.mec-event-calendar-classic,.mec-calendar.mec-event-calendar-classic .mec-calendar-side{border:none;padding:0;width:100%;height:100%;box-shadow:none}.mec-calendar.mec-event-calendar-classic .mec-calendar-side{display:block}.mec-calendar.mec-event-calendar-classic .mec-calendar-header,.mec-calendar.mec-event-calendar-classic dl{width:100%}.mec-calendar.mec-event-calendar-classic dl dt{width:15%;height:136px;line-height:1.2;text-align:left;padding:5px 7px;position:relative}.mec-calendar.mec-event-calendar-classic .mec-calendar-table-head dt{height:30px!important}.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-side .mec-next-month,.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-side .mec-previous-month{top:0}.mec-calendar.mec-event-calendar-classic .mec-has-event:after{bottom:auto;top:24px;left:7px;margin:0}.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-side .mec-previous-month{left:0}.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-side .mec-next-month{right:0}.mec-next-month a,.mec-previous-month a{pointer-events:none}.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec{text-align:left;background:#fafafa;border:1px solid #eaeaea;border-top:none;padding:10px 20px}.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec{display:none}.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec .mec-event-article:hover{background-color:#fcfcfc}.mec-calendar.mec-event-calendar-classic .mec-selected-day,.mec-calendar.mec-event-calendar-classic dt.mec-selected-day:hover{color:#40d9f1;font-weight:700;background:#fafafa;border-bottom:none}.mec-wrap .mec-calendar.mec-event-calendar-classic:not(.mec-event-container-simple) .mec-selected-day:hover{color:#fff!important}.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec .mec-table-side-day,.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec .mec-table-side-title{display:inline-block;margin:0;margin-bottom:15px;font-weight:700}.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec .mec-table-side-day{margin-left:4px}.mec-calendar.mec-event-calendar-classic .mec-calendar-row dt.mec-has-event a{color:#4d4d4d}.mec-calendar.mec-event-calendar-classic .mec-calendar-row dt.mec-has-event:not(.mec-selected-day):hover a{color:#fff}@media only screen and (max-width:1200px){.mec-calendar.mec-event-calendar-classic dl dt{height:100px}}@media only screen and (max-width:767px){.mec-calendar.mec-event-calendar-classic dl dt{height:40px}}@media only screen and (max-width:479px){.mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec{padding:10px}.mec-box-calendar.mec-calendar.mec-event-calendar-classic .mec-calendar-header h2{font-size:13px;margin-top:8px}}.mec-calendar .mec-event-article.mec-single-event-novel{padding:4px 8px;min-height:25px;margin:0 -4px;border-radius:0}.mec-calendar .mec-event-article.mec-single-event-novel h4{margin:0;font-size:10px;line-height:18px}.mec-calendar.mec-event-container-novel dl dt{padding:3px}.mec-calendar.mec-event-calendar-classic .mec-calendar-novel-selected-day{display:inline-block;padding:4px;margin-left:1px}.mec-wrap .mec-calendar.mec-event-container-novel .mec-selected-day:hover{color:#fff!important}.mec-calendar.mec-event-calendar-classic .mec-selected-day .mec-calendar-novel-selected-day{color:#fff}.mec-calendar.mec-event-calendar-classic.mec-event-container-novel .mec-selected-day,.mec-calendar.mec-event-calendar-classic.mec-event-container-novel dt.mec-selected-day:hover{border-bottom:1px solid #eaeaea}.mec-calendar.mec-event-calendar-classic.mec-event-container-novel .mec-calendar-side .mec-calendar-table{min-height:auto}.mec-single-event-novel.light h4{color:#000!important}.mec-single-event-novel.dark h4{color:#fff!important}@media only screen and (max-width:768px){.mec-calendar .mec-event-article.mec-single-event-novel{padding:0;min-height:5px}.mec-calendar .mec-event-article.mec-single-event-novel h4{display:block;font-size:9px}}.mec-event-container-simple .event-single-content-simple{display:none}.mec-event-calendar-classic.mec-event-container-simple .mec-calendar-side .mec-calendar-table{min-height:unset}.mec-event-container-simple .mec-monthly-tooltip h4{font-size:13px;font-weight:500;margin:0;color:#444}.mec-event-container-simple .mec-monthly-tooltip h4:hover{text-decoration:underline;color:#111}.mec-event-container-simple .mec-monthly-tooltip.event-single-link-simple{border-bottom:1px dashed #e3e3e3;padding:10px 2px;display:block}.mec-calendar.mec-event-container-simple dl dt.mec-calendar-day{font-size:30px;color:#000}.mec-calendar.mec-event-container-simple .mec-calendar-row dt:hover{background:unset}.mec-calendar.mec-event-container-simple .mec-calendar-row dt,.mec-calendar.mec-event-container-simple .mec-calendar-row dt:last-child,.mec-calendar.mec-event-container-simple .mec-calendar-table-head dt,.mec-calendar.mec-event-container-simple .mec-calendar-table-head dt:last-child{border-width:2px}.mec-calendar.mec-event-container-simple dl dt.mec-selected-day,.mec-calendar.mec-event-container-simple dl dt.mec-selected-day:hover{border-bottom:2px solid #40d9f1;background:unset}.mec-calendar.mec-event-container-simple .mec-calendar-table-head dt{line-height:36px}@media (max-width:768px){.mec-calendar.mec-event-container-simple{overflow-x:scroll}.mec-calendar.mec-event-container-simple .mec-calendar-side{min-width:100%}.mec-event-container-simple .mec-monthly-tooltip h4{font-size:12px}.mec-event-container-simple .mec-calendar-side{min-width:600px!important;overflow-x:scroll}}.mec-wrap.colorskin-custom .mec-calendar.mec-event-container-simple .mec-selected-day:hover{background:#f4f4f4}.mec-event-container-simple .mec-calendar-day .mec-monthly-tooltip.event-single-link-simple:last-of-type{border:none}.mec-tooltip-event-title{font-size:16px;font-weight:700;color:#000;margin-bottom:2px}.mec-tooltip-event-time,.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-content .mec-price-details{font-size:12px;color:#888;margin-bottom:8px;margin-top:5px}.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-content{padding:17px}.mec-tooltip-event-content{clear:both}.mec-tooltip-event-featured{float:left;margin-right:13px;margin-bottom:1px}.mec-tooltip-event-featured img{max-width:120px}.mec-tooltip-event-desc{font-size:14px;color:#444;line-height:18px}.mec-tooltip-event-desc p{font-size:13px;line-height:1.4;margin-bottom:10px}.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-box{border-radius:3px!important;border:1px solid #e2e3e4!important;background:#fff!important;box-shadow:0 -1px 30px -2px rgba(0,0,0,.15)!important}.tooltipster-box .mec-tooltip-event-desc{margin-bottom:12px}.tooltipster-sidetip:not(.uael-tooltipster-active) .tooltipster-arrow{overflow:visible!important}.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-arrow-border{border-width:12px!important}.tooltipster-sidetip.tooltipster-shadow.tooltipster-right:not(.uael-tooltipster-active) .tooltipster-arrow-border{border-right-color:#e2e3e4!important}.tooltipster-sidetip:not(.uael-tooltipster-active) .tooltipster-arrow-border{left:-12px!important;z-index:9999999999!important}.tooltipster-sidetip.tooltipster-shadow:not(.uael-tooltipster-active) .tooltipster-arrow-background{display:block!important}.tooltipster-sidetip:not(.uael-tooltipster-active) .tooltipster-arrow-background{border-width:11px!important;z-index:99999999999!important}.tooltipster-sidetip.tooltipster-right:not(.uael-tooltipster-active) .tooltipster-arrow-background{left:-9px!important;top:1px!important;border-right-color:#fff!important}.tooltipster-sidetip.tooltipster-top:not(.uael-tooltipster-active) .tooltipster-arrow-background{border-top-color:#fff!important;left:0!important;top:-1px!important}.tooltipster-sidetip.tooltipster-top:not(.uael-tooltipster-active) .tooltipster-arrow-border{left:-1px!important}.tooltipster-sidetip.tooltipster-shadow.tooltipster-top:not(.uael-tooltipster-active) .tooltipster-arrow-border{border-top-color:#e2e3e4!important}.tooltipster-sidetip.tooltipster-shadow.tooltipster-bottom:not(.uael-tooltipster-active) .tooltipster-arrow-border{left:-1px!important;top:-11px!important}.tooltipster-sidetip.tooltipster-shadow.tooltipster-bottom:not(.uael-tooltipster-active) .tooltipster-arrow-border{border-bottom-color:#e2e3e4!important}.tooltipster-sidetip.tooltipster-bottom:not(.uael-tooltipster-active) .tooltipster-arrow-background{top:-9px!important;border-bottom-color:#fff!important}.tooltipster-sidetip.tooltipster-left:not(.uael-tooltipster-active) .tooltipster-arrow-background{border-left-color:#fff!important;left:-2px!important;top:0!important}.tooltipster-sidetip.tooltipster-shadow.tooltipster-left:not(.uael-tooltipster-active) .tooltipster-arrow-border{border-left-color:#e2e3e4!important;left:-1px!important;top:-1px!important}@media (max-width:780px){.mec-event-container-simple .mec-monthly-tooltip.event-single-link-simple h4{word-break:break-all;font-size:13px}}@media (max-width:320px){.mec-event-container-simple .mec-monthly-tooltip.event-single-link-simple h4{font-size:10px}}.mec-calendar.mec-calendar-daily .mec-calendar-day-events .mec-event-article{padding-left:15px;padding-right:15px;position:relative}.mec-calendar.mec-calendar-daily .mec-calendar-a-month{text-align:center;background-color:#fff;border-bottom:2px solid #f4f4f4;position:relative}.mec-calendar.mec-calendar-daily .mec-calendar-a-month h4{color:#444;font-size:18px;line-height:1.2;padding:15px 0 11px;margin:0;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid #e6e6e6}.mec-calendar.mec-calendar-daily .mec-calendar-d-top{text-align:center;padding:10px 0;position:relative;background-color:#fafafa}.mec-calendar.mec-calendar-daily .mec-next-month,.mec-calendar.mec-calendar-daily .mec-previous-month{position:absolute;top:50%;left:50%;margin-top:-25px;min-width:50px;height:50px;line-height:50px;text-align:center;background:#fff;border:1px solid #e2e2e2;border-radius:50px;box-shadow:0 2px 0 0 rgba(0,0,0,.015);transition:all .33s ease;cursor:pointer}.mec-calendar.mec-calendar-daily .mec-next-month i,.mec-calendar.mec-calendar-daily .mec-previous-month i{font-size:14px;cursor:pointer}.mec-calendar.mec-calendar-daily .mec-next-month:hover,.mec-calendar.mec-calendar-daily .mec-previous-month:hover{border-color:#d0d0d0;color:#444;box-shadow:0 2px 5px 0 rgba(0,0,0,.075)}.mec-calendar.mec-calendar-daily .mec-previous-month{margin-left:-150px}.mec-calendar.mec-calendar-daily .mec-next-month{margin-left:100px}.mec-calendar.mec-calendar-daily .mec-calendar-a-month .mec-next-month,.mec-calendar.mec-calendar-daily .mec-calendar-a-month .mec-previous-month{min-height:28px;height:28px;line-height:28px;width:28px;margin-top:-14px;border-radius:3px}.mec-calendar.mec-calendar-daily .mec-calendar-d-top h2,.mec-calendar.mec-calendar-daily .mec-calendar-d-top h3{margin-top:9px;color:#b9b9b9;font-size:30px;font-weight:100;text-transform:uppercase;margin-bottom:12px;line-height:1}.mec-calendar.mec-calendar-daily .mec-calendar-d-top h2{font-size:81px;color:#444;margin-bottom:10px;line-height:1.1}.mec-calendar.mec-calendar-daily .mec-calendar-d-table{overflow:hidden;background:#fff;min-height:60px;border-top:1px solid #e6e6e6;border-bottom:2px solid #f3f3f3;padding:0 50px;position:relative}@media only screen and (min-width:479px){.mec-calendar.mec-calendar-daily .mec-calendar-d-table{padding:0 55px}}.mec-calendar.mec-calendar-daily .mec-calendar-d-table dl{width:1310px;display:block}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl{display:none}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl.mec-weekly-view-week-active{display:flex}.mec-calendar.mec-calendar-daily .mec-calendar-d-table a,.mec-calendar.mec-calendar-daily .mec-calendar-d-table dl dt{display:block;background:#fff;width:42px;height:60px;line-height:60px;text-align:center;float:left;border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;border-radius:0}.mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day:hover,.mec-calendar.mec-calendar-daily .mec-calendar-d-table dl dt:hover{background:#fafafa;box-shadow:0 2px 5px 0 rgba(0,0,0,.065) inset;cursor:pointer}.mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day{cursor:default;background:#fff;color:#c1c1c1;line-height:59px;text-align:center;border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day.mec-has-event{cursor:pointer;font-weight:700;color:#4a4a4a}.mec-calendar.mec-calendar-daily .mec-calendar-d-table .mec-daily-view-day.mec-daily-view-day-active,.mec-calendar.mec-calendar-daily .mec-calendar-d-table dl dt.mec-table-d-current{font-size:18px;font-weight:700;background:#fafafa;color:#40d9f1}.mec-calendar.mec-calendar-daily .mec-calendar-d-table a.mec-table-d-next,.mec-calendar.mec-calendar-daily .mec-calendar-d-table a.mec-table-d-prev{float:none;font-size:14px;width:55px;position:absolute;top:0;left:0;cursor:pointer}.mec-calendar.mec-calendar-daily .mec-calendar-d-table a.mec-table-d-next{left:auto;right:0;border-left:1px solid #e6e6e6;border-right:none}.mec-calendar.mec-calendar-daily .mec-today-container .mec-today-count{font-size:12px;color:#888;text-align:center}@media only screen and (max-width:479px){.mec-calendar.mec-calendar-daily .mec-previous-month{margin-left:-130px}.mec-calendar.mec-calendar-daily .mec-next-month{margin-left:80px}.mec-calendar.mec-calendar-daily .mec-calendar-a-month h4{font-size:14px;letter-spacing:0}}.widget .mec-calendar.mec-calendar-daily .mec-calendar-a-month h4{font-size:14px;letter-spacing:0}.widget .mec-calendar.mec-calendar-daily .mec-previous-month{margin-left:-130px}.widget .mec-calendar.mec-calendar-daily .mec-next-month{margin-left:80px}.mec-util-hidden{display:none}.mec-daily-view-date-events,.mec-weekly-view-date-events{list-style:none;margin:0}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table{padding:0}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl{width:calc(100% - 1px)}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt{width:100%;height:70px;line-height:normal;cursor:default}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt:hover{background:#fff;cursor:default}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt:last-child{border-right:none}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt span{font-size:12px;font-weight:700;text-transform:uppercase;display:block;margin:15px 0 6px}.mec-calendar.mec-calendar-weekly .mec-calendar-d-table a.mec-table-d-next,.mec-calendar.mec-calendar-weekly .mec-calendar-d-table a.mec-table-d-prev{display:none}ul.mec-weekly-view-dates-events,ul.mec-weekly-view-dates-events li{padding:0;margin:0;line-height:initial}.mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date{width:64px;height:64px;margin-right:10px;font-size:11px;text-transform:uppercase;float:left;text-align:center;padding-top:2px}.mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date span{font-size:40px;line-height:30px;font-weight:700;display:block;margin-bottom:6px;letter-spacing:1px}.mec-calendar.mec-calendar-weekly .mec-calendar-a-month .mec-previous-month{margin-left:0;left:12px}.mec-calendar.mec-calendar-weekly .mec-calendar-a-month .mec-next-month{margin-left:0;left:auto;right:12px}@media only screen and (max-width:479px){.mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt span{font-size:9px;letter-spacing:0}.mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date{width:100%;height:36px;margin-bottom:12px;line-height:1;font-size:10px;margin-right:5px;text-align:left}.mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date span{font-size:18px;margin-bottom:5px}}.widget .mec-calendar.mec-calendar-weekly .mec-calendar-d-table dl dt span{font-size:9px;letter-spacing:0}.widget .mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date{width:100%;height:36px;margin-bottom:12px;line-height:1;font-size:10px;margin-right:5px;text-align:left}.widget .mec-calendar.mec-calendar-weekly .mec-event-list-weekly-date span{font-size:18px;margin-bottom:5px}.mec-week-events-container .mec-weekly-view-dates-events li.mec-no-event-found{list-style:none!important}li.mec-no-event-found .mec-event-title{text-align:center}.mec-widget .mec-calendar{max-width:100%}.mec-widget .mec-calendar dl dt,.mec-wrap.mec-sm959.mec-widget .mec-calendar.mec-event-calendar-classic dl dt{height:40px}.mec-widget .mec-calendar .mec-calendar-events-sec{padding:10px}.mec-widget .mec-calendar .mec-calendar-header h2{font-size:13px;margin-top:8px}.mec-widget .mec-calendar .mec-event-list-classic .mec-event-image{margin-right:12px}.mec-widget .mec-calendar .mec-has-event:after{width:4px;height:4px}.mec-widget .mec-calendar.mec-event-calendar-classic .mec-calendar-events-sec .mec-table-side-title{font-size:14px}.mec-widget .mec-calendar .mec-event-article .mec-event-image{margin-right:11px}.mec-widget .mec-box-calendar.mec-calendar .mec-calendar-header{margin-bottom:20px}.mec-widget .mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month,.mec-widget .mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{font-size:0;padding:4px 0;text-align:center;min-width:33px}.mec-widget .mec-event-calendar-classic .mec-calendar-side .mec-calendar-table{min-height:200px}.mec-widget .mec-event-list-classic{margin-bottom:8px;padding:8px 0}.mec-widget .mec-event-list-classic .mec-event-article{margin-bottom:0;padding:10px 0;position:relative;min-height:86px;padding-left:80px}.mec-widget .mec-event-list-classic .mec-event-date{font-size:10px;line-height:14px;text-transform:uppercase}.mec-widget .mec-event-list-classic .mec-event-title{font-size:13px}.mec-widget .mec-event-list-classic .mec-event-detail{font-size:11px}.mec-widget .mec-event-list-classic .mec-event-image{width:68px;position:absolute;left:0}.mec-event-list-classic .mec-event-image img{width:100%}.mec-widget .mec-event-list-classic .mec-event-detail{overflow:visible}.event-color{width:14px;display:inline-block;height:14px;margin-left:5px;border-radius:50%}.mec-map-lightbox-wp{width:580px;padding:15px 15px 0;background-color:#fff}.mec-map-view-event-detail.mec-event-detail{width:580px;background-color:#e9e9e9;padding:8px 15px}.mec-map-lightbox-wp.mec-event-list-classic .mec-event-article{padding:0 0 15px;margin:0}.mec-map-lightbox-wp.mec-event-list-classic .mec-event-image{width:70px;margin-right:15px}.mec-marker-infowindow-wp{padding:10px}.mec-marker-infowindow-wp .mec-marker-infowindow-count{width:60px;height:60px;display:block;text-align:center;line-height:60px;border:1px solid #40d9f1;border-radius:50%;font-size:32px;color:#40d9f1;float:left;margin-right:11px}.mec-marker-infowindow-wp .mec-marker-infowindow-content{overflow:hidden;padding-top:6px}.mec-marker-infowindow-wp .mec-marker-infowindow-content span{display:block;color:#222}.mec-marker-infowindow-wp .mec-marker-infowindow-content span:first-child{font-size:15px;font-weight:700}.mec-marker-wrap{display:inline-block;width:35px;height:35px;margin:15px 0 0 4px;border-radius:50% 50% 50% 0;background:#00cae9;animation-name:mec-map-bounce;animation-fill-mode:both;animation-duration:1s;border:3px solid #fff;cursor:pointer}.mec-marker-wrap .mec-marker{margin-top:5px;display:block;-webkit-transform:rotate(45deg);transform:rotate(45deg);text-align:center;color:#fff;font-size:17px}.mec-marker-wrap .mec-marker-pulse-wrap{-webkit-transform:rotate(45deg);transform:rotate(45deg);display:inline-block;margin-left:-11px;margin-top:0}.mec-marker-wrap .mec-marker-pulse{display:inline-block;background:#c5c5c5;border-radius:50%;height:14px;width:14px;-webkit-transform:rotateX(55deg);transform:rotateX(55deg);z-index:-2}.mec-marker-wrap .mec-marker-pulse:after{content:"";border-radius:50%;height:40px;width:40px;position:absolute;margin:-13px 0 0 -13px;animation:pulsate 1s ease-out;animation-iteration-count:infinite;opacity:0;box-shadow:0 0 1px 2px #00cae9;animation-delay:1.1s}@keyframes pulsate{0%{transform:scale(.1,.1);opacity:0}50%{opacity:1}100%{transform:scale(1.2,1.2);opacity:0}}@keyframes mec-map-bounce{0%{opacity:0;transform:translateY(-2000px) rotate(-45deg)}60%{opacity:1;transform:translateY(30px) rotate(-45deg)}80%{transform:translateY(-10px) rotate(-45deg)}100%{transform:translateY(0) rotate(-45deg)}}.mec-skin-grid-container .mec-skin-map-container,.mec-skin-list-container .mec-skin-map-container{margin-bottom:20px}.mec-single-event{margin-top:10px}.mec-single-event .mec-events-meta-group-countdown{color:#c9c9c9;text-align:center;margin-bottom:30px;padding:20px 30px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-events-meta-group-countdown .countdown-w{text-align:center;font-size:36px;margin:0 auto;padding:40px 0 0;position:relative;display:table;table-layout:fixed}.mec-events-meta-group-countdown .countdown-w .icon-w{font-size:24px}.mec-events-meta-group-countdown .countdown-w .label-w{font-size:15px;font-weight:300;letter-spacing:1px;text-transform:uppercase;position:relative}.mec-events-meta-group-countdown .countdown-w .block-w{display:table-cell;margin:0 20px 10px;position:relative;height:70px;width:190px;font-size:72px;transition:all .3s ease-in-out;line-height:1.2}.mec-events-meta-group-countdown .countdown-w .block-w.done-w{border:0 none}.mec-events-meta-group-countdown .countdown-w .block-w li{font-size:50px}.mec-events-meta-group-countdown .countdown-w span{padding:24px 0 20px}.mec-events-meta-group-countdown .countdown-w .div-d{display:none}.mec-events-meta-group-countdown .countdown-w .countdown-message{display:none}.mec-events-meta-group-countdown .countdown-w .block-w i{display:none}#countdown{list-style:none;margin-bottom:0;margin-top:0;margin-left:0;padding-left:0}.mec-events-meta-group-countdown .mec-end-counts h3{display:inherit;text-align:center;font-size:16px;right:50%}.mec-countdown-details .countdown-w .clockdiv li p{margin-top:23px}@media (min-width:481px) and (max-width:768px){.mec-events-meta-group-countdown .countdown-w{padding:0}.mec-events-meta-group-countdown .countdown-w .label-w{font-size:12px;letter-spacing:0}.mec-events-meta-group-countdown .countdown-w span{font-size:34px}}@media (min-width:320px) and (max-width:480px){.mec-events-meta-group-countdown .countdown-w .label-w{font-size:10px}.mec-events-meta-group-countdown .countdown-w span{font-size:28px}.mec-countdown-details .countdown-w .clockdiv li p{margin-top:16px}}@media (max-width:320px){.mec-events-meta-group-countdown .countdown-w .label-w{font-size:9px;letter-spacing:0}.mec-events-meta-group-countdown .countdown-w span{font-size:22px}}.info-msg,.mec-error,.mec-success,.warning-msg{margin:10px 0;padding:10px;border-radius:3px 3px 3px 3px;font-size:13px}.info-msg{color:#059;background-color:#bef}.mec-cart .mec-success,.mec-success{color:#0dbf52;background-color:#cef7ce}.warning-msg{color:#9f6000;background-color:#feefb3}.mec-error{color:#d8000c!important;background-color:#ffbaba}.mec-fes-form,.mec-fes-list{background:#f8feff;padding:30px 3%;color:#798f96}.mec-fes-list .mec-fes-list-top-actions,.mec-fes-list ul{margin:0 auto 15px;max-width:960px;list-style:none;padding-left:40px}.mec-fes-form-cntt .dashicons-editor-help{display:none}.mec-fes-list ul li *{text-decoration:none!important}.mec-fes-list ul li{padding:20px 15px;border-radius:3px;margin-bottom:15px;border:1px solid #cfeff5;box-shadow:0 2px 6px -4px #cfeff5;background:#fff;line-height:normal}.mec-fes-list ul li a{box-shadow:none;color:#181818}.mec-fes-list ul li a:hover{color:#40d9f1}.mec-fes-list ul li .mec-event-title{font-size:17px;font-weight:600;width:calc(100% - 250px);display:inline-block}@media (max-width:680px){.mec-fes-list ul li .mec-event-title{width:100%;font-size:13px;margin:0 0 20px 0;display:block}.mec-fes-list ul li{padding:10px 12px 40px}}@media (max-width:480px){.mec-fes-list .mec-fes-list-top-actions,.mec-fes-list ul{padding-left:0}}.mec-fes-form .mec-required{color:#ff3c3c}.mec-fes-list .mec-event-status{color:#fff!important;border-color:transparent!important}.mec-fes-form .mec-book-confirmed,.mec-fes-list .mec-book-confirmed{background:#50d477!important}.mec-fes-form .mec-book-pending,.mec-fes-list .mec-book-pending{background:#fcbe69!important}.mec-fes-form .mec-book-rejected,.mec-fes-list .mec-book-rejected{background:#fe686a!important}.mec-fes-form .mec-book-other,.mec-fes-list .mec-book-other{background:#40d9f1!important}.mec-fes-list ul li .mec-fes-event-remove,.mec-fes-list ul li .mec-fes-event-view{font-size:11px;padding:0;border:0;background:#f7f8f9;float:right;margin-left:5px;border-radius:2px;transition:all .2s ease}.mec-fes-list ul li .mec-fes-event-export a,.mec-fes-list ul li .mec-fes-event-remove,.mec-fes-list ul li .mec-fes-event-view a{padding:4px 8px;display:inline-block;border:1px solid #e7e8e9;border-radius:2px;color:#789;position:relative}@media (max-width:600px){.mec-fes-list ul li .mec-fes-event-export a,.mec-fes-list ul li .mec-fes-event-remove,.mec-fes-list ul li .mec-fes-event-view a{font-size:10px}}.mec-fes-list ul li .mec-fes-event-remove:hover{cursor:pointer;background:#f96f8a;border-color:#f96f8a;color:#fff}.mec-fes-list ul li .mec-fes-event-export a:hover,.mec-fes-list ul li .mec-fes-event-view a:hover{background:#40d9f1;color:#fff;border-color:#40d9f1}.mec-fes-form-top-actions a,.mec-fes-list-top-actions a,.single-mec-events .pmpro_content_message a,.single-mec-events .pmpro_content_message a:link{position:relative;border:none;border-radius:3px;color:#fff!important;display:inline-block;font-size:13px;line-height:1;text-transform:none;font-weight:400;text-decoration:none;cursor:pointer;margin-bottom:20px!important;margin-right:10px;line-height:1;letter-spacing:0;padding:15px 22px;background:#39c36e;box-shadow:0 1px 7px -3px #39c36e!important;-webkit-transition:all .21s ease;-moz-transition:all .21s ease;transition:all .21s ease;text-decoration:unset}.mec-fes-form-top-actions a:hover,.mec-fes-list-top-actions a:hover,.single-mec-events .pmpro_content_message a:hover,.single-mec-events .pmpro_content_message a:hover:link{background:#222;color:#fff}.mec-fes-list-top-actions a{font-weight:600;text-transform:capitalize}.mec-fes-form-top-actions a:before{content:"";border:solid #fff;border-width:0 2px 2px 0;display:inline-block;padding:6px;margin-right:5px;vertical-align:sub;transform:rotate(135deg);-webkit-transform:rotate(135deg)}.mec-fes-form .mec-form-row,.mec-fes-list .mec-form-row{margin-bottom:10px;clear:both}.mec-fes-form label{font-size:13px;display:block;color:#798f96;font-weight:400;padding:0 0 4px 2px}.mec-fes-form input+label{padding-top:8px;padding-left:3px;margin:0;display:inline-block;vertical-align:top}#wrap .mec-fes-form input+label{padding-top:0}.mec-fes-form .post-status{float:right!important;margin:0 5px;color:#fff;padding:0 10px;border-radius:12px;font-style:italic;font-size:18px}.mec-fes-form #mec-event-data input[type=date],.mec-fes-form input[type=email],.mec-fes-form input[type=number],.mec-fes-form input[type=password],.mec-fes-form input[type=tel],.mec-fes-form input[type=text],.mec-fes-form input[type=url],.mec-fes-form select,.mec-fes-form textarea{min-width:inherit;width:auto;display:inline;min-height:30px;font-size:13px;padding:10px;margin-bottom:20px;clear:both;background:#fff;border:1px solid #cfeff5;box-shadow:0 2px 5px rgba(207,239,245,.38) inset;border-radius:3px;height:40px;max-width:280px;color:#798f96;font-family:inherit}#mec_fes_form input[type=date]::-webkit-calendar-picker-indicator,.lity-content #mec_fes_form input[type=date]::-webkit-calendar-picker-indicator,.lity-content .mec-events-meta-group-booking input[type=date]::-webkit-calendar-picker-indicator,.mec-single-event .mec-events-meta-group-booking input[type=date]::-webkit-calendar-picker-indicator{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA0QjQ2N0QwQjQ4MzExRUE4RDdFREZDRTUxMUVERTM5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA0QjQ2N0QxQjQ4MzExRUE4RDdFREZDRTUxMUVERTM5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDRCNDY3Q0VCNDgzMTFFQThEN0VERkNFNTExRURFMzkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDRCNDY3Q0ZCNDgzMTFFQThEN0VERkNFNTExRURFMzkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6WW71PAAAGIklEQVR42qRXS28bVRQ+586Mx3ZC1DSpVFojRU2CqMIGiSKxAVoUduzoDjYIlhU/Av4AYsdjRXfkD0Cjom6QqIqEqEhRo1aRkkZpkpY6j7GduQ++c2dsj1+BlInGztxvzj3nfudpPlM/otc2W2QjJmU0rZ0uUytUpBxNnN9p/FYhctF0+XUi2nPGkX7WJOfwxNRzqXxtbfI4eUvm7xY1o4iiI0d/vFiisL2BgTAz0yvbCRnLhP0uNEtqrgUseZRcwPPvJewaldSA8o48vo+Tj0U+CnrkOgZwvkEzEmGm1PF9fzK5Y3U/YlllsjRUv19zXl7571HyAjooc/kmYerpcmPO0Mfa0SyxEtji44ynOjPuayjecd7M46/MQOdGyIs9ThnzMLD0XRrwIdeetmoLm41fWiG95Ar792tydLLrOPkAlpW027hbG3+T37lf/5EtvYcXUuhfBjWp9wHRBO63c5lbEkQj2B92uaHy4l2EAQ66GFgbmiD4id/9q661ooAtf8rsvmUEilAHEqcgtJvvNq3YPTkJA8PksT9ZFxD8+4my9pvAOqOMxIMoJHfPZoJkJNiYat3duOac6hxt1N3GR8lnt0O623s+c2CVZEGaZ8Oks1mElvxu7hGYaQjpHLpH3q/YFQE7Oh5Y6gFTaHhAXlasxmoWpZO5L9Ow4DTv+UBZBAkWNO+CqhkbSOzaXWWyzY+n3WcACdVscnklz5CHYsmv1L/RyUJ/cs7zdT3Ey8pTgw/QgNNuS4XjNMvffwvBNmwDH+pdeZ3J+1qDdW15vS0iBhjZWzF9ge8HWl7zNLluYhP/9/jvFANXyL+ufF4jZvOCZsK8isp77+sixf10n7QQjJT39bBtjzdA5chtLG61n7kgk6UvDy29z4HL4c/ifkN0hYV+cA3Bc7stKAfossgSSF06+3HOu8QovE8eThDlv4pu1TbUOpqySDNUKMSDQRIo6QgVRHbFcID1mCITUGgNKLI9uBbcCC59xUi+DsiHBq0XOLb3utqOUYV+LglH9XJASRAsRNqt4xHVj59Exqw3AlrYi0PaiwNqBKoX12Y9iQSP/GkD4xZC0yt/GPFCvZzhUBoMtmPftRwMEEtpupy2auzadLraXtlNoXLhKQYLbjrWRx0cXNf24wxPSmWw5aZPNXSNOi5ytXqZpjTwSqs3PsJi0I61LG29EFG9GtyaeqgvxU17TrAkDjbvnq/eKcTYrbcemi5eHoI/OLgUt7r4n+cqd04llmZ3mjBSDQ4kYtERLLz4OKGt0xGKA9+RgiSGSRV7+UlCVvka72lEvHRx04vLGW2f/PzTBk3VtddRrGlhMXVaIdME5sLJ3ZQOTPQBNqj58uzcxsXtZEkqmQ7IB9ihLeA2x6FQqyG4cRuvbh8uNZSigzBCALhBBtrjkwjjQItQ+kPXWY6eBuEi/lmOlC8kvTh38ZLH3QC+y+GiIl4OqbeZ9RggQZgcVIXe1ep48jPkz/oGw7x1yoytIq1o59AH1Wp1rNHBSXA9tip87zYyvFzpx8dXLVTvqySvhUMNsN6+1ERrrNQVQs57H4K6cR35GrapffICb16RpO7glOHrrQyvjHXxQHB0/j1ugV0LpcFwAzS4n6hiZoIvEp2znwcSigfGJhxpMmseLc0dvFjcvRuLvdEdNyl2+0DOALwE863TM/jnJqhfQa6v4AfJzUNOZ/aVlhqIUpoO4PuU4XFsqFrSM866m9hxBXSvWPx/wHpGqA96Vfa5AH9HnMjYNI96dbkwaVzcCw/nAK+xHzp4Hp89eD04nENzX6v4cYrnrVWXXQF/Fh7MQfWasmogCNsmaT+qwD0g4gYsuYqnWlboeKMUumUr86LycxdwdRUb+zQTvAzcgL0jLXFkbkQUX5UKyFTE2bvZD0a5B8SAUu6dPf+7AInssja2VPSZRud2Ni/NKse5M2VQqkO4BxSzZLmV8Wwpa8S9OHsK3X6+Lc7F/JidOwvkc7z3FbIgzd7smy1c35TEg7NGrg6Ucs88UsCliOLHH1+Td8HYFl++W//QxfT9iSee/3lJWy5X6aMwtK3rTVWJUU4/g4GzdLLp73ku8cEDxNmXUZhc/0eAAQAVgX0RHvvILQAAAABJRU5ErkJggg==);background-position:center;background-size:cover;width:10px;height:12px;display:block}.mec-fes-form input{background:#fff!important;border-radius:3px!important}.mec-fes-form textarea{height:80px}.mec-fes-form input::-webkit-input-placeholder{color:#798f96}.mec-fes-form input::-moz-placeholder{color:#798f96}.mec-fes-form input:-ms-input-placeholder{color:#798f96}.mec-fes-form input:-moz-placeholder{color:#798f96}#mec-excerpt .mec-form-row .widefat{max-width:100%}#mec_more_info_target{width:100%}@media only screen and (min-width:961px){.mec-fes-form #mec-event-data input[type=date],.mec-fes-form #mec-event-data select,.mec-fes-form input[type=email],.mec-fes-form input[type=password],.mec-fes-form input[type=tel],.mec-fes-form input[type=text],.mec-fes-form input[type=url],.mec-fes-form textarea{width:100%;display:inline-block}}@media only screen and (max-width:768px){.mec-fes-form #mec-event-data input[type=date],.mec-fes-form #mec-event-data select,.mec-fes-form input[type=email],.mec-fes-form input[type=password],.mec-fes-form input[type=text],.mec-fes-form input[type=url],.mec-fes-form textarea{width:100%}}.mec-fes-form input[type=text]#mec_fes_title{padding:5px 10px;min-height:32px;height:50px;background:#fff!important;max-width:100%;font-size:19px;font-weight:400}.mec-fes-form input[type=checkbox],.mec-fes-form input[type=radio]{display:inline!important;float:left;margin:5px 5px 0 0}.mec-fes-form input[type=email]:focus,.mec-fes-form input[type=number]:focus,.mec-fes-form input[type=password]:focus,.mec-fes-form input[type=tel]:focus,.mec-fes-form input[type=text]:focus,.mec-fes-form input[type=url]:focus,.mec-fes-form select:focus,.mec-fes-form textarea:focus{border:1px solid #aaa;color:#444;background:#fff;-moz-box-shadow:0 0 3px rgba(0,0,0,.2);-webkit-box-shadow:0 0 3px rgba(0,0,0,.2);box-shadow:0 0 3px rgba(0,0,0,.2);outline:0}.mec-form-row .mec-color{cursor:pointer}.mec-form-row.mec-available-color-row span{margin:10px;width:14px;height:14px;display:inline-block;margin-right:6px;border-radius:20px 20px 20px 20px;vertical-align:middle}.mec-form-row.mec-available-color-row span:first-of-type{margin-left:0}.mec-fes-form.mec-fes-form .mec-tooltip{display:inline}.mec-fes-form-cntt .dashicons-editor-help{display:block}.mec-fes-form .mec-tooltip:hover:after,.mec-fes-form .mec-tooltip:hover:before{display:none}.mec-fes-form.mec-fes-form .mec-tooltip{display:inline-flex;bottom:7px}.mec-fes-form .mec-tooltip .box{min-width:300px;max-width:600px;display:inline-block;left:26px;top:50%;transform:translateY(-50%);padding:0;margin-top:8px;background-color:#535a61;color:#fff;font-weight:300;font-size:14px;letter-spacing:.5px;line-height:1.3;position:absolute;z-index:9999999;box-sizing:border-box;border-radius:6px;box-shadow:0 4px 45px -8px #444b50;visibility:hidden;opacity:0;transition:opacity .23s}#webnus-dashboard .mec-fes-form .mec-tooltip .box p,.mec-fes-form .mec-tooltip .box p{color:#fff!important;font-size:14px;line-height:1.3;margin:0}.mec-fes-form .mec-tooltip:hover .box{visibility:visible;opacity:1}.mec-fes-form .mec-tooltip:hover .box{padding:20px;border-radius:8px}.mec-fes-form .mec-tooltip .box h5{color:#fff;font-size:17px;font-weight:600;margin:-30px -20px;padding:20px 0;text-align:center;margin-bottom:10px;background:#3a3f44;border-bottom:1px solid #32363a;border-radius:6px 6px 0 0;z-index:9999}#webnus-dashboard .mec-fes-form .mec-tooltip .box p a,.mec-fes-form .mec-tooltip .box p a{color:#40d9f1;margin-top:10px;margin-left:0;font-weight:400;position:relative;text-decoration:none;display:block;width:max-content}.mec-fes-form .mec-tooltip .box a:hover{color:#f90}.mec-fes-form .mec-tooltip .box:after{display:block;position:absolute!important;top:100%!important;right:50%!important;margin-top:-6px!important;margin-right:-6px!important;width:12px!important;height:24px!important;overflow:hidden!important;transform:rotate(-90deg)!important}.mec-fes-form .mec-tooltip .box:before{display:block;content:""!important;position:absolute!important;width:12px;height:12px;left:-10px!important;top:50%!important;transform:translate(50%,-50%) rotate(-45deg)!important;background-color:#535a61!important;box-shadow:0 8px 9px -4px #535a61!important;z-index:0!important}.mec-fes-form .mec-tooltip .box.top{left:50%;top:0;transform:translate(-50%,-100%);margin-top:0;margin-left:-10px}.mec-fes-form .mec-tooltip .box.top:after{top:50%!important;right:100%!important}.mec-fes-form .mec-tooltip .box.top:before{left:50%!important;top:100%!important}.mec-fes-form .mec-tooltip .box.bottom{left:50%;top:auto;bottom:0;transform:translate(-50%,100%);margin-bottom:-20px;margin-left:-10px}.mec-fes-form .mec-tooltip .box.bottom:after{top:0!important;right:50%!important;background-color:#3a3f44!important}.mec-fes-form .mec-tooltip .box.bottom:before{left:50%!important;top:-7px!important;transform:translateX(-50%);background-color:#3a3f44!important}.mec-fes-form .mec-tooltip .box.left{left:auto;right:26px;top:50%;transform:translateY(-50%)}.mec-fes-form .mec-tooltip .box.left:before{right:0!important;left:auto!important;top:50%!important}.mec-fes-form .mec-tooltip{display:inline-block;position:relative;margin-right:10px;cursor:help;bottom:5px;left:3px}.mec-fes-form .mec-tooltip:last-child{margin-right:0}.mec-fes-form .mec-tooltip:hover:after{background:#313130;border-radius:5px;bottom:24px;color:#fff;content:attr(title);left:-75px;padding:10px;position:absolute;z-index:98;width:240px}.mec-fes-form .mec-tooltip:hover:before{border:solid;border-color:#313130 transparent;border-width:6px 6px 0;bottom:18px;content:"";left:30%;position:absolute;z-index:99}.mec-fes-form .mec-tooltip .dashicons-before:before{font-size:24px;color:#008aff;line-height:37px}.mec-fes-form .mec-tooltip a:focus{box-shadow:none}.mec-form-row .bootstrap_unvalid{display:block;border:2px solid red;position:relative;display:inline-block;border-bottom:1px dotted #000}.mec-fes-form .mec-tooltiptext{visibility:hidden;width:120px;background-color:red;color:#fff;text-align:center;border-radius:6px;padding:5px 0;position:absolute;z-index:1}.mec-fes-form .mec-tooltip .content p a{display:none}@media only screen and (min-width:961px){.mec-fes-form .mec-fes-form-cntt,.mec-fes-form .mec-fes-form-sdbr{width:68%;float:left;padding-right:20px}.mec-fes-form .mec-fes-form-sdbr{width:32%;padding-right:0;padding-left:20px}.mec-fes-submit-mobile{display:none}}.mec-fes-form .mec-meta-box-fields{padding:0 20px 20px;border:1px solid #cfeff5;margin-bottom:20px!important;box-shadow:0 2px 6px -3px #cfeff5;border-radius:3px;background:#fff}.mec-fes-form .mec-meta-box-fields h4,.mec-fes-form .mec-meta-box-fields h4 label{margin:0 -20px;font-size:15px;font-weight:600;letter-spacing:0;color:#40d9f1;text-transform:capitalize;padding:15px 20px;background:#ecfcff;margin-bottom:20px}.mec-fes-form .mec-meta-box-fields h4 label{padding:0;margin:0}.mec-fes-sub-button{width:100%}.mec-available-color-row span.color-selected{border:3px solid #fff;box-sizing:content-box;box-shadow:0 0 0 2px #40d9f1,0 2px 8px -1px #40d9f1}.mec-fes-loading:before{content:url(../img/ajax-loader.gif);background:0 0;border-style:none;display:block;margin-left:47%}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text]{width:190px;margin-right:1.4%}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text].mec-col-1,.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text].mec-col-2{width:120px;margin-right:10px}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text].widefat{width:100%}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row{border-bottom:none;padding-bottom:10px}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text].mec-col-6{width:39%}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row button{margin-right:0;padding:9px 26px}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row button.mec-add-hourly-schedule-button{font-size:12px;height:30px;line-height:25px}.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row .description{display:inline-block;border-left:1px dashed #bfcacc;margin-left:12px;line-height:28px;padding-left:12px;margin-top:5px;font-style:italic}@media only screen and (max-width:768px){.mec-fes-form #mec_meta_box_hourly_schedule_days .mec-form-row input[type=text]{width:100%!important}}#mec_fes_form_message{max-width:838px;margin:10px auto;display:block!important;text-align:center}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip{position:relative}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list strong,.post-type-mec-books .attendees strong{line-height:26px;padding-left:26px}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip:before{position:absolute;content:"\e001";font-family:simple-line-icons;margin:12px 0;top:-30px;left:0;font-size:18px;line-height:12px;color:#40d9f1;padding:0 60px 5px 0}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip ul{position:absolute;min-width:300px;max-width:600px;display:inline-block;left:60px;top:50%;transform:translateY(-50%);background-color:#535a61;color:#fff;font-weight:300;font-size:14px;letter-spacing:.5px;line-height:1.3;z-index:9999999;box-sizing:border-box;box-shadow:0 4px 45px -8px #444b50;visibility:hidden;opacity:0;transition:opacity .23s;padding:23px 20px 20px 20px;border-radius:8px;margin-top:-13px}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip ul:before{display:block;content:""!important;position:absolute!important;width:12px;height:12px;left:-10px!important;top:50%!important;transform:translate(50%,-50%) rotate(-45deg)!important;background-color:#535a61!important;box-shadow:0 8px 9px -4px #535a61!important;z-index:0!important}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip:hover ul{visibility:visible;opacity:1}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip ul li{list-style:none}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip ul a{color:#40d9f1;margin-bottom:14px;margin-left:0;font-weight:400;font-size:14px;letter-spacing:.5px;position:relative;text-decoration:none;display:block;width:max-content}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .mec-booking-attendees-tooltip ul li:last-child a{margin-bottom:0}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list{margin:0}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix:first-child{background:#fff;border-bottom:1px solid #cfeff5}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix:first-child div span{line-height:1;font-weight:600;font-size:13px}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix{display:flex;background:#f8feff;padding:10px;text-align:left}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3{width:25%;word-wrap:break-word}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3:first-child{width:45%}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3:nth-child(2){width:15%}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3:nth-child(3){width:25%}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3:nth-child(4){width:20%}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix:not(:first-child) .w-col-xs-3{font-size:13px;display:block;color:#798f96;font-weight:400;padding:0}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix .w-col-xs-3 a{text-decoration:unset}.mec-fes-form .mec-attendees-wrapper .mec-attendees-list .w-clearfix:nth-child(odd){background:#fff}.mec-wrap .mec-totalcal-box{position:relative;border:1px solid #efefef;padding:20px 5px;margin:0 0 20px;background:#fafafa;overflow:hidden;box-shadow:0 3px 2px 0 rgba(0,0,0,.012);min-height:78px}.mec-wrap .mec-totalcal-box i{float:left;margin:0;width:36px;height:36px;background:#fff;border:1px solid #efefef;text-align:center;padding:10px 0;font-size:15px;color:#888}.mec-checkboxes-search .mec-searchbar-category-wrap,.mec-wrap .mec-totalcal-box .mec-totalcal-view span,.mec-wrap .mec-totalcal-box input,.mec-wrap .mec-totalcal-box select{width:auto;min-height:36px;height:36px;line-height:36px;background:#fff;font-size:13px;color:#777;border:1px solid #efefef;margin:0 0 0 -1px;float:left;padding:0 5px}.mec-there-labels .mec-totalcal-view{margin-top:28px}.mec-wrap .mec-totalcal-box input[type=submit]{cursor:pointer;padding:0 16px;text-transform:uppercase;font-size:11px;transition:all .21s ease}.mec-wrap .mec-totalcal-box input[type=submit]:hover{background:#222;color:#fff}.mec-wrap .mec-totalcal-box .mec-totalcal-view span{display:inline-block;text-transform:uppercase;font-size:11px;padding:0 12px;cursor:pointer}.mec-wrap .mec-totalcal-box .mec-totalcal-view span:hover{color:#40d9f1}.mec-wrap .mec-totalcal-box .mec-totalcal-view span.mec-totalcalview-selected{color:#fff;background:#40d9f1;border-color:#40d9f1}.mec-wrap .mec-totalcal-box .mec-totalcal-view{text-align:right;float:right}.mec-wrap .mec-totalcal-box input[type=search]{width:calc(100% - 36px)}.mec-there-reset-button .mec-totalcal-box{padding-bottom:48px}.mec-wrap .mec-totalcal-box .mec-search-reset-button .mec-button{position:absolute;margin:0;bottom:0;right:0;padding:9px 25px;border-radius:2px 0 0 0;background:#fff;color:#767676;border-top:1px solid;border-left:1px solid;border-color:#e8e8e8;overflow:hidden}.mec-wrap .mec-totalcal-box .mec-search-reset-button .mec-button:hover{background:#000;color:#fff;border-color:#000}.mec-full-calendar-wrap .mec-search-form .col-md-7{padding:0}.mec-wrap .mec-date-search .mec-col-3,.mec-wrap .mec-minmax-event-cost .mec-minmax-price{width:calc(50% - 17px)}.mec-wrap .mec-text-address-search.with-mec-cost{width:calc(100% - 356px)}.mec-wrap .mec-minmax-event-cost{display:block;float:left;width:50%;margin-left:10px}.mec-wrap .mec-minmax-event-cost.with-mec-address{display:block;width:336px;max-width:50%;float:right;margin-left:0;margin-right:10px}.mec-wrap .mec-checkboxes-search{margin-left:10px;margin-right:10px;display:table-caption}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap{width:calc(100% - 36px)!important;max-width:calc(100% - 36px)!important;padding:0;position:relative;line-height:inherit;height:auto}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap select{line-height:20px}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container.select2-container--default{width:calc(100% - 36px)!important}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap input[type=search]{width:calc(100% - 36px)!important;min-height:30px;margin:0}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple ul,.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container.select2-container--default{height:auto;overflow:unset}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple ul{display:block}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple{border:unset;width:100%;height:0!important;border-radius:0}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple ul li{line-height:12px!important;max-height:20px!important;width:auto;margin-right:5px;margin-top:5px}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple .select2-selection__choice{letter-spacing:0;color:#777;text-transform:capitalize;padding:4px 6px;background-color:#efefef;border-radius:2px;border:0;cursor:default;float:left;margin-right:5px;margin-top:5px;margin-bottom:5px;font-size:11px;text-transform:uppercase}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple .select2-selection__choice__remove{color:#777}@media only screen and (min-width:961px) and (max-width:1200px){.mec-wrap .mec-totalcal-box{padding:37px 5px}}@media only screen and (max-width:960px){.mec-wrap .mec-totalcal-box .col-md-3,.mec-wrap .mec-totalcal-box .col-md-4,.mec-wrap .mec-totalcal-box .col-md-5{width:100%;float:none;clear:both;overflow:hidden}.mec-full-calendar-wrap .mec-search-form .col-md-3,.mec-full-calendar-wrap .mec-search-form .col-md-4,.mec-full-calendar-wrap .mec-search-form .col-md-5{display:block;max-width:100%;padding:0;margin:0 0 10px 0}.mec-full-calendar-wrap .mec-search-form .col-md-3{padding-bottom:10px!important}.mec-wrap .mec-search-form .mec-date-search select{width:calc(100% - 106px)}.mec-wrap .mec-search-form .mec-date-search select:last-child{width:70px}.mec-wrap .mec-totalcal-box .mec-totalcal-view{float:none}.mec-wrap .mec-checkboxes-search .mec-searchbar-category-wrap .select2-container .select2-selection--multiple .select2-selection__choice{display:block;max-width:100%;white-space:break-spaces;max-height:unset!important;height:auto!important}}@media only screen and (min-width:768px) and (max-width:960px){.mec-wrap .mec-totalcal-box .col-md-4{position:relative;width:initial}.mec-wrap .mec-totalcal-box .col-md-5{padding-bottom:0}.mec-full-calendar-wrap .mec-search-form .col-md-5{margin-top:20px}.mec-wrap .mec-totalcal-box{padding:37px 5px}}@media only screen and (max-width:767px){.mec-wrap .mec-totalcal-box .mec-totalcal-view{float:none}.mec-wrap .mec-totalcal-box .col-md-4{padding-bottom:0}.mec-wrap .mec-minmax-event-cost.with-mec-address,.mec-wrap .mec-text-address-search.with-mec-cost{width:100%;float:left}.mec-wrap .mec-minmax-event-cost.with-mec-address{max-width:calc(100% - 20px);margin:0 10px 20px 10px}.mec-wrap .mec-minmax-event-cost .mec-minmax-price{width:calc(50% - 17px)}}@media only screen and (max-width:479px){.mec-wrap .mec-totalcal-box .mec-totalcal-view span{padding:0 8px;font-size:10px}.mec-wrap .mec-totalcal-box input[type=submit]{padding:0 10px;font-size:10px}}@media only screen and (min-width:961px){.mec-wrap .mec-wrap.mec-sm959 .mec-totalcal-box .col-md-5,.mec-wrap.mec-sm959 .mec-totalcal-box .col-md-3{padding-bottom:20px;clear:both;overflow:hidden}.mec-wrap.mec-sm959 .mec-totalcal-box .col-md-5{right:10px;width:initial}.mec-wrap.mec-sm959 .mec-totalcal-box .col-md-4{padding-bottom:0;width:100%}}@media (min-width:961px) and (max-width:1200px){.mec-full-calendar-wrap .mec-totalcal-box{padding:15px 10px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2{width:50%}.mec-wrap .mec-totalcal-box .mec-totalcal-view span{padding:0 10px}.mec-search-form .mec-date-search,.mec-search-form .mec-dropdown-search,.mec-search-form .mec-text-address-search,.mec-search-form .mec-text-input-search{padding:0 4px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2,.mec-full-calendar-wrap .mec-totalcal-box .col-md-3,.mec-full-calendar-wrap .mec-totalcal-box .col-md-4,.mec-full-calendar-wrap .mec-totalcal-box .col-md-5{padding-bottom:20px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2 select{min-width:calc(100% - 36px)}.mec-full-calendar-wrap .mec-totalcal-box .col-md-3 select{min-width:calc(30% - 10px)}.mec-full-calendar-wrap .mec-totalcal-box .col-md-3:last-child select{min-width:calc(50% - 19px)}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{font-size:9px;text-align:center}}@media only screen and (max-width:1200px){.post-type-archive-mec-events .mec-totalcal-box .col-md-3,.post-type-archive-mec-events .mec-totalcal-box .col-md-4{width:100%;padding:0}.post-type-archive-mec-events .mec-totalcal-box select:last-child{min-width:auto}.post-type-archive-mec-events .mec-totalcal-box .col-md-5{position:relative;float:right;max-width:100%;left:0;top:20px;width:100%!important;display:block;clear:both}.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view{max-width:100%;width:100%}.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view span{width:20.1%;font-size:10px}}@media only screen and (max-width:960px){.post-type-archive-mec-events .mec-totalcal-box .col-md-5{top:10px}}@media only screen and (max-width:760px){.post-type-archive-mec-events .mec-totalcal-box .col-md-5{top:0!important}}@media only screen and (max-width:480px){.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view span{font-size:8px}}@media (min-width:1201px) and (max-width:1280px){.mec-full-calendar-wrap .mec-totalcal-view span{font-size:9px;padding:0 10px}}@media (min-width:761px) and (max-width:1200px){.mec-full-calendar-wrap .mec-search-form .mec-dropdown-wrap .mec-dropdown-search{width:33.3333%;display:block;float:left}.mec-full-calendar-wrap .mec-search-form .col-md-4 .mec-text-input-search{padding:0;margin-bottom:20px}.mec-full-calendar-wrap .mec-search-form .col-md-3{width:100%}.mec-full-calendar-wrap .mec-search-form .mec-date-search select:last-child{min-width:70px;width:70px}.mec-full-calendar-wrap .mec-search-form .col-md-5{float:right;padding:0 0 10px 0}.mec-full-calendar-wrap .mec-totalcal-view span{font-size:11px}}@media (max-width:760px){.mec-full-calendar-wrap .mec-search-form .col-md-3{width:100%}.mec-full-calendar-wrap .mec-search-form .mec-date-search select:last-child{min-width:70px;width:70px}.mec-full-calendar-wrap .mec-search-form .col-md-5{float:right;padding:0 0 10px 0}.mec-full-calendar-wrap .mec-totalcal-view span{font-size:11px}}@media (max-width:960px){.mec-full-calendar-wrap .mec-totalcal-box{padding:20px 20px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2{width:50%}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2,.mec-full-calendar-wrap .mec-totalcal-box .col-md-3,.mec-full-calendar-wrap .mec-totalcal-box .col-md-4{padding-bottom:10px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2 select{min-width:calc(100% - 36px);margin-bottom:10px}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view{margin-left:10px}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{font-size:10px;text-align:center}.mec-full-calendar-wrap .mec-totalcal-box .col-md-2{width:100%}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{min-width:14.3%;text-align:center;font-size:10px;margin-right:-1px}}@media (max-width:780px){.mec-full-calendar-wrap .mec-totalcal-box .col-md-3 select{width:calc(50% - 18px)!important}.mec-full-calendar-wrap .mec-totalcal-box .col-md-4{position:unset;padding-right:0}.mec-full-calendar-wrap .mec-search-form .col-md-3,.mec-full-calendar-wrap .mec-search-form .col-md-4,.mec-full-calendar-wrap .mec-search-form .col-md-5{margin:0;padding:0}.mec-wrap .mec-totalcal-box .mec-totalcal-view span{padding:0 7px;margin-top:20px}}@media (max-width:480px){.mec-full-calendar-wrap .mec-totalcal-box{padding:15px 10px}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{min-width:13.5%;text-align:center;font-size:11px}}@media (max-width:411px){.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{min-width:12%;font-size:10px}}@media (max-width:320px){.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{min-width:22.5%;font-size:11px}}.mec-totalcalview-selected:hover{color:#fff!important}.mec-search-form{padding:20px 10px}.mec-search-form .mec-dropdown-wrap{display:table;width:100%}.mec-search-form .mec-date-input-search,.mec-search-form .mec-date-search,.mec-search-form .mec-dropdown-search,.mec-search-form .mec-text-input-search,.mec-search-form .mec-time-input-search{padding:0 10px;float:left}.mec-search-form .mec-date-search,.mec-search-form .mec-time-picker-search,.mec-search-form .mec-totalcal-view{padding:0 10px}.mec-search-form .mec-text-input-search{width:100%}.mec-search-form .mec-full-calendar-search-ends .mec-text-input-search{width:50%}.mec-search-form .mec-date-search,.mec-search-form .mec-time-picker-search{width:50%;float:left}.mec-search-form .mec-date-search.with-mec-time-picker,.mec-search-form .mec-time-picker-search.with-mec-date-search{width:25%;float:left}.mec-search-form .mec-tab-loader.col-md-6 .mec-totalcal-view{padding:0}.mec-wrap .mec-search-form .with-mec-date-search .mec-timepicker-end,.mec-wrap .mec-search-form .with-mec-date-search .mec-timepicker-start{width:calc(50% - 17px)}.mec-search-form .mec-full-calendar-search-ends .mec-text-input-search.col-md-12,.mec-search-form .mec-minmax-event-cost,.mec-search-form .mec-text-address-search{min-height:55px}.mec-search-form .mec-full-calendar-search-ends .mec-text-input-search.col-md-12,.mec-widget .mec-search-form .mec-date-search,.mec-widget .mec-search-form .mec-text-input-search{width:100%}.mec-search-form .mec-full-calendar-search-ends .mec-text-input-search.col-md-12{padding:0 10px}.mec-search-form .mec-minmax-event-cost,.mec-search-form .mec-text-address-search,.mec-widget .mec-search-form .mec-text-input-search{margin-top:10px}.mec-search-form .mec-date-search{clear:left}.mec-search-form .mec-dropdown-wrap .mec-dropdown-search{display:table-cell;float:none}.mec-widget .mec-search-form .mec-dropdown-wrap .mec-dropdown-search{display:block}.mec-checkboxes-search .mec-searchbar-category-wrap,.mec-wrap .mec-search-form .mec-dropdown-wrap .mec-dropdown-search select{width:calc(100% - 36px);margin-bottom:10px}.mec-wrap .mec-search-form .mec-minmax-price input,.mec-wrap .mec-search-form .mec-text-address-search input,.mec-wrap .mec-search-form .mec-text-input-search input{margin-bottom:10px}.mec-wrap .mec-totalcal-box label{display:block;line-height:1.8;margin-bottom:4px;font-size:13px;color:#9a9a9a}.mec-wrap .mec-search-form .mec-date-search select{width:calc(100% - 106px)}.mec-wrap .mec-search-form .mec-date-search select:last-child{width:70px}@media only screen and (max-width:781px){.mec-search-form .mec-date-search,.mec-search-form .mec-dropdown-search,.mec-search-form .mec-text-input-search{width:100%;float:none}.mec-search-form .mec-date-search{min-height:55px}.mec-search-form .mec-dropdown-wrap .mec-dropdown-search{display:block;width:50%;float:left}.mec-full-calendar-wrap .mec-totalcal-box .col-md-3{margin-bottom:0;padding-bottom:0!important}}@media only screen and (max-width:479px){.mec-search-form .mec-dropdown-wrap .mec-dropdown-search{display:block;width:100%;float:none}}@media only screen and (min-width:961px) and (max-width:1200px){.post-type-archive-mec-events .mec-totalcal-box .col-md-3,.post-type-archive-mec-events .mec-totalcal-box .col-md-4,.post-type-archive-mec-events .mec-totalcal-box .col-md-5{max-width:100%;width:100%}.post-type-archive-mec-events .mec-totalcal-box .col-md-4{padding:0 10px}.post-type-archive-mec-events .mec-totalcal-box .col-md-4 .mec-text-input-search{margin:0}.post-type-archive-mec-events .mec-totalcal-box .col-md-5{margin-bottom:20px;padding:0 10px 10px 10px}}@media only screen and (max-width:960px){.mec-full-calendar-wrap .mec-totalcal-box .col-md-4,.post-type-archive-mec-events .mec-totalcal-box .col-md-4{padding:0 10px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-4{margin-bottom:0}.post-type-archive-mec-events .mec-totalcal-box .col-md-4 .mec-text-input-search{margin:0}.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view{padding-right:15px}.mec-full-calendar-wrap .mec-search-form .col-md-5{margin-bottom:0}.post-type-archive-mec-events .mec-totalcal-box .col-md-5{padding:0}}@media only screen and (max-width:780px){.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view span{margin-top:10px;margin-bottom:10px}.mec-wrap .mec-totalcal-box .mec-totalcal-view span{margin-top:0}}@media only screen and (max-width:760px){.post-type-archive-mec-events .mec-totalcal-box .mec-totalcal-view span{margin-top:20px;margin-bottom:0}.mec-wrap .mec-totalcal-box .mec-totalcal-view span{margin-top:20px}.mec-full-calendar-wrap .mec-totalcal-box .col-md-4,.post-type-archive-mec-events .mec-totalcal-box .col-md-4{padding:0}}@media only screen and (max-width:1200px){.post-type-archive-mec-events .mec-full-calendar-wrap .mec-totalcal-view span{width:14.333%;font-size:8px}}@media only screen and (min-width:320px) and (max-width:960px){.post-type-archive-mec-events .mec-search-form .col-md-5 span{width:20%!important}}.mec-search-form .mec-text-address-search{float:left;width:100%;padding:0 10px}@media (max-width:960px){.mec-search-form .mec-dropdown-search{margin-bottom:10px}.mec-wrap .mec-minmax-event-cost.with-mec-address,.mec-wrap .mec-text-address-search.with-mec-cost{margin-top:0}.mec-search-form .mec-date-search.with-mec-time-picker,.mec-search-form .mec-time-picker-search.with-mec-date-search{width:50%;margin-bottom:20px}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view{margin:0}.mec-full-calendar-wrap .mec-tab-loader{width:100%;display:block;float:unset;padding:0 0 0 10px}}@media (max-width:780px){.mec-full-calendar-wrap .mec-totalcal-box{padding:10px}.mec-search-form .mec-date-search.with-mec-time-picker,.mec-search-form .mec-time-picker-search.with-mec-date-search{margin:20px 0;height:auto}.mec-search-form .mec-date-search{min-height:unset}}@media (max-width:480px){.mec-search-form .mec-date-search.with-mec-time-picker,.mec-search-form .mec-time-picker-search.with-mec-date-search{width:100%}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span{min-width:12%;text-align:center;font-size:9px}.mec-full-calendar-wrap .mec-totalcal-box .mec-totalcal-view span,.mec-search-form .mec-date-search.with-mec-time-picker,.mec-search-form .mec-full-calendar-search-ends .mec-text-input-search,.mec-search-form .mec-minmax-event-cost,.mec-search-form .mec-text-address-search,.mec-search-form .mec-time-picker-search.with-mec-date-search,.mec-wrap .mec-minmax-event-cost.with-mec-address{margin-bottom:0;margin-top:10px;min-height:auto}.mec-wrap .mec-minmax-event-cost.with-mec-address{margin-bottom:10px}.mec-wrap.mec-widget .mec-minmax-event-cost.with-mec-address,.mec-wrap.mec-widget .mec-search-form .mec-time-picker-search.with-mec-date-search,.mec-wrap.mec-widget .mec-text-address-search.with-mec-cost{display:block!important;width:100%!important;max-width:100%!important}.mec-wrap.mec-widget .mec-minmax-event-cost.with-mec-address{float:left!important;max-width:calc(100% - 20px)!important;margin:0 0 0 10px!important}.mec-wrap.mec-widget .mec-search-form .mec-time-picker-search.with-mec-date-search{margin-top:20px!important}.mec-wrap.mec-widget .mec-search-form .mec-text-input-search{padding:10px!important}}.ui-datepicker{background-color:#fff;border:1px solid #66afe9;border-radius:4px;box-shadow:0 0 8px rgba(102,175,233,.6);display:none;margin-top:4px;padding:10px;width:240px}.ui-datepicker a,.ui-datepicker a:hover{text-decoration:none;cursor:pointer}.ui-datepicker a:hover,.ui-datepicker td:hover a{color:#2c6396;-webkit-transition:color .1s ease-in-out;-moz-transition:color .1s ease-in-out;-o-transition:color .1s ease-in-out;transition:color .1s ease-in-out}.ui-datepicker .ui-datepicker-header{margin-bottom:4px;text-align:center}.ui-datepicker .ui-datepicker-title{font-weight:700}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{cursor:default;font-family:dashicons;-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;height:20px;line-height:1.4;margin-top:2px;width:20px}.ui-datepicker .ui-datepicker-prev{float:left;text-align:left}.ui-datepicker .ui-datepicker-next{float:right;text-align:center}.ui-datepicker .ui-datepicker-prev:before{content:"\f341"}.ui-datepicker .ui-datepicker-next:before{content:"\f345"}.ui-datepicker .ui-icon{display:none}.ui-datepicker .ui-datepicker-calendar{table-layout:fixed;width:100%}.ui-datepicker .ui-datepicker-calendar td,.ui-datepicker .ui-datepicker-calendar th{text-align:center;padding:4px 0}.ui-datepicker .ui-datepicker-calendar td{border-radius:4px;-webkit-transition:background-color .1s ease-in-out,color .1s ease-in-out;-moz-transition:background-color .1s ease-in-out,color .1s ease-in-out;-o-transition:background-color .1s ease-in-out,color .1s ease-in-out;transition:background-color .1s ease-in-out,color .1s ease-in-out}.ui-datepicker .ui-datepicker-calendar td:hover{background-color:#eee;cursor:pointer}.ui-datepicker .ui-datepicker-calendar td a{text-decoration:none}.ui-datepicker .ui-datepicker-current-day{background-color:#4289cc}.ui-datepicker .ui-datepicker-current-day a{color:#fff}.ui-datepicker .ui-datepicker-calendar .ui-datepicker-unselectable:hover{background-color:#fff;cursor:default}.mec-owl-theme .owl-dots .owl-dot{border:none}.event-carousel-type1-head .mec-event-image{position:relative;min-height:150px;overflow:hidden}.event-carousel-type1-head .mec-event-image img{width:100%}.mec-event-carousel-content .mec-event-carousel-title a{transition:all .2s ease}.event-carousel-type1-head .mec-event-date-carousel{position:absolute;top:25px;left:1px;font-size:41px;width:160px;color:#fff;font-weight:500;background-color:#40d9f1;padding-left:14px;height:97px;line-height:2.3;padding-right:85px}.event-carousel-type1-head .mec-event-date-carousel:after{content:"";position:absolute;display:inline-block;z-index:-1;bottom:-13px;left:5px;width:0;border-width:13px;border-style:solid;border-color:transparent transparent #40d9f1 transparent;transform:rotate(45deg)}.event-carousel-type1-head .mec-event-date-info{font-size:12px;font-weight:300;position:absolute;top:27px;left:75px}.event-carousel-type1-head .mec-event-date-info-year{font-size:12px;font-weight:300;position:absolute;top:45px;left:75px}.mec-event-carousel-content{border:1px solid #e8e8e8;border-top:none;margin-top:-5px;padding:34px 9px 11px 37px}.mec-event-carousel-content .mec-event-carousel-title a{font-size:23px;font-weight:500;color:#000;letter-spacing:-1px}.mec-event-carousel-content p{font-size:14px;color:#7a7272;font-weight:300}.mec-owl-crousel-skin-type1 .owl-item .mec-event-article{padding:0 19px}.mec-event-carousel-type1 .owl-page.active span{background-color:#00aeef;height:14px;width:14px}.mec-event-carousel-type1 .mec-event-carousel-content{margin-bottom:15px;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:all .27s ease}.mec-event-carousel-type1 .mec-event-carousel-content:hover{box-shadow:0 0 35px rgba(0,0,0,.07)}.mec-skin-carousel-container .mec-multiple-event .mec-event-date-carousel{width:255px}.mec-skin-carousel-container .mec-multiple-event .event-carousel-type1-head .mec-event-date-info,.mec-skin-carousel-container .mec-multiple-event .event-carousel-type1-head .mec-event-date-info-year{left:175px}.mec-skin-carousel-container .mec-time-details,.mec-skin-carousel-container .mec-time-details span{font-size:11px;font-weight:400;line-height:1.9;letter-spacing:0;color:#000;border-radius:2px;white-space:nowrap}.mec-event-carousel-type4 .mec-time-details,.mec-event-carousel-type4 .mec-time-details span{color:#fff}.mec-skin-carousel-container .mec-time-details span{margin:0;display:inline-block}@media only screen and (min-width:768px) and (max-width:1000px),(min-width:270px) and (max-width:448px){.event-carousel-type1-head .mec-event-date-carousel{font-size:25px;line-height:2.5;padding-right:70px;height:64px;width:120px}.event-carousel-type1-head .mec-event-date-carousel:after{left:7px}.event-carousel-type1-head .mec-event-date-info{font-size:10px;top:13px;left:55px}.event-carousel-type1-head .mec-event-date-info-year{font-size:10px;top:25px;left:55px}.event-carousel-type1-head .mec-event-date-carousel:after{top:48px}}.event-carousel-type2-head{background:#fff;border:1px solid #e6e6e6}.event-carousel-type2-head .mec-event-carousel-content-type2{margin-top:15px;min-height:182px}.event-carousel-type2-head .mec-event-carousel-content-type2 .mec-event-date-info{font-size:15px;color:#9a9a9a;font-weight:300}.event-carousel-type2-head .mec-event-carousel-content-type2 .mec-event-carousel-title{font-size:26px;font-weight:700;color:#1c1d21;margin-top:15px;letter-spacing:-1px}.mec-event-carousel-content-type2 .mec-event-carousel-title a{color:inherit}.mec-event-carousel-type2 .event-carousel-type2-head .mec-event-carousel-content-type2 p{font-size:16px;font-weight:300;color:#444}.event-carousel-type2-head .mec-event-footer-carousel-type2{margin-top:33px;position:relative}.mec-event-carousel-type2 .mec-event-footer-carousel-type2 .mec-event-sharing-wrap{padding-left:0;left:0}.event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-event-sharing-wrap>li{border:none;-webkit-transition:all .25s ease;transition:all .25s ease}.event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-booking-button{border:1px solid #e4e4e4;float:right;padding:7px 23px 7px;font-size:12px;text-transform:uppercase;color:#707070;font-weight:500;-webkit-transition:all .25s ease;transition:all .25s ease}.event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-booking-button:hover{color:#fff}.mec-event-article .event-carousel-type2-head{padding:10%;margin-right:-1px}.mec-event-carousel-type2 .mec-owl-carousel .owl-wrapper-outer{border-right:1px solid #e6e6e6}.event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-booking-button{line-height:25px;height:41px;margin-right:0}.event-carousel-type2-head .mec-event-footer-carousel-type2 .mec-modal-booking-button{margin-right:20px}.mec-wrap .mec-event-carousel-type2 .owl-next,.mec-wrap .mec-event-carousel-type2 .owl-prev,.mec-wrap .mec-event-carousel-type3 .owl-next,.mec-wrap .mec-event-carousel-type3 .owl-prev,.mec-wrap .mec-event-carousel-type4 .owl-next,.mec-wrap .mec-event-carousel-type4 .owl-prev{transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:47%;background-color:transparent!important;position:absolute!important}.mec-event-carousel-type2 .owl-next{right:-60px}.mec-event-carousel-type2 .owl-prev{left:-60px}.mec-event-carousel-type2 .owl-next i,.mec-event-carousel-type2 .owl-prev i,.mec-event-carousel-type3 .owl-next i,.mec-event-carousel-type3 .owl-prev i,.mec-event-carousel-type4 .owl-next i,.mec-event-carousel-type4 .owl-prev i{font-size:40px;color:#282828}.mec-event-carousel-type2 .owl-next i:hover,.mec-event-carousel-type2 .owl-prev i:hover,.mec-event-carousel-type3 .owl-next i:hover,.mec-event-carousel-type3 .owl-prev i:hover{color:#000;cursor:pointer}.mec-event-footer-carousel-type2 .mec-event-sharing-wrap .mec-event-sharing{top:auto;bottom:60px}.mec-event-footer-carousel-type2 .mec-event-sharing-wrap .mec-event-sharing:after,.mec-event-footer-carousel-type2 .mec-event-sharing-wrap .mec-event-sharing:before{top:auto;bottom:-19px;border-color:#e2e2e2 transparent transparent transparent}.mec-event-footer-carousel-type2 .mec-event-sharing-wrap .mec-event-sharing:after{bottom:-18px;border-color:#fff transparent transparent transparent}@media only screen and (min-width:320px) and (max-width:768px){.mec-event-carousel-type2 .owl-next,.mec-event-carousel-type2 .owl-prev,.mec-event-carousel-type3 .owl-next,.mec-event-carousel-type3 .owl-prev,.mec-event-carousel-type4 .owl-next,.mec-event-carousel-type4 .owl-prev{position:initial;top:100%}}.mec-event-carousel-type3 .mec-event-article{margin:0 10px}.event-carousel-type3-head .mec-event-image,.event-carousel-type3-head .mec-event-image img{width:100%;height:auto}.event-carousel-type3-head .mec-event-footer-carousel-type3{background:#fff;display:inline-block;width:calc(100% - 40px);margin-top:-74px;position:relative;margin-left:20px;margin-right:20px;margin-bottom:6px;padding:8% 11%;box-shadow:0 2px 10px -2px rgba(0,0,0,.2)}.event-carousel-type3-head .mec-event-footer-carousel-type3 .mec-booking-button{border:1px solid #e4e4e4;text-transform:uppercase;float:right;padding:7px 23px 7px;font-size:12px;color:#707070;font-weight:500}.event-carousel-type3-head .mec-event-footer-carousel-type3 .mec-booking-button:hover{color:#fff}.mec-event-footer-carousel-type3 span{font-size:15px;color:#9a9a9a;font-weight:300;display:block;margin-top:30px}.mec-event-footer-carousel-type3 .mec-event-carousel-title{font-size:29px;font-weight:700}.event-carousel-type3-head .mec-event-footer-carousel-type3 .mec-event-carousel-title{font-size:26px;font-weight:700;color:#1c1d21;margin-top:15px;letter-spacing:-1px}.mec-event-footer-carousel-type3 .mec-event-carousel-title a{color:inherit}.event-carousel-type3-head .mec-event-footer-carousel-type3 p{font-size:16px;font-weight:300;color:#444!important;margin-bottom:36px}.event-carousel-type3-head .mec-event-footer-carousel-type3 .mec-booking-button{line-height:25px;height:41px}.mec-event-carousel-type3 .owl-next{right:-70px}.mec-event-carousel-type3 .owl-prev{left:-70px}.mec-event-footer-carousel-type3 .mec-event-sharing-wrap{left:11%}.mec-event-footer-carousel-type3 .mec-event-sharing-wrap .mec-event-sharing{top:auto;bottom:60px}.mec-event-footer-carousel-type3 .mec-event-sharing-wrap .mec-event-sharing:after,.mec-event-footer-carousel-type3 .mec-event-sharing-wrap .mec-event-sharing:before{top:auto;bottom:-19px;border-color:#e2e2e2 transparent transparent transparent}.mec-event-footer-carousel-type3 .mec-event-sharing-wrap .mec-event-sharing:after{bottom:-18px;border-color:#fff transparent transparent transparent}.event-carousel-type3-head .mec-end-date-label{display:inline;margin-left:2px}.event-carousel-type4-head.clearfix{position:relative;overflow:hidden;background:#fff}.event-carousel-type4-head .mec-event-overlay{position:absolute;left:0;right:0;bottom:0;top:0;width:auto;height:auto;background-color:rgba(36,36,36,.4);transition:all .33s ease-in-out}.mec-event-hover-carousel-type4{font-size:15px;color:#fff;position:absolute;bottom:0;padding:50px 35px;transition:all .33s ease-in-out;opacity:0;visibility:hidden}.mec-event-carousel-type4 .mec-event-article{margin:0 10px}.mec-event-carousel-type4 .mec-event-article:hover .mec-event-hover-carousel-type4{opacity:1;visibility:visible}.mec-event-hover-carousel-type4 .mec-event-icon{font-size:18px;float:left;margin-right:14px;color:#fff;padding:13px}.mec-event-hover-carousel-type4 .mec-event-date{font-size:11px;text-transform:uppercase;font-weight:400;line-height:1.6;text-align:left}.mec-event-hover-carousel-type4 .mec-event-date span{display:block;font-weight:700;font-size:14px}.mec-event-hover-carousel-type4 .mec-event-title{color:#fff;margin:20px 0 38px;font-size:16px;font-weight:700;text-transform:uppercase;font-style:normal}.mec-event-hover-carousel-type4 .mec-btn-wrapper{text-align:left}.mec-event-hover-carousel-type4 .mec-event-button{color:#fff;background-color:#191919;border:2px #191919 solid;padding:10px 14px;letter-spacing:1.5px;font-size:11px;font-weight:700;font-style:normal;transition:all .22s ease;text-decoration:none}.mec-event-hover-carousel-type4 .mec-event-button:hover{color:#191919;background-color:#fff;border-color:#fff;border-radius:1px}.mec-event-carousel-type4 .owl-next{right:-70px}.mec-event-carousel-type4 .owl-prev{left:-70px}.mec-carousel-type4-head{margin-bottom:25px}.mec-carousel-type4-head-title{padding:0 11px;text-align:left;font-weight:700;font-size:20px;color:#000}.mec-carousel-type4-head-link{text-align:right;padding:0 11px}.mec-carousel-type4-head-link a{background:#222;color:#fff;padding:10px 38px;transition:all .3s ease}.mec-carousel-type4-head-link a:hover,.mec-carousel-type4-head-link a:visited{color:#fff}@media (max-width:960px){.mec-event-carousel-type4 .owl-stage{left:-50px}}.mec-wrap .mec-event-countdown-style1{color:#fff;padding:0!important;display:table;background:#437df9}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part1{z-index:5;padding:50px 1% 50px 4%;display:table-cell;float:none;vertical-align:middle}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part2{background-color:rgba(0,0,0,.05);height:100%;padding-top:0;display:table-cell;float:none;position:relative;vertical-align:middle}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part3{background-color:#f8f8f8;display:table-cell;float:none;text-align:center;vertical-align:middle}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part1 .mec-event-title{color:#fff;font-size:15px;margin-top:30px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part1 .mec-event-upcoming{font-size:36px;font-weight:700;line-height:1;margin-top:0}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part2 .mec-event-countdown>div{display:inline-block}.mec-event-countdown-style1 .mec-events-meta-group-countdown{color:#c9c9c9;margin-bottom:30px;padding:20px 30px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-countdown-style1 .mec-event-countdown-part1 .mec-event-upcoming span{display:block}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part2:after{content:"";position:absolute;display:inline-block;z-index:1;top:50%;margin-top:-11px;right:-24px;width:0;border-width:12px;border-style:solid;border-color:transparent transparent transparent #4077ed}.mec-event-countdown-style1 .mec-event-countdown-part2 .mec-event-date-place{text-align:center;padding-bottom:8px}.mec-event-countdown-part2 .mec-event-place,.mec-event-countdown-style1 .mec-event-countdown-part2 .mec-event-date{display:inline;font-size:14px;padding:0 5px;text-align:center}.mec-event-countdown-style1 .mec-event-countdown-part3 .mec-event-button{display:inline-block;padding:14px 30px;vertical-align:middle;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#fff;background:#4077ed;transition:all .24s ease}.mec-event-countdown-style1 .mec-event-countdown-part3 .mec-event-button:hover{background:#222}.mec-event-countdown-style1 .mec-event-countdown{text-align:center;display:table;table-layout:fixed;margin:0 auto}.mec-event-countdown-style1 .mec-event-countdown .label-w{letter-spacing:1px;text-transform:uppercase;position:relative}.mec-event-countdown-style1 .mec-event-countdown .block-w{display:table-cell;margin:0 20px 10px;position:relative;height:70px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li{background-color:rgba(0,0,0,.1);margin:5px;padding:20px 0;min-width:94px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li span{font-size:30px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li .label-w{font-size:12px;color:#fff;margin:8px 0 0;line-height:1}@media only screen and (min-width:1200px){.mec-wrap.mec-sm959 .mec-event-countdown-style1 .mec-event-countdown-part1,.mec-wrap.mec-sm959 .mec-event-countdown-style1 .mec-event-countdown-part2,.mec-wrap.mec-sm959 .mec-event-countdown-style1 .mec-event-countdown-part3{width:100%;display:block;padding-top:50px;padding-bottom:50px}.mec-wrap.mec-sm959 .mec-event-countdown-style1 .mec-event-countdown-part2:after{border-color:#4077ed transparent transparent transparent;top:auto;margin-top:0;bottom:-24px;margin-left:-11px;left:50%}}@media (max-width:960px){.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part1,.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part2,.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part3{width:100%;display:block;padding-top:50px;padding-bottom:50px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown-part2:after{border-color:#4077ed transparent transparent transparent;top:auto;margin-top:0;bottom:-24px;margin-left:-11px;left:50%;transform:rotate(90deg)}}@media (max-width:480px){.mec-event-countdown-style1 .mec-event-countdown .block-w{margin:3px;height:auto}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li{padding:10px 5px;min-width:50px;margin:3px 1px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li span{font-size:15px}.mec-wrap .mec-event-countdown-style1 .mec-event-countdown li .label-w{font-size:8px}.mec-event-countdown-style1 .mec-event-countdown-part2 .mec-event-date-place{display:inline}}.mec-wrap .mec-event-countdown-style2{color:#fff;padding:30px 0;background:#437df9;max-width:600px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part1,.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part2,.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part3{width:100%;float:none;vertical-align:middle;padding:50px 10% 50px 10%}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part2{padding-top:12%;padding-bottom:0}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part1 .mec-event-title{color:#fff;font-size:15px;margin-top:30px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part1 .mec-event-upcoming{font-size:36px;font-weight:700;line-height:1;margin-top:0}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown-part2 .mec-event-countdown>div{display:inline-block}.mec-event-countdown-style2 .mec-events-meta-group-countdown{color:#c9c9c9;margin-bottom:30px;padding:20px 30px;background:#fff;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-countdown-style2 .mec-event-countdown-part1 .mec-event-upcoming span{display:block}.mec-event-countdown-style2 .mec-event-countdown-part2 .mec-event-date-place{text-align:left;padding-bottom:8px}.mec-event-countdown-part2 .mec-event-place,.mec-event-countdown-style2 .mec-event-countdown-part2 .mec-event-date{display:inline;font-size:14px;padding:0 8px}.mec-event-countdown-style2 .mec-event-countdown-part3 .mec-event-button{display:inline-block;padding:14px 30px;vertical-align:middle;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#222;background:#fff;transition:all .24s ease}.mec-event-countdown-style2 .mec-event-countdown-part3 .mec-event-button:hover{background:#222;color:#fff}.mec-event-countdown-style2 .mec-event-countdown{text-align:center;display:table;table-layout:fixed;margin:0}.mec-event-countdown-style2 .mec-event-countdown .label-w{letter-spacing:1px;text-transform:uppercase;position:relative}.mec-event-countdown-style2 .mec-event-countdown .block-w{display:table-cell;margin:0 20px 10px;position:relative;height:70px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li{background-color:rgba(0,0,0,.1);margin:5px;padding:20px 0;min-width:94px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li span{font-size:30px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li .label-w{font-size:12px;color:#fff;margin:8px 0 0;line-height:1}@media only screen and (max-width:767px){.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li{min-width:80px;padding:15px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li span{font-size:26px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li .label-w{font-size:11px}}@media only screen and (max-width:479px){.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li{min-width:40px;padding:15px 10px;margin:2px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li span{font-size:20px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li .label-w{font-size:9px}}@media (max-width:380px){.mec-event-countdown-style2 .mec-event-countdown .block-w{margin:3px;height:auto}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li{padding:10px 4px;margin:4px 1px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li span{font-size:15px}.mec-wrap .mec-event-countdown-style2 .mec-event-countdown li .label-w{font-size:7px}}.mec-wrap .mec-event-countdown-style3{color:#fff;padding:0;background:#282828;display:table;width:100%}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1{width:68%;padding:50px 1% 50px 4%;vertical-align:middle;display:table-cell;position:relative}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part2{width:32%;display:table-cell;position:relative;padding-bottom:0;padding-top:0}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part2 img{width:100%;display:block}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1 .mec-event-countdown-part-title span{font-weight:300;display:block}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1 .mec-event-upcoming{color:#fff;font-size:36px;letter-spacing:-2px;font-weight:700;line-height:1;margin-top:-10px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part2 .mec-event-countdown>div{display:inline-block}.mec-event-countdown-style3 .mec-events-meta-group-countdown{color:#c9c9c9;margin-bottom:30px;padding:20px 30px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 2px 0 0 rgba(0,0,0,.016)}.mec-event-countdown-style3 .mec-event-countdown-part2 .mec-event-date-place{text-align:center;padding-bottom:8px}.mec-event-countdown-part2 .mec-event-place,.mec-event-countdown-style3 .mec-event-countdown-part2 .mec-event-date{display:inline;font-size:14px;padding:0 5px;text-align:center}.mec-event-countdown-style3 .mec-event-countdown-part3 .mec-event-button{display:inline-block;padding:14px 30px;vertical-align:middle;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#fff;background:#4077ed;transition:all .24s ease}.mec-event-countdown-style3 .mec-event-countdown-part3 .mec-event-button:hover{background:#222}.mec-event-countdown-style3 .mec-event-countdown{text-align:center;display:table;table-layout:fixed;margin:0 auto;position:absolute;top:40px;right:20px}.mec-event-countdown-style3 .mec-event-countdown .label-w{letter-spacing:1px;text-transform:uppercase;position:relative}.mec-event-countdown-style3 .mec-event-countdown .block-w{display:table-cell;margin:0 20px 10px;position:relative;height:70px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li{padding:15px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li span{font-size:30px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li .label-w{font-size:11px;color:#888;margin:8px 0 0;line-height:1}.mec-event-countdown-style3 .mec-event-date{width:176px;height:96px;background:#40d9f1;color:#fff;font-size:13px;position:absolute;left:-27px;top:146px}.mec-event-countdown-style3 .mec-event-date:after{content:"";position:absolute;display:inline-block;z-index:1;bottom:-18px;left:8px;width:0;border-width:19px;border-style:solid;border-color:transparent transparent #40d9f1 transparent;transform:rotate(45deg)}.mec-event-countdown-style3 .mec-event-date .mec-date1{font-size:50px;position:absolute;top:3px;left:12px;letter-spacing:-3px}.mec-event-countdown-style3 .mec-event-date .mec-date2{position:absolute;left:80px;top:26px}.mec-event-countdown-style3 .mec-event-date .mec-date3{position:absolute;left:80px;top:45px}.mec-event-countdown-style3 .mec-event-countdown-part-details{padding-top:35px;margin-bottom:50px;min-height:100px}.mec-event-countdown-style3 .mec-event-countdown-part-details .mec-event-title{font-size:17px;color:#fff;line-height:1.4;padding-right:20px}.mec-event-countdown-style3 .mec-event-countdown-part-details .mec-event-link{color:#fff;font-size:12px;position:relative;padding-left:22px}.mec-event-countdown-style3 .mec-event-countdown-part-details .mec-event-link:before{content:"";display:inline-block;width:18px;border-top:1px solid #fff;position:absolute;left:0;top:8px}.mec-event-countdown-style3 .mec-event-title-link{position:absolute;left:190px;top:152px}.event-carousel-type1-head .mec-event-date-carousel:before,.mec-event-countdown-style3 .mec-event-date:before{content:"";position:absolute;left:0;bottom:0;z-index:2;width:100%;height:96px;display:inline-block;box-shadow:0 5px 5px rgba(0,0,0,.12);background:0 0}@media only screen and (min-width:960px){.mec-wrap.mec-sm959 .mec-event-countdown-style3 .mec-event-countdown li{padding:10px}.mec-wrap.mec-sm959 .mec-event-countdown-style3 .mec-event-countdown-part1 .mec-event-upcoming{font-size:31px}}@media (max-width:959px){.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1,.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part2{width:100%;display:block}.mec-event-countdown-style3 .mec-event-title-link{top:190px}.mec-event-countdown-style3 .mec-event-countdown{top:96px}.mec-event-countdown-style3 .mec-event-date{left:0;top:190px}.mec-event-countdown-style3 .mec-event-date:after{display:none}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1 .mec-event-countdown-part-title span{display:inline}.mec-event-countdown-style3 .mec-event-countdown-part-details{min-height:150px}}@media (max-width:767px){.mec-wrap .mec-event-countdown-style3 .mec-event-countdown-part1 .mec-event-upcoming{font-size:26px;letter-spacing:-1px}.mec-event-countdown-style3 .mec-event-title-link{left:130px}.mec-event-countdown-style3 .mec-event-date{width:120px;font-size:10px;height:63px}.mec-event-countdown-style3 .mec-event-date .mec-date1{font-size:36px;top:20px;left:4px;letter-spacing:-2px}.mec-event-countdown-style3 .mec-event-date .mec-date2{position:absolute;left:52px;top:12px}.mec-event-countdown-style3 .mec-event-date .mec-date3{position:absolute;left:52px;top:28px}}@media (max-width:380px){.mec-event-countdown-style3 .mec-event-title-link{left:10px;top:260px}.mec-event-countdown-style3 .mec-event-countdown-part-details{min-height:300px}.mec-event-countdown-style3 .mec-event-countdown .block-w{margin:3px;height:auto}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li{padding:10px 5px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li span{font-size:15px}.mec-wrap .mec-event-countdown-style3 .mec-event-countdown li .label-w{font-size:8px}}.mec-slider-t1-wrap{width:100%;padding:60px 90px;background:#f7f7f7;min-height:560px;position:relative}.mec-slider-t1{height:500px;box-shadow:0 5px 35px 0 rgba(0,0,0,.13)}.mec-slider-t1 .mec-event-article{position:relative;height:500px}.mec-slider-t1 .mec-slider-t1-img{position:relative;background-size:cover!important;background-position:center!important;width:50%;height:100%;float:right;margin:0;overflow:hidden}.mec-slider-t1 .mec-slider-t1-content{width:50%;float:left;height:100%;background:#fff;padding:6%}.mec-slider-t1-content.mec-event-grid-modern .mec-event-article{border:none;padding:0;margin:0;box-shadow:none}.mec-slider-t1-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-slider-t1-content.mec-event-grid-modern .mec-event-title a:hover{text-decoration:underline}.mec-slider-t1-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev{opacity:1;width:54px;height:54px;line-height:48px;border-radius:0;text-align:center;background:#fff;box-shadow:0 2px 11px 0 rgba(0,0,0,.045);transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:50%;margin-top:-27px;cursor:pointer}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next:hover,.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev:hover{box-shadow:0 4px 29px 0 rgba(0,0,0,.095)}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next{left:auto;right:-100px}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev{right:auto;left:-100px}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next i,.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev i{font-size:12px;color:#282828;transition:all .21s ease}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next:hover i,.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev:hover i{font-size:13px;color:#000;cursor:pointer}@media only screen and (min-width:961px){.mec-slider-t1{margin:0 auto;max-width:900px}}@media only screen and (max-width:960px){.mec-slider-t1 .mec-slider-t1-content,.mec-slider-t1 .mec-slider-t1-img{width:100%;float:none}.mec-slider-t1 .mec-slider-t1-img{height:300px}.mec-slider-t1,.mec-slider-t1 .mec-event-article{height:auto}}@media only screen and (max-width:768px){.mec-slider-t1-wrap{padding:0}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev{top:40px;margin-top:0}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-next{left:auto;right:10px}.mec-slider-t1-wrap .mec-owl-theme .owl-nav .owl-prev{right:auto;left:10px}}@media only screen and (max-width:479px){.mec-slider-t1-content.mec-event-grid-modern .mec-event-title{font-size:22px}.mec-slider-t1-content.mec-event-grid-modern .event-grid-modern-head .mec-event-day{font-size:25px}}.mec-slider-t2-wrap{width:100%;padding:0;background:#fff;min-height:600px;position:relative}.mec-slider-t2 .mec-event-article{height:600px;position:relative;border:none;padding:0;margin:0;box-shadow:none;background:0 0}.mec-slider-t2 .mec-slider-t2-img{position:absolute;left:0;top:0;background-size:cover!important;background-position:center!important;width:70%;height:100%;margin:0;overflow:hidden}.mec-slider-t2 .mec-slider-t2-content{width:50%;position:absolute;right:0;top:60px;bottom:60px;padding:5%}.mec-slider-t2 .mec-slider-t2-content.mec-event-grid-modern *{color:#fff}.mec-slider-t2 .mec-slider-t2-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-slider-t2-content.mec-event-grid-modern .mec-event-content,.mec-slider-t2-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{background:0 0}.mec-slider-t2-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px}.mec-slider-t2-content.mec-event-grid-modern .mec-event-footer .mec-booking-button:hover{background:#fff;color:#000;border-color:#fff}.mec-slider-t2-content.mec-event-grid-modern .mec-event-footer .mec-booking-button:hover,.mec-slider-t2-content.mec-event-grid-modern .mec-event-title a:hover{color:#111}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev{opacity:1;width:44px;height:44px;line-height:38px;border-radius:0;text-align:center;background:0 0;border:1px solid #fff;transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:84px;cursor:pointer}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next:hover,.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev:hover{box-shadow:0 4px 16px 0 rgba(0,0,0,.075);background:#fff}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next{right:30px}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev{right:82px}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next i,.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev i{font-size:14px;color:#fff;opacity:1;transition:all .25s ease}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next:hover i,.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev:hover i{color:#000;cursor:pointer}.mec-wrap.colorskin-custom .mec-slider-t2 .mec-event-article .mec-event-date.mec-color{color:#fff}@media only screen and (min-width:961px){.mec-slider-t2{margin:0 auto;max-width:1200px}}@media only screen and (max-width:960px){.mec-slider-t2 .mec-slider-t2-content,.mec-slider-t2 .mec-slider-t2-img{width:100%;float:none;position:static}.mec-slider-t2 .mec-slider-t2-img{height:300px}.mec-slider-t2 .mec-event-article{height:auto}.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t2-wrap .mec-owl-theme .owl-nav .owl-prev{top:40px}}@media only screen and (max-width:479px){.mec-slider-t2-content.mec-event-grid-modern .mec-event-title{font-size:22px}}.mec-slider-t3-wrap{width:100%;padding:0;background:#161616;min-height:700px;position:relative}.mec-slider-t3 .mec-event-article{height:700px;position:relative;border:none;padding:0;margin:0;box-shadow:none;background:0 0}.mec-slider-t3 .mec-slider-t3-img{position:absolute;left:0;top:0;background-size:cover!important;background-position:center!important;width:100%;height:100%;margin:0;overflow:hidden;opacity:.68;z-index:1}.mec-slider-t3 .mec-slider-t3-content{width:50%;height:auto;vertical-align:middle;display:table;position:absolute;left:0;top:50%;transform:translateY(-50%);bottom:0;padding:0 2% 0 7%;margin:auto 0;background:0 0;z-index:2}.mec-slider-t3 .mec-slider-t3-content.mec-event-grid-modern :not(.mec-color){color:#fff}.mec-slider-t3-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-slider-t3-content.mec-event-grid-modern .mec-event-content,.mec-slider-t3-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{background:0 0}.mec-slider-t3-content.mec-event-grid-modern .mec-booking-button{display:inline-block;border:1px solid;font-weight:500;letter-spacing:1px;text-transform:uppercase;font-size:13px;padding:0 42px;line-height:49px;height:50px;transition:all .21s ease}.mec-slider-t3-content.mec-event-grid-modern .mec-booking-button:hover{background:#fff;color:#000;border-color:#fff}.mec-slider-t3-content.mec-event-grid-modern .mec-slider-t3-footer{text-align:left;padding:15px 15px 10px}.mec-slider-t3-content.mec-event-grid-modern .mec-event-footer .mec-booking-button:hover,.mec-slider-t3-content.mec-event-grid-modern .mec-event-title a:hover{color:#40d9f1}.mec-slider-t3-content.mec-event-grid-modern .mec-event-footer .mec-booking-button:hover{border-color:#40d9f1}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev{opacity:1;width:44px;height:44px;line-height:38px;border-radius:0;text-align:center;background:0 0;border:1px solid #fff;transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:50%;margin-top:-22px;cursor:pointer}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next:hover,.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev:hover{box-shadow:0 4px 16px 0 rgba(0,0,0,.075);background:#fff}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next{right:10px}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev{right:auto;left:10px}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next i,.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev i{font-size:14px;color:#fff;opacity:1;transition:all .25s ease}.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next:hover i,.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev:hover i{color:#000;cursor:pointer}@media only screen and (min-width:961px){.mec-slider-t3-content.mec-event-grid-modern .mec-event-title{font-size:50px;font-weight:300}.mec-slider-t3-content.mec-event-grid-modern .mec-event-description{font-size:19px}}@media only screen and (max-width:767px){.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t3-wrap .mec-owl-theme .owl-nav .owl-prev{top:40px;margin-top:0}}@media only screen and (max-width:479px){.mec-slider-t3 .mec-slider-t3-content{width:100%}.mec-slider-t3-content.mec-event-grid-modern .mec-event-title{font-size:22px}.mec-slider-t1-content.mec-event-grid-modern .event-grid-modern-head .mec-event-day{font-size:25px}}.mec-slider-t4-wrap{width:100%;padding:0;background:#161616;min-height:700px;position:relative}.mec-slider-t4 .mec-event-article{height:700px;border:none;padding:0;margin:0;box-shadow:none;background:0 0}.mec-slider-t4 .mec-slider-t4-img{position:absolute;left:0;top:0;background-size:cover!important;background-position:center!important;width:100%;height:100%;margin:0;overflow:hidden;z-index:1}.mec-slider-t4 .mec-slider-t4-content{width:auto;max-width:700px;background:rgba(37,37,37,.94)!important;height:auto;vertical-align:middle;display:table;position:absolute;left:8%;top:19%;padding:3%;margin:auto 0;background:0 0;z-index:2}.mec-slider-t4 .mec-slider-t4-content.mec-event-grid-modern :not(.mec-color){color:#fff}.mec-slider-t4-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-slider-t4-content.mec-event-grid-modern .mec-event-content,.mec-slider-t4-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{background:0 0}.mec-slider-t4-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:13px;padding:0 42px;line-height:49px;height:50px}.mec-slider-t4-content.mec-event-grid-modern .mec-event-title a:hover{color:#40d9f1}.mec-slider-t4-content.mec-event-grid-modern .mec-slider-t4-footer{text-align:left;padding:15px 15px 10px}.mec-slider-t4-content.mec-event-grid-modern .mec-booking-button{display:inline-block;border:1px solid;font-weight:500;letter-spacing:1px;text-transform:uppercase;font-size:13px;padding:0 42px;line-height:49px;height:50px;transition:all .21s ease}.mec-slider-t4-content.mec-event-grid-modern .mec-booking-button:hover{background:#fff;color:#000;border-color:#fff}.mec-slider-t4-content.mec-event-grid-modern .mec-event-footer .mec-booking-button:hover,.mec-slider-t4-content.mec-event-grid-modern .mec-event-title a:hover{color:#111}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-prev{opacity:1;width:44px;height:44px;line-height:40px;border-radius:0;text-align:center;background:0 0;border:1px solid #fff;transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:34px;cursor:pointer}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-next:hover,.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-prev:hover{box-shadow:0 4px 16px 0 rgba(0,0,0,.075);background:#fff}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-next{right:60px}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-prev{right:112px}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-next i,.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-prev i{font-size:14px;color:#fff;opacity:1;transition:all .25s ease}.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-next:hover i,.mec-slider-t4-wrap .mec-owl-theme .owl-nav .owl-prev:hover i{color:#000;cursor:pointer}@media only screen and (max-width:767px){.mec-slider-t4 .mec-slider-t4-content{width:100%;left:0;top:auto;bottom:0}.mec-slider-t4-content.mec-event-grid-modern .mec-event-title{font-size:22px}.mec-slider-t1-content.mec-event-grid-modern .event-grid-modern-head .mec-event-day{font-size:25px}}.mec-slider-t5-wrap{width:auto;max-width:570px;padding:0;margin:0 auto 25px;background:#f7f7f7;min-height:480px;position:relative}.mec-slider-t5{height:auto;box-shadow:0 5px 35px 0 rgba(0,0,0,.13)}.mec-slider-t5 .mec-event-article{position:relative;height:auto}.mec-slider-t5 .mec-slider-t5-img{position:relative;background-size:cover!important;background-position:center!important;width:100%;height:300px;float:none;margin:0;overflow:hidden}.mec-slider-t5 .mec-slider-t5-content{width:100%;float:none;height:100%;background:#fff;padding:0 20px 20px;margin-bottom:0}.mec-slider-t5 .mec-events-content p{margin-bottom:20px}.mec-slider-t5-content.mec-event-grid-modern .mec-event-article{border:none;padding:0;margin:0;box-shadow:none}.mec-slider-t5-wrap .mec-event-grid-modern .event-grid-modern-head{margin-bottom:10px;padding:14px 34px;margin-left:-20px;margin-right:-20px;text-align:left;background:#f9f9f9;border-bottom:1px solid #eee}.mec-slider-t5-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-slider-t5 .mec-slider-t5-col6{width:50%;float:left;height:100%}.mec-slider-t5 .mec-slider-t5-col6 i{font-size:42px;float:left;margin-right:7px;height:58px}.mec-slider-t5 .mec-slider-t5-col6 h6{text-transform:uppercase;font-size:17px;padding:4px 0;display:inline;color:#444}.mec-slider-t5 .mec-slider-t5-col6 address{font-size:12px;margin-bottom:0}.mec-slider-t5-content.mec-event-grid-modern .mec-event-title a:hover{text-decoration:underline}.mec-slider-t5-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px;top:0}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-next,.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-prev{opacity:1;width:44px;height:44px;line-height:40px;border-radius:0;text-align:center;background:0 0;border:1px solid #fff;transition:all .25s ease;-webkit-transition:all .25s ease;position:absolute;top:34px;cursor:pointer}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-next:hover,.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-prev:hover{box-shadow:0 4px 16px 0 rgba(0,0,0,.075);background:#fff}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-next{right:30px}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-prev{right:82px}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-next i,.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-prev i{font-size:14px;color:#fff;opacity:1;transition:all .25s ease}.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-next:hover i,.mec-slider-t5-wrap .mec-owl-theme .owl-nav .owl-prev:hover i{color:#000;cursor:pointer}@media only screen and (max-width:768px){.mec-slider-t5 .mec-slider-t5-col6{width:100%;margin:10px 0}}@media only screen and (max-width:479px){.mec-slider-t5-content.mec-event-grid-modern .mec-event-title{font-size:24px}}.mec-single-modern .mec-events-event-image{text-align:center}.mec-single-modern .mec-events-event-image img{width:100%}.mec-single-modern .mec-single-event-bar{background-color:#f7f7f7;margin:20px 0 0;padding:15px;display:table;width:100%}.mec-single-modern .mec-single-event-bar>div{display:table-cell}.mec-single-modern .mec-single-event-bar>div i{font-size:20px;vertical-align:middle}.mec-single-modern .mec-single-event-bar>div .mec-time-comment{font-size:12px;color:#999}.mec-single-modern .mec-single-event-bar>div h3{text-transform:uppercase;font-size:16px;font-weight:700;padding-bottom:5px;display:inline;color:#000;padding-left:10px}.mec-single-modern .mec-single-event-bar>div dd{font-size:14px;color:#8d8d8d;padding-left:34px;margin-bottom:0}.mec-single-modern .col-md-4 .mec-frontbox{margin-top:-50px;margin-bottom:70px;padding:20px;border:none;background:#f7f7f7;box-shadow:none}.mec-single-modern .col-md-4.mec-no-image .mec-frontbox{margin-top:20px}.mec-next-occurrence ul{padding-left:0;margin-left:0}.mec-next-occurrence li{list-style:none}@media only screen and (min-width:960px){.mec-single-modern .col-md-4 .mec-frontbox{margin-left:20px}}@media only screen and (max-width:960px){.mec-single-modern .mec-single-event-bar>div{display:block}}.lity-content>div{overflow:auto}.mec-next-event-details li{list-style:none;margin-top:20px}.mec-next-event-details h6{text-transform:uppercase;font-size:13px;padding-bottom:5px;display:inline;color:#222;padding-left:0}.mec-next-event-details abbr{display:block;padding-left:0;color:#8d8d8d}.mec-next-event-details i{margin-right:10px;margin-left:12px}.mec-next-event-details i:before{color:#40d9f1}.mec-next-event-details a{text-align:center;display:block;background:#fff;padding:6px 0;font-size:11px;font-weight:400;letter-spacing:0;border:1px solid #e3e3e3;transition:.3s}.mec-single-modal.mec-single-modern .mec-single-title{text-align:center;padding:15px 10px 0}.admin-bar .mec-single-modal.mec-single-modern .mec-single-title{padding-top:40px}.mec-single-modal.mec-single-modern .mec-single-event-bar{padding:5px}.mec-single-modal.mec-single-modern .mec-single-event-bar>div dd{font-size:13px}.mec-single-modal.mec-single-modern .mec-single-event-bar>div h3{font-size:15px}@media only screen and (min-width:960px){.mec-single-modal.mec-single-modern .col-md-4 .mec-frontbox{margin-left:0}}.mec-single-modal.mec-single-modern .col-md-4 .mec-frontbox{margin-top:10px;margin-bottom:10px}.mec-single-modal.mec-single-modern .col-md-4 .mec-frontbox.mec-event-meta{padding:0}@media(min-width:961px){.mec-single-event.mec-sticky{position:relative}.mec-single-event.mec-sticky .col-md-4{position:-webkit-sticky;position:sticky;top:120px}.mec-single-modern.mec-sticky .col-md-4{top:170px}.single-mec-events .mec-sticky .col-md-8>div:last-child{margin-bottom:30px}.single-mec-events .mec-single-modern.mec-sticky .col-md-8>div:last-child{margin-bottom:70px}}.mec-single-modal .mec-event-meta dd.mec-organizer-email a,.mec-single-modal .mec-event-meta dd.mec-organizer-url a{font-size:12px;display:block}.mec-organizer-description p{padding-left:12px}.mec-modal-wrap{max-width:60vw;max-height:90vh!important;background:#fff;box-shadow:0 1px 55px rgba(0,0,0,.5);overflow-x:hidden!important}@media (max-width:1023px){.mec-modal-wrap{max-width:80vw}}.mec-single-modal .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li,.mec-single-modal .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul li a.mec-events-button{display:block;text-align:center}.mec-holding-status-expired{color:#d8000c}.mec-holding-status-ongoing{color:#0dbf52}body .featherlight{z-index:999999!important}body .featherlight .featherlight-content{background:0 0;overflow:unset;z-index:9999}body .featherlight .featherlight-close-icon{position:fixed;top:40px;right:40px;background:0 0;color:#fff;border:1px solid #fff;border-radius:0}body .featherlight .featherlight-close-icon:hover{background:#fff;color:#000;border:1px solid #000}@media (max-width:320px){.mec-wrap span.flip-clock-divider{width:20px}.mec-single-event .mec-events-meta-group-countdown{padding:15px 12%}}@media (max-width:414px){.mec-wrap span.flip-clock-divider{width:30px}.mec-single-event .mec-events-meta-group-countdown{margin-left:0;padding:15px 7%}}@media (max-width:480px){body .featherlight .featherlight-content{width:95%}.mec-wrap span.flip-clock-divider{width:7px}.mec-single-event .mec-events-meta-group-countdown{margin-left:0;padding:15px 1%}body .featherlight .featherlight-close-icon{color:#000;border-color:#000}}@media (max-width:1366px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:20px!important}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:20px 15px}body .mec-modal-wrap .mec-single-modal .flip-clock-wrapper ul{width:48px}}@media (max-width:1280px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:14px!important}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:15px 10px}body .mec-modal-wrap .mec-single-modal .flip-clock-wrapper ul{width:38px}}@media (min-width:961px) and (max-width:1024px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:7px!important}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:15px 5px}body .mec-modal-wrap .mec-single-modal .flip-clock-wrapper ul{width:14px}body .mec-modal-wrap .mec-single-modal .flip-clock-wrapper ul li a div{font-size:30px}}@media (max-width:640px){body .mec-modal-wrap .mec-single-modal.featherlight-close-icon{top:14px;right:14px}}@media (max-width:480px){.featherlight .featherlight-content,body .mec-modal-wrap{max-width:100%}body .mec-modal-wrap.flip-clock-divider .flip-clock-label{display:block}}@media (max-width:414px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:50px!important}.mec-wrap .flip-clock-divider .flip-clock-label{display:none}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:20px 5px 20px 65px}body .featherlight-content .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:20px 2px 20px 2px!important}body .featherlight-content .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:3px!important}}@media (max-width:375px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:50px!important}.mec-wrap .flip-clock-divider .flip-clock-label{display:none}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:20px 5px 20px 45px}}@media (max-width:320px){body .mec-modal-wrap .mec-single-modal .flip-clock-divider:not(:first-child){width:20px!important}body .mec-modal-wrap .mec-single-modal .mec-events-meta-group-countdown{padding:20px 5px 20px 40px}}.mec-single-event-bar dd{margin-left:0}.mec-events-toggle{max-width:960px;margin-left:auto;margin-right:auto}.mec-events-toggle .mec-toggle-item{border:1px solid #e4e4e4;margin-bottom:15px;box-shadow:0 10px 15px #f3f3f3}.mec-events-toggle .mec-toggle-item-inner{cursor:pointer;position:relative;padding:30px 60px 30px 15px;background:#fff;transition:all .3s ease;min-height:100px;display:table;width:100%;border-collapse:separate}.mec-events-toggle .mec-toggle-item-inner:hover{background:#fbfbfb}.mec-toggle-item-col{width:200px;border-right:1px solid #e3e3e3;margin-right:15px;display:table-cell;padding-right:5px}.mec-toggle-item-col .mec-event-date{font-size:38px;line-height:40px;float:left;margin-right:8px}.mec-toggle-item-col .mec-event-month,.mec-toggle-item-col .mec-time-details{text-transform:uppercase;font-size:12px;line-height:14px;padding-top:4px;font-weight:700}.mec-toggle-item-col .mec-event-detail{font-size:10px}.mec-toggle-item-col .mec-event-day{margin-top:9px;color:silver;font-size:35px;font-weight:100;text-transform:uppercase;letter-spacing:-1px}.mec-events-toggle .mec-toggle-title{color:#000;font-size:23px;font-weight:600;margin-bottom:0;transition:all .3s ease;display:table-cell;text-align:left;max-width:calc(100% - 200px);padding-left:15px;vertical-align:middle}.mec-events-toggle .mec-toggle-item-inner span.event-color{width:5px;height:100%;position:absolute;left:-1px;top:0;bottom:0;border-radius:0;margin:0}.mec-events-toggle .mec-toggle-item-inner i{position:absolute;font-size:30px;right:25px;top:50%;transform:translate(0,-50%);cursor:pointer}.mec-events-toggle .mec-toggle-item.is-open i.mec-sl-plus:before{content:"\e615"}.mec-events-toggle .mec-toggle-item.is-open .mec-toggle-title{background:#f8f8f8;cursor:pointer}.mec-events-toggle .mec-toggle-content{border-top:1px solid #e4e4e4}.mec-events-toggle .mec-toggle-content .mec-modal-wrap{margin:0;max-width:100%;box-shadow:none}.mec-events-toggle .mec-toggle-content .mec-modal-wrap .mec-single-event{margin:0}.mec-events-toggle .mec-toggle-content .mec-single-event-bar,.mec-events-toggle .mec-toggle-content h1.mec-single-title{display:none}.mec-events-toggle .media-links a{margin-bottom:0}.mec-events-toggle .mec-toggle-content .mec-toggle-meta{margin-bottom:14px}.mec-events-toggle #mec_speakers_details.mec-frontbox{padding:0;margin:0}.mec-events-toggle .mec-toggle-item h3.mec-speakers{border:none;text-align:left}.mec-events-toggle .mec-toggle-item h3.mec-speakers:before{content:"\e063";font-family:simple-line-icons;border:none;position:relative;display:inline-block;left:unset;bottom:unset;font-size:22px;font-weight:400;padding:0 11px 0 28px;vertical-align:middle}@media only screen and (max-width:767px){.mec-toggle-item-inner .mec-toggle-item-col{float:none;width:100%;border-right:none;margin-bottom:5px;display:block;max-width:100%;padding-left:15px}.mec-events-toggle .mec-toggle-title{display:block;width:100%;max-width:100%}}.mec-events-agenda-wrap{margin:10px 0;border:1px solid #e9e9e9;padding-left:20px;box-shadow:0 2px 2px rgba(0,0,0,.03)}.mec-events-agenda{padding:0;border-bottom:1px solid #e9e9e9;overflow:hidden}.mec-agenda-date-wrap{width:210px;padding-top:15px;float:left;font-size:13px}.mec-agenda-date-wrap i,.mec-agenda-event i{font-size:11px;color:#aaa;margin-right:4px;margin-left:1px}.mec-agenda-event i{vertical-align:middle;margin-right:1px}.mec-agenda-events-wrap{float:left;width:calc(100% - 210px);background:#f9f9f9;padding:15px}.mec-agenda-time{font-size:11px;color:#707070;padding-right:10px;width:138px;display:inline-block}.mec-agenda-event-title{position:relative;padding-left:14px}.mec-agenda-event-title a{font-size:14px;font-weight:600;color:#333}.mec-agenda-event-title span.event-color{width:9px;height:9px;position:absolute;left:0;top:4px;margin:0}.mec-agenda-date-wrap span.mec-agenda-day{color:#aaa;font-size:12px}@media only screen and (max-width:767px){.mec-agenda-date-wrap,.mec-agenda-events-wrap{float:none;width:100%}.mec-events-agenda span.mec-agenda-event-title{display:block;width:100%}.mec-agenda-event-title span.event-color{top:7px}.mec-agenda-event-title a{font-size:13px}}.mec-yearly-view-wrap{margin:0 0 15px;border:1px solid #e6e6e6;box-shadow:0 2px 4px rgba(0,0,0,.04);border-bottom-width:4px}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar{max-width:100%;width:232px;padding:10px;background:#fff;margin:10px;display:inline-block}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar dl dt{transition:none;height:30px;width:30px;line-height:30px;border-radius:0;font-size:12px}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar .mec-calendar-events-sec{padding:10px}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar .mec-has-event:after{width:4px;height:4px;bottom:3px;margin-left:-2px}.mec-yearly-view-wrap .mec-calendar-side .mec-calendar-table{min-height:200px}.mec-calendar.mec-yearly-calendar .mec-calendar-table-head dl dt{background:#f9f9f9;font-size:13px}.mec-calendar.mec-yearly-calendar .mec-calendar-table-title{text-align:center;font-size:15px;font-weight:700;color:#222;margin-top:-5px;padding-bottom:5px}.mec-yearly-view-wrap .mec-yearly-calendar-sec{min-height:200px;width:538px;overflow:hidden;float:left;background:#f8f8f8;padding:15px}.mec-yearly-view-wrap .mec-yearly-agenda-sec{min-height:200px;width:calc(100% - 538px);float:left;padding:0 0 0 20px;overflow:hidden}.mec-yearly-view-wrap .mec-yearly-title-sec{position:relative;padding:15px;text-align:center;border-bottom:1px solid #e6e6e6;box-shadow:0 1px 3px rgba(0,0,0,.02)}.mec-yearly-view-wrap .mec-yearly-title-sec h2{font-size:30px;line-height:40px;color:#333;margin:0;font-weight:700}.mec-yearly-view-wrap .mec-yearly-title-sec .mec-next-year,.mec-yearly-view-wrap .mec-yearly-title-sec .mec-previous-year{position:absolute;top:50%;margin-top:-15px;min-width:30px;height:30px;line-height:30px;padding:0 8px;text-align:center;background:#fff;color:#666;font-size:14px;border:1px solid #eee;border-radius:2px;box-shadow:0 2px 0 0 rgba(0,0,0,.015);transition:all .33s ease;cursor:pointer}.mec-yearly-view-wrap .mec-yearly-title-sec .mec-previous-year{right:auto;left:20px;padding-right:14px}.mec-yearly-view-wrap .mec-yearly-title-sec .mec-next-year{left:auto;right:20px;padding-left:14px}.mec-yearly-view-wrap .mec-yearly-title-sec .mec-next-year i,.mec-yearly-view-wrap .mec-yearly-title-sec .mec-previous-year i{font-size:12px;color:#40d9f1;cursor:pointer}.mec-yearly-view-wrap .mec-events-agenda.mec-selected{box-shadow:-10px 0 0 0 #fffcf2,0 -1px 0 #fbebb6;background:#fffcf2;border-color:#fbebb6;color:#f9af29}.mec-yearly-agenda-sec span.mec-event-label-captions.mec-fc-style{right:0;top:0}@media only screen and (max-width:959px){.mec-yearly-view-wrap .mec-yearly-calendar-sec{width:268px;padding:10px 5px}.mec-yearly-view-wrap .mec-yearly-agenda-sec{width:calc(100% - 268px);padding:0 0 0 10px}}@media only screen and (max-width:767px){.mec-yearly-view-wrap .mec-yearly-agenda-sec,.mec-yearly-view-wrap .mec-yearly-calendar-sec{width:100%;float:none}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar{width:auto}.mec-yearly-view-wrap .mec-calendar.mec-yearly-calendar dl dt{width:14.2%}.mec-yearly-view-wrap .mec-yearly-title-sec h2{font-size:25px}}.mec-yearly-view-wrap .mec-agenda-event i,.mec-yearly-view-wrap .mec-agenda-time{display:none}@media only screen and (min-width:768px){.mec-yearly-view-wrap .mec-events-agenda-wrap{margin-top:0;border:none;padding-left:0;box-shadow:none}.mec-yearly-view-wrap .mec-agenda-date-wrap{width:174px;font-size:11px;padding-top:10px}.mec-yearly-view-wrap .mec-agenda-events-wrap{width:calc(100% - 174px);padding:10px}.mec-yearly-view-wrap .mec-agenda-event-title a{font-size:13px}.mec-yearly-view-wrap .mec-agenda-event-title span.event-color{width:8px;height:8px}.mec-yearly-view-wrap .mec-agenda-date-wrap span.mec-agenda-day{font-size:11px}.mec-yearly-view-wrap .mec-yearly-calendar-sec{box-shadow:-2px 0 5px rgba(0,0,0,.03) inset}}@media only screen and (max-width:1200px){.mec-yearly-view-wrap .mec-agenda-event-title a{font-size:12px;padding-right:6px}}.mec-calendar.mec-calendar-timetable .mec-calendar-d-table{padding-bottom:10px;border-bottom:none}.mec-calendar.mec-calendar-timetable .mec-calendar-d-table dl dt:hover{cursor:pointer}.mec-calendar.mec-calendar-timetable .mec-calendar-d-table dl dt.mec-timetable-has-no-event,.mec-calendar.mec-calendar-timetable .mec-calendar-d-table dl dt.mec-timetable-has-no-event:hover{color:#bbb;cursor:default}.mec-calendar.mec-calendar-timetable .mec-calendar-d-table dl dt.mec-timetable-day-active{background:#40d9f1;color:#fff;position:relative}.mec-calendar.mec-calendar-timetable .mec-calendar-d-table dl dt.mec-timetable-day-active:after{content:"";position:absolute;display:block;bottom:-20px;left:50%;margin-left:-10px;width:0;border-width:10px;border-style:solid;border-color:#40d9f1 transparent transparent transparent}.mec-timetable-events-list{padding:10px 20px;border:none;margin:0}.mec-timetable-events-list .mec-timetable-event{padding:10px 0;border-bottom:1px dashed #ddd}.mec-timetable-events-list .mec-timetable-event:last-child{border:none}.mec-timetable-event .mec-timetable-event-span{font-size:12px;color:#444;padding-right:30px;line-height:22px}.mec-timetable-events-list .mec-timetable-event i{font-size:13px;color:#aaa;margin-right:3px;vertical-align:baseline}.mec-timetable-event .mec-timetable-event-span a{color:#333}.mec-timetable-event .mec-timetable-event-time{font-size:11px}.mec-timetable-event .mec-timetable-event-time i{vertical-align:text-bottom}.mec-timetable-event .mec-timetable-event-title{font-size:13px}.mec-timetable-event .mec-timetable-event-title .event-color{width:10px;height:10px}.mec-timetable-events-list .mec-timetable-event.mec-util-hidden{display:none}.mec-timetable-events-list.mec-util-hidden{display:none}@media only screen and (min-width:768px){.mec-timetable-events-list{display:table;width:100%;margin:10px 0 20px}.mec-timetable-events-list .mec-timetable-event{display:table-row;padding:0;border:none;background:#fff}.mec-timetable-events-list .mec-timetable-event:hover{background:#fafafa}.mec-timetable-event .mec-timetable-event-span{display:table-cell;padding:10px 15px;border-bottom:1px solid #ebebeb}.mec-timetable-events-list .mec-timetable-event:last-child .mec-timetable-event-span{border-bottom:none}}@media only screen and (max-width:767px){.mec-timetable-event .mec-timetable-event-title{display:block;width:100%;padding:5px 0 10px;font-weight:700}}.mec-timetable-t2-wrap{border:1px solid #e6e6e6;background:#fafafa;padding:0 15px 15px;display:-webkit-box;overflow-x:scroll;box-shadow:0 3px 2px 0 rgba(0,0,0,.012)}.mec-timetable-t2-col{width:20%;float:left;min-height:20px;padding-right:1px;background:0 0}.mec-ttt2-title{background:#fafafa;color:#333;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;text-align:center;padding:25px 10px 10px;margin-bottom:1px}.mec-timetable-t2-col .mec-event-article{position:relative}.mec-timetable-t2-col .mec-event-article .event-color{position:absolute;width:auto;height:auto;left:0;right:0;top:0;bottom:0;margin:0;z-index:1;border-radius:2px}.mec-timetable-t2-content{position:relative;z-index:2;color:#fff;padding:15px 15px 20px;text-align:left;height:185px;margin-bottom:1px;overflow:hidden}.mec-timetable-t2-content .mec-event-title{line-height:22px;margin-bottom:13px;white-space:nowrap;padding-right:1px;overflow:hidden}.mec-timetable-t2-content .mec-event-title a{color:#fff;font-size:15px;font-weight:600;white-space:pre-line;overflow:hidden}.mec-timetable-t2-content div{color:#fff;font-size:11px;font-weight:400;line-height:19px;white-space:nowrap}.mec-timetable-t2-content div i{font-size:12px;margin-right:4px}@media only screen and (max-width:960px){.mec-timetable-t2-col{width:100%;float:none}}@media (min-width:961px){.mec-timetable-col-7{width:14.28%}.mec-timetable-col-6{width:16.6666%}}.mec-timetable-t3-wrap td{position:relative;padding:0}.mec-timetable-t3-wrap td a{width:100%;display:block;min-height:110px}.mec-weather-box{padding:15px 0}.mec-weather-head{min-height:90px;padding:5px 0;clear:both;overflow:hidden;margin-bottom:25px;border-radius:10px;background:#238af5;position:relative}.mec-weather-icon-box{float:left;width:80px;height:80px;border-radius:10px;overflow:hidden;background:#238af5}.mec-weather-icon{width:80px;height:80px;display:inline-block;border-radius:10px}.mec-weather-summary{float:left;width:calc(100% - 80px);padding-left:10px;margin:10px 0;height:60px}.mec-weather-summary-report{font-size:15px;color:rgba(255,255,255,.68);margin-bottom:6px}.mec-weather-summary-temp{font-weight:300;color:#fff;font-size:29px;line-height:1}.degrees-mode{background:rgba(0,0,0,.2);cursor:pointer;font-weight:300;font-size:18px;padding:4px 5px;line-height:1;color:#fff;position:absolute;border-radius:8px;bottom:16px;left:16px}.mec-weather-extras{width:auto;padding:10px 15px 0 15px;float:right;min-height:80px;color:#fff;font-size:13px;line-height:1}.mec-weather-extras{width:auto;padding:10px 15px 0 15px;float:right;min-height:80px;color:#fff;font-size:13px;line-height:1}.mec-weather-extras div{line-height:20px;height:20px}.mec-weather-extras span{color:rgba(255,255,255,.68);font-size:12px;text-transform:uppercase}.mec-weather-extras var{font-size:11px;letter-spacing:.4px}.mec-weather-icon.clear-day,.mec-weather-icon.clear-night{background-image:url(../img/mec-weather-icon-01.png)}.mec-weather-icon.partly-sunny-day,.mec-weather-icon.partly-sunny-night{background-image:url(../img/mec-weather-icon-02.png)}.mec-weather-icon.partly-cloudy-day,.mec-weather-icon.partly-cloudy-night{background-image:url(../img/mec-weather-icon-03.png)}.mec-weather-icon.cloudy,.mec-weather-icon.fog,.mec-weather-icon.wind{background-image:url(../img/mec-weather-icon-04.png)}.mec-weather-icon.thunderstorm{background-image:url(../img/mec-weather-icon-05.png)}.mec-weather-icon.rain{background-image:url(../img/mec-weather-icon-06.png)}.mec-weather-icon.hail,.mec-weather-icon.sleet,.mec-weather-icon.snow{background-image:url(../img/mec-weather-icon-07.png)}.mec-av-spot-wrap{width:auto;max-width:1200px;padding:0;margin:0 auto 25px;background:#f7f7f7;min-height:480px;position:relative}.mec-av-spot{height:auto;border:1px solid #eee;box-shadow:0 6px 12px -4px rgba(0,0,0,.05)}.mec-av-spot .mec-event-article{position:relative;height:auto}.mec-av-spot .mec-av-spot-img{position:relative;background-size:cover!important;background-position:center!important;width:100%;height:330px;float:none;margin:0;overflow:hidden}.mec-av-spot .mec-av-spot-content,.mec-av-spot .mec-av-spot-head{width:100%;float:none;height:100%;background:#fff;padding:0 20px 20px;margin-bottom:0}.mec-av-spot .mec-av-spot-head{background:#222;color:#fff;min-height:80px}.mec-av-spot .mec-av-spot-head .mec-av-spot-box{padding-top:25px;font-size:13px;color:#ddd}.mec-av-spot .mec-av-spot-head .mec-av-spot-box span{color:#40d9f1;font-size:40px;font-weight:700;font-style:italic}.mec-av-spot .mec-av-spot-head .mec-event-countdown{text-align:center;padding-top:10px;display:table;table-layout:fixed;margin:0 auto;float:right}.mec-av-spot .mec-av-spot-head .mec-event-countdown li{display:table-cell;padding:10px 20px;position:relative;height:60px}.mec-av-spot .mec-av-spot-head .mec-event-countdown p{margin-bottom:0}.mec-av-spot .mec-events-content p{margin-bottom:20px}.mec-av-spot-content.mec-event-grid-modern .mec-event-article{border:none;padding:0;margin:0;box-shadow:none}.mec-av-spot-wrap .mec-event-grid-modern .event-grid-modern-head{margin-bottom:10px;padding:14px 34px;margin-left:-20px;margin-right:-20px;text-align:left;background:#f9f9f9;border-bottom:1px solid #eee}.mec-av-spot-content.mec-event-grid-modern .mec-event-title{font-size:29px}.mec-av-spot .mec-av-spot-col6{width:50%;float:left;height:100%}.mec-av-spot .mec-av-spot-col6 i{font-size:42px;float:left;margin-right:7px;height:58px}.mec-av-spot .mec-av-spot-col6 h6{text-transform:uppercase;font-size:17px;padding:4px 0;display:inline;color:#444}.mec-av-spot .mec-av-spot-col6 address{font-size:12px;margin-bottom:0}.mec-av-spot-content.mec-event-grid-modern .mec-event-title a:hover{text-decoration:underline}.mec-av-spot-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px;top:0;box-shadow:0 5px 11px -3px rgba(0,0,0,.05)}@media only screen and (max-width:768px){.mec-av-spot .mec-av-spot-col6{width:100%;margin:10px 0}}@media only screen and (max-width:479px){.mec-av-spot-content.mec-event-grid-modern .mec-event-title{font-size:24px}}.mec-events-masonry-wrap{display:block;width:auto}.mec-masonry-item-wrap{width:calc(33.33% - 30px);padding:0;margin:0 15px 30px;min-height:10px;position:relative;float:left}.mec-events-masonry-cats{padding:10px;margin-bottom:25px;text-align:center;clear:both;list-style:none outside none}.mec-events-masonry-cats a{border-radius:2px;padding:6px 12px;font-size:13px;line-height:1.2;color:#333;font-weight:400;margin-top:0!important;text-align:center;display:inline-block;width:auto;border:2px solid transparent;transition:all .2s ease}.mec-events-masonry-cats a:hover{border-color:#40d9f1;color:#333}.mec-events-masonry-cats a.mec-masonry-cat-selected{border:2px solid #40d9f1;color:#40d9f1}.mec-masonry{background:#f7f7f7;height:auto;border:1px solid #eee;box-shadow:0 6px 12px -4px rgba(0,0,0,.05)}.mec-masonry .mec-event-article{position:relative;height:auto}.mec-masonry .mec-masonry-img{position:relative;width:100%;height:auto;float:none;margin:0;overflow:hidden}.mec-masonry .mec-masonry-img img{width:100%}.mec-masonry .mec-masonry-content,.mec-masonry .mec-masonry-head{width:100%;float:none;height:100%;background:#fff;padding:0 20px 20px;margin-bottom:0}.mec-masonry .mec-events-content p{margin-bottom:20px}.mec-masonry-content.mec-event-grid-modern .mec-event-article{border:none;padding:0;margin:0;box-shadow:none}.mec-masonry-item-wrap .mec-event-grid-modern .event-grid-modern-head{min-height:79px;margin-bottom:10px;padding:14px 5%;margin-left:-20px;margin-right:-20px;text-align:left;background:#f9f9f9;border-bottom:1px solid #eee}.mec-masonry-content.mec-event-grid-modern .mec-event-title{font-size:22px}.mec-masonry-content.mec-event-grid-modern .mec-event-content{padding-top:20px}@media (max-width:480px){.mec-masonry-content.mec-event-grid-modern .mec-labels-normal{display:block}}.mec-masonry-content.mec-event-grid-modern .mec-event-footer{height:auto}.mec-masonry .mec-masonry-col6 .mec-event-date{font-size:52px;letter-spacing:-2px;line-height:41px;vertical-align:top}.mec-masonry .mec-masonry-col6{width:50%;float:left;height:100%}.mec-masonry .mec-masonry-col6 i{font-size:24px;float:left;margin-right:7px;height:50px}.mec-masonry .mec-masonry-col6 .mec-event-month,.mec-masonry .mec-masonry-col6 h6{text-transform:capitalize;font-size:15px;padding:4px 0;display:inline;color:#444}.mec-masonry .mec-masonry-col6 .mec-event-detail,.mec-masonry .mec-masonry-col6 address{font-size:11px;margin-bottom:0}.mec-masonry-content.mec-event-grid-modern .mec-event-title a:hover{text-decoration:underline}.mec-masonry-content.mec-event-grid-modern .mec-event-footer .mec-booking-button{font-size:12px;padding:0 31px;line-height:49px;height:50px;top:0;box-shadow:0 5px 11px -3px rgba(0,0,0,.05)}@media only screen and (max-width:960px){.mec-masonry-item-wrap{width:calc(50% - 30px)}}@media only screen and (max-width:768px){.mec-masonry .mec-masonry-col6{width:100%;margin:10px 0}.mec-masonry-item-wrap{width:calc(100% - 30px)}}@media only screen and (max-width:479px){.mec-masonry-content.mec-event-grid-modern .mec-event-title{font-size:24px}}.mec-wrap.mec-skin-masonry-container .mec-load-more-wrap{position:unset}.btn-wrapper{text-align:center}.countdown-wrapper .btn-wrapper{padding-top:10px;padding-right:0}.countdown-wrapper h5.countdown-message{letter-spacing:5px;font-weight:500;font-size:18px}.blox.dar .countdown-wrapper p,.countdown-wrapper p{color:#888}.countdown-wrapper a.button.black{float:right;margin-right:0}.mec-wrap .threedaydigits .days .flip-clock-label{right:-100px}@media only screen and (min-width:320px) and (max-width:767px){.mec-wrap .flip-clock-wrapper ul{width:29px!important}.mec-wrap .flip-clock-wrapper ul li a div div.inn{font-size:25px!important}.mec-wrap .flip-clock-divider .flip-clock-label{left:0;font-weight:300}.mec-wrap span.flip-clock-divider{width:12px}}@media only screen and (min-width:320px) and (max-width:480px){.mec-wrap .flip-clock-wrapper ul{width:29px!important}.mec-wrap .flip-clock-wrapper ul li a div div.inn{font-size:25px!important}.mec-wrap .flip-clock-divider .flip-clock-label{display:none}.mec-wrap span.flip-clock-divider:first-child{width:0}.mec-wrap span.flip-clock-divider{width:20px}.mec-single-event .mec-events-meta-group-countdown{margin-left:0;padding:15px 18%}}@media screen and (min-width:960px) and (max-width:1200px){.mec-wrap .threedaydigits ul{height:50px;width:47px}}@media screen and (min-width:480px) and (max-width:768px){.mec-wrap .threedaydigits ul{height:48px;width:26px!important}.mec-wrap .threedaydigits .flip-clock-label{font-size:8px;left:-8px}}@media screen and (min-width:320px) and (max-width:480px){.mec-wrap .threedaydigits ul{height:48px;width:22px!important}}.mec-wrap .flip-clock-wrapper *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;backface-visibility:hidden}.mec-wrap .flip-clock-wrapper a{cursor:pointer;text-decoration:none;color:#ccc}.mec-wrap .flip-clock-wrapper a:hover{color:#fff}.mec-wrap .flip-clock-wrapper ul{list-style:none}.flip-clock-wrapper.clearfix:after,.mec-wrap .flip-clock-wrapper.clearfix:before{content:" ";display:table}.mec-wrap .flip-clock-wrapper.clearfix:after{clear:both}.mec-wrap .flip-clock-wrapper{font:normal 11px "helvetica neue",helvetica,sans-serif;-webkit-user-select:none}.mec-wrap .flip-clock-meridium{background:0 0!important;box-shadow:0 0 0!important;font-size:36px!important}.mec-wrap .flip-clock-meridium a{color:#313333}.mec-wrap .flip-clock-wrapper{text-align:center;position:relative;display:inline-block;padding-bottom:10px}.flip-clock-wrapper:after,.mec-wrap .flip-clock-wrapper:before{content:" ";display:table}.mec-wrap .flip-clock-wrapper:after{clear:both}.mec-wrap .flip-clock-wrapper ul{position:relative;float:left;margin:2px;width:50px;height:50px;font-size:80px;font-weight:700;line-height:87px;border-radius:3px;background:rgba(0,0,0,.21)}.mec-wrap .flip-clock-wrapper ul li{z-index:1;position:absolute;left:0;top:0;width:100%;height:100%;line-height:54px;text-decoration:none!important}.mec-wrap .flip-clock-wrapper ul li:first-child{z-index:2}.mec-wrap .flip-clock-wrapper ul li a{display:block;height:100%;-webkit-perspective:200px;-moz-perspective:200px;perspective:200px;margin:0!important;overflow:visible!important;cursor:default!important}.mec-wrap .flip-clock-wrapper ul li a div{z-index:1;position:absolute;left:0;width:100%;height:50%;font-size:80px;overflow:hidden;outline:1px solid transparent}.mec-wrap .flip-clock-wrapper ul li a div .shadow{position:absolute;width:100%;height:100%;z-index:2}.mec-wrap .flip-clock-wrapper ul li a div.up{-webkit-transform-origin:50% 100%;-moz-transform-origin:50% 100%;-ms-transform-origin:50% 100%;-o-transform-origin:50% 100%;transform-origin:50% 100%;top:0}.mec-wrap .flip-clock-wrapper ul li a div.up:after{content:"";position:absolute;top:24px;left:0;z-index:5;width:100%;height:3px;background-color:rgba(0,0,0,.12)}.mec-wrap .flip-clock-wrapper ul li a div.down{-webkit-transform-origin:50% 0;-moz-transform-origin:50% 0;-ms-transform-origin:50% 0;-o-transform-origin:50% 0;transform-origin:50% 0;bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.mec-wrap .flip-clock-wrapper ul li a div div.inn{position:absolute;left:0;z-index:1;width:100%;height:200%;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.25);text-align:center;background-color:#40d9f1;border-radius:3px;font-size:48px}.mec-wrap .flip-clock-wrapper ul li a div.up div.inn{top:0}.mec-wrap .flip-clock-wrapper ul li a div.down div.inn{bottom:0}.mec-wrap .flip-clock-wrapper ul.play li.flip-clock-before{z-index:3}.mec-wrap .flip-clock-wrapper .flip{box-shadow:0 2px 5px rgba(0,0,0,.17)}.mec-wrap .flip-clock-wrapper ul.play li.flip-clock-active{-webkit-animation:asd .5s .5s linear both;-moz-animation:asd .5s .5s linear both;animation:asd .5s .5s linear both;z-index:5}.mec-wrap .flip-clock-divider{float:left;display:inline-block;position:relative;width:18px;height:62px}.mec-wrap .flip-clock-divider:first-child{width:0}.mec-wrap .flip-clock-dot{display:none;background:#323434;width:10px;height:10px;position:absolute;border-radius:50%;box-shadow:0 0 5px rgba(0,0,0,.5);left:5px}.mec-wrap .flip-clock-divider .flip-clock-label{position:absolute;bottom:-1.5em;right:-71px;color:#101010;font-weight:700;text-shadow:none;text-transform:uppercase}.mec-wrap .blox.dark .flip-clock-divider .flip-clock-label{color:#8a8a8a}.mec-wrap .flip-clock-divider.seconds .flip-clock-label{right:-82px}.mec-wrap .flip-clock-dot.top{top:30px}.mec-wrap .flip-clock-dot.bottom{bottom:30px}@-webkit-keyframes asd{0%{z-index:2}20%{z-index:4}100%{z-index:4}}@-moz-keyframes asd{0%{z-index:2}20%{z-index:4}100%{z-index:4}}@-o-keyframes asd{0%{z-index:2}20%{z-index:4}100%{z-index:4}}@keyframes asd{0%{z-index:2}20%{z-index:4}100%{z-index:4}}.flip-clock-wrapper ul.play li.flip-clock-active .down{z-index:2;-webkit-animation:turn .5s .5s linear both;-moz-animation:turn .5s .5s linear both;animation:turn .5s .5s linear both}@-webkit-keyframes turn{0%{-webkit-transform:rotatex(90deg)}100%{-webkit-transform:rotatex(0)}}@-moz-keyframes turn{0%{-moz-transform:rotatex(90deg)}100%{-moz-transform:rotatex(0)}}@-o-keyframes turn{0%{-o-transform:rotatex(90deg)}100%{-o-transform:rotatex(0)}}@keyframes turn{0%{transform:rotatex(90deg)}100%{transform:rotatex(0)}}.flip-clock-wrapper ul.play li.flip-clock-before .up{z-index:2;-webkit-animation:turn2 .5s linear both;-moz-animation:turn2 .5s linear both;animation:turn2 .5s linear both}@-webkit-keyframes turn2{0%{-webkit-transform:rotatex(0)}100%{-webkit-transform:rotatex(-90deg)}}@-moz-keyframes turn2{0%{-moz-transform:rotatex(0)}100%{-moz-transform:rotatex(-90deg)}}@-o-keyframes turn2{0%{-o-transform:rotatex(0)}100%{-o-transform:rotatex(-90deg)}}@keyframes turn2{0%{transform:rotatex(0)}100%{transform:rotatex(-90deg)}}.flip-clock-wrapper ul li.flip-clock-active{z-index:3}.flip-clock-wrapper ul.play li.flip-clock-before .up .shadow{background:-moz-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,.1)),color-stop(100%,rgba(64,64,64,.68)));background:linear,top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%;background:-o-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:-ms-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:linear,to bottom,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%;-webkit-animation:show .5s linear both;-moz-animation:show .5s linear both;animation:show .5s linear both}.flip-clock-wrapper ul.play li.flip-clock-active .up .shadow{background:-moz-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,.1)),color-stop(100%,rgba(64,64,64,.68)));background:linear,top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%;background:-o-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:-ms-linear-gradient(top,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%);background:linear,to bottom,rgba(0,0,0,.1) 0,rgba(64,64,64,.68) 100%;-webkit-animation:hide .5s .3s linear both;-moz-animation:hide .5s .3s linear both;animation:hide .5s .3s linear both}.flip-clock-wrapper ul.play li.flip-clock-before .down .shadow{background:-moz-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(64,64,64,.68)),color-stop(100%,rgba(0,0,0,.1)));background:linear,top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%;background:-o-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:-ms-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:linear,to bottom,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%;-webkit-animation:show .5s linear both;-moz-animation:show .5s linear both;animation:show .5s linear both}.flip-clock-wrapper ul.play li.flip-clock-active .down .shadow{background:-moz-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(64,64,64,.68)),color-stop(100%,rgba(0,0,0,.1)));background:linear,top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%;background:-o-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:-ms-linear-gradient(top,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%);background:linear,to bottom,rgba(64,64,64,.68) 0,rgba(0,0,0,.1) 100%;-webkit-animation:hide .5s .3s linear both;-moz-animation:hide .5s .3s linear both;animation:hide .5s .2s linear both}@-webkit-keyframes show{0%{opacity:0}100%{opacity:1}}@-moz-keyframes show{0%{opacity:0}100%{opacity:1}}@-o-keyframes show{0%{opacity:0}100%{opacity:1}}@keyframes show{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes hide{0%{opacity:1}100%{opacity:0}}@-moz-keyframes hide{0%{opacity:1}100%{opacity:0}}@-o-keyframes hide{0%{opacity:1}100%{opacity:0}}@keyframes hide{0%{opacity:1}100%{opacity:0}}@media only screen and (min-width:320px) and (max-width:480px){.single-mec-events .mec-wrap .flip-clock-wrapper{padding-bottom:0;max-width:218px}.single-mec-events .mec-wrap .mec-events-meta-group-countdown{padding:20px 20px 20px 40px}.single-mec-events .mec-wrap .flip-clock-wrapper .flip{margin-bottom:40px}.single-mec-events .mec-wrap .flip-clock-divider .flip-clock-label{display:block}.single-mec-events .mec-wrap .flip-clock-divider.days .flip-clock-label{left:21px}.single-mec-events .mec-wrap .flip-clock-divider.hours .flip-clock-label{left:31px}.single-mec-events .mec-wrap .flip-clock-divider.minutes .flip-clock-label{bottom:-108px;left:-390px}.single-mec-events .mec-wrap .flip-clock-divider.seconds .flip-clock-label{left:20px}}@font-face{font-family:simple-line-icons;src:url(../fonts/Simple-Line-Icons.eot?v=2.3.1);src:url(../fonts/Simple-Line-Icons.eot?v=2.3.1#iefix) format("embedded-opentype"),url(../fonts/Simple-Line-Icons.woff2?v=2.3.1) format("woff2"),url(../fonts/Simple-Line-Icons.woff?v=2.3.1) format("woff"),url(../fonts/Simple-Line-Icons.ttf?v=2.3.1) format("truetype"),url(../fonts/Simple-Line-Icons.svg?v=2.3.1#simple-line-icons) format("svg");font-weight:400;font-style:normal}[class*=mec-sl-]{font-family:simple-line-icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mec-sl-facebook:before{content:"\e00b"}.mec-sl-twitter:before{content:"\e009"}.mec-sl-google-plus:before{content:"\e60d"}.mec-sl-angle-left:before{content:"\e605"}.mec-sl-angle-right:before{content:"\e606"}.mec-sl-calendar:before{content:"\e075"}.mec-sl-clock-o:before{content:"\e081"}.mec-sl-home:before{content:"\e069"}.mec-sl-phone:before{content:"\e600"}.mec-sl-envelope:before{content:"\e086"}.mec-sl-sitemap:before{content:"\e037"}.mec-sl-map-marker:before{content:"\e096"}.mec-sl-floder:before{content:"\e089"}.mec-sl-wallet:before{content:"\e02a"}.mec-color,.mec-color-before :before,.mec-color-hover:hover,.mec-wrap .mec-color,.mec-wrap .mec-color-before :before,.mec-wrap .mec-color-hover:hover{color:#40d9f1}.mec-bg-color,.mec-bg-color-hover:hover,.mec-wrap .mec-bg-color,.mec-wrap .mec-bg-color-hover:hover{background-color:#40d9f1}.mec-box-marker,.mec-vip-content-notice{box-shadow:5px 0 0 #40d9f1 inset;padding:5px 10px}.mec-border-color,.mec-border-color-hover:hover,.mec-wrap .mec-border-color,.mec-wrap .mec-border-color-hover:hover{border-color:#40d9f1}.mec-toggle-month-divider.mec-skin-list-events-container{border:1px solid #e8e8e8;margin-bottom:30px;background:#f8f8f8;box-shadow:0 2px 18px -1px rgba(0,0,0,.1);border-radius:2px}.mec-toggle-month-divider .mec-month-divider{margin:0;text-align:left;background:#fff;position:relative;cursor:pointer;border-top:1px solid #e8e8e8}.mec-toggle-month-divider .mec-month-divider span{padding:20px;border-bottom:1px solid #e8e8e8}.mec-toggle-month-divider .mec-month-divider i{position:absolute;right:20px;top:24px;font-size:20px;cursor:pointer}.mec-toggle-month-divider .mec-month-divider span:before{display:none}.mec-toggle-month-divider .mec-month-divider+article{margin-top:20px}.mec-toggle-month-divider .mec-wrap .mec-month-divider:first-of-type{border-top:none}.mec-toggle-month-divider .mec-event-list-accordion .mec-month-divider:not(:first-of-type)~article{display:none}.mec-skin-list-events-container:not(.mec-toggle-month-divider) .mec-month-divider i{display:none}.mec-toogle-inner-month-divider .mec-toggle-item-col .mec-event-month{display:inline-block;padding-top:0}.mec-toogle-inner-month-divider .mec-toggle-item-col .mec-event-date{font-size:14px;line-height:14px;float:none;display:inline-block;margin-right:0;font-weight:700}.mec-events-toggle .mec-toogle-inner-month-divider.mec-toggle-item-inner{padding:20px 60px 30px 15px}.mec-toogle-inner-month-divider .mec-toggle-month-inner-image{float:left;clear:right;width:100px;margin-right:20px;margin-left:10px}.mec-toogle-inner-month-divider .mec-toggle-item-col .mec-event-detail{margin-top:-6px}.mec-toogle-inner-month-divider .mec-toggle-item-col{float:none;width:100%;margin-top:10px;display:block;border:none}.mec-events-toggle .mec-toogle-inner-month-divider .mec-toggle-title{font-size:19px;display:block;padding-top:10px}@media only screen and (max-width:768px){.mec-events-toggle .mec-toogle-inner-month-divider .mec-toggle-title{font-size:14px;padding-top:0}.mec-toogle-inner-month-divider .mec-toggle-item-col{margin-top:0}.mec-toogle-inner-month-divider .mec-toggle-month-inner-image{width:70px}}.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-label-canceled,.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-label-custom,.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-label-featured{overflow:hidden;position:relative}.mec-event-label-captions{z-index:1;position:absolute;top:20px;right:-37px;font-size:11px;letter-spacing:1px;text-transform:uppercase;background:#04de78;padding:2px 40px;color:#fff;-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:.5s cubic-bezier(.25,.5,.06,.85);transition:.5s cubic-bezier(.25,.5,.06,.85);list-style:none;text-align:center}.mec-box-calendar.mec-event-calendar-classic.mec-event-container-novel .mec-event-label-captions{display:none}.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-label-canceled:before{background:#de0404}.mec-daily-view-date-events article:before,ul.mec-weekly-view-dates-events article:before{padding:7px 40px!important;top:27px!important}.mec-event-grid-classic article .mec-fc-style,.mec-event-grid-minimal article .mec-fc-style,.mec-event-grid-simple article .mec-fc-style,.mec-timeline-event .mec-fc-style,.mec-timetable-wrap article .mec-fc-style,.mec-wrap .mec-event-list-accordion article .mec-fc-style,.mec-wrap .mec-event-list-modern article .mec-fc-style,.mec-wrap .mec-events-agenda .mec-agenda-event .mec-fc-style,.mec-wrap article.mec-event-cover-classic .mec-fc-style,.mec-wrap article.mec-event-cover-clean .mec-fc-style,.mec-wrap article.mec-event-cover-modern .mec-fc-style,.mec-wrap article[class^=mec-event-countdown-] .mec-fc-style{font-size:9px;letter-spacing:.5px;text-transform:uppercase;background:#04de78;padding:2px 7px;color:#fff;position:relative;margin-left:5px;border-radius:2px}.mec-timeline-event.mec-label-canceled .mec-fc-style,.mec-wrap .mec-events-agenda .mec-agenda-event.mec-label-canceled .mec-fc-style,.mec-wrap article.mec-event-cover-modern.mec-label-canceled .mec-fc-style{background:#de0404}.mec-event-grid-minimal article .mec-fc-style:before,.mec-event-grid-simple article .mec-fc-style:before,.mec-timeline-event .mec-fc-style:before,.mec-timetable-wrap article .mec-fc-style:before,.mec-wrap .mec-event-list-accordion article .mec-fc-style:before,.mec-wrap .mec-event-list-modern article .mec-fc-style:before,.mec-wrap .mec-events-agenda .mec-agenda-event .mec-fc-style:before,.mec-wrap article.mec-event-cover-classic .mec-fc-style:before,.mec-wrap article.mec-event-cover-clean .mec-fc-style:before,.mec-wrap article[class^=mec-event-countdown-] .mec-fc-style:before{width:0;height:0;border-top:4px solid transparent!important;border-right:5px solid;border-bottom:4px solid transparent;margin:0;top:50%;left:-5px;transform:translateY(-4.5px);position:absolute;content:"";color:var(--background-color)}.mec-timeline-event.mec-label-canceled .mec-fc-style:before,.mec-wrap .mec-events-agenda .mec-agenda-event.mec-label-canceled .mec-fc-style:before{color:#de0404}.mec-event-grid-classic article.mec-label-canceled:before,.mec-event-grid-classic article.mec-label-featured:before,.mec-event-grid-minimal article.mec-label-canceled:before,.mec-event-grid-minimal article.mec-label-featured:before,.mec-event-grid-simple article.mec-label-canceled:before,.mec-event-grid-simple article.mec-label-featured:before,.mec-timetable-wrap article.mec-label-canceled:before,.mec-timetable-wrap article.mec-label-featured:before,.mec-wrap .mec-event-list-accordion article.mec-label-canceled:before,.mec-wrap .mec-event-list-accordion article.mec-label-featured:before,.mec-wrap .mec-event-list-modern article.mec-label-canceled:before,.mec-wrap .mec-event-list-modern article.mec-label-featured:before{display:none}.mec-wrap .mec-event-list-accordion article .mec-fc-style,.mec-wrap .mec-event-list-modern article .mec-fc-style,.mec-wrap article.mec-event-cover-classic .mec-fc-style,.mec-wrap article.mec-event-cover-clean .mec-fc-style,.mec-wrap article[class^=mec-event-countdown-] .mec-fc-style{top:-1px;right:-3px;font-size:11px;white-space:nowrap}.mec-event-grid-classic article.mec-label-canceled .mec-fc-style,.mec-event-grid-minimal article.mec-label-canceled .mec-fc-style,.mec-event-grid-simple article.mec-label-canceled .mec-fc-style,.mec-timetable-wrap article.mec-label-canceled .mec-fc-style,.mec-wrap .mec-event-list-accordion article.mec-label-canceled .mec-fc-style,.mec-wrap .mec-event-list-modern article.mec-label-canceled .mec-fc-style,.mec-wrap article.mec-event-cover-classic.mec-label-canceled .mec-fc-style,.mec-wrap article.mec-event-cover-clean.mec-label-canceled .mec-fc-style,.mec-wrap article[class^=mec-event-countdown-].mec-label-canceled .mec-fc-style{background:#de0404}.mec-event-grid-classic article.mec-label-canceled .mec-fc-style:before,.mec-event-grid-minimal article.mec-label-canceled .mec-fc-style:before,.mec-event-grid-simple article.mec-label-canceled .mec-fc-style:before,.mec-timetable-wrap article.mec-label-canceled .mec-fc-style:before,.mec-wrap .mec-event-list-accordion article.mec-label-canceled .mec-fc-style:before,.mec-wrap .mec-event-list-modern article.mec-label-canceled .mec-fc-style:before,.mec-wrap article.mec-event-cover-classic.mec-label-canceled .mec-fc-style:before,.mec-wrap article.mec-event-cover-clean.mec-label-canceled .mec-fc-style:before,.mec-wrap article[class^=mec-event-countdown-].mec-label-canceled .mec-fc-style:before{color:#de0404}.mec-wrap .mec-slider-t5 article:not([class^=mec-event-countdown]).mec-label-canceled:before,.mec-wrap .mec-slider-t5 article:not([class^=mec-event-countdown]).mec-label-featured:before{-ms-transform:none;-webkit-transform:none;transform:none;-webkit-transition:none;transition:none;top:271px;right:0}.mec-timetable-wrap article .mec-fc-style{top:-2px;font-size:10px;right:0}.mec-wrap article.mec-event-cover-modern .mec-fc-style{padding:5px 9px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:24px;display:inline-block;border-radius:2px;-ms-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0);right:0;top:0}.mec-skin-grid-events-container .mec-wrap .mec-event-grid-clean .mec-event-article:before{-ms-transform:none;-webkit-transform:none;transform:none!important;-webkit-transition:none;transition:none;top:22px!important;right:22px!important;padding:0 10px!important}.mec-event-grid-minimal article .mec-fc-style,.mec-event-grid-simple article .mec-fc-style{top:-4px;font-size:10px;margin-left:10px;right:0}.mec-event-grid-classic article .mec-fc-style{padding:5px 20px;font-size:12px;margin-top:8px;display:inline-block}.mec-load-month-link{color:#a9a9a9;font-size:12px;font-weight:400;letter-spacing:1px;text-transform:uppercase;text-decoration:unset;transition:all .33s ease}ul.mec-categories{padding:0}ul.mec-categories li.mec-category{list-style:none}ul.mec-categories li.mec-category a{font-weight:400;color:#626262;font-size:13px;text-align:left;transition:all .23s ease;-webkit-transition:all .23s ease}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields{display:inline-block;width:20px;height:20px;position:relative;cursor:pointer;margin:0 4px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAD90lEQVRoge2ZzWscZRjAf8/OJpUkQrF6SJMcNB+zobVdk8WCWEwqBEou0kMKtkgPHoRUD54VFMQ/wJBYhJ6MoGvFg3rQQ7dQFJVN09RANl9UkrgRbVrFuDZpZh4PSWqYmd2Z2a8Ize+0+7zPO/N7dt7l/RjYY48HGynHRZKqRltm7mmBXo1It9jEEBqBhq2UVYSswrTYmraVVFdn248iYpd675IK+GluruXehg4KchZoCtl9SVRHJcrw0fb2pWIdiirg2uzsY2LLOyjngNpib77FOujFdd1481hn50rYzqELGJ+afxGxh0AeCdvXhxURBuNm2ydhOgUuIJ1O1xgN+0eAl0OrhUDgwp3lxVd7e3s3Aub7k05n64yG3CXgZEl2QVG+sv6uG0gkDub8UiN+CZu/fBXlAYR+oz6XTKVSUb9U3wK2hk315LcR+vc3Nr/nn1aA8cz8GdDR8lmFR9DT8Vh7Mn97Hn6YmjpQKzUZ4NGKmAVnxRIrljDNW16NeYdQbaTmXXZfHuCAYUffytfo+QQmZmebbUvmKX2SKhdrIlZr3DR/cTZ4PgHL4jz/H3mAfUp00KvBVYCqRgQ5U3mnkKi+lFQ1nGFXAeOZuWNAc1WkwtHUMXOz2xl0FSDQWx2f8NjoCWfM4z8giWrIFIMorifgnqojdKDeF7Asi69TVxm7MYkIdB85TF/PcQzDqGjeNoqa/gWoNuab3765cpUr331//3vq283PJ5/vqWjeNgKNzpjXEGpwxzZJT0zuSmwHDzsDvou5nYjHg4l4xMqdVwiPAnQ1X3L3kcOuWNfRJyuet4O/nAH3f0BkGcVzu9jXcxyAsRuT9wX6nnu24nnbKCy7dJ2Ba9Nzn4lyKu9VdhX59KlY68DOiHsis3WsekLhEHC5uQqwlcvV0QmPitvNNYRUNTI+Pf+zQEt1tAKzEDdbH3ee5rmHkIgdUf2oel4BEUa9jiI95wGJMgysV1wqOGuCNeLV4FnA5lmlXqysU3BE+MBrNwaF9sTWQ28Av1fMKjgra/a9t/M15i3g0KGW2yq8Vhmn4Cj6SqFD34JroS6z7WOBC+XXCoYIQ12x9kuFcnwXczNm63mUz8unFRDRL+9kF1/3TQtyrXQ6W2fU55II/aWb+aPIF3fra08/09Lyj19uoOV0InEw98eviy+Avl+6XmFEGPpzeeFUEHko4gXH9czsgCLDlP/U7jdFB/3GvJNQGxqAeKw9WWvtM1EZBtbC9ncicFeEIWO9JhZWfqt/8Vyfnm5SooOqeraItdMC8KGyMdIVi2WLdSjLa1ZVjUzM3EzY6AlRuhU1BW36b3+tqyBLIDMCaRUuxzueGCvHa9Y99njQ+RcbkGTacAW/agAAAABJRU5ErkJggg==);background-position:center center;background-size:cover}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip{position:absolute;width:340px;bottom:24px;left:calc(50% - 170px);background:#fff;border-radius:5px;border:1px solid #535a6121;box-shadow:0 4px 45px -8px #444b5061;visibility:hidden;opacity:0;transition:opacity .18s ease,transform .18s ease,visibility .25s ease;transform:scale(.9);z-index:99}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields:hover .mec-data-fields-tooltip{visibility:visible;opacity:1;transform:scale(1)}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip:before{display:block;content:"";position:absolute;width:12px;height:12px;left:calc(50% - 12px);top:100%;transform:translate(50%,-50%) rotate(-45deg);background-color:#fff;box-shadow:0 8px 9px -4px #535a61;z-index:0}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box{overflow:hidden;border-radius:11px;padding:12px 0}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul{width:100%;height:200px;overflow-y:scroll;padding:9px 15px;text-align:left}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul::-webkit-scrollbar-track{background-color:#fafafa}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul::-webkit-scrollbar{width:4px;background-color:#fafafa}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul::-webkit-scrollbar-thumb{background-color:#40d9f1;border-radius:4px}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul .mec-event-data-field-item{display:block;width:100%;text-transform:none;margin:0 0 8px 0;color:#616263;font-size:13px;line-height:1.5;font-weight:400;padding-bottom:8px;border-bottom:1px dashed #e1e2e3}.mec-wrap [id^=mec_skin_events_] .mec-event-data-fields .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul .mec-event-data-field-item:last-child{border-bottom:none}.mec-wrap [id^=mec_skin_events_] .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul .mec-event-data-field-item a{color:#40d9f1;font-size:13px;line-height:1.5;font-weight:400}.mec-wrap [id^=mec_skin_events_] .mec-data-fields-tooltip .mec-data-fields-tooltip-box ul .mec-event-data-field-item a:hover{color:#000}.mec-wrap .mec-custom-data .mec-timetable-t2-content,.mec-wrap .mec-custom-data .mec-timetable-t2-content .mec-event-title,.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-custom-data.mec-label-canceled,.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-custom-data.mec-label-featured{overflow:visible!important}.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-custom-data.mec-label-canceled .mec-event-label-captions,.mec-wrap article:not([class^=mec-event-countdown]):not([class^=mec-event-cover-]).mec-custom-data.mec-label-featured .mec-event-label-captions{-ms-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0);width:fit-content;top:7px;right:7px;padding:2px 5px;border-radius:4px}@media(min-width:768px){.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-canceled .mec-event-data-fields .mec-data-fields-tooltip,.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-custom .mec-event-data-fields .mec-data-fields-tooltip,.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-featured .mec-event-data-fields .mec-data-fields-tooltip{bottom:calc(50% - 110px);left:30px}.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-canceled .mec-event-data-fields .mec-data-fields-tooltip:before,.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-custom .mec-event-data-fields .mec-data-fields-tooltip:before,.mec-wrap [id^=mec_skin_events_] .mec-event-list-standard .mec-label-featured .mec-event-data-fields .mec-data-fields-tooltip:before{left:-10px;top:calc(100% - 110px);box-shadow:-8px -5px 9px -4px #535a61}}.mec-hourly-schedule-speaker-info{background:#fff;padding:30px;border:1px solid #e6e6e6;max-width:740px;width:740px;margin-left:-110px}.mec-hourly-schedule-speaker-thumbnail{float:left;max-width:30%;width:30%}.mec-hourly-schedule-speaker-name{font-weight:700;font-size:26px;line-height:1.2;color:#333;text-transform:uppercase}.mec-hourly-schedule-speaker-details{float:left;width:69%;padding-left:25px}.mec-hourly-schedule-speaker-job-title{font-size:16px;line-height:1.3;margin-bottom:4px}.mec-hourly-schedule-speaker-description{font-size:14px;font-weight:400;color:#6d7683;line-height:1.7;text-align:left}.mec-hourly-schedule-speaker-contact-information a i{color:#6b6b6b;background:#ebebeb;line-height:29px;margin:9px 7px 9px 0;width:30px;height:30px;display:inline-block;text-align:center;transition:all .2s ease;font-size:15px;cursor:pointer;border-radius:3px}.mec-hourly-schedule-speaker-contact-information a i:hover{background:#222;color:#fff}@media only screen and (max-width:479px){.mec-hourly-schedule-speaker-thumbnail{float:none;max-width:none;margin-right:0;margin-bottom:15px;width:100%}.mec-hourly-schedule-speaker-thumbnail img{width:100%}.mec-hourly-schedule-speaker-details{padding-left:0}.mec-hourly-schedule-speaker-info{width:90%;margin:0 auto}}.mec-profile .mec-profile-bookings{border:2px solid #e6e6e6;text-align:center}.mec-profile .mec-profile-bookings tbody tr:first-child{background:#f7f7f7;font-weight:700;text-transform:capitalize}.mec-profile .mec-profile-bookings tbody tr{border-bottom:1px solid #e6e6e6;font-size:14px}.mec-profile .mec-profile-bookings tbody tr td{border:1px solid #e6e6e6;padding:10px;text-align:center;word-break:initial}.mec-profile .mec-profile-bookings tbody tr td:nth-child(1){width:5%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(2){width:53%;text-align:left}.mec-profile .mec-profile-bookings tbody tr td:nth-child(3){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(4){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(5){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(6){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(7){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(8){width:7%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(8) i{color:#fe686a}.mec-profile .mec-event-status{padding:5px 10px;color:#fff;border-radius:2px;font-size:12px;line-height:12px;letter-spacing:.4px}.mec-profile .mec-event-status.mec-book-confirmed{background:#50d477}.mec-profile .mec-event-status.mec-book-pending{background:#fcbe69}.mec-profile .mec-event-status.mec-book-rejected{background:#fe686a}.mec-profile .mec-event-date{font-size:12px;color:#888}.mec-event-date,.mec-event-status{text-align:center}.mec-event-date .mec-tooltip,.mec-event-status .mec-tooltip{position:relative;width:fit-content;margin:auto}.mec-profile i{font-size:15px;color:#008aff;vertical-align:text-bottom;margin-right:4px}.mec-event-date .mec-tooltip .box,.mec-event-status .mec-tooltip .box{min-width:250px;max-width:300px;display:inline-block;top:-8px;left:50%;margin-top:0;transform:translate(-50%,-100%);padding:0;background-color:#000;color:#fff;font-weight:400;font-size:14px;letter-spacing:.5px;line-height:1.5;position:absolute;z-index:99999999;box-sizing:border-box;border-radius:6px;box-shadow:0 4px 45px -8px #535a61;padding:5px 10px 6px;border-radius:8px;text-align:center;font-style:normal;opacity:0;visibility:hidden;display:none}.mec-event-date .mec-tooltip .box,.mec-event-status .mec-tooltip .box{font-size:13px;letter-spacing:1.1px;font-weight:500}.mec-event-date .mec-tooltip:hover .box:after,.mec-event-status .mec-tooltip:hover .box:after{content:"";position:absolute;width:12px;height:12px;left:calc(50% - 12px);bottom:-12px;transform:translate(50%,-50%) rotate(-45deg);background-color:#000;box-shadow:0 8px 9px -4px #535a61}.mec-event-status .mec-tooltip .box{min-width:100px}.mec-event-status.mec-book-confirmed .mec-tooltip .box,.mec-event-status.mec-book-confirmed .mec-tooltip:hover .box:after{background-color:#50d477}.mec-event-status.mec-book-rejected .mec-tooltip .box,.mec-event-status.mec-book-rejected .mec-tooltip:hover .box:after{background-color:#fe686a}.mec-event-status.mec-book-pending .mec-tooltip .box,.mec-event-status.mec-book-pending .mec-tooltip:hover .box:after{background-color:#fcbe69}.mec-event-date .mec-tooltip:hover .box,.mec-event-status .mec-tooltip:hover .box{opacity:1;visibility:visible;display:block}.mec-profile .mec-event-status{padding:0}.mec-profile .mec-booking-number-of-attendees{font-size:13px;color:#888}.mec-profile .mec-booking-number-of-attendees i,.mec-profile .mec-profile-bookings-view-invoice i{font-size:15px;color:#008aff;vertical-align:text-bottom;margin-right:4px}.mec-booking-attendees{background:#fff;padding:10px}.mec-booking-attendees{width:850px;text-align:center}.mec-booking-attendees-wrapper{border:2px solid #e6e6e6;font-size:14px}.mec-booking-attendees-head{display:table;width:100%;background:#f7f7f7;border-bottom:1px solid #e6e6e6;font-weight:700}.mec-booking-attendees-head span,.mec-booking-attendees-head-content>span{vertical-align:middle;display:table-cell;padding:7px;border-right:1px solid #e6e6e6;font-size:12px}.mec-booking-attendees-head-content{display:table;width:100%;border-bottom:1px solid #e6e6e6}.mec-booking-attendees-wrapper .mec-booking-attendees-head-content:last-child{border:none}.mec-booking-attendees-head span:nth-child(1),.mec-booking-attendees-head-content>span:nth-child(1){width:4%}.mec-booking-attendees-head span:nth-child(2),.mec-booking-attendees-head-content>span:nth-child(2){width:20%}.mec-booking-attendees-head span:nth-child(3),.mec-booking-attendees-head-content>span:nth-child(3){width:24%}.mec-booking-attendees-head span:nth-child(4),.mec-booking-attendees-head-content>span:nth-child(4){width:26%}.mec-booking-attendees-head span:nth-child(5),.mec-booking-attendees-head-content>span:nth-child(5){width:26%}@media only screen and (max-width:759px){.mec-booking-attendees{width:470px}.mec-booking-attendees-head span,.mec-booking-attendees-head-content>span{word-break:break-all}}@media (max-width:1366px){.mec-profile .mec-profile-bookings tbody tr td:nth-child(1){width:6%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(2){width:40%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(3){width:8%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(4){width:8%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(5){width:12%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(6){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(7){width:8%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(8){width:8%}}@media (max-width:1024px){.mec-profile .mec-profile-bookings tbody tr td:nth-child(1){width:5%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(2){width:30%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(3){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(4){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(5){width:15%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(6){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(7){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(8){width:10%}}@media (max-width:780px){.mec-profile .mec-profile-bookings tbody tr,.mec-profile i{font-size:12px}.mec-event-date .mec-tooltip .box{min-width:200px}.mec-event-status .mec-tooltip .box{min-width:90px}.mec-event-date .mec-tooltip .box,.mec-event-status .mec-tooltip .box{padding:4px 5px!important}.mec-profile .mec-profile-bookings tbody tr{font-size:12px}}@media (max-width:480px){.mec-profile .mec-booking-number-of-attendees,.mec-profile .mec-profile-bookings tbody tr,.mec-profile i{font-size:8px!important}.mec-profile .mec-profile-bookings tbody tr td{padding:3px}.mec-profile .mec-profile-bookings tbody tr td:nth-child(1){width:5%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(2){width:19%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(3){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(4){width:12%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(5){width:18%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(6){width:13%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(7){width:10%}.mec-profile .mec-profile-bookings tbody tr td:nth-child(8){width:13%}.mec-event-date .mec-tooltip .box,.mec-event-status .mec-tooltip .box{font-size:8px}.mec-event-date .mec-tooltip .box{min-width:75px}.mec-event-status .mec-tooltip .box{min-width:70px}.mec-event-date .mec-tooltip .box,.mec-event-status .mec-tooltip .box{padding:4px 5px!important}}.mec-woo-booking-checkout{position:relative;border:none;border-radius:0;color:#fff;display:inline-block;font-size:12px;letter-spacing:1px;line-height:1.5;text-transform:uppercase;font-weight:600;text-decoration:none;cursor:pointer;margin-bottom:21px;margin-right:10px;line-height:1;padding:18px 20px 16px;background:#39c36e;-webkit-transition:all .21s ease;-moz-transition:all .21s ease;transition:all .21s ease;border-radius:0;margin-bottom:6px;min-width:170px;margin-top:5px;text-align:center}.mec-woo-booking-checkout:hover{background:#222;color:#fff}.mec-woo-booking-checkout:focus,.mec-woo-booking-checkout:visited{color:#fff}.single-mec-events .lity-container{max-width:480px;width:480px}.lity-content .mec-events-meta-group-booking{width:100%;padding:20px 50px;background:#fff}.lity-content .mec-events-meta-group-booking .mec-booking form>h4{text-transform:uppercase;font-size:15px;font-weight:700;color:#313131;border-bottom:4px solid #ebebeb;width:100%;display:block;padding-bottom:10px;position:relative;text-align:center;line-height:1.2;margin-bottom:10px}.lity-content .mec-events-meta-group-booking .mec-booking form>h4:before{padding:1px 35px;border-bottom:4px solid #40d9f1;font-size:6px;content:"";text-align:center;position:absolute;bottom:-4px;margin-left:-35px;left:50%}.lity-content .mec-events-meta-group-booking .mec-event-ticket-available,.lity-content .mec-events-meta-group-booking .mec-event-ticket-name,.lity-content .mec-events-meta-group-booking .mec-event-ticket-price,.lity-content .mec-events-meta-group-booking .mec-ticket-variation-name,.lity-content .mec-events-meta-group-booking .mec-ticket-variation-price,.lity-content .mec-events-meta-group-booking label{color:#424242;font-size:12px;font-weight:300;letter-spacing:0;margin:3px 0;clear:none;padding:5px 1em 3px 0;display:inline-block}.lity-content .mec-events-meta-group-booking .mec-event-ticket-available{margin-bottom:12px}.lity-content .mec-events-meta-group-booking select{display:block;background:#fcfcfc;min-height:42px;min-width:180px;font-size:13px;border:1px solid #e0e0e0;padding:13px 10px;width:100%;margin-bottom:20px;box-shadow:inset 0 2px 4px rgba(0,0,0,.051);clear:both}.lity-content .mec-events-meta-group-booking input[type=email]{color:#888;border:1px solid #e1e1e1;font-size:14px;display:block;width:100%;outline:0}.lity-content .mec-events-meta-group-booking input{margin-bottom:10px!important}.lity-content .mec-book-ticket-variation h5{color:#424242;font-size:12px;font-weight:300;letter-spacing:0;margin:0;clear:none;padding:5px 1em 3px 0;display:inline-block;text-transform:capitalize}.lity-content ul.mec-book-tickets-container{padding:0}.lity-content .mec-events-meta-group-booking input[type=email],.lity-content .mec-events-meta-group-booking input[type=number],.lity-content .mec-events-meta-group-booking input[type=text]{outline:0;display:block;background:#fcfcfc;min-height:42px;min-width:180px;font-size:13px;border:1px solid #e0e0e0;padding:13px 10px;width:100%;margin-bottom:20px;box-shadow:inset 0 2px 4px rgba(0,0,0,.051);clear:both;margin-bottom:2px!important}.lity-container .mec-click-pay #mec_woo_add_to_cart_btn_r,.lity-content button[type=submit]{position:relative;border:none;color:#fff;display:inline-block;font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:600;text-decoration:none;cursor:pointer;margin-right:10px;line-height:1;padding:18px 20px 16px;background:#39c36e;-webkit-transition:all .21s ease;-moz-transition:all .21s ease;transition:all .21s ease;min-width:170px;margin-top:5px;border-radius:0;margin-bottom:6px}.lity-content button[type=submit]:hover{background:#222}.lity-content .mec-book-tickets-container li{list-style:none}.lity-content .mec-events-meta-group-booking #mec_book_payment_form h4,.lity-content .mec-events-meta-group-booking li h4{font-size:19px;font-weight:700}.lity-content .mec-events-meta-group-booking .mec-book-price-total{display:inline-block;margin-bottom:10px;font-size:26px;color:#39c36e;font-weight:700;padding:10px 0}.lity-content .mec-events-meta-group-booking ul.mec-book-price-details li{width:50%}.lity-content .mec-events-meta-group-booking ul.mec-book-price-details li:nth-child(even){border:none}.lity-content .mec-events-meta-group-booking ul.mec-book-price-details li span{display:block}.lity-content .mec-events-meta-group-booking button[type=submit]:after{display:none;font-family:simple-line-icons;content:"\e098";margin-left:4px;-webkit-animation:rotating 1.2s linear infinite;-moz-animation:rotating 1.2s linear infinite;-ms-animation:rotating 1.2s linear infinite;-o-animation:rotating 1.2s linear infinite;animation:rotating 1.2s linear infinite}.lity-content .mec-events-meta-group-booking button[type=submit].loading:after{display:inline-block}@media only screen and (max-width:480px){.lity-content .mec-events-meta-group-booking{padding:20px;width:340px;margin:0 auto}}@media (max-width:480px){.single-mec-events .lity-container{max-width:440px;width:440px;margin:0 auto!important}}@media (max-width:411px){.single-mec-events .lity-container{max-width:380px;width:380px}}@media (max-width:375px){.single-mec-events .lity-container{max-width:350px;width:350px}}@media (max-width:320px){.single-mec-events .lity-container{max-width:300px;width:300px}}.mec-events-meta-group-booking{position:relative}.mec-cover-loader:after{content:"";position:absolute;top:0;right:0;left:0;bottom:0;background:rgba(255,255,255,.5);z-index:99999}.mec-loader{background:rgba(0,0,0,0);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9}.mec-loader,.mec-loader:after{border-radius:50%;width:5em;height:5em;z-index:999999999999}.mec-loader{font-size:10px;text-indent:-9999em;border-top:.5em solid rgba(0,0,0,.2);border-right:.5em solid rgba(0,0,0,.2);border-bottom:.5em solid rgba(0,0,0,.2);border-left:.5em solid #fff;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:mecloader 1.1s infinite linear;animation:mecloader 1.1s infinite linear}@-webkit-keyframes mecloader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes mecloader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.mec-google-recaptcha{margin:0 0 20px 16px}.mec-wrap *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mec-wrap :after,.mec-wrap :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mec-wrap .clearfix:after,.mec-wrap .clearfix:before{content:"\0020";display:block;overflow:hidden;visibility:hidden;width:0;height:0}.mec-wrap .clearfix:after{clear:both}.mec-wrap .clearfix{zoom:1}.mec-wrap .clear,.mec-wrap .clr{clear:both;display:block;overflow:hidden;visibility:hidden}.mec-wrap .clr{visibility:visible;overflow:visible}.mec-container [class*=col-] img{max-width:100%}.mec-container{margin-right:auto;margin-left:auto;padding-left:10px;padding-right:10px}.mec-container:after,.mec-container:before{content:" ";display:table}.mec-container:after{clear:both}@media only screen and (max-width:479px){.mec-container{width:300px}}@media only screen and (min-width:480px) and (max-width:767px){.mec-container{width:420px}}@media only screen and (min-width:768px) and (max-width:960px){.mec-container{width:768px}}@media only screen and (min-width:961px){.mec-container{width:960px}}@media only screen and (min-width:1200px){.mec-container{width:1196px;padding-left:15px;padding-right:15px}}@media only screen and (min-width:1921px){.mec-container{max-width:1690px}}.mec-wrap .row{margin-left:-10px;margin-right:-10px}.mec-wrap .row:after,.mec-wrap .row:before{content:" ";display:table}.mec-wrap .row:after{clear:both}.mec-wrap .col-lg-1,.mec-wrap .col-lg-10,.mec-wrap .col-lg-11,.mec-wrap .col-lg-12,.mec-wrap .col-lg-2,.mec-wrap .col-lg-3,.mec-wrap .col-lg-4,.mec-wrap .col-lg-5,.mec-wrap .col-lg-6,.mec-wrap .col-lg-7,.mec-wrap .col-lg-8,.mec-wrap .col-lg-9,.mec-wrap .col-md-1,.mec-wrap .col-md-10,.mec-wrap .col-md-11,.mec-wrap .col-md-12,.mec-wrap .col-md-2,.mec-wrap .col-md-3,.mec-wrap .col-md-4,.mec-wrap .col-md-5,.mec-wrap .col-md-6,.mec-wrap .col-md-7,.mec-wrap .col-md-8,.mec-wrap .col-md-9,.mec-wrap .col-sm-1,.mec-wrap .col-sm-10,.mec-wrap .col-sm-11,.mec-wrap .col-sm-12,.mec-wrap .col-sm-2,.mec-wrap .col-sm-3,.mec-wrap .col-sm-4,.mec-wrap .col-sm-5,.mec-wrap .col-sm-6,.mec-wrap .col-sm-7,.mec-wrap .col-sm-8,.mec-wrap .col-sm-9,.mec-wrap .col-xs-1,.mec-wrap .col-xs-10,.mec-wrap .col-xs-11,.mec-wrap .col-xs-12,.mec-wrap .col-xs-2,.mec-wrap .col-xs-3,.mec-wrap .col-xs-4,.mec-wrap .col-xs-5,.mec-wrap .col-xs-6,.mec-wrap .col-xs-7,.mec-wrap .col-xs-8,.mec-wrap .col-xs-9{position:relative;min-height:1px;padding-left:10px;padding-right:10px}@media only screen and (min-width:1200px){.mec-wrap .col-lg-1,.mec-wrap .col-lg-10,.mec-wrap .col-lg-11,.mec-wrap .col-lg-12,.mec-wrap .col-lg-2,.mec-wrap .col-lg-3,.mec-wrap .col-lg-4,.mec-wrap .col-lg-5,.mec-wrap .col-lg-6,.mec-wrap .col-lg-7,.mec-wrap .col-lg-8,.mec-wrap .col-lg-9,.mec-wrap .col-md-1,.mec-wrap .col-md-10,.mec-wrap .col-md-11,.mec-wrap .col-md-12,.mec-wrap .col-md-2,.mec-wrap .col-md-3,.mec-wrap .col-md-4,.mec-wrap .col-md-5,.mec-wrap .col-md-6,.mec-wrap .col-md-7,.mec-wrap .col-md-8,.mec-wrap .col-md-9,.mec-wrap .col-sm-1,.mec-wrap .col-sm-10,.mec-wrap .col-sm-11,.mec-wrap .col-sm-12,.mec-wrap .col-sm-2,.mec-wrap .col-sm-3,.mec-wrap .col-sm-4,.mec-wrap .col-sm-5,.mec-wrap .col-sm-6,.mec-wrap .col-sm-7,.mec-wrap .col-sm-8,.mec-wrap .col-sm-9,.mec-wrap .col-xs-1,.mec-wrap .col-xs-10,.mec-wrap .col-xs-11,.mec-wrap .col-xs-12,.mec-wrap .col-xs-2,.mec-wrap .col-xs-3,.mec-wrap .col-xs-4,.mec-wrap .col-xs-5,.mec-wrap .col-xs-6,.mec-wrap .col-xs-7,.mec-wrap .col-xs-8,.mec-wrap .col-xs-9{padding-left:15px;padding-right:15px}.mec-wrap .row{margin-left:-15px;margin-right:-15px}}.mec-container [class*=col-].alpha{padding-left:0}.mec-container [class*=col-].omega{padding-right:0}.mec-wrap .col-xs-1,.mec-wrap .col-xs-10,.mec-wrap .col-xs-11,.mec-wrap .col-xs-12,.mec-wrap .col-xs-2,.mec-wrap .col-xs-3,.mec-wrap .col-xs-4,.mec-wrap .col-xs-5,.mec-wrap .col-xs-6,.mec-wrap .col-xs-7,.mec-wrap .col-xs-8,.mec-wrap .col-xs-9{float:left}.mec-wrap .col-xs-12{width:100%}.mec-wrap .col-xs-11{width:91.66666666666666%}.mec-wrap .col-xs-10{width:83.33333333333334%}.mec-wrap .col-xs-9{width:75%}.mec-wrap .col-xs-8{width:66.66666666666666%}.mec-wrap .col-xs-7{width:58.333333333333336%}.mec-wrap .col-xs-6{width:50%}.mec-wrap .col-xs-5{width:41.66666666666667%}.mec-wrap .col-xs-4{width:33.33333333333333%}.mec-wrap .col-xs-3{width:25%}.mec-wrap .col-xs-2{width:16.666666666666664%}.mec-wrap .col-xs-1{width:8.333333333333332%}@media (min-width:768px){.mec-wrap .col-sm-1,.mec-wrap .col-sm-10,.mec-wrap .col-sm-11,.mec-wrap .col-sm-12,.mec-wrap .col-sm-2,.mec-wrap .col-sm-3,.mec-wrap .col-sm-4,.mec-wrap .col-sm-5,.mec-wrap .col-sm-6,.mec-wrap .col-sm-7,.mec-wrap .col-sm-8,.mec-wrap .col-sm-9{float:left}.mec-wrap .col-sm-12{width:100%}.mec-wrap .col-sm-11{width:91.66666666666666%}.mec-wrap .col-sm-10{width:83.33333333333334%}.mec-wrap .col-sm-9{width:75%}.mec-wrap .col-sm-8{width:66.66666666666666%}.mec-wrap .col-sm-7{width:58.333333333333336%}.mec-wrap .col-sm-6{width:50%}.mec-wrap .col-sm-5{width:41.66666666666667%}.mec-wrap .col-sm-4{width:33.33333333333333%}.mec-wrap .col-sm-3{width:25%}.mec-wrap .col-sm-2{width:16.666666666666664%}.mec-wrap .col-sm-1{width:8.333333333333332%}}@media (min-width:961px){.mec-wrap .col-md-1,.mec-wrap .col-md-10,.mec-wrap .col-md-11,.mec-wrap .col-md-12,.mec-wrap .col-md-2,.mec-wrap .col-md-3,.mec-wrap .col-md-4,.mec-wrap .col-md-5,.mec-wrap .col-md-6,.mec-wrap .col-md-7,.mec-wrap .col-md-8,.mec-wrap .col-md-9{float:left}.mec-wrap .col-md-12{width:100%}.mec-wrap .col-md-11{width:91.66666666666666%}.mec-wrap .col-md-10{width:83.33333333333334%}.mec-wrap .col-md-9{width:75%}.mec-wrap .col-md-8{width:66.66666666666666%}.mec-wrap .col-md-7{width:58.333333333333336%}.mec-wrap .col-md-6{width:50%}.mec-wrap .col-md-5{width:41.66666666666667%}.mec-wrap .col-md-4{width:33.33333333333333%}.mec-wrap .col-md-3{width:25%}.mec-wrap .col-md-2{width:16.666666666666664%}.mec-wrap .col-md-1{width:8.333333333333332%}}@media (min-width:1200px){.mec-wrap .col-lg-1,.mec-wrap .col-lg-10,.mec-wrap .col-lg-11,.mec-wrap .col-lg-12,.mec-wrap .col-lg-2,.mec-wrap .col-lg-3,.mec-wrap .col-lg-4,.mec-wrap .col-lg-5,.mec-wrap .col-lg-6,.mec-wrap .col-lg-7,.mec-wrap .col-lg-8,.mec-wrap .col-lg-9{float:left}.mec-wrap .col-lg-12{width:100%}.mec-wrap .col-lg-11{width:91.66666666666666%}.mec-wrap .col-lg-10{width:83.33333333333334%}.mec-wrap .col-lg-9{width:75%}.mec-wrap .col-lg-8{width:66.66666666666666%}.mec-wrap .col-lg-7{width:58.333333333333336%}.mec-wrap .col-lg-6{width:50%}.mec-wrap .col-lg-5{width:41.66666666666667%}.mec-wrap .col-lg-4{width:33.33333333333333%}.mec-wrap .col-lg-3{width:25%}.mec-wrap .col-lg-2{width:16.666666666666664%}.mec-wrap .col-lg-1{width:8.333333333333332%}}#mec_woo_add_to_cart_btn{min-width:170px;margin-top:5px;text-align:center}.mec-breadcrumbs{border-radius:2px;padding:9px 15px 6px;font-size:11px;color:#8d8d8d;letter-spacing:0;text-transform:none;font-weight:500;margin:auto 15px 33px 15px;border:1px solid #e6e6e6;box-shadow:0 2px 0 0 rgba(0,0,0,.025)}.mec-breadcrumbs-modern{margin:auto 0 33px 0}.mec-breadcrumbs a{color:#000;padding-left:4px}.mec-breadcrumbs a:hover{text-decoration:underline}.mec-breadcrumbs i{font-size:8px;margin:0 0 0 4px}.mec-breadcrumbs .container{padding-left:20px}.mec-content-notification a{margin-left:5px}.mec-content-notification{background:#f7f7f7;padding:10px 10px 10px;border:1px solid #e8e8e8}.mec-content-notification p{margin-bottom:0}.mec-fes-form #mec-advanced-wraper div:first-child>ul{border:1px solid #cfeff5;width:auto;box-shadow:0 1px 4px -2px #cfeff5;display:block;margin:5px 0 10px;padding:5px 0;border-radius:2px}.mec-fes-form #mec-advanced-wraper div:first-child>ul:last-of-type{margin-bottom:35px}#mec-advanced-wraper div:first-child>ul span{display:none}#mec-advanced-wraper div:first-child>ul *{display:inline-block;background:#fff;font-size:12px;color:#717273;text-align:center}#mec-advanced-wraper div:first-child>ul>li{width:60px;font-weight:700;margin:0 10px 0 0;padding:4px 0;border-right:1px solid #cfeff5}#mec-advanced-wraper div:first-child>ul>ul>li{margin:0;padding:2px 10px;cursor:pointer;border-radius:2px;transition:all .18s ease}.mec-fes-form #mec-advanced-wraper div:first-child>ul>ul>li.mec-active,.mec-fes-form #mec-advanced-wraper div:first-child>ul>ul>li:hover{background:#40d9f1!important;box-shadow:0 1px 9px -3px #40d9f1;color:#fff!important}.mec-search-bar-wrap .mec-search-form .mec-text-input-search{width:83%}.mec-search-bar-wrap .mec-search-form .mec-ajax-search-result .mec-text-input-search{width:100%;float:none}.mec-search-bar-wrap input#mec-search-bar-input{width:calc(100% - 84%);margin-left:11px;background:#40d9f1;color:#fff;font-weight:400}.mec-text-input-search+input#mec-search-bar-input{margin-left:-3px}.mec-search-bar-wrap input#mec-search-bar-input:hover{background:#000}.mec-wrap.mec-search-bar-wrap .mec-totalcal-box input{float:none}@media (max-width:768px){.mec-search-bar-wrap .mec-search-form .mec-text-input-search{display:inline-block}}@media (max-width:480px){.mec-search-bar-wrap .mec-search-form .mec-text-input-search{width:64%}.mec-search-bar-wrap input#mec-search-bar-input{width:calc(100% - 67%)}}.mec-wrap.mec-search-bar-wrap .mec-totalcal-box{overflow:visible}.mec-ajax-search-result{position:relative}.mec-search-bar-wrap.mec-wrap .mec-totalcal-box input[type=text]{width:calc(100% - 36px)}.mec-search-bar-wrap.mec-wrap .mec-totalcal-box input[type=text]:focus{border-color:#efefef}div#mec-ajax-search-result-wrap{position:absolute;top:100%;opacity:0;visibility:hidden;width:calc(100% - 2px);min-height:50px;left:0;right:0;padding:0 10px;z-index:9999;transition:all .3s ease}.mec-ajax-search-result-events{background:#fff;padding:10px 20px;border:1px solid #efefef;border-top:none}.mec-ajax-search-result-events article:first-of-type{border:none}article.mec-search-bar-result{text-align:left;margin-bottom:0;padding-bottom:25px;padding-top:26px;border-top:1px solid #efefef;transition:all .33s ease;clear:both}.mec-search-bar-result .mec-event-list-search-bar-date{width:64px;height:64px;margin-right:10px;font-size:11px;text-transform:uppercase;float:left;text-align:center;padding-top:2px}.mec-search-bar-result .mec-event-list-search-bar-date span{font-size:40px;line-height:30px;font-weight:700;display:block;margin-bottom:6px;letter-spacing:1px}.mec-search-bar-result .mec-event-image{float:left;margin-right:20px;width:65px;height:auto}.mec-search-bar-result .mec-event-time{font-size:11px;line-height:1.1;margin:0}.mec-search-bar-result .mec-event-time i{color:#40d9f1;float:none;width:unset;height:unset;font-size:inherit;margin-right:3px;border:none;padding:0}.mec-search-bar-result .mec-event-title{font-size:13px;padding:0;margin:10px 0 8px;font-weight:700;text-transform:uppercase}.mec-search-bar-result .mec-event-title a{text-decoration:none;color:#494949;transition:color .3s ease}.mec-search-bar-result .mec-event-detail{font-size:13px;line-height:1.3;color:#9a9a9a;margin-bottom:0}.mec-wrap.mec-modern-search-bar .mec-totalcal-box{background:rgba(255,255,255,.87);border:none;padding:35px;border-radius:3px;box-shadow:0 3px 13px rgba(0,0,0,.4);position:relative}.mec-wrap.mec-modern-search-bar .mec-totalcal-box input[type=search],.mec-wrap.mec-modern-search-bar .mec-totalcal-box input[type=text]{height:58px;background:rgba(255,255,255,.99);border-radius:2px;box-shadow:0 4px 8px rgba(0,0,0,.1) inset;border:1px solid #ccc;width:100%;padding-left:45px;padding-right:13px;font-size:16px}.mec-wrap.mec-modern-search-bar .mec-totalcal-box .mec-text-input-search i{position:absolute;background:0 0;border:none;font-size:21px;left:15px;top:calc(50% - 19px);color:#40d9f1}.mec-wrap.mec-modern-search-bar .mec-text-input-search{position:relative;height:58px}.mec-wrap.mec-modern-search-bar .mec-totalcal-box input[type=submit]{height:58px;border:none;border-radius:2px;background:#fc4a1a;font-size:17px;font-weight:700!important}.mec-wrap.mec-modern-search-bar .mec-text-input-search+input#mec-search-bar-input{margin-left:0}.mec-wrap.mec-modern-search-bar .mec-search-form .mec-dropdown-wrap .mec-dropdown-search select{height:45px;background:rgba(255,255,255,.99);border-radius:2px;box-shadow:0 4px 8px rgba(0,0,0,.1) inset;border:1px solid #ccc;padding-right:13px;font-size:16px;border-left:0}.mec-wrap.mec-modern-search-bar .mec-search-form .mec-dropdown-wrap i{height:45px;background:#ffff;border-radius:2px 0 0 2px;box-shadow:none;border:1px solid #ccc;font-size:15px;padding-top:14px;border-right:0;color:#40d9f1;margin-right:-1px}.mec-wrap.mec-modern-search-bar .mec-search-form .mec-dropdown-wrap{min-height:64px}@media (max-width:768px){.mec-wrap.mec-modern-search-bar .mec-search-form .mec-text-input-search{width:70%}.mec-wrap.mec-modern-search-bar input#mec-search-bar-input{width:calc(100% - 72%)}}@media (max-width:480px){.mec-wrap.mec-modern-search-bar input#mec-search-bar-input{width:92%;padding:0 10px;position:relative;display:block;margin-left:11px}.mec-wrap.mec-modern-search-bar .mec-search-form .mec-text-input-search{width:100%;margin-bottom:20px}.mec-wrap.mec-modern-search-bar .mec-text-input-search+input#mec-search-bar-input{margin-left:10px}}.mec-wrap .mec-related-events-wrap{margin-left:0;margin-right:0}.mec-related-events{margin-right:-15px;margin-left:-15px}@media(max-width:980px){.mec-related-events{margin-right:-10px;margin-left:-10px}}.mec-related-events-wrap{margin-top:50px}.mec-related-events-wrap h3.mec-rec-events-title:before{content:"";background:#2c2f34;width:46px;height:4px;position:absolute;top:59px;left:0}.mec-related-events-wrap h3.mec-rec-events-title{font-size:21px;font-weight:600;padding:17px 0;margin-bottom:28px;text-transform:uppercase;border-bottom:1px solid #e8e8e8;position:relative}.mec-related-event-post figure{margin:0}.mec-related-event-post figure img{width:100%;border-radius:3px}.mec-related-event-content{background-color:#fff;margin:-40px 20px 15px;border-radius:2px;position:relative;max-width:90%;padding:10px 12px 16px 17px}.mec-related-event-content h5 a{font-size:16px;color:#121212;font-weight:600;transition:all .3s ease}@media(max-width:480px){.mec-wrap .mec-related-events .mec-related-event-post{padding-right:15px;padding-left:15px}}.mec-next-previous-events{width:100%;height:104px;display:block;padding:0}.mec-next-previous-events li{list-style:none;width:50%;display:inline-block;margin:40px 0 40px}.mec-next-previous-events li:last-child{text-align:right;float:right}.mec-next-previous-events li a{padding:9px 14px 9px 14px;border:1px solid #000;transition:.3s}.mec-wrap .mec-next-previous-events li a:hover{color:#fff}.mec-previous-event{float:left;text-align:left}.mec-next-event ul{padding-left:0}.mec-next-previous-events .mec-previous-event i{padding-right:20px}.mec-next-previous-events .mec-next-event i{padding-left:20px}.mec-next-multiple ul{padding:0}.mec-next-multiple ul li a{display:block;position:relative;padding:11px 14px 9px;z-index:9}.mec-next-multiple ul .mec-date,.mec-next-multiple ul .mec-time{display:inline-block}.mec-next-multiple ul .mec-time{width:40%}.mec-next-multiple ul .mec-date{width:60%}.mec-next-multiple ul .mec-date{float:left;text-align:left}.mec-next-multiple ul .mec-time{text-align:right;position:relative;z-index:-1}.mec-next-multiple ul .mec-time dd{margin:0;padding:0}.mec-next-multiple ul .mec-date .mec-end-date-label,.mec-next-multiple ul .mec-date .mec-start-date-label,.mec-next-multiple ul .mec-time .mec-events-abbr{font-size:11px;line-height:24px}@media (max-width:1280px){.mec-next-multiple ul li a{padding:7px 9px 5px}.mec-next-multiple ul .mec-date .mec-start-date-label,.mec-next-multiple ul .mec-time .mec-events-abbr{font-size:12px}}@media (max-width:480px){.mec-next-previous-events li{list-style:none;width:100%;display:block;margin:10px 0;float:unset}.mec-next-previous-events li a{width:100%;max-width:100%;float:unset;display:block;text-align:center;font-size:16px}}.mec-fes-form-cntt #mec-organizer-payments ul{list-style:none;background:0 0;margin:0;padding-left:0}.mec-fes-form-cntt #mec-organizer-payments ul li h4{background:0 0;letter-spacing:.2px;display:inline-block;padding-left:0!important;padding-bottom:10px!important;margin:0;margin-bottom:1px;letter-spacing:1px;text-transform:capitalize;padding-top:1px}.mec-fes-form-cntt #mec-organizer-payments ul>li{width:100%;display:inline-block;vertical-align:top;padding:0;margin:0}.mec-fes-form #mec_gateway_options_form_stripe_connection_button{padding:9px 13px!important}#mec-login-form.mec-login-form{width:100%;background:#fff;padding:20px;margin:0 auto;text-align:center;position:relative}#mec-login-form.mec-login-form .mec-login-input{display:block;width:286px;margin:0 auto;margin-bottom:12px}#mec-login-form.mec-login-form .mec-login-forgotpassword{display:inline-block}.mec-login-forgotpassword a{color:#000}#mec-login-form.mec-login-form .mec-login-submit{float:right;text-align:right;width:49%;padding-right:2px}#mec-login-form.mec-login-form .mec-login-input input{border:none;box-shadow:none;background:#fff;color:#ccc;border-left:1px solid #e6e6e6;padding:0;height:100%;background-image:none!important;padding-left:10px;padding-right:0;width:222px;margin-left:0;clear:none;float:left}#mec-login-form.mec-login-form .mec-login-input label{border:1px solid #e6e6e6;height:52px;display:inline-block;padding:0;border-radius:3px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.04)}#mec-login-form.mec-login-form .mec-login-input label i{padding:15px 13px 17px 16px;vertical-align:middle;font-size:20px;width:50px;color:#c5cad0;background:#fafafa;margin-right:0;float:left}#mec-login-form.mec-login-form .mec-login-forgotpassword{float:left;width:49%;text-align:left;padding-top:10px;font-size:13px;padding-left:2px}#mec-login-form.mec-login-form button{width:120px;height:44px;border:none;color:#fff;border-radius:3px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:all .22s ease;margin:0;min-width:unset}.mec-login-form button{box-shadow:0 4px 22px -7px #40d9f1;background-color:#40d9f1}#mec-login-form.mec-login-form button:hover{background:#222;box-shadow:0 3px 14px -4px #333}#mec-login-form.mec-login-form .mec-login-form-footer{width:286px;margin:0 auto;margin-top:20px;clear:both;position:relative;display:block;min-height:50px}#mec-login-form.mec-login-form .mec-ajax-login-loading{position:absolute;background:#ffffffc2;left:0;right:0;top:0;bottom:0}#mec-login-form.mec-login-form .lds-ripple{position:absolute;width:64px;height:64px;top:calc(50% - 23px);left:calc(50% - 23px)}#mec-login-form.mec-login-form .lds-ripple div{position:absolute;border:4px solid #40d9f1;opacity:1;border-radius:50%;animation:lds-ripple 1.2s cubic-bezier(0,.2,.1,.8) infinite}#mec-login-form.mec-login-form .lds-ripple div:nth-child(2){animation-delay:-.5s}#mec-login-form.mec-login-form .mec-ajax-login-loading-text{position:absolute;min-width:200px;top:calc(50% - 18px);left:calc(50% - 124px);color:#fff;padding:10px 22px;border-radius:3px;background:#fff;height:47px}#mec-login-form.mec-login-form .mec-ajax-login-loading-text strong{color:#3fcc60}#mec-login-form.mec-login-form .mec-ajax-login-loading-text strong:before{content:"";position:absolute;top:8px;left:1px;border-right:2px solid #3fcc60;border-bottom:2px solid #3acb5c;transform:rotate(45deg);transform-origin:0 100%;color:#000;animation:checkbox-check 130ms 140ms cubic-bezier(.4,0,.23,1) forwards;width:8px;height:14px}#mec-login-form.mec-login-form .mec-ajax-login-loading-text.error strong:after{content:"";position:absolute;top:14px;left:5px;border-bottom:2px solid #ff5d39;transform:rotate(45deg);transform-origin:0 100%;color:#000;animation:checkbox-check 130ms 140ms cubic-bezier(.4,0,.23,1) forwards;width:14px;height:4px}#mec-login-form.mec-login-form .mec-ajax-login-loading-text.error strong{color:#ff5d39}#mec-login-form.mec-login-form .mec-ajax-login-loading-text.error strong:before{border-color:#ff5d39;border-bottom:none}@keyframes lds-ripple{0%{top:28px;left:28px;width:0;height:0;opacity:1}100%{top:-1px;left:-1px;width:58px;height:58px;opacity:0}}.mec-book-form-gateway-checkout [id*=mec_do_transaction_stripe_] .mec-form-row:first-child{margin-bottom:20px}.mec-events-meta-group-booking .StripeElement{box-sizing:border-box;height:40px;padding:10px 12px;border:1px solid transparent;border-radius:4px;background-color:#fff;box-shadow:0 1px 3px 0 #e6ebf1;-webkit-transition:box-shadow 150ms ease;transition:box-shadow 150ms ease;margin-bottom:20px;background:#fff}.mec-book-form-gateways [id*=mec_book_form_gateway_checkout] input[type=text]{box-sizing:border-box;height:40px;padding:10px 12px;border:0!important;border-radius:4px;background-color:#fff;box-shadow:0 1px 3px 0 #e6ebf1!important;-webkit-transition:box-shadow 150ms ease;transition:box-shadow 150ms ease;margin-bottom:20px;background:#fff!important}.mec-book-form-gateways [id*=mec_book_form_gateway_checkout] input[type=text]:focus{outline:0}.mec-events-meta-group-booking .StripeElement--focus{box-shadow:0 1px 3px 0 #cfd7df}.mec-events-meta-group-booking .StripeElement--invalid{border-color:#fa755a}.mec-events-meta-group-booking .StripeElement--webkit-autofill{background-color:#fefde5!important}.mec-booking-tab-content .button,.mec-booking-tab-content .mec-bfixed-field-add-option,.mec-booking-tab-content .mec-reg-field-add-option,.mec-fes-form .mec-form-row .button:not(.wp-color-result),.mec-fes-form input[type=file],ul#mec_bfixed_form_fields li .mec_bfixed_field_remove,ul#mec_orgz_form_row li .mec-additional-organizer-remove,ul#mec_reg_form_fields li .mec_reg_field_remove{height:40px;margin-top:1px;text-decoration:none;font-size:14px;line-height:34px!important;margin:0;padding:0 15px 1px!important;text-transform:none;letter-spacing:0;font-weight:600;color:#40d9f1;background:#fff;border-radius:3px;margin-right:8px;border:2px solid #cfeff5;box-shadow:0 2px 6px -3px #cfeff5}.mec-fes-form .mec-additional-organizers .select2-container{margin-bottom:0}.mec-booking-tab-content .button:hover,.mec-booking-tab-content .mec-bfixed-field-add-option:hover,.mec-booking-tab-content .mec-reg-field-add-option:hover,.mec-fes-form .mec-form-row .button:not(.wp-color-result):hover{background:#40d9f1;color:#fff;border-color:#40d9f1;box-shadow:0 2px 6px -3px #40d9f1}.mec-fes-form .mec-form-row input+button.button{vertical-align:top}.mec-fes-form .mec-form-row .quicktags-toolbar input.button.button-small{border-width:1px;padding:0 7px;color:#80c6d2;font-weight:400;margin:1px;transform:none}.mec-fes-form input[type=file]{max-width:166px;text-align:center;height:44px;transition:all .2s ease;border-radius:5px!important;border:2px dashed #b8e9f3}.mec-fes-form input[type=file]:hover{box-shadow:0 2px 16px -3px #cfeff5}.mec-fes-form input[type=file]::-webkit-file-upload-button{visibility:hidden;width:1px;height:38px}.mec-fes-form input[type=file]::-moz-file-upload-button{visibility:hidden;width:1px;height:38px}.mec-fes-form .mec-meta-box-fields>label{padding:0}#mec_bfixed_form_fields li,#mec_orgz_form_row li,#mec_reg_form_fields li{list-style:none}ul#mec_bfixed_form_fields,ul#mec_orgz_form_row,ul#mec_reg_form_fields{padding:0;margin:0}ul#mec_bfixed_form_fields li,ul#mec_orgz_form_row li,ul#mec_reg_form_fields li{background:#f8feff;margin:6px -20px;padding:15px 25px 10px;width:auto;font-size:13px;border-top:1px solid #e8fafd;border-bottom:1px solid #e8fafd;position:relative}ul#mec_bfixed_form_fields li .mec_bfixed_field_remove,ul#mec_orgz_form_row li .mec-additional-organizer-remove,ul#mec_reg_form_fields li .mec_reg_field_remove{position:absolute;right:10px;top:10px;margin:0;padding:6px 8px!important;font-size:11px;line-height:12px!important;min-height:10px;height:auto;display:block;cursor:pointer;color:#ea6485;border-color:#ffd2dd;letter-spacing:.4px}ul#mec_bfixed_form_fields li .mec_bfixed_field_remove:hover,ul#mec_orgz_form_row li .mec-additional-organizer-remove:hover,ul#mec_reg_form_fields li .mec_reg_field_remove:hover{background:#ea6485;color:#fff;border-color:#ea6485;box-shadow:0 2px 6px -3px #ea6485}#mec_bfixed_form_fields input[type=checkbox],#mec_bfixed_form_fields input[type=radio],#mec_reg_form_fields input[type=checkbox],#mec_reg_form_fields input[type=radio],.mec-form-row input[type=checkbox],.mec-form-row input[type=radio]{background-color:#fff;border:1px solid #cfeff5;box-shadow:0 1px 3px -1px #cfeff5;padding:9px;border-radius:3px;min-width:24px;min-height:24px;display:inline-block!important;vertical-align:middle;float:none;transition:all .18s ease;outline:0;margin:1px 4px 4px 0;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none}#mec_bfixed_form_fields input[type=checkbox]:focus,#mec_bfixed_form_fields input[type=radio]:focus,#mec_reg_form_fields input[type=checkbox]:focus,#mec_reg_form_fields input[type=radio]:focus,.mec-form-row input[type=checkbox]:focus,.mec-form-row input[type=radio]:focus{outline:0}#mec_bfixed_form_fields input[type=radio],#mec_reg_form_fields input[type=radio],.mec-form-row input[type=radio]{-webkit-appearance:none;border-radius:20px!important;min-width:20px;min-height:20px;margin:0 0 4px 0;vertical-align:middle}#mec_bfixed_form_fields input[type=checkbox]:hover,#mec_bfixed_form_fields input[type=radio]:hover,#mec_reg_form_fields input[type=checkbox]:hover,#mec_reg_form_fields input[type=radio]:hover,.mec-form-row input[type=checkbox]:hover,.mec-form-row input[type=radio]:hover{border-color:#40d9f1}#mec_bfixed_form_fields input[type=checkbox]:checked,#mec_bfixed_form_fields input[type=radio]:checked,#mec_reg_form_fields input[type=checkbox]:checked,#mec_reg_form_fields input[type=radio]:checked,.mec-fes-form .mec-form-row input[type=checkbox]:checked,.mec-fes-form .mec-form-row input[type=radio]:checked{box-shadow:0 1px 6px -2px #40d9f1;border-color:#40d9f1;background:#40d9f1!important;border-radius:2px;position:relative}.mec-form-row input[type=radio]:checked{box-shadow:0 1px 6px -2px #40d9f1,inset 0 0 0 3px #fff!important}#mec_bfixed_form_fields input[type=checkbox]:checked::before,#mec_reg_form_fields input[type=checkbox]:checked::before,.mec-form-row input[type=checkbox]:checked:before{content:"";font:normal;position:absolute;top:12px;left:5px;margin:0;vertical-align:middle;line-height:1;border-right:2px solid #fff!important;border-bottom:2px solid #fff!important;transform:rotate(45deg);transform-origin:0 100%;color:#fff;transition:all .2s ease;animation:checkbox-check 130ms 140ms cubic-bezier(.4,0,.23,1) forwards}@keyframes checkbox-check{0%{width:0;height:0;border-color:#fff;transform:translate3d(0,0,0) rotate(45deg)}33%{width:6px;height:0;transform:translate3d(0,0,0) rotate(45deg)}100%{width:6px;height:12px;border-color:#fff;transform:translate3d(0,-12px,0) rotate(45deg)}}#wrap #mec-event-data input[type=radio]{position:relative}#wrap #mec-event-data input[type=radio]:empty::before{display:none}#mec_bfixed_form_field_types .button,#mec_reg_form_field_types .button{position:relative;outline:0;border-radius:50px;padding:2px 21px 2px 31px!important;line-height:1;font-size:11px;font-weight:600;color:#40d9f1;letter-spacing:2px;height:auto;cursor:pointer;margin-top:5px;text-transform:uppercase;box-shadow:0 2px 6px -3px #40d9f1;border:2px solid #cfeff5}#mec_fes_location_remove_image_button,#mec_fes_organizer_remove_image_button,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-col-1 .button,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-form-row.mec-box .button,#mec_meta_box_tickets_form [id^=mec_ticket_row] button,#mec_reg_form_field_types .button.red{color:#ea6485;box-shadow:0 2px 6px -3px #ea6485;background:#fff;border-color:#ffd2dd}#mec_fes_location_remove_image_button:hover,#mec_fes_organizer_remove_image_button:hover,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-col-1 .button:hover,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-form-row.mec-box .button:hover,#mec_meta_box_tickets_form [id^=mec_ticket_row] button:hover,#mec_reg_form_field_types .button.red:hover{background:#ea6485;color:#fff}#mec_bfixed_form_field_types .button:before,#mec_reg_form_field_types .button:before{position:absolute;left:12px;color:#40d9f1;content:"\e095";font-family:simple-line-icons;font-size:13px;display:inline-block}#mec_reg_form_field_types .button.red:before{color:#ea6485}#mec_bfixed_form_field_types .button:hover:before,#mec_reg_form_field_types .button.red:hover:before,#mec_reg_form_field_types .button:hover:before{color:#fff}#mec_fes_location_remove_image_button:hover,#mec_fes_organizer_remove_image_button:hover,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-col-1 .button:hover,#mec_meta_box_hourly_schedule_days [id^=mec_meta_box_hourly_schedule_day_] .mec-form-row.mec-box .button:hover,#mec_meta_box_tickets_form [id^=mec_ticket_row] button:hover,#mec_price_per_dates_container .button:hover,#mec_reg_form_field_types .button.red:hover{color:#fff;border:2px solid #ea6485}#mec_taxes_fees_container_toggle [id^=mec_remove_fee_button],#mec_ticket_variations_list [id^=mec_remove_ticket_variation_button]{color:#ea6485;border-color:#ffd2dd}#mec_taxes_fees_container_toggle [id^=mec_remove_fee_button]:hover,#mec_ticket_variations_list [id^=mec_remove_ticket_variation_button]:hover{color:#fff;border:2px solid #ea6485;background:#ea6485}#mec_fees_list [id^=mec_remove_fee_button],#mec_meta_box_ticket_variations_form .mec-form-row [id^=mec_remove_ticket_variation_button]{margin-left:14px!important}#mec_meta_box_hourly_schedule_days .mec-add-hourly-schedule-button{line-height:10px!important}#mec_meta_box_tickets_form [id^=mec_ticket_row] .mec_add_price_date_button{color:#40d9f1;box-shadow:0 2px 6px -3px #40d9f1;border:2px solid #cfeff5}#mec_meta_box_tickets_form [id^=mec_ticket_row] .mec_add_price_date_button:hover,#mec_reg_form_field_types .button:hover{color:#fff;border:2px solid #40d9f1;background:#40d9f1}.mec-fes-form #mec_bfixed_form_fields span.mec_bfixed_field_sort,.mec-fes-form #mec_orgz_form_row span.mec-additional-organizer-sort,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_sort{font-size:0;color:#fff;padding-left:20px}.mec-fes-form #mec_bfixed_form_fields .mec_bfixed_field_option_sort,.mec-fes-form #mec_orgz_form_row span.mec-additional-organizer-sort,.mec-fes-form #mec_reg_form_fields .mec_reg_field_options,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_option_sort{font-size:0}.mec-fes-form #mec_bfixed_form_fields span.mec_bfixed_field_option_sort:before,.mec-fes-form #mec_bfixed_form_fields span.mec_bfixed_field_sort:before,.mec-fes-form #mec_orgz_form_row span.mec-additional-organizer-sort:before,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_option_sort:before,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_options:before,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_sort:before{position:absolute;left:px;top:12px;width:80px;height:20px;display:block;cursor:move;font-family:simple-line-icons;content:"\e023";font-size:18px;color:#888}.mec-fes-form #mec_bfixed_form_fields span.mec_bfixed_field_option_sort:before,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_option_sort:before,.mec-fes-form #mec_reg_form_fields span.mec_reg_field_options:before{font-size:13px;left:2px;top:26px;width:14px;height:14px}.mec-fes-form #mec_bfixed_form_fields .mec_bfixed_field_options,.mec-fes-form #mec_reg_form_fields .mec_reg_field_options{margin-top:20px}.mec-fes-form #mec_fes_form #mec_bfixed_form_fields .mec_bfixed_notification_placeholder{font-size:0}.mec-form-row input+span.mec-tooltip,.mec-form-row select+span.mec-tooltip{bottom:10px}.mec-form-row label+span.mec-tooltip{bottom:8px}.mec-form-row textarea+span.mec-tooltip{bottom:auto;vertical-align:top;top:12px}.mec-form-row span+span.mec-tooltip{bottom:0;vertical-align:middle}.mec-form-row .mec-col-8 input[type=text],.mec-form-row .mec-col-8 select,.mec-form-row .mec-col-8 span.mec-archive-skins{vertical-align:top}.mec-form-row input:disabled{opacity:.6;background:#f6f6f6}.mec-form-row p{font-size:12px!important;line-height:18px!important;color:#97b2bb!important}.mec-form-row p.description{font-style:italic}.ui-datepicker.ui-widget{border:1px solid #e8e8e8;box-shadow:0 1px 9px rgba(0,0,0,.12)}table.ui-datepicker-calendar{margin-bottom:0}.ui-datepicker-calendar th{font-weight:700;color:#4a4b4c}.ui-datepicker-calendar td,.ui-datepicker-calendar th,.ui-datepicker-calendar tr{border:none}.ui-datepicker.ui-widget select{font-weight:600;font-size:12px;display:inline-block;border-radius:2px;padding:2px 10px;margin:5px 3px;width:auto;min-height:20px;height:26px;border:1px solid #e3e3e3;box-shadow:inset 0 1px 3px rgba(0,0,0,.04)}.ui-datepicker.ui-widget table{border-spacing:2px;border:none}.ui-datepicker.ui-widget td,.ui-datepicker.ui-widget tr{padding:0;background:0 0!important}.ui-datepicker.ui-widget td a{color:#9a9b9c;font-weight:600;width:30px;height:30px;line-height:30px;display:inline-block;border-radius:33px;padding:0;background:#fff;transition:all .2s ease}.ui-datepicker.ui-widget td a.ui-state-active,.ui-datepicker.ui-widget td a:hover{background:#40d9f1;color:#fff}.ui-datepicker.ui-widget .ui-datepicker-next,.ui-datepicker.ui-widget .ui-datepicker-prev{color:#40d9f1;width:30px;height:30px;line-height:30px;display:inline-block;text-align:center;border-radius:33px;background:#ecfcff;transition:all .2s ease}.ui-datepicker.ui-widget .ui-datepicker-next:hover,.ui-datepicker.ui-widget .ui-datepicker-prev:hover{background:#fff;box-shadow:0 0 7px -3px rgba(0,0,0,.4)}.mec-fes-form .mec-tooltip .dashicons-before:before{color:#40d9f1}.mec-fes-form button[type=submit].mec-fes-sub-button{border-radius:3px;background:#40d9f1;color:#fff;height:54px;font-size:17px;font-weight:700;box-shadow:0 2px 8px -4px #40d9f1;display:block;transition:all .28s ease;text-transform:uppercase;margin:20px 0 0;padding:14px 20px;border:0;cursor:pointer;text-align:center;letter-spacing:.1em;line-height:1}.mec-fes-form button[type=submit].mec-fes-sub-button:hover{box-shadow:0 2px 12px -2px #40d9f1}.mec-fes-form button[type=submit].mec-fes-sub-button:focus{margin-bottom:-2px;background:#1dc2dc}.mec-fes-form .mec-title span.mec-dashicons{color:#40d9f1;float:left;margin-right:5px}.mec-fes-form .mec-tooltip .box h5{padding:14px 2px}#mec_fes_form,.mec-fes-form-top-actions{max-width:838px;margin:0 auto}@media only screen and (min-width:961px){.mec-fes-form .mec-fes-form-cntt{width:calc(100% - 300px);float:left;padding-right:20px;max-width:538px;display:block}.mec-fes-form .mec-fes-form-sdbr{width:300px}}.mec-fes-form .quicktags-toolbar,.mec-fes-form div.mce-toolbar-grp{background:#ecfcff;border-bottom:1px solid #cfeff5;box-shadow:0 1px 0 1px #cfeff5}.mec-fes-form .quicktags-toolbar{margin-right:-1px;border-top:1px solid #cfeff5}.mec-fes-form div.mce-statusbar{border-top-color:#cfeff5}.mec-fes-form .mce-toolbar .mce-btn-group .mce-btn.mce-listbox{border:1px solid #cfeff5;border-radius:3px}.mec-fes-form .mce-tinymce.mce-container.mce-panel{border:1px solid #cfeff5;box-shadow:0 2px 6px -3px #cfeff5;border-radius:2px 0 2px 2px}.mec-fes-form .wp-editor-tools .wp-media-buttons{transform:translateY(-6px);margin-top:-6px}.mec-fes-form .wp-editor-tabs{padding-right:0;margin-right:-2px}.mec-fes-form .wp-editor-tabs .wp-switch-editor{border-radius:3px 3px 0 0;border-color:#cfeff5;background:#fff;color:#96b8bd;border-bottom:1px solid #ecfcff}.mec-fes-form .html-active .switch-html,.mec-fes-form .tmce-active .switch-tmce,.mec-fes-form .wp-editor-tabs .wp-switch-editor:active{background:#ecfcff;color:#40d9f1}.mec-fes-form .wp-editor-container,.mec-fes-form div.mce-edit-area.mce-panel{border:none;box-shadow:none}.mec-fes-form .wp-editor-container textarea.wp-editor-area{max-width:100%}.mec-fes-form .mce-toolbar .mce-listbox button{font-size:12px;line-height:22px;color:#798f96}.mec-fes-form .mce-toolbar .mce-ico{color:#627f88}.mec-fes-form .mce-toolbar .mce-btn-group .mce-btn.mce-active,.mec-fes-form .mce-toolbar .mce-btn-group .mce-btn:active,.mec-fes-form .qt-dfw.active{background:#fff;border-color:#40d9f1;box-shadow:inset 0 2px 6px -3px rgba(106,231,255,.7)}.mec-fes-form .mce-toolbar .mce-btn-group .mce-btn.mce-active .mce-ico{color:#40d9f1}body .mce-menu .mce-menu-item.mce-active.mce-menu-item-normal,body .mce-menu .mce-menu-item.mce-selected,body .mce-menu .mce-menu-item:focus,body .mce-menu .mce-menu-item:hover,body.mce-menu .mce-menu-item.mce-active.mce-menu-item-preview{background:#40d9f1;color:#fff}.mec-fes-form .mec-not-in-days-day{display:inline-block;padding:4px 32px 4px 15px;border-radius:33px;border:1px solid #cfeff5;box-shadow:0 1px 3px -1px #cfeff5;background:#fbfeff;color:#40d9f1;vertical-align:top}.mec-fes-form .mec-not-in-days-remove{display:inline-block;padding:0 1px 0 0;margin-left:-30px;vertical-align:sub;background:#ff918a;color:#fff;font-family:cursive;width:21px;height:21px;line-height:17px;text-align:center;border-radius:20px;cursor:pointer}.mec-fes-list ul li .mec-event-status{float:left;margin-right:10px;margin-left:0;font-size:11px;font-weight:400;letter-spacing:.3px;border-radius:3px;padding:4px 8px}.mec-fes-form .post-status.mec-book-confirmed:before,.mec-fes-list ul li .mec-event-status.mec-book-confirmed:before{content:"";margin:0;vertical-align:middle;line-height:1;border-right:2px solid #fff!important;border-bottom:2px solid #fff!important;transform:rotate(45deg);color:#fff;width:6px;height:12px;float:left;margin-right:6px}.mec-fes-list ul li .mec-fes-event-export a:before,.mec-fes-list ul li .mec-fes-event-remove:before,.mec-fes-list ul li .mec-fes-event-view a:before,.mec-fes-list-top-actions a:before{content:"\e054";font-family:simple-line-icons;font-size:13px;vertical-align:middle}.mec-fes-list ul li .mec-fes-event-view a:before{content:"\e087"}.mec-fes-list-top-actions a:before{content:"\e095";font-weight:400;margin-right:6px}.mec-fes-list ul li .mec-fes-event-export a:before{content:"\e083"}.mec-fes-form .post-status{border-radius:20px}.mec-fes-form .post-status.mec-book-confirmed:before{height:20px;width:9px;margin:3px 10px}.ui-datepicker .ui-datepicker-calendar td,.ui-datepicker-calendar th{height:auto;padding:0}.ui-datepicker .ui-datepicker-calendar td a,.ui-datepicker-calendar th{font-size:14px;line-height:30px}.mec-fes-form .description{font-size:16px}.mec-fes-form input[type=file]{text-align:left}.mec-fes-export-wrapper{width:640px;background:#f8feff;padding:40px 25px}.mec-fes-export-wrapper .mec-fes-btn-date{font-size:16px;line-height:44px;overflow:hidden}.mec-fes-export-wrapper .date-messgae{font-family:sans-serif;padding:2px 18px}.mec-fes-list ul li .mec-event-export-csv,.mec-fes-list ul li .mec-event-export-excel{font-size:12px;border:1px solid #40d9f1;padding:1px 4px;background:rgba(141,229,243,.18);border-radius:4px;color:#40d9f1;font-family:sans-serif;cursor:pointer;display:inline-block;height:26px;line-height:22px}.mec-export-badge{font-size:11px;color:#40d9f1;width:auto;height:24px;line-height:25px;display:inline-block;padding:0 8px;text-align:center;border-radius:3px;background:#ecfcff;transition:all .2s ease}.mec-fes-list ul li .mec-fes-event-export{font-size:11px;background:#f7f7f7;float:right;margin-left:5px}.mec-fes-list ul li .mec-fes-event-export:hover{cursor:pointer
|