Timeline Widget For Elementor (Elementor Timeline, Vertical & Horizontal Timeline) - Version 1.4

Version Description

Download this release

Release Info

Developer Narinder singh
Plugin Icon 128x128 Timeline Widget For Elementor (Elementor Timeline, Vertical & Horizontal Timeline)
Version 1.4
Comparing to
See all releases

Code changes from version 1.3.5 to 1.4

Files changed (66) hide show
  1. admin/admin-notices.php +351 -0
  2. {feedback → admin/feedback}/css/admin-feedback.css +11 -5
  3. {feedback → admin/feedback}/images/cool-plugins-preloader.gif +0 -0
  4. {feedback → admin/feedback}/js/admin-feedback.js +0 -0
  5. {feedback → admin/feedback}/twae-admin-feedback-form.php +2 -2
  6. {includes → admin}/twae-feedback-notice.php +0 -0
  7. assets/css/twae-admin-feedback-notice.min.css +1 -0
  8. assets/css/twae-centered-timeline.css +0 -359
  9. assets/css/twae-centered-timeline.min.css +0 -1
  10. assets/css/twae-colors-typography.css +0 -133
  11. assets/css/twae-colors-typography.min.css +0 -1
  12. assets/css/twae-common-styles.css +826 -0
  13. assets/css/twae-common-styles.min.css +1 -0
  14. assets/css/twae-editor.css +0 -47
  15. assets/css/twae-fontello.css +0 -65
  16. assets/css/twae-horizontal-styles.css +0 -168
  17. assets/css/twae-horizontal-styles.min.css +0 -1
  18. assets/css/twae-horizontal-timeline.css +382 -0
  19. assets/css/twae-horizontal-timeline.min.css +1 -0
  20. assets/css/twae-vertical-timeline.css +985 -0
  21. assets/css/twae-vertical-timeline.min.css +1 -0
  22. assets/font/fontello.eot +0 -0
  23. assets/font/fontello.svg +0 -26
  24. assets/font/fontello.ttf +0 -0
  25. assets/font/fontello.woff +0 -0
  26. assets/font/fontello.woff2 +0 -0
  27. assets/images/amazon1.jpg +0 -0
  28. assets/images/amazon2.jpg +0 -0
  29. assets/images/amazon3.png +0 -0
  30. assets/images/pro/bg-hover-style.png +0 -0
  31. assets/images/pro/border-style.png +0 -0
  32. assets/images/pro/button-settings.png +0 -0
  33. assets/images/pro/button-style.png +0 -0
  34. assets/images/pro/gradient-bg-style.png +0 -0
  35. assets/images/pro/icon-box-style.png +0 -0
  36. assets/images/pro/icon-image-settings.png +0 -0
  37. assets/images/pro/icon-text-settings.png +0 -0
  38. assets/images/pro/image-style.png +0 -0
  39. assets/images/pro/layout-h-settings.png +0 -0
  40. assets/images/pro/layout-settings.png +0 -0
  41. assets/images/pro/line-style.png +0 -0
  42. assets/images/pro/multi-bg-style.png +0 -0
  43. assets/images/pro/single-color-settings.png +0 -0
  44. assets/images/pro/slideshow-settings.png +0 -0
  45. assets/images/pro/youtube-settings.png +0 -0
  46. assets/images/slideshow-images.png +0 -0
  47. assets/images/story-custom-colors.png +0 -0
  48. assets/js/twae-horizontal-editor.js +0 -48
  49. assets/js/twae-horizontal.js +75 -77
  50. assets/js/twae-horizontal.min.js +1 -5
  51. assets/js/twae-promotional.js +0 -350
  52. assets/js/twae-swiper.js +0 -4027
  53. assets/js/twae-swiper.min.js +0 -1
  54. includes/class-twae-free-main.php +160 -0
  55. includes/class-twae.php +7 -5
  56. includes/twae-functions.php +15 -0
  57. readme.txt +100 -71
  58. timeline-widget-addon-for-elementor.php +31 -17
  59. widgets/editor-layouts/horizontal-template.php +67 -50
  60. widgets/editor-layouts/vertical-template.php +56 -46
  61. widgets/frontend-layouts/twae-centered-timeline.php +0 -82
  62. widgets/frontend-layouts/twae-horizontal-timeline.php +116 -55
  63. widgets/frontend-layouts/twae-vertical-timeline.php +145 -0
  64. widgets/twae-centered-timeline.php +0 -65
  65. widgets/twae-widget.php +1354 -712
  66. widgets/workspace.code-workspace +17 -0
admin/admin-notices.php ADDED
@@ -0,0 +1,351 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit; // Exit if accessed directly
4
+ }
5
+
6
+ /**
7
+ * Admin notice class for wordpress plugin.
8
+ * This class can not be initialized or extended.
9
+ */
10
+
11
+ /**************************************************************************************************
12
+ * HOW TO USE.
13
+ * After including this file, use the below example to start creating admin notice / review box
14
+ *
15
+ * Two arguments, id & message are required and can not be ommitied.
16
+ * id must be unique for every message or it will override the previous message with same id.
17
+ *
18
+ * create a simple admin text message
19
+ * twae_free_create_admin_notice( array('id'=>'bp-greeting-mesage','message'=>'Hey there!') );
20
+ *
21
+ * create a admin text error message
22
+ * twae_free_create_admin_notice( array('id'=>'bp-error-mesage','message'=>'this is an example of error!','type'=>'error') );
23
+ * The argument 'type' can be: error, success, warning
24
+ *
25
+ * create a review box by passing minimum arguments
26
+ * $slug = 'bp';
27
+ * update_option($slug . '_activation_time,strtotime('now') ); // must create an activation time
28
+ * twae_free_create_admin_notice(
29
+ * array(
30
+ * 'id'=>'bp_review_box', // required and must be unique
31
+ * 'slug'=>$slug, // required in case of review box
32
+ * 'review'=>true, // required and set to be true for review box
33
+ * 'review_url'=>'http://coolplugins.net', // required
34
+ * 'plugin_name'=>'Boiler Plate Plugin', // required
35
+ * 'logo'=>'http://example.com/logo.png', // optional: it will display logo
36
+ * 'review_interval'=>5 // optional: this will display review notice
37
+ * // after 5 days from the installation_time
38
+ * // default is 3
39
+ * )
40
+ * );
41
+ *
42
+ * NOTE: Review box does not be displayed unless the $slug _activation_time is equals or
43
+ * more than the 3 days from current time. This can also be changed by setting 'review_interval' arguments
44
+ *****************************************************************************************************
45
+ */
46
+ if (!class_exists('twae_free_admin_notices')):
47
+
48
+ final class twae_free_admin_notices
49
+ {
50
+
51
+ private static $instance = null;
52
+ private $messages = array();
53
+ private $version = '1.0.0';
54
+
55
+ /**
56
+ * initialize the class with single instance
57
+ */
58
+ public static function twae_free_create_notice()
59
+ {
60
+ if (!empty(self::$instance)) {
61
+ return self::$instance;
62
+ }
63
+ return self::$instance = new self;
64
+ }
65
+
66
+ /**
67
+ * add messages for admin notice
68
+ * @param array $notice this array contains $id,$message,$type,$class,$id
69
+ *
70
+ */
71
+ public function twae_free_add_message($notice)
72
+ {
73
+
74
+ if( !isset( $notice['id']) || empty($notice['id']) ){
75
+ //$this->twae_free_show_error('id is required for integrating admin notice.');
76
+ return;
77
+ }
78
+
79
+ if( array_key_exists( $notice['id'], $this->messages ) ){
80
+
81
+ }
82
+
83
+ if ( isset($notice['review']) && true != (bool)$notice['review'] && ( !isset($notice['message']) || empty($notice['message']) )) {
84
+ //$this->twae_free_show_error('message can not be null. You must provide some text for message field');
85
+ return;
86
+ }
87
+ $message = (isset($notice['message']) && !empty($notice['message'])) ? wp_kses( $notice['message'], 'post' ) : null ;
88
+ $type = (isset($notice['type']) && !empty($notice['type'])) ? 'notice-' . sanitize_text_field( $notice['type'] ) : 'notice-success' ;
89
+ $class = (isset($notice['class']) && !empty($notice['class'])) ? sanitize_text_field( $notice['class'] ): '';
90
+ $review = (bool)(isset($notice['review'] ) && !empty( $notice['review'] ) ) ? sanitize_text_field( $notice['review'] ) : false;
91
+ $slug = (isset($notice['slug']) && !empty($notice['slug'])) ? sanitize_text_field( $notice['slug'] ): '' ;
92
+ $plugin_name = (isset($notice['plugin_name']) && !empty($notice['plugin_name'])) ? sanitize_text_field( $notice['plugin_name'] ) : '' ;
93
+ $logo = (isset($notice['logo']) && !empty($notice['logo'])) ? esc_url( $notice['logo'] ) : null ;
94
+ $review_url = (isset($notice['review_url']) && !empty($notice['review_url'])) ? esc_url( $notice['review_url'] ) : '' ;
95
+ $review_interval = (isset($notice['review_interval']) && !empty($notice['review_interval'])) ? sanitize_text_field( $notice['review_interval'] ) : '3' ;
96
+ if( $review == true && ( empty( $slug ) || empty( $plugin_name ) || empty( $review_url ) )){
97
+ // $this->twae_free_show_error( 'slug / plugin_name / review_url can not be empty if admin notice is set to review' );
98
+ return;
99
+ }
100
+ $this->messages[$notice['id']] = array(
101
+ 'message' => $message,
102
+ 'type' => $type,
103
+ 'class' => $class,
104
+ 'review' => $review,
105
+ 'logo'=>$logo,
106
+ 'slug' => $slug,
107
+ 'plugin_name' => $plugin_name,
108
+ 'review_url' => $review_url,
109
+ 'review_interval' => $review_interval
110
+ );
111
+
112
+ add_action('admin_notices', array($this, 'twae_free_show_notice'));
113
+ add_action( 'admin_print_scripts', array($this, 'twae_free_load_script' ) );
114
+ add_action('wp_ajax_twae_free_admin_notice', array($this, 'twae_free_admin_notice_dismiss'));
115
+ add_action('wp_ajax_twae_free_admin_review_notice_dismiss', array($this, 'twae_free_admin_review_notice_dismiss'));
116
+ }
117
+
118
+ /**
119
+ * Load script to dismiss notices.
120
+ *
121
+ * @return void
122
+ */
123
+ public function twae_free_load_script() {
124
+ wp_register_style( 'twae-feedback-notice-styles',TWAE_URL.'assets/css/twae-admin-feedback-notice.min.css',array(),TWAE_VERSION,'all' );
125
+ wp_enqueue_style( 'twae-feedback-notice-styles' );
126
+ }
127
+
128
+ /**
129
+ * Create simple admin notice
130
+ */
131
+ public function twae_free_show_notice()
132
+ {
133
+ if (count($this->messages) > 0) {
134
+
135
+ foreach ($this->messages as $id => $message) {
136
+ if( true == (bool) $message['review'] ){
137
+ $this->twae_free_admin_notice_for_review( $id, $message);
138
+ }else{
139
+ $this->twae_free_simple_notice($id, $message );
140
+ }
141
+ }
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Due to the nature of private function. This must not be called directly
147
+ * Create simple text/html admin notice and initialize required JS
148
+ * @param array $message This is an array of message object
149
+ */
150
+ private function twae_free_simple_notice($id, $message ){
151
+
152
+ if( get_option($id . '_remove_notice') ) return;
153
+
154
+ $classes = esc_attr('notice ' . trim( $message['type'] ) . ' is-dismissible ' . trim( $message['class'] ));
155
+ $script = '<script>
156
+ jQuery(document).ready(function ($) {
157
+ $(".'.$id.'_admin_notice .notice-dismiss").css("border","2px solid red");
158
+ $(document).on("click",".'.$id.'_admin_notice button.notice-dismiss", function (event) {
159
+ var $this = $(this);
160
+ var wrapper=$this.parents(".'.$id.'_admin_notice");
161
+ var ajaxURL=wrapper.data("ajax-url");
162
+ var id = wrapper.data("plugin-slug");
163
+ var wp_nonce = wrapper.data("wp-nonce");
164
+ $.post(ajaxURL, { "action":"twae_free_admin_notice","id":id,"_nonce":wp_nonce }, function( data ) {
165
+ wrapper.slideUp("fast");
166
+ }, "json");
167
+ });
168
+ });
169
+ </script>';
170
+ $nonce = wp_create_nonce( $id . '_notice_nonce' );
171
+ echo "<div class='".$id."_admin_notice $classes' data-ajax-url='".admin_url('admin-ajax.php')."' data-wp-nonce='". $nonce . "' data-plugin-slug='$id'><p>" . $message['message'] . "</p></div>" . $script;
172
+ }
173
+
174
+ /**
175
+ * This function decides if its good to show the review notice or not
176
+ * Review notice will only be displayed if $slug_activation_time is greater or equals to the 3 days
177
+ */
178
+ private function twae_free_admin_notice_for_review( $id, $messageObj ){
179
+ // Everyone should not be able see the review message
180
+ if( !current_user_can( 'update_plugins' ) ){
181
+ return;
182
+ }
183
+ $slug = $messageObj['slug'];
184
+ $days = $messageObj['review_interval'];
185
+ if(get_option( $slug.'_activation_time' )){
186
+ // get installation dates and rated settings
187
+ //$installation_date =date( 'Y-m-d h:i:s', get_option( $slug.'_activation_time' ));
188
+ $installation_date = date( 'Y-m-d h:i:s', strtotime(get_option( $slug.'_activation_time' )) );
189
+ }else{
190
+ // $this->twae_free_show_error('Review notice can not be integrated. '.$slug.'_activation_time option is not set for the plugin');
191
+ return;
192
+ }
193
+
194
+ // check if user already rated
195
+ if(get_option( $slug . '_spare_me' )) {
196
+ return;
197
+ }
198
+
199
+ // grab plugin installation date and compare it with current date
200
+ $display_date = date( 'Y-m-d h:i:s' );
201
+ $install_date = new DateTime( $installation_date );
202
+ $current_date = new DateTime( $display_date );
203
+ $difference = $install_date->diff($current_date);
204
+ $diff_days = $difference->days;
205
+
206
+ // check if installation days is greator then week
207
+ if (isset($diff_days) && $diff_days>= $days ) {
208
+ echo $this->twae_free_create_notice_content( $id, $messageObj );
209
+ }
210
+ }
211
+
212
+ /**
213
+ * Generate review notice HTMl with all required css & js
214
+ *
215
+ * @param array $messageObj array of a message object
216
+ **/
217
+ function twae_free_create_notice_content( $id, $messageObj ){
218
+
219
+ $ajax_url = admin_url( 'admin-ajax.php' );
220
+ $ajax_callback = 'twae_free_admin_review_notice_dismiss';
221
+ $wrap_cls = "notice notice-info is-dismissible";
222
+ $img_path = (isset( $messageObj['logo'] ) && !empty($messageObj['logo'] ) ) ? $messageObj['logo'] : null;
223
+ $slug = $messageObj['slug'];
224
+ $plugin_name = $messageObj['plugin_name'];
225
+ $like_it_text ='Rate Now! ★★★★★';
226
+ $already_rated_text= esc_html__( 'I already rated it', 'twae' );
227
+ $not_like_it_text = esc_html__( 'Not Interested', 'twae' );
228
+ $plugin_link = $messageObj['review_url'] ;
229
+ $review_nonce = wp_create_nonce( $id . '_review_nonce' );
230
+ $message ="Thanks for using <b>$plugin_name</b> - WordPress plugin.
231
+ We hope you liked it ! <br/>Please give us a quick rating, it works as a boost for us to keep working on more <a href='https://coolplugins.net' target='_blank'><strong>Cool Plugins</strong></a>!<br/>";
232
+
233
+ $html='<div data-ajax-url="%8$s" data-plugin-slug="%11$s" data-wp-nonce="%12$s" id="%13$s" data-ajax-callback="%9$s" class="%11$s-feedback-notice-wrapper %1$s">';
234
+
235
+ if( $img_path != null ){
236
+ $html .='<div class="logo_container"><a href="%5$s"><img src="%2$s" alt="%3$s" style="max-width:80px;"></a></div>';
237
+ }
238
+
239
+ $html .='<div class="message_container">%4$s
240
+ <div class="callto_action">
241
+ <ul>
242
+ <li class="love_it"><a href="%5$s" class="like_it_btn button button-primary" target="_new" title="%6$s">%6$s</a></li>
243
+ <li class="already_rated"><a href="#" class="already_rated_btn button %11$s_dismiss_notice" title="%7$s">%7$s</a></li>
244
+ <li class="already_rated"><a href="#" class="already_rated_btn button %11$s_dismiss_notice" title="%10$s">%10$s</a></li>
245
+ </ul>
246
+ <div class="clrfix"></div>
247
+ </div>
248
+ </div>
249
+ </div>';
250
+ $script = '<script>
251
+ jQuery(document).ready(function ($) {
252
+ $(document).on("click", "#'.$id.' .'.$slug.'_dismiss_notice", function (event) {
253
+ var $this = $(this);
254
+ var wrapper=$this.parents(".'.$slug.'-feedback-notice-wrapper");
255
+ var ajaxURL=wrapper.data("ajax-url");
256
+ var ajaxCallback=wrapper.data("ajax-callback");
257
+ var slug = wrapper.data("plugin-slug");
258
+ var id = wrapper.attr("id");
259
+ var wp_nonce = wrapper.data("wp-nonce");
260
+ $.post(ajaxURL, { "action":ajaxCallback,"slug":slug,"id":id,"_nonce":wp_nonce }, function( data ) {
261
+ wrapper.slideUp("fast");
262
+ })
263
+ });
264
+ });
265
+ </script>';
266
+
267
+ $html .= $script;
268
+
269
+
270
+ return sprintf($html,
271
+ $wrap_cls,
272
+ $img_path,
273
+ $plugin_name,
274
+ $message,
275
+ $plugin_link,
276
+ $like_it_text,
277
+ $already_rated_text,
278
+ $ajax_url,// 8
279
+ $ajax_callback,//9
280
+ $not_like_it_text,//10
281
+ $slug, //11
282
+ $review_nonce, //12
283
+ $id //13
284
+ );
285
+
286
+ }
287
+
288
+ /**
289
+ * This function will dismiss the review notice.
290
+ * This is called by a wordpress ajax hook
291
+ */
292
+ public function twae_free_admin_review_notice_dismiss(){
293
+ $slug = filter_var($_REQUEST['slug'], FILTER_SANITIZE_STRING);
294
+ $id = filter_var($_REQUEST['id'], FILTER_SANITIZE_STRING);
295
+ $nonce_key = $id . '_review_nonce' ;
296
+
297
+ if( check_ajax_referer( $nonce_key, '_nonce' ) ){
298
+ update_option( $slug . '_spare_me','yes' );
299
+ echo json_encode( array("success"=>"true") );
300
+ }else{
301
+ // echo json_encode( array("error"=>"nonce verification failed!") );
302
+ }
303
+ exit;
304
+ }
305
+
306
+ /************************************************************
307
+ * This function will dismiss the text/html admin notice *
308
+ * This is called by a wordpress ajax hook *
309
+ ************************************************************/
310
+ public function twae_free_admin_notice_dismiss()
311
+ {
312
+
313
+ $id = filter_var($_REQUEST['id'], FILTER_SANITIZE_STRING);
314
+ $wp_nonce = $id . '_notice_nonce';
315
+ if( check_ajax_referer($wp_nonce , '_nonce') ){
316
+ $us = update_option( $id . '_remove_notice','yes' );
317
+ die( 'Admin message removed!' );
318
+ }else{
319
+ die( 'nounce verification failed!' );
320
+ }
321
+
322
+ }
323
+
324
+ /**************************************************************
325
+ * This function is used by the class for displaying error *
326
+ * in case of wrong implementation of the class. *
327
+ **************************************************************/
328
+ private function twae_free_show_error($error_text){
329
+ $er = "<div style='text-align:center;margin-left:20px;padding:10px;background-color: #cc0000; color: #fce94f; font-size: x-large;'>";
330
+ $er .= "Error: ".$error_text;
331
+ $er .= "</div>";
332
+ echo wp_kese_post($er);
333
+ }
334
+
335
+ } // end of main class twae_free_admin_notices;
336
+ endif;
337
+ /********************************************************************************
338
+ * A global function to create admin notice/review box using the above class. *
339
+ * This function makes it easy to use above class *
340
+ ********************************************************************************/
341
+ function twae_free_create_admin_notice($notice)
342
+ {
343
+ // Do not initialize anything if it's not wordpress admin dashboard
344
+ if (!is_admin()) {
345
+ return;
346
+ }
347
+
348
+ $main_class = twae_free_admin_notices::twae_free_create_notice();
349
+ $main_class->twae_free_add_message($notice);
350
+ return $main_class;
351
+ }
{feedback → admin/feedback}/css/admin-feedback.css RENAMED
@@ -22,9 +22,15 @@
22
  font-size: 16px;
23
  margin: 5px;
24
  cursor: pointer;
25
- background-color: #7bc6de;
26
  color: white;
27
  }
 
 
 
 
 
 
28
  #cool-plugins-deactivate-feedback-dialog-form-body .cool-plugins-deactivate-feedback-dialog-input:not(:checked)~.cool-plugins-feedback-text {
29
  display: none;
30
  }
@@ -100,16 +106,16 @@ span#cool-plugins-feedback-form-title {
100
  }
101
  #cool-plugins-deactivate-feedback-dialog-header {
102
  padding: 20px;
103
- background-color: #7bc6de;
104
  }
105
  a.cool-plugins-button:hover {
106
- background: #adebff;
107
  color: white;
108
  }
109
  .cool-plugins-button.button-deactivate,
110
  .cool-plugins-button.button-deactivate:hover{
111
- cursor: initial;
112
- background-color: silver;
113
  }
114
 
115
  #cool-plugins-form-wrapper input#cool-plugins-GDPR-data-notice {
22
  font-size: 16px;
23
  margin: 5px;
24
  cursor: pointer;
25
+ background-color: #0d1031;
26
  color: white;
27
  }
28
+
29
+ a#cool-plugin-skipNdeactivate {
30
+ background: transparent;
31
+ border: 1px solid #ccc;
32
+ color: #ccc;
33
+ }
34
  #cool-plugins-deactivate-feedback-dialog-form-body .cool-plugins-deactivate-feedback-dialog-input:not(:checked)~.cool-plugins-feedback-text {
35
  display: none;
36
  }
106
  }
107
  #cool-plugins-deactivate-feedback-dialog-header {
108
  padding: 20px;
109
+ background-color: #27c3f3;
110
  }
111
  a.cool-plugins-button:hover {
112
+ background: #27c3f3;
113
  color: white;
114
  }
115
  .cool-plugins-button.button-deactivate,
116
  .cool-plugins-button.button-deactivate:hover{
117
+ cursor: not-allowed;
118
+ background-color: #f16564;
119
  }
120
 
121
  #cool-plugins-form-wrapper input#cool-plugins-GDPR-data-notice {
{feedback → admin/feedback}/images/cool-plugins-preloader.gif RENAMED
File without changes
{feedback → admin/feedback}/js/admin-feedback.js RENAMED
File without changes
{feedback → admin/feedback}/twae-admin-feedback-form.php RENAMED
@@ -53,8 +53,8 @@ class cool_plugins_feedback{
53
  function enqueue_feedback_scripts(){
54
  $screen = get_current_screen();
55
  if( isset( $screen ) && $screen->id == 'plugins' ){
56
- wp_enqueue_script(__NAMESPACE__.'-feedback-script', $this->plugin_url .'feedback/js/admin-feedback.js' );
57
- wp_enqueue_style('cool-plugins-feedback-style', $this->plugin_url .'feedback/css/admin-feedback.css' );
58
  }
59
  }
60
 
53
  function enqueue_feedback_scripts(){
54
  $screen = get_current_screen();
55
  if( isset( $screen ) && $screen->id == 'plugins' ){
56
+ wp_enqueue_script(__NAMESPACE__.'-feedback-script', $this->plugin_url .'admin/feedback/js/admin-feedback.js' );
57
+ wp_enqueue_style('cool-plugins-feedback-style', $this->plugin_url .'admin/feedback/css/admin-feedback.css' );
58
  }
59
  }
60
 
{includes → admin}/twae-feedback-notice.php RENAMED
File without changes
assets/css/twae-admin-feedback-notice.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .twae-feedback-notice-wrapper.notice.notice-info.is-dismissible{padding:5px;display:table;width:calc(100% - 10px);max-width:870px;clear:both;border-radius:5px;border:2px solid #b7bfc7;box-sizing:border-box;margin:5px 0 15px}.twae-feedback-notice-wrapper .logo_container{width:80px;display:table-cell;padding:0 10px 0 0;vertical-align:top}.twae-feedback-notice-wrapper .logo_container a,.twae-feedback-notice-wrapper .logo_container img{width:100%;height:auto;display:inline-block}.twae-feedback-notice-wrapper .message_container{display:table-cell;padding:0 22px 0 0;vertical-align:middle}.twae-feedback-notice-wrapper ul li{float:left;margin:0 10px 0 0}.twae-feedback-notice-wrapper ul li.already_rated a:after{color:#f12945;content:"\f153";font:normal 18px/21px dashicons;display:inline-block;vertical-align:middle;margin-left:3px}.twae-feedback-notice-wrapper ul li .button-primary{background:#f12945;box-shadow:none;border:1px solid #a50b21;text-shadow:none}.twae-feedback-notice-wrapper ul li .button-primary:hover{background:#02c5be;border:1px solid #017571}.twae-notice-red.uninstall{max-width:700px;display:block;padding:8px;border:2px solid #157d0f;margin:10px 0;background:#13a50b;font-weight:700;font-size:13px;color:#fff}
assets/css/twae-centered-timeline.css DELETED
@@ -1,359 +0,0 @@
1
- .twae-vertical:before,
2
- .twae-vertical:after {
3
- content: "";
4
- width: 20px;
5
- height: 20px;
6
- display: inline-block;
7
- border-radius: 50%;
8
- position: absolute;
9
- left: calc(50% - 12px);
10
- z-index: 9;
11
- }
12
-
13
- .twae-vertical:before {
14
- top: -10px;
15
- }
16
-
17
- .twae-vertical:after {
18
- bottom: 20px;
19
- }
20
-
21
- .twae-timeline-centered {
22
- position: relative;
23
- margin-bottom: 30px;
24
- padding-top: 20px;
25
- }
26
-
27
- .twae-vertical span.twae-year-container:first-child {
28
- margin-top: 0px!important;
29
- }
30
-
31
- .twae-timeline-centered.twae-timeline-sm .twae-timeline-entry {
32
- margin-bottom: 20px !important;
33
- }
34
-
35
- .twae-timeline-centered.twae-timeline-sm .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container {
36
- padding: 0.85em;
37
- }
38
-
39
- .twae-timeline-centered:before,
40
- .twae-timeline-centered:after {
41
- content: " ";
42
- display: table;
43
- }
44
-
45
- .twae-timeline-centered:after {
46
- clear: both;
47
- }
48
-
49
- .twae-timeline-centered:before {
50
- content: '';
51
- position: absolute;
52
- display: block;
53
- width: 4px;
54
- left: 50%;
55
- top: 0;
56
- bottom: 0;
57
- margin-left: -4px;
58
- }
59
-
60
- .twae-timeline-centered .twae-timeline-entry {
61
- position: relative;
62
- width: 50%;
63
- float: right;
64
- margin-bottom: 70px;
65
- clear: both;
66
- }
67
-
68
- .twae-timeline-centered .twae-timeline-entry:before,
69
- .twae-timeline-centered .twae-timeline-entry:after {
70
- content: " ";
71
- display: table;
72
- }
73
-
74
- .twae-timeline-centered .twae-timeline-entry:after {
75
- clear: both;
76
- }
77
-
78
- .twae-timeline-centered .twae-timeline-entry.twae-left-aligned {
79
- float: left;
80
- }
81
-
82
- .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner {
83
- margin-left: 0;
84
- margin-right: -22px;
85
- }
86
-
87
- .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-label-extra-label {
88
- left: auto;
89
- right: -100%;
90
- text-align: left;
91
- }
92
-
93
- .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-icon {
94
- float: right;
95
- }
96
-
97
- .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container {
98
- margin-left: 0;
99
- margin-right: 70px;
100
- }
101
-
102
- .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container:after {
103
- left: auto;
104
- right: 0;
105
- margin-left: 0;
106
- margin-right: -9px;
107
- -moz-transform: rotate(180deg);
108
- -o-transform: rotate(180deg);
109
- -webkit-transform: rotate(180deg);
110
- -ms-transform: rotate(180deg);
111
- transform: rotate(180deg);
112
- }
113
-
114
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner {
115
- position: relative;
116
- margin-left: -27px;
117
- }
118
-
119
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:before,
120
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:after {
121
- content: " ";
122
- display: table;
123
- }
124
-
125
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:after {
126
- clear: both;
127
- }
128
-
129
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label {
130
- position: absolute;
131
- left: -100%;
132
- width: 100%;
133
- text-align: right;
134
- padding: 10px;
135
- -webkit-box-sizing: border-box;
136
- -moz-box-sizing: border-box;
137
- box-sizing: border-box;
138
- }
139
-
140
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label>span {
141
- display: block;
142
- }
143
-
144
- .twae-timeline-centered .twae-label-extra-label>span:last-child {
145
- margin-top: 5px;
146
- }
147
-
148
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon {
149
- display: block;
150
- width: 48px;
151
- height: 48px;
152
- -webkit-background-clip: padding-box;
153
- -moz-background-clip: padding-box;
154
- background-clip: padding-box;
155
- border-radius: 50%;
156
- text-align: center;
157
- line-height: 0;
158
- font-size: 0;
159
- float: left;
160
- padding: 0;
161
- }
162
-
163
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon i {
164
- line-height: 38px;
165
- font-size: 22px;
166
- }
167
-
168
- .twae-vertical .twae-timeline-centered .twae-data-container {
169
- display: flow-root;
170
- }
171
-
172
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container {
173
- position: relative;
174
- padding: 1.7em;
175
- margin-left: 70px;
176
- -webkit-background-clip: padding-box;
177
- -moz-background-clip: padding;
178
- background-clip: padding-box;
179
- -webkit-border-radius: 6px;
180
- -moz-border-radius: 6px;
181
- border-radius: 6px;
182
- box-shadow: 0px 2px 8px -2px rgba(0, 0, 0, 0.3);
183
- }
184
-
185
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after {
186
- content: '';
187
- display: block;
188
- position: absolute;
189
- width: 0;
190
- height: 0;
191
- border-style: solid;
192
- border-width: 9px 9px 9px 0;
193
- left: 0;
194
- top: 14px;
195
- margin-left: -9px;
196
- }
197
-
198
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title,
199
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container p {
200
- margin: 0;
201
- }
202
-
203
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container p+p {
204
- margin-top: 15px;
205
- }
206
-
207
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title {
208
- margin-bottom: 10px;
209
- font-weight: bold;
210
- display: inline-block;
211
- width: 100%;
212
- }
213
-
214
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title span {
215
- -webkit-opacity: .6;
216
- -moz-opacity: .6;
217
- opacity: .6;
218
- -ms-filter: alpha(opacity=60);
219
- filter: alpha(opacity=60);
220
- }
221
-
222
- .twae-timeline-centered .twae-timeline-entry .twae-data-container .twae-timeline-img img {
223
- float: left;
224
- padding: 0px 5px 0px 0px;
225
- }
226
-
227
- .twae-timeline-centered .twae-year-container .twae-year-label {
228
- border-radius: 6px;
229
- display: inline-block;
230
- line-height: 1;
231
- padding: 7px 14px;
232
- text-align: center;
233
- vertical-align: baseline;
234
- white-space: nowrap
235
- }
236
-
237
- .twae-timeline-centered .twae-year-container {
238
- position: relative;
239
- float: left;
240
- clear: left;
241
- width: 50%;
242
- margin-top: 20px;
243
- margin-bottom: 20px;
244
- top: 1px;
245
- width: 100%;
246
- margin-left: auto;
247
- margin-right: auto;
248
- padding: 0;
249
- text-align: center
250
- }
251
-
252
- .twae-timeline-centered .twae-year-container:before,
253
- .twae-timeline-centered .twae-year-container:after {
254
- content: "";
255
- display: table
256
- }
257
-
258
- .twae-timeline-centered .twae-year-container:after {
259
- clear: both
260
- }
261
-
262
- @media only screen and (max-width: 767px) {
263
- .twae-vertical:before,
264
- .twae-vertical:after {
265
- left: 10px;
266
- }
267
- .twae-timeline-centered:before {
268
- left: 22px;
269
- }
270
- .twae-timeline-centered .twae-year-container {
271
- padding-left: 54px;
272
- text-align: left;
273
- margin-bottom: 5px;
274
- margin-top: 20px;
275
- }
276
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner {
277
- margin-left: 0;
278
- }
279
- .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner {
280
- margin-right: 0;
281
- }
282
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label {
283
- position: relative;
284
- left: 0;
285
- text-align: left;
286
- display: inline-block;
287
- width: 100%;
288
- padding-left: 54px;
289
- }
290
- .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-label-extra-label {
291
- right: 0;
292
- }
293
- .twae-timeline-centered .twae-timeline-entry {
294
- width: 100%;
295
- }
296
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon {
297
- width: 40px;
298
- height: 40px;
299
- line-height: 28px;
300
- font-size: 18px !IMPORTANT;
301
- }
302
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon i {
303
- font-size: 18px !important;
304
- line-height: 31px;
305
- }
306
- .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-icon {
307
- float: left;
308
- }
309
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container,
310
- .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container {
311
- margin-left: 54px;
312
- margin-right: 0;
313
- }
314
- .twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after {
315
- top: 10px;
316
- }
317
- .twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container:after {
318
- left: 0;
319
- right: auto;
320
- margin-left: -9px;
321
- margin-right: 0;
322
- -moz-transform: rotate(360deg);
323
- -o-transform: rotate(360deg);
324
- -webkit-transform: rotate(360deg);
325
- -ms-transform: rotate(360deg);
326
- transform: rotate(360deg);
327
- }
328
- }
329
-
330
- @media only screen and (min-width: 768px) {
331
- .twae-timeline-centered.twae-one-sided-timeline:before {
332
- left: 24%;
333
- }
334
- .twae-timeline-centered.twae-one-sided-timeline .twae-year-container {
335
- text-align: right;
336
- padding-right: 80%;
337
- }
338
- .twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry {
339
- width: 100%;
340
- float: left;
341
- }
342
- .twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner {
343
- margin-left: 0;
344
- }
345
- .twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container {
346
- margin-left: 31%;
347
- }
348
- .twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-icon {
349
- margin-left: calc(24% - 25px);
350
- }
351
- .twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label {
352
- left: -2%;
353
- width: 22%;
354
- }
355
- .twae-vertical.twae-one-sided-wrapper:before,
356
- .twae-vertical.twae-one-sided-wrapper:after {
357
- left: calc(23% - 4px);
358
- }
359
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/twae-centered-timeline.min.css DELETED
@@ -1 +0,0 @@
1
- .twae-vertical:after,.twae-vertical:before{content:"";width:20px;height:20px;display:inline-block;border-radius:50%;position:absolute;left:calc(50% - 12px);z-index:9}.twae-vertical:before{top:-10px}.twae-vertical:after{bottom:20px}.twae-timeline-centered{position:relative;margin-bottom:30px;padding-top:20px}.twae-vertical span.twae-year-container:first-child{margin-top:0!important}.twae-timeline-centered.twae-timeline-sm .twae-timeline-entry{margin-bottom:20px!important}.twae-timeline-centered.twae-timeline-sm .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container{padding:.85em}.twae-timeline-centered:after,.twae-timeline-centered:before{content:" ";display:table}.twae-timeline-centered:after{clear:both}.twae-timeline-centered:before{content:'';position:absolute;display:block;width:4px;left:50%;top:0;bottom:0;margin-left:-4px}.twae-timeline-centered .twae-timeline-entry{position:relative;width:50%;float:right;margin-bottom:70px;clear:both}.twae-timeline-centered .twae-timeline-entry:after,.twae-timeline-centered .twae-timeline-entry:before{content:" ";display:table}.twae-timeline-centered .twae-timeline-entry:after{clear:both}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned{float:left}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner{margin-left:0;margin-right:-22px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-label-extra-label{left:auto;right:-100%;text-align:left}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-icon{float:right}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container{margin-left:0;margin-right:70px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container:after{left:auto;right:0;margin-left:0;margin-right:-9px;-moz-transform:rotate(180deg);-o-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner{position:relative;margin-left:-27px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:after,.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:before{content:" ";display:table}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner:after{clear:both}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label{position:absolute;left:-100%;width:100%;text-align:right;padding:10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label>span{display:block}.twae-timeline-centered .twae-label-extra-label>span:last-child{margin-top:5px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon{display:block;width:48px;height:48px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;border-radius:50%;text-align:center;line-height:0;font-size:0;float:left;padding:0}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon i{line-height:38px;font-size:22px}.twae-vertical .twae-timeline-centered .twae-data-container{display:flow-root}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container{position:relative;padding:1.7em;margin-left:70px;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;box-shadow:0 2px 8px -2px rgba(0,0,0,.3)}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after{content:'';display:block;position:absolute;width:0;height:0;border-style:solid;border-width:9px 9px 9px 0;left:0;top:14px;margin-left:-9px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title,.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container p{margin:0}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container p+p{margin-top:15px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title{margin-bottom:10px;font-weight:700;display:inline-block;width:100%}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container .twae-title span{-webkit-opacity:.6;-moz-opacity:.6;opacity:.6}.twae-timeline-centered .twae-timeline-entry .twae-data-container .twae-timeline-img img{float:left;padding:0 5px 0 0}.twae-timeline-centered .twae-year-container .twae-year-label{border-radius:6px;display:inline-block;line-height:1;padding:7px 14px;text-align:center;vertical-align:baseline;white-space:nowrap}.twae-timeline-centered .twae-year-container{position:relative;float:left;clear:left;width:50%;margin-top:20px;margin-bottom:20px;top:1px;width:100%;margin-left:auto;margin-right:auto;padding:0;text-align:center}.twae-timeline-centered .twae-year-container:after,.twae-timeline-centered .twae-year-container:before{content:"";display:table}.twae-timeline-centered .twae-year-container:after{clear:both}@media only screen and (max-width:767px){.twae-vertical:after,.twae-vertical:before{left:10px}.twae-timeline-centered:before{left:22px}.twae-timeline-centered .twae-year-container{padding-left:54px;text-align:left;margin-bottom:5px;margin-top:20px}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner{margin-left:0}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner{margin-right:0}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label{position:relative;left:0;text-align:left;display:inline-block;width:100%;padding-left:54px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-label-extra-label{right:0}.twae-timeline-centered .twae-timeline-entry{width:100%}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon{width:40px;height:40px;line-height:28px;font-size:18px!important}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-icon i{font-size:18px!important;line-height:31px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-icon{float:left}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container,.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container{margin-left:54px;margin-right:0}.twae-timeline-centered .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container:after{top:10px}.twae-timeline-centered .twae-timeline-entry.twae-left-aligned .twae-timeline-entry-inner .twae-data-container:after{left:0;right:auto;margin-left:-9px;margin-right:0;-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@media only screen and (min-width:768px){.twae-timeline-centered.twae-one-sided-timeline:before{left:24%}.twae-timeline-centered.twae-one-sided-timeline .twae-year-container{text-align:right;padding-right:80%}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry{width:100%;float:left}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner{margin-left:0}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-data-container{margin-left:31%}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-icon{margin-left:calc(24% - 25px)}.twae-timeline-centered.twae-one-sided-timeline .twae-timeline-entry .twae-timeline-entry-inner .twae-label-extra-label{left:-2%;width:22%}.twae-vertical.twae-one-sided-wrapper:after,.twae-vertical.twae-one-sided-wrapper:before{left:calc(23% - 4px)}}
 
assets/css/twae-colors-typography.css DELETED
@@ -1,133 +0,0 @@
1
- .twae-wrapper .twae-year {
2
- font-size: 16px;
3
- font-weight: bold;
4
- color: #ffffff;
5
- background-color: #54595F;
6
- }
7
-
8
- .twae-wrapper span.twae-label {
9
- font-size: 20px;
10
- font-weight: 600;
11
- color: #23A455;
12
- }
13
-
14
- .twae-wrapper span.twae-extra-label {
15
- font-size: 15px;
16
- font-weight: normal;
17
- color: #7A7A7A;
18
- }
19
-
20
- .twae-wrapper span.twae-title {
21
- font-size: 20px;
22
- font-weight: 600;
23
- }
24
-
25
- .twae-wrapper .twae-description {
26
- font-size: 16px;
27
- font-weight: normal;
28
- color: #333333;
29
- }
30
-
31
- .twae-wrapper .twae-icon i {
32
- font-size: 20px;
33
- }
34
-
35
- .twae-wrapper .twae-data-container span.twae-title {
36
- color: #23A455;
37
- }
38
-
39
- .twae-horizontal span.twae-title {
40
- color: #23A455;
41
- }
42
-
43
- .twae-wrapper .twae-line::before {
44
- background-color: #D6D6D6;
45
- }
46
-
47
- .twae-wrapper .twae-timeline-centered .twae-icon {
48
- border: 4px solid #D6D6D6;
49
- }
50
-
51
- .twae-wrapper .twae-timeline-centered .twae-year {
52
- border:2px solid #D6D6D6;
53
- }
54
-
55
- .twae-wrapper:before {
56
- background-color: #D6D6D6;
57
- }
58
-
59
- .twae-wrapper:after {
60
- background-color: #D6D6D6;
61
- }
62
-
63
- .twae-horizontal .twae-pagination.swiper-pagination-progressbar {
64
- background-color: #D6D6D6;
65
- }
66
-
67
- .twae-horizontal .twae-button-prev {
68
- color: #D6D6D6;
69
- }
70
-
71
- .twae-horizontal .twae-button-next {
72
- color: #D6D6D6;
73
- }
74
-
75
- .twae-wrapper .twae-icon {
76
- background-color: #23A455;
77
- color: #fff9ed;
78
- }
79
-
80
- .twae-horizontal .twae-story-info {
81
- border-top: 4px solid #23A455;
82
- background-color: #fff9ed;
83
- }
84
- .twae-horizontal .twae-story-info.twae-no-border {
85
- border-top: 4px solid #fff9ed;
86
- }
87
-
88
- .twae-horizontal .twae-story-info:before {
89
- border: 13px solid transparent;
90
- border-bottom-color: #23a455;
91
- }
92
- .twae-horizontal .twae-story-info.twae-no-border:before {
93
- border-bottom-color: #fff9ed;
94
- }
95
-
96
- .twae-wrapper .twae-right-aligned .twae-data-container {
97
- border-left: 2px solid #23A455;
98
- }
99
- .twae-wrapper .twae-right-aligned .twae-data-container.twae-no-border {
100
- border-left: 2px solid #fff9ed;
101
- }
102
-
103
- body[data-elementor-device-mode=desktop] .twae-wrapper .twae-left-aligned .twae-data-container,
104
- body[data-elementor-device-mode=tablet] .twae-wrapper .twae-left-aligned .twae-data-container {
105
- border-right: 2px solid #23A455;
106
- }
107
-
108
- body[data-elementor-device-mode=desktop] .twae-wrapper .twae-left-aligned .twae-data-container.twae-no-border,
109
- body[data-elementor-device-mode=tablet] .twae-wrapper .twae-left-aligned .twae-data-container.twae-no-border {
110
- border-right: 2px solid #fff9ed;
111
- }
112
-
113
- body[data-elementor-device-mode=mobile] .twae-wrapper .twae-left-aligned .twae-data-container {
114
- border-left:2px solid #23A455;
115
- }
116
- body[data-elementor-device-mode=mobile] .twae-wrapper .twae-left-aligned .twae-data-container.twae-no-border {
117
- border-left:2px solid #fff9ed;
118
- }
119
-
120
- .twae-wrapper .twae-data-container {
121
- background-color: #fff9ed;
122
- }
123
-
124
- .twae-wrapper .twae-data-container:after {
125
- border-color: transparent #23A455 transparent transparent;
126
- }
127
- .twae-wrapper .twae-data-container.twae-no-border:after {
128
- border-color: transparent #fff9ed transparent transparent;
129
- }
130
-
131
- .twae-wrapper .twae-data-container.twae-no-border {
132
- border: none!important;
133
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/twae-colors-typography.min.css DELETED
@@ -1 +0,0 @@
1
- .twae-wrapper .twae-year{font-size:16px;font-weight:700;color:#fff;background-color:#54595f}.twae-wrapper span.twae-label{font-size:20px;font-weight:600;color:#23a455}.twae-wrapper span.twae-extra-label{font-size:15px;font-weight:400;color:#7a7a7a}.twae-wrapper span.twae-title{font-size:20px;font-weight:600}.twae-wrapper .twae-description{font-size:16px;font-weight:400;color:#333}.twae-wrapper .twae-icon i{font-size:20px}.twae-wrapper .twae-data-container span.twae-title{color:#23a455}.twae-horizontal span.twae-title{color:#23a455}.twae-wrapper .twae-line::before{background-color:#d6d6d6}.twae-wrapper .twae-timeline-centered .twae-icon{border:4px solid #d6d6d6}.twae-wrapper .twae-timeline-centered .twae-year{border:2px solid #d6d6d6}.twae-wrapper:before{background-color:#d6d6d6}.twae-wrapper:after{background-color:#d6d6d6}.twae-horizontal .twae-pagination.swiper-pagination-progressbar{background-color:#d6d6d6}.twae-horizontal .twae-button-prev{color:#d6d6d6}.twae-horizontal .twae-button-next{color:#d6d6d6}.twae-wrapper .twae-icon{background-color:#23a455;color:#fff9ed}.twae-horizontal .twae-story-info{border-top:4px solid #23a455;background-color:#fff9ed}.twae-horizontal .twae-story-info.twae-no-border{border-top:4px solid #fff9ed}.twae-horizontal .twae-story-info:before{border:13px solid transparent;border-bottom-color:#23a455}.twae-horizontal .twae-story-info.twae-no-border:before{border-bottom-color:#fff9ed}.twae-wrapper .twae-right-aligned .twae-data-container{border-left:2px solid #23a455}.twae-wrapper .twae-right-aligned .twae-data-container.twae-no-border{border-left:2px solid #fff9ed}body[data-elementor-device-mode=desktop] .twae-wrapper .twae-left-aligned .twae-data-container,body[data-elementor-device-mode=tablet] .twae-wrapper .twae-left-aligned .twae-data-container{border-right:2px solid #23a455}body[data-elementor-device-mode=desktop] .twae-wrapper .twae-left-aligned .twae-data-container.twae-no-border,body[data-elementor-device-mode=tablet] .twae-wrapper .twae-left-aligned .twae-data-container.twae-no-border{border-right:2px solid #fff9ed}body[data-elementor-device-mode=mobile] .twae-wrapper .twae-left-aligned .twae-data-container{border-left:2px solid #23a455}body[data-elementor-device-mode=mobile] .twae-wrapper .twae-left-aligned .twae-data-container.twae-no-border{border-left:2px solid #fff9ed}.twae-wrapper .twae-data-container{background-color:#fff9ed}.twae-wrapper .twae-data-container:after{border-color:transparent #23a455 transparent transparent}.twae-wrapper .twae-data-container.twae-no-border:after{border-color:transparent #fff9ed transparent transparent}.twae-wrapper .twae-data-container.twae-no-border{border:none!important}
 
assets/css/twae-common-styles.css ADDED
@@ -0,0 +1,826 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* ------------------------------ Common Styles ----------------------------- */
2
+ /* ------------------------------ Main Wrapper ------------------------------ */
3
+ .twae-wrapper {
4
+ /* Line */
5
+ --tw-line-width: 4px;
6
+ --tw-line-bg: #d6d6d6;
7
+ --tw-line-filling-color: rgba(0, 0, 0, 0.5);
8
+ --tw-line-bd-width: 0;
9
+ --tw-line-bd-style: solid;
10
+
11
+ /* Year Box */
12
+ --tw-ybx-size: 80px;
13
+ --tw-ybx-text-size: 22px;
14
+ --tw-ybx-text-weight: bold;
15
+ --tw-ybx-text-color: #ffffff;
16
+ --tw-ybx-bg: #54595f;
17
+ --tw-ybx-bd-width: var(--tw-line-bd-width-inpx, var(--tw-line-width));
18
+ --tw-ybx-bd-style: var(--tw-line-bd-style);
19
+ --tw-ybx-bd-color: var(--tw-line-bd-color, var(--tw-line-bg));
20
+
21
+ /* Icon Box */
22
+ --tw-ibx-size: 48px;
23
+ --tw-ibx-text-size: 24px;
24
+ --tw-ibx-bg: var(--e-global-color-primary, #222);
25
+ --tw-ibx-color: var(--tw-cbx-bg);
26
+ --tw-ibx-radius: 50;
27
+ --tw-ibx-bd-width: var(--tw-line-bd-width-inpx, var(--tw-line-width));
28
+ --tw-ibx-bd-style: var(--tw-line-bd-style);
29
+ --tw-ibx-bd-color: var(--tw-line-bd-color, var(--tw-line-bg));
30
+
31
+ /* Labels */
32
+ --tw-lbl-gap: 5px;
33
+ --tw-lbl-position: column nowrap;
34
+ --tw-lbl-justify: flex-end;
35
+ /*horizontal*/
36
+ --tw-lbl-big-size: 24px;
37
+ --tw-lbl-small-size: 16px;
38
+ --tw-lbl-big-weight: bold;
39
+ --tw-lbl-small-weight: normal;
40
+ --tw-lbl-big-color: var(--e-global-color-primary, #222);
41
+ --tw-lbl-small-color: var(--e-global-color-text, #444);
42
+
43
+ /* Connector Arrow */
44
+ --tw-arw-bg: var(--tw-cbx-title-bg, var(--tw-cbx-bg));
45
+ --tw-arw-bg2: var(--tw-cbx-title-bg, var(--tw-cbx-bg2));
46
+ --tw-arw-bg3: var(--tw-cbx-title-bg, var(--tw-cbx-bg3));
47
+ --tw-arw-bg4: var(--tw-cbx-title-bg, var(--tw-cbx-bg4));
48
+ --tw-arw-bd-color: var(--tw-cbx-bd-color);
49
+ --tw-arw-line-background: var(--tw-cbx-title-bg, var(--tw-line-bg));
50
+ --tw-arw-line-border-color: var(--tw-line-bd-color);
51
+
52
+ /* Content Box */
53
+ --tw-cbx-bg: #ffffff;
54
+ --tw-cbx-bd-style: solid;
55
+ --tw-cbx-bd-color: var(--tw-ibx-bg);
56
+ --tw-cbx-radius: 6px 6px 6px 6px;
57
+ --tw-cbx-radius-left: 6px 6px 6px 6px;
58
+ --tw-cbx-padding: 0.75em 0.75em calc(0.75em - 10px) 0.75em;
59
+ --tw-cbx-bottom-margin: 100px;
60
+ --tw-cbx-shadow: 0px 2px 8px -2px rgba(0, 0, 0, 0.3);
61
+ --tw-cbx-shadow-left: 0px 2px 8px -2px rgba(0, 0, 0, 0.3);
62
+ --tw-cbx-space: 20;
63
+ /*horizontal*/
64
+ --tw-cbx-bg-hover: var(--tw-cbx-bg);
65
+ --tw-cbx-radius-hover: var(--tw-cbx-radius);
66
+ --tw-cbx-radius-left-hover: var(--tw-cbx-radius-left);
67
+ --tw-cbx-shadow-hover: var(--tw-cbx-shadow);
68
+ --tw-cbx-shadow-left-hover: var(--tw-cbx-shadow-left);
69
+
70
+ /* Title */
71
+ --tw-cbx-title-color: var(--e-global-color-primary, #222);
72
+ --tw-cbx-title-font-size: 24px;
73
+ --tw-cbx-title-font-weight: bold;
74
+ --tw-cbx-title-line-height: 1.25em;
75
+ --tw-cbx-title-padding: 0px 0px 0px 0px;
76
+ --tw-cbx-title-margin: 0px 0px 10px 0px;
77
+
78
+ /* Description */
79
+ --tw-cbx-des-color: var(--e-global-color-text, #444);
80
+ --tw-cbx-des-padding: 0px 0px 0px 0px;
81
+ --tw-cbx-des-margin: 0px 0px 10px 0px;
82
+
83
+ /* Image */
84
+ --tw-cbx-img-width: 100%;
85
+ --tw-cbx-img-height: auto;
86
+ --tw-cbx-img-padding: 0px 0px 0px 0px;
87
+ --tw-cbx-img-margin: 0px 0px 10px 0px;
88
+ --tw-cbx-img-margin-left: 0px;
89
+ --tw-cbx-img-margin-right: 0px;
90
+ --tw-cbx-img-border-width: 1px;
91
+ --tw-cbx-img-border-style: none;
92
+ --tw-cbx-img-border-color: var(--e-global-color-text, #444);
93
+ --tw-cbx-img-radius: 0px;
94
+ --tw-cbx-img-shadow: 0px;
95
+
96
+ /* Button */
97
+ --tw-cbx-btn-margin: 10px 0px 0px 0px;
98
+ --tw-cbx-btn-margin-left: 0px;
99
+ --tw-cbx-btn-margin-right: 0px;
100
+ --tw-cbx-btn-padding: 10px 14px 10px 14px;
101
+ --tw-cbx-btn-width: auto;
102
+ --tw-cbx-btn-height: auto;
103
+ --tw-cbx-btn-color: var(--tw-cbx-des-color, #444);
104
+ --tw-cbx-btn-bgcolor: #00000015;
105
+ }
106
+
107
+ .twae-wrapper,
108
+ .twae-wrapper *,
109
+ .twae-wrapper:before,
110
+ .twae-wrapper:after,
111
+ .twae-wrapper :before,
112
+ .twae-wrapper :after {
113
+ -webkit-box-sizing: border-box;
114
+ -moz-box-sizing: border-box;
115
+ box-sizing: border-box;
116
+ }
117
+
118
+ .twae-wrapper {
119
+ width: 100%;
120
+ display: block;
121
+ position: relative;
122
+ }
123
+
124
+ /* --------------------------- Main Wrapper - END --------------------------- */
125
+
126
+ /* --------------------------- Line Year Box --------------------------- */
127
+ .twae-year {
128
+ display: flex;
129
+ align-items: center;
130
+ padding: 0;
131
+ background: none !important;
132
+ }
133
+
134
+ .twae-year-text {
135
+ display: flex;
136
+ align-items: center;
137
+ justify-content: center;
138
+ text-align: center;
139
+ line-height: 1em;
140
+ overflow: hidden;
141
+ width: var(--tw-ybx-size);
142
+ height: calc(var(--tw-ybx-size) * ((60 + var(--tw-ibx-radius) / 1.25) / 100));
143
+ font-size: var(--tw-ybx-text-size);
144
+ font-weight: var(--tw-ybx-text-weight);
145
+ color: var(--tw-ybx-text-color);
146
+ background-color: var(--tw-ybx-bg);
147
+ border-width: var(--tw-ybx-bd-width);
148
+ border-style: var(--tw-ybx-bd-style);
149
+ border-color: var(--tw-ybx-bd-color);
150
+ border-radius: calc(var(--tw-ibx-radius) * 1%);
151
+ -webkit-border-radius: calc(var(--tw-ibx-radius) * 1%);
152
+ -moz-border-radius: calc(var(--tw-ibx-radius) * 1%);
153
+ -ms-border-radius: calc(var(--tw-ibx-radius) * 1%);
154
+ -o-border-radius: calc(var(--tw-ibx-radius) * 1%);
155
+ /*box-shadow: inset 0 0 0 calc(var(--tw-line-bd-width) * 1px) #fff;*/
156
+ -webkit-background-clip: padding-box;
157
+ -moz-background-clip: padding-box;
158
+ background-clip: padding-box;
159
+ }
160
+
161
+ .twae-year-text:before,
162
+ .twae-year-text:after {
163
+ content: "";
164
+ position: absolute;
165
+ background: var(--tw-line-bg);
166
+ opacity: var(--tw-line-bd-width);
167
+ }
168
+
169
+ /* --------------------------- Line Year Box - END -------------------------- */
170
+
171
+ /* --------------------------------- Labels --------------------------------- */
172
+ .twae-labels {
173
+ display: flex;
174
+ flex-flow: var(--tw-lbl-position);
175
+ gap: var(--tw-lbl-gap);
176
+ position: absolute;
177
+ width: 100%;
178
+ padding: 0;
179
+ margin: 0;
180
+ /*overflow: hidden;*/
181
+ }
182
+
183
+ .twae-label-big {
184
+ line-height: 1em;
185
+ font-size: var(--tw-lbl-big-size);
186
+ font-weight: var(--tw-lbl-big-weight);
187
+ color: var(--tw-lbl-big-color);
188
+ white-space: nowrap;
189
+ max-width: 100%;
190
+ }
191
+
192
+ .twae-label-small {
193
+ line-height: 1em;
194
+ font-size: var(--tw-lbl-small-size);
195
+ font-weight: var(--tw-lbl-small-weight);
196
+ color: var(--tw-lbl-small-color);
197
+ white-space: nowrap;
198
+ max-width: 100%;
199
+ }
200
+
201
+ /* ------------------------------ Labels - END ------------------------------ */
202
+
203
+ /* ----------------------------- Icon / Dot Box ----------------------------- */
204
+ .twae-icon {
205
+ position: absolute;
206
+ width: var(--tw-ibx-size);
207
+ height: var(--tw-ibx-size);
208
+ display: flex;
209
+ justify-content: center;
210
+ align-items: center;
211
+ -webkit-background-clip: padding-box;
212
+ -moz-background-clip: padding-box;
213
+ background-clip: padding-box;
214
+ padding: 0;
215
+ margin: 0;
216
+ border-width: var(--tw-ibx-bd-width);
217
+ border-style: var(--tw-ibx-bd-style);
218
+ border-color: var(--tw-ibx-bd-color);
219
+ background-color: var(--tw-ibx-bg);
220
+ color: var(--tw-ibx-color);
221
+ border-radius: calc(var(--tw-ibx-radius) * 1%);
222
+ -webkit-border-radius: calc(var(--tw-ibx-radius) * 1%);
223
+ -moz-border-radius: calc(var(--tw-ibx-radius) * 1%);
224
+ -ms-border-radius: calc(var(--tw-ibx-radius) * 1%);
225
+ -o-border-radius: calc(var(--tw-ibx-radius) * 1%);
226
+ }
227
+
228
+ .twae-icon img {
229
+ border-radius: calc(var(--tw-ibx-radius) * 1%);
230
+ height: -webkit-fill-available;
231
+ width: -webkit-fill-available;
232
+ }
233
+
234
+ .twae-icon i,
235
+ .twae-icon .twae_icon_text {
236
+ color: var(--tw-ibx-color);
237
+ font-size: var(--tw-ibx-text-size);
238
+ line-height: 1em;
239
+ }
240
+
241
+ .twae-icon img {
242
+ height: -webkit-fill-available;
243
+ width: -webkit-fill-available;
244
+ border-radius: calc(var(--tw-ibx-radius) * 1%);
245
+ }
246
+
247
+ .twae-icondot {
248
+ position: absolute;
249
+ width: calc(var(--tw-ibx-size) / 2);
250
+ height: calc(var(--tw-ibx-size) / 2);
251
+ background-color: var(--tw-ibx-bg);
252
+ border-width: var(--tw-ibx-bd-width);
253
+ border-style: var(--tw-ibx-bd-style);
254
+ border-color: var(--tw-ibx-bd-color);
255
+ border-radius: calc(var(--tw-ibx-radius) * 1%);
256
+ -webkit-border-radius: calc(var(--tw-ibx-radius) * 1%);
257
+ -moz-border-radius: calc(var(--tw-ibx-radius) * 1%);
258
+ -ms-border-radius: calc(var(--tw-ibx-radius) * 1%);
259
+ -o-border-radius: calc(var(--tw-ibx-radius) * 1%);
260
+ -webkit-background-clip: padding-box;
261
+ -moz-background-clip: padding-box;
262
+ background-clip: padding-box;
263
+ }
264
+
265
+ .twae-icondot:before,
266
+ .twae-icondot:after,
267
+ .twae-icon:before,
268
+ .twae-icon:after {
269
+ content: "";
270
+ position: absolute;
271
+ background: var(--tw-line-bg);
272
+ opacity: var(--tw-line-bd-width);
273
+ margin: 0;
274
+ }
275
+
276
+ /* -------------------------- Icon / Dot Box - END -------------------------- */
277
+
278
+ /* ----------------------------- Story Box Arrow ---------------------------- */
279
+ .twae-arrow {
280
+ position: absolute;
281
+ width: calc(var(--tw-ibx-size) / 3.5);
282
+ height: calc(var(--tw-ibx-size) / 3.5);
283
+ transform: rotate(45deg);
284
+ border-style: var(--tw-cbx-bd-style);
285
+ border-color: var(--tw-arw-bd-color);
286
+ z-index: 2;
287
+ }
288
+
289
+ .twae-arrow-line {
290
+ position: absolute;
291
+ background: var(--tw-arw-line-background);
292
+ border-style: var(--tw-line-bd-style);
293
+ border-color: var(--tw-arw-line-border-color);
294
+ z-index: 2;
295
+ }
296
+
297
+ .twae-arrow-line:before,
298
+ .twae-arrow-line:after {
299
+ content: "";
300
+ position: absolute;
301
+ background: var(--tw-arw-line-background);
302
+ border-style: var(--tw-line-bd-style);
303
+ border-color: var(--tw-arw-line-border-color);
304
+ opacity: var(--tw-line-bd-width);
305
+ }
306
+
307
+ /* --------------------------- Story Box Arrow - END ------------------------ */
308
+
309
+ /* ------------------------------ Story Content ----------------------------- */
310
+ .twae-story {
311
+ margin-bottom: var(--tw-cbx-bottom-margin);
312
+ }
313
+
314
+ .twae-content {
315
+ display: flex;
316
+ flex-flow: column;
317
+ overflow: hidden;
318
+ position: relative;
319
+ margin: 0;
320
+ padding: var(--tw-cbx-padding);
321
+ background: var(--tw-cbx-bg);
322
+ border-width: var(--tw-cbx-bd-top-width) var(--tw-cbx-bd-right-width)
323
+ var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-left-width);
324
+ border-color: var(--tw-cbx-bd-color);
325
+ border-style: var(--tw-cbx-bd-style);
326
+ box-shadow: var(--tw-cbx-shadow);
327
+ border-radius: var(--tw-cbx-radius);
328
+ -webkit-border-radius: var(--tw-cbx-radius);
329
+ -moz-border-radius: var(--tw-cbx-radius);
330
+ -ms-border-radius: var(--tw-cbx-radius);
331
+ -o-border-radius: var(--tw-cbx-radius);
332
+ }
333
+
334
+ .twae-bg-multicolor .twae-story:nth-child(4n - 2) .twae-content {
335
+ background: var(--tw-cbx-bg2, var(--tw-cbx-bg));
336
+ }
337
+
338
+ .twae-bg-multicolor .twae-story:nth-child(4n - 1) .twae-content {
339
+ background: var(--tw-cbx-bg3, var(--tw-cbx-bg));
340
+ }
341
+
342
+ .twae-bg-multicolor .twae-story:nth-child(4n) .twae-content {
343
+ background: var(--tw-cbx-bg4, var(--tw-cbx-bg));
344
+ }
345
+
346
+ .twae-title {
347
+ background: var(--tw-cbx-title-bg);
348
+ color: var(--tw-cbx-title-color);
349
+ margin: var(--tw-cbx-title-margin);
350
+ padding: var(--tw-cbx-title-padding);
351
+ font-size: var(--tw-cbx-title-font-size);
352
+ font-weight: var(--tw-cbx-title-font-weight);
353
+ line-height: var(--tw-cbx-title-line-height);
354
+ order: 1;
355
+ display: flex;
356
+ align-items: center;
357
+ justify-content: var(--tw-cbx-text-align);
358
+ text-align: var(--tw-cbx-text-align);
359
+ }
360
+
361
+ .twae-title a,
362
+ .twae-title a:hover {
363
+ text-decoration: none !important;
364
+ color: var(--tw-cbx-title-color);
365
+ }
366
+
367
+ .twae-media {
368
+ display: flex;
369
+ align-items: center;
370
+ justify-content: var(--tw-cbx-img-align, var(--tw-cbx-text-align));
371
+ padding: 0;
372
+ margin: 0;
373
+ width: 100%;
374
+ overflow: hidden;
375
+ order: var(--tw-cbx-img-order);
376
+ }
377
+
378
+ .twae-media img,
379
+ .twae-media iframe {
380
+ width: calc(
381
+ var(--tw-cbx-img-width) -
382
+ (var(--tw-cbx-img-margin-left) + var(--tw-cbx-img-margin-right))
383
+ );
384
+ max-width: 100%;
385
+ height: var(--tw-cbx-img-height);
386
+ object-fit: cover;
387
+ object-position: top;
388
+ padding: var(--tw-cbx-img-padding) !important;
389
+ margin: var(--tw-cbx-img-margin) !important;
390
+ border-width: var(--tw-cbx-img-border-width);
391
+ border-color: var(--tw-cbx-img-border-color);
392
+ border-style: var(--tw-cbx-img-border-style);
393
+ box-shadow: var(--tw-cbx-img-shadow);
394
+ border-radius: var(--tw-cbx-img-radius);
395
+ -webkit-border-radius: var(--tw-cbx-img-radius);
396
+ -moz-border-radius: var(--tw-cbx-img-radius);
397
+ -ms-border-radius: var(--tw-cbx-img-radius);
398
+ -o-border-radius: var(--tw-cbx-img-radius);
399
+ }
400
+
401
+ .twae-media.thumbnail img,
402
+ .twae-media.medium img {
403
+ width: auto;
404
+ }
405
+
406
+ .twae-media iframe {
407
+ min-height: 200px;
408
+ }
409
+
410
+ .twae-media .swiper-slide {
411
+ text-align: center;
412
+ }
413
+
414
+ .twae-description {
415
+ width: 100%;
416
+ display: inline-block;
417
+ margin: var(--tw-cbx-des-margin);
418
+ padding: var(--tw-cbx-des-padding);
419
+ color: var(--tw-cbx-des-color);
420
+ background: var(--tw-cbx-des-background);
421
+ text-align: var(--tw-cbx-text-align);
422
+ order: 3;
423
+ }
424
+
425
+ .twae-description p {
426
+ margin: 0px 0px 10px 0px;
427
+ padding: 0;
428
+ }
429
+
430
+ .twae-description p,
431
+ .twae-description span,
432
+ .twae-description ul,
433
+ .twae-description ol {
434
+ color: var(--tw-cbx-des-color);
435
+ }
436
+
437
+ .twae-button {
438
+ display: flex;
439
+ justify-content: var(--tw-cbx-btn-align, var(--tw-cbx-text-align));
440
+ }
441
+
442
+ .twae-button a.elementor-button {
443
+ width: var(--tw-cbx-btn-width);
444
+ height: var(--tw-cbx-btn-height);
445
+ margin: var(--tw-cbx-btn-margin);
446
+ padding: var(--tw-cbx-btn-padding);
447
+ color: var(--tw-cbx-btn-color);
448
+ background-color: var(--tw-cbx-btn-bgcolor);
449
+ text-decoration: none !important;
450
+ align-items: center;
451
+ justify-content: center;
452
+ display: flex;
453
+ }
454
+
455
+ .twae-button a.elementor-button:hover {
456
+ opacity: 0.8;
457
+ color: var(--tw-cbx-btn-color);
458
+ height: var(--tw-cbx-btn-height);
459
+ margin: var(--tw-cbx-btn-margin);
460
+ padding: var(--tw-cbx-btn-padding);
461
+ }
462
+
463
+ .twae-button button.elementor-button {
464
+ color: var(--tw-cbx-btn-color);
465
+ background-color: var(--tw-cbx-btn-bgcolor);
466
+ }
467
+
468
+ .twae-wrapper .twae-story:hover .twae-content {
469
+ box-shadow: var(--tw-cbx-shadow-hover);
470
+ border-radius: var(--tw-cbx-radius-hover);
471
+ -webkit-border-radius: var(--tw-cbx-radius-hover);
472
+ -moz-border-radius: var(--tw-cbx-radius-hover);
473
+ -ms-border-radius: var(--tw-cbx-radius-hover);
474
+ -o-border-radius: var(--tw-cbx-radius-hover);
475
+ }
476
+
477
+ .twae-wrapper .twae-story.twae-bg-hover:hover .twae-content {
478
+ background: linear-gradient(
479
+ to right,
480
+ var(--tw-cbx-bg-hover),
481
+ var(--tw-cbx-bg-hover)
482
+ ) !important;
483
+ }
484
+
485
+ /* --------------------------- Story Content - END -------------------------- */
486
+
487
+ /*------ Slideshow Arrows ------*/
488
+ .twae-icon-left-open,
489
+ .twae-icon-right-open {
490
+ position: absolute;
491
+ top: 50%;
492
+ width: 27px;
493
+ height: 44px;
494
+ margin-top: -22px;
495
+ z-index: 10;
496
+ cursor: pointer;
497
+ }
498
+
499
+ .twae-icon-right-open {
500
+ right: 10px;
501
+ }
502
+
503
+ .twae-icon-left-open {
504
+ left: 10px;
505
+ }
506
+
507
+ /*------ Slideshow Arrows - END ------*/
508
+ /* --------------------------- Common Styles - END -------------------------- */
509
+
510
+ /* ------------------------------ Popup Styles ------------------------------ */
511
+ .twae-popup {
512
+ /* Title */
513
+ --tw-cbx-title-color: var(--e-global-color-primary, #222);
514
+ --tw-cbx-title-font-size: 24px;
515
+ --tw-cbx-title-font-weight: bold;
516
+ --tw-cbx-title-line-height: 1.25em;
517
+ --tw-cbx-title-padding: 0px 0px 0px 0px;
518
+ --tw-cbx-title-margin: 0px 0px 5px 0px;
519
+
520
+ /* Description */
521
+ --tw-cbx-des-color: var(--e-global-color-text, #444);
522
+ --tw-cbx-des-padding: 0px 0px 0px 0px;
523
+ --tw-cbx-des-margin: 0px 0px 10px 0px;
524
+
525
+ --tw-cbx-bg: #ffffff;
526
+
527
+ opacity: 1;
528
+ width: 100%;
529
+ position: fixed;
530
+ left: 0;
531
+ top: 0;
532
+ width: 100%;
533
+ height: 100%;
534
+ display: -webkit-box;
535
+ display: -ms-flexbox;
536
+ display: flex;
537
+ -webkit-box-align: center;
538
+ -ms-flex-align: center;
539
+ align-items: center;
540
+ -webkit-box-pack: center;
541
+ -ms-flex-pack: center;
542
+ justify-content: center;
543
+ /* z-index: -1; */
544
+ }
545
+
546
+ .twae-popup-bg {
547
+ position: absolute;
548
+ left: 0;
549
+ top: 0;
550
+ height: 100%;
551
+ width: 100%;
552
+ background: #000000;
553
+ opacity: 0.8;
554
+ -webkit-transition: all 0.3s ease-out;
555
+ -o-transition: all 0.3s ease-out;
556
+ transition: all 0.3s ease-out;
557
+ }
558
+
559
+ .twae-popup .twae-popup-content {
560
+ z-index: 99999;
561
+ position: relative;
562
+ border: 1px solid #888;
563
+ -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2),
564
+ 0 6px 20px 0 rgba(0, 0, 0, 0.19);
565
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
566
+ width: 500px;
567
+ border-radius: 10px;
568
+ height: auto;
569
+ overflow: hidden;
570
+ overflow-y: auto;
571
+ padding: 0px;
572
+ margin: 10px;
573
+ max-height: calc(100% - 20px);
574
+ background-color: #fff;
575
+ background-image: linear-gradient(
576
+ to right,
577
+ var(--tw-cbx-bg),
578
+ var(--tw-cbx-bg)
579
+ );
580
+ }
581
+
582
+ /* width */
583
+ .twae-popup .twae-popup-content::-webkit-scrollbar {
584
+ width: 8px;
585
+ border-radius: 10px;
586
+ }
587
+
588
+ /* Track */
589
+ .twae-popup .twae-popup-content::-webkit-scrollbar-track {
590
+ background: #999;
591
+ border-radius: 10px;
592
+ }
593
+
594
+ /* Handle */
595
+ .twae-popup .twae-popup-content::-webkit-scrollbar-thumb {
596
+ background: #f1f1f1;
597
+ border-radius: 10px;
598
+ }
599
+
600
+ /* Handle on hover */
601
+ .twae-popup .twae-popup-content::-webkit-scrollbar-thumb:hover {
602
+ background: #666;
603
+ }
604
+
605
+ .twae-popup .story_content {
606
+ padding: 10px;
607
+ }
608
+
609
+ /*
610
+ Popup Body
611
+ */
612
+
613
+ .twae-popup .twae-popup-labels {
614
+ position: relative;
615
+ height: auto;
616
+ text-align: left;
617
+ padding: 10px 10px 0px 10px;
618
+ }
619
+
620
+ .twae-popup .twae-popup-labels span {
621
+ text-transform: capitalize;
622
+ font-size: 16px;
623
+ }
624
+
625
+ .twae-popup span.twae-label {
626
+ font-size: 25px;
627
+ font-weight: bold;
628
+ }
629
+
630
+ .twae-popup span.twae-sublabel {
631
+ margin-left: 5px;
632
+ }
633
+
634
+ .twae-popup .twae-popup-labels span.twae-title {
635
+ font-size: 20px;
636
+ display: block;
637
+ font-weight: bold;
638
+ }
639
+
640
+ .twae-popup .twae-img img {
641
+ width: 100%;
642
+ padding-bottom: 5px;
643
+ }
644
+
645
+ .twae-popup .twae-img.thumbnail img,
646
+ .twae-popup .twae-img.medium img,
647
+ img.attachment-thumbnail.size-thumbnail.wp-post-image,
648
+ img.attachment-medium.size-medium.wp-post-image {
649
+ width: auto;
650
+ /* padding-right: 10px; */
651
+ padding-bottom: 10px;
652
+ }
653
+
654
+ .twae-popup img.attachment-thumbnail.size-thumbnail.wp-post-image,
655
+ .twae-popup img.attachment-medium.size-medium.wp-post-image {
656
+ float: left;
657
+ }
658
+
659
+ .twae-popup .twae-img.thumbnail,
660
+ .twae-popup .twae-img.medium {
661
+ width: auto;
662
+ padding-right: 10px;
663
+ width: auto;
664
+ margin: 0px;
665
+ float: left;
666
+ padding: 0px 5px;
667
+ height: auto;
668
+ display: flex;
669
+ }
670
+
671
+ .twae-popup .twae-img-desc {
672
+ padding: 10px;
673
+ text-align: left;
674
+ display: inline-block;
675
+ width: 100%;
676
+ max-height: 70vh;
677
+ overflow-y: auto;
678
+ }
679
+
680
+ .twae-popup .twae-description {
681
+ display: block;
682
+ width: auto;
683
+ }
684
+
685
+ /*----------- End Popup Body ----------*/
686
+
687
+ /*
688
+ Popup foooter
689
+ */
690
+
691
+ .twae-popup-footer {
692
+ height: 35px;
693
+ position: relative;
694
+ }
695
+
696
+ .twae-popup span.twae_close_button {
697
+ float: right;
698
+ border: 1px solid #b1b1b1;
699
+ border-radius: 50%;
700
+ width: 30px;
701
+ height: 30px;
702
+ cursor: pointer;
703
+ position: absolute;
704
+ bottom: 5px;
705
+ line-height: 28px;
706
+ background: #e8e8e8;
707
+ text-align: center;
708
+ right: 10px;
709
+ }
710
+
711
+ .twae-popup span.twae_close_button:hover {
712
+ opacity: 0.7;
713
+ }
714
+
715
+ /*----------- End Popup Footer ----------*/
716
+
717
+ @media (max-width: 767px) {
718
+ .twae-popup .twae-popup-content {
719
+ width: 80%;
720
+ }
721
+
722
+ .twae-popup .twae-img-desc {
723
+ max-height: 400px;
724
+ overflow: auto;
725
+ }
726
+ }
727
+
728
+ @media (min-width: 768px) {
729
+ .twae-popup .twae-img-desc {
730
+ max-height: 70vh;
731
+ overflow-y: auto;
732
+ }
733
+ }
734
+
735
+ /* ---------------------- Older Version Global CSS Fix ---------------------- */
736
+ .elementor-widget.elementor-widget-timeline-widget-addon
737
+ .twae-wrapper
738
+ .twae-description,
739
+ .elementor-widget.elementor-widget-twae-post-timeline-widget
740
+ .twae-wrapper
741
+ .twae-description {
742
+ color: var(--tw-cbx-des-color);
743
+ }
744
+
745
+ .elementor-widget.elementor-widget-timeline-widget-addon
746
+ .twae-wrapper
747
+ .twae-icon,
748
+ .elementor-widget.elementor-widget-twae-post-timeline-widget
749
+ .twae-wrapper
750
+ .twae-icon {
751
+ background-color: var(--tw-ibx-bg);
752
+ }
753
+
754
+ /* ------------------- Older Version Global CSS Fix - END ------------------- */
755
+ /* ------------------- mukul style in one sided vertical right ------------------- */
756
+
757
+ .twae-vertical-right .twae-year-label.twae-year-text {
758
+ position: relative;
759
+ overflow: visible;
760
+ }
761
+
762
+ .twae-vertical-right .twae-year-label.twae-year-text::before {
763
+ content: "";
764
+ position: absolute;
765
+ height: var(--tw-line-width);
766
+ width: calc(var(--tw-ibx-size) + var(--tw-line-bd-width) * 1px);
767
+ background-color: var(--tw-line-bg);
768
+ opacity: 1;
769
+ }
770
+
771
+ .twae-vertical-right .twae-year-label.twae-year-text::after {
772
+ width: var(--tw-ybx-bd-width);
773
+ height: var(--tw-line-width);
774
+ }
775
+
776
+ .twae-vertical-right .twae-year-label.twae-year-text::after,
777
+ .twae-vertical-right .twae-year-label.twae-year-text::before {
778
+ top: calc(50% - var(--tw-line-width) / 2) !important;
779
+ border-width: calc(var(--tw-line-bd-width) * 1px) 0
780
+ calc(var(--tw-line-bd-width) * 1px) 0;
781
+ border-style: var(--tw-line-bd-style);
782
+ border-color: var(--tw-line-bd-color);
783
+ }
784
+
785
+ @media screen and (min-width: 768px) {
786
+ .twae-vertical-right .twae-year {
787
+ padding-left: 0 !important;
788
+ }
789
+
790
+ .twae-vertical-right .twae-year-label.twae-year-text {
791
+ left: calc(
792
+ 33.33% - var(--tw-ibx-size) - var(--tw-ybx-size) - var(--tw-line-width) /
793
+ 2
794
+ );
795
+ }
796
+
797
+ .twae-vertical-right .twae-year-label.twae-year-text::before {
798
+ right: auto;
799
+ left: calc(100% + var(--tw-ybx-bd-width)) !important;
800
+ }
801
+
802
+ .twae-vertical-right .twae-year-label.twae-year-text::after {
803
+ right: auto;
804
+ left: 100%;
805
+ }
806
+ }
807
+
808
+ @media screen and (max-width: 767px) {
809
+ .twae-vertical-right .twae-year .twae-year-text {
810
+ margin-left: 0 !important;
811
+ left: calc(var(--tw-ibx-size) * 1.5);
812
+ right: auto;
813
+ }
814
+
815
+ .twae-vertical-right .twae-year-label.twae-year-text::before {
816
+ left: auto;
817
+ right: calc(100% + var(--tw-ybx-bd-width)) !important;
818
+ }
819
+
820
+ .twae-vertical-right .twae-year-label.twae-year-text::after {
821
+ left: auto;
822
+ right: 100%;
823
+ }
824
+ }
825
+
826
+ /*------------------- mukul style in one sided vertical right - end------------------- */
assets/css/twae-common-styles.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .twae-wrapper{--tw-line-width:4px;--tw-line-bg:#d6d6d6;--tw-line-filling-color:rgba(0, 0, 0, 0.5);--tw-line-bd-width:0;--tw-line-bd-style:solid;--tw-ybx-size:80px;--tw-ybx-text-size:22px;--tw-ybx-text-weight:bold;--tw-ybx-text-color:#ffffff;--tw-ybx-bg:#54595f;--tw-ybx-bd-width:var(--tw-line-bd-width-inpx, var(--tw-line-width));--tw-ybx-bd-style:var(--tw-line-bd-style);--tw-ybx-bd-color:var(--tw-line-bd-color, var(--tw-line-bg));--tw-ibx-size:48px;--tw-ibx-text-size:24px;--tw-ibx-bg:var(--e-global-color-primary, #222);--tw-ibx-color:var(--tw-cbx-bg);--tw-ibx-radius:50;--tw-ibx-bd-width:var(--tw-line-bd-width-inpx, var(--tw-line-width));--tw-ibx-bd-style:var(--tw-line-bd-style);--tw-ibx-bd-color:var(--tw-line-bd-color, var(--tw-line-bg));--tw-lbl-gap:5px;--tw-lbl-position:column nowrap;--tw-lbl-justify:flex-end;--tw-lbl-big-size:24px;--tw-lbl-small-size:16px;--tw-lbl-big-weight:bold;--tw-lbl-small-weight:normal;--tw-lbl-big-color:var(--e-global-color-primary, #222);--tw-lbl-small-color:var(--e-global-color-text, #444);--tw-arw-bg:var(--tw-cbx-title-bg, var(--tw-cbx-bg));--tw-arw-bg2:var(--tw-cbx-title-bg, var(--tw-cbx-bg2));--tw-arw-bg3:var(--tw-cbx-title-bg, var(--tw-cbx-bg3));--tw-arw-bg4:var(--tw-cbx-title-bg, var(--tw-cbx-bg4));--tw-arw-bd-color:var(--tw-cbx-bd-color);--tw-arw-line-background:var(--tw-cbx-title-bg, var(--tw-line-bg));--tw-arw-line-border-color:var(--tw-line-bd-color);--tw-cbx-bg:#ffffff;--tw-cbx-bd-style:solid;--tw-cbx-bd-color:var(--tw-ibx-bg);--tw-cbx-radius:6px 6px 6px 6px;--tw-cbx-radius-left:6px 6px 6px 6px;--tw-cbx-padding:0.75em 0.75em calc(0.75em - 10px) 0.75em;--tw-cbx-bottom-margin:100px;--tw-cbx-shadow:0px 2px 8px -2px rgba(0, 0, 0, 0.3);--tw-cbx-shadow-left:0px 2px 8px -2px rgba(0, 0, 0, 0.3);--tw-cbx-space:20;--tw-cbx-bg-hover:var(--tw-cbx-bg);--tw-cbx-radius-hover:var(--tw-cbx-radius);--tw-cbx-radius-left-hover:var(--tw-cbx-radius-left);--tw-cbx-shadow-hover:var(--tw-cbx-shadow);--tw-cbx-shadow-left-hover:var(--tw-cbx-shadow-left);--tw-cbx-title-color:var(--e-global-color-primary, #222);--tw-cbx-title-font-size:24px;--tw-cbx-title-font-weight:bold;--tw-cbx-title-line-height:1.25em;--tw-cbx-title-padding:0px 0px 0px 0px;--tw-cbx-title-margin:0px 0px 10px 0px;--tw-cbx-des-color:var(--e-global-color-text, #444);--tw-cbx-des-padding:0px 0px 0px 0px;--tw-cbx-des-margin:0px 0px 10px 0px;--tw-cbx-img-width:100%;--tw-cbx-img-height:auto;--tw-cbx-img-padding:0px 0px 0px 0px;--tw-cbx-img-margin:0px 0px 10px 0px;--tw-cbx-img-margin-left:0px;--tw-cbx-img-margin-right:0px;--tw-cbx-img-border-width:1px;--tw-cbx-img-border-style:none;--tw-cbx-img-border-color:var(--e-global-color-text, #444);--tw-cbx-img-radius:0px;--tw-cbx-img-shadow:0px;--tw-cbx-btn-margin:10px 0px 0px 0px;--tw-cbx-btn-margin-left:0px;--tw-cbx-btn-margin-right:0px;--tw-cbx-btn-padding:10px 14px 10px 14px;--tw-cbx-btn-width:auto;--tw-cbx-btn-height:auto;--tw-cbx-btn-color:var(--tw-cbx-des-color, #444);--tw-cbx-btn-bgcolor:#00000015}.twae-wrapper,.twae-wrapper *,.twae-wrapper :after,.twae-wrapper :before,.twae-wrapper:after,.twae-wrapper:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.twae-wrapper{width:100%;display:block;position:relative}.twae-year{display:flex;align-items:center;padding:0;background:0 0!important}.twae-year-text{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1em;overflow:hidden;width:var(--tw-ybx-size);height:calc(var(--tw-ybx-size) * ((60 + var(--tw-ibx-radius)/ 1.25)/ 100));font-size:var(--tw-ybx-text-size);font-weight:var(--tw-ybx-text-weight);color:var(--tw-ybx-text-color);background-color:var(--tw-ybx-bg);border-width:var(--tw-ybx-bd-width);border-style:var(--tw-ybx-bd-style);border-color:var(--tw-ybx-bd-color);border-radius:calc(var(--tw-ibx-radius) * 1%);-webkit-border-radius:calc(var(--tw-ibx-radius) * 1%);-moz-border-radius:calc(var(--tw-ibx-radius) * 1%);-ms-border-radius:calc(var(--tw-ibx-radius) * 1%);-o-border-radius:calc(var(--tw-ibx-radius) * 1%);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.twae-year-text:after,.twae-year-text:before{content:"";position:absolute;background:var(--tw-line-bg);opacity:var(--tw-line-bd-width)}.twae-labels{display:flex;flex-flow:var(--tw-lbl-position);gap:var(--tw-lbl-gap);position:absolute;width:100%;padding:0;margin:0}.twae-label-big{line-height:1em;font-size:var(--tw-lbl-big-size);font-weight:var(--tw-lbl-big-weight);color:var(--tw-lbl-big-color);white-space:nowrap;max-width:100%}.twae-label-small{line-height:1em;font-size:var(--tw-lbl-small-size);font-weight:var(--tw-lbl-small-weight);color:var(--tw-lbl-small-color);white-space:nowrap;max-width:100%}.twae-icon{position:absolute;width:var(--tw-ibx-size);height:var(--tw-ibx-size);display:flex;justify-content:center;align-items:center;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;padding:0;margin:0;border-width:var(--tw-ibx-bd-width);border-style:var(--tw-ibx-bd-style);border-color:var(--tw-ibx-bd-color);background-color:var(--tw-ibx-bg);color:var(--tw-ibx-color);border-radius:calc(var(--tw-ibx-radius) * 1%);-webkit-border-radius:calc(var(--tw-ibx-radius) * 1%);-moz-border-radius:calc(var(--tw-ibx-radius) * 1%);-ms-border-radius:calc(var(--tw-ibx-radius) * 1%);-o-border-radius:calc(var(--tw-ibx-radius) * 1%)}.twae-icon img{border-radius:calc(var(--tw-ibx-radius) * 1%);height:-webkit-fill-available;width:-webkit-fill-available}.twae-icon .twae_icon_text,.twae-icon i{color:var(--tw-ibx-color);font-size:var(--tw-ibx-text-size);line-height:1em}.twae-icon img{height:-webkit-fill-available;width:-webkit-fill-available;border-radius:calc(var(--tw-ibx-radius) * 1%)}.twae-icondot{position:absolute;width:calc(var(--tw-ibx-size)/ 2);height:calc(var(--tw-ibx-size)/ 2);background-color:var(--tw-ibx-bg);border-width:var(--tw-ibx-bd-width);border-style:var(--tw-ibx-bd-style);border-color:var(--tw-ibx-bd-color);border-radius:calc(var(--tw-ibx-radius) * 1%);-webkit-border-radius:calc(var(--tw-ibx-radius) * 1%);-moz-border-radius:calc(var(--tw-ibx-radius) * 1%);-ms-border-radius:calc(var(--tw-ibx-radius) * 1%);-o-border-radius:calc(var(--tw-ibx-radius) * 1%);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.twae-icon:after,.twae-icon:before,.twae-icondot:after,.twae-icondot:before{content:"";position:absolute;background:var(--tw-line-bg);opacity:var(--tw-line-bd-width);margin:0}.twae-arrow{position:absolute;width:calc(var(--tw-ibx-size)/ 3.5);height:calc(var(--tw-ibx-size)/ 3.5);transform:rotate(45deg);border-style:var(--tw-cbx-bd-style);border-color:var(--tw-arw-bd-color);z-index:2}.twae-arrow-line{position:absolute;background:var(--tw-arw-line-background);border-style:var(--tw-line-bd-style);border-color:var(--tw-arw-line-border-color);z-index:2}.twae-arrow-line:after,.twae-arrow-line:before{content:"";position:absolute;background:var(--tw-arw-line-background);border-style:var(--tw-line-bd-style);border-color:var(--tw-arw-line-border-color);opacity:var(--tw-line-bd-width)}.twae-story{margin-bottom:var(--tw-cbx-bottom-margin)}.twae-content{display:flex;flex-flow:column;overflow:hidden;position:relative;margin:0;padding:var(--tw-cbx-padding);background:var(--tw-cbx-bg);border-width:var(--tw-cbx-bd-top-width) var(--tw-cbx-bd-right-width) var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-left-width);border-color:var(--tw-cbx-bd-color);border-style:var(--tw-cbx-bd-style);box-shadow:var(--tw-cbx-shadow);border-radius:var(--tw-cbx-radius);-webkit-border-radius:var(--tw-cbx-radius);-moz-border-radius:var(--tw-cbx-radius);-ms-border-radius:var(--tw-cbx-radius);-o-border-radius:var(--tw-cbx-radius)}.twae-bg-multicolor .twae-story:nth-child(4n-2) .twae-content{background:var(--tw-cbx-bg2,var(--tw-cbx-bg))}.twae-bg-multicolor .twae-story:nth-child(4n-1) .twae-content{background:var(--tw-cbx-bg3,var(--tw-cbx-bg))}.twae-bg-multicolor .twae-story:nth-child(4n) .twae-content{background:var(--tw-cbx-bg4,var(--tw-cbx-bg))}.twae-title{background:var(--tw-cbx-title-bg);color:var(--tw-cbx-title-color);margin:var(--tw-cbx-title-margin);padding:var(--tw-cbx-title-padding);font-size:var(--tw-cbx-title-font-size);font-weight:var(--tw-cbx-title-font-weight);line-height:var(--tw-cbx-title-line-height);order:1;display:flex;align-items:center;justify-content:var(--tw-cbx-text-align);text-align:var(--tw-cbx-text-align)}.twae-title a,.twae-title a:hover{text-decoration:none!important;color:var(--tw-cbx-title-color)}.twae-media{display:flex;align-items:center;justify-content:var(--tw-cbx-img-align,var(--tw-cbx-text-align));padding:0;margin:0;width:100%;overflow:hidden;order:var(--tw-cbx-img-order)}.twae-media iframe,.twae-media img{width:calc(var(--tw-cbx-img-width) - (var(--tw-cbx-img-margin-left) + var(--tw-cbx-img-margin-right)));max-width:100%;height:var(--tw-cbx-img-height);object-fit:cover;object-position:top;padding:var(--tw-cbx-img-padding)!important;margin:var(--tw-cbx-img-margin)!important;border-width:var(--tw-cbx-img-border-width);border-color:var(--tw-cbx-img-border-color);border-style:var(--tw-cbx-img-border-style);box-shadow:var(--tw-cbx-img-shadow);border-radius:var(--tw-cbx-img-radius);-webkit-border-radius:var(--tw-cbx-img-radius);-moz-border-radius:var(--tw-cbx-img-radius);-ms-border-radius:var(--tw-cbx-img-radius);-o-border-radius:var(--tw-cbx-img-radius)}.twae-media.medium img,.twae-media.thumbnail img{width:auto}.twae-media iframe{min-height:200px}.twae-media .swiper-slide{text-align:center}.twae-description{width:100%;display:inline-block;margin:var(--tw-cbx-des-margin);padding:var(--tw-cbx-des-padding);color:var(--tw-cbx-des-color);background:var(--tw-cbx-des-background);text-align:var(--tw-cbx-text-align);order:3}.twae-description p{margin:0 0 10px 0;padding:0}.twae-description ol,.twae-description p,.twae-description span,.twae-description ul{color:var(--tw-cbx-des-color)}.twae-button{display:flex;justify-content:var(--tw-cbx-btn-align,var(--tw-cbx-text-align))}.twae-button a.elementor-button{width:var(--tw-cbx-btn-width);height:var(--tw-cbx-btn-height);margin:var(--tw-cbx-btn-margin);padding:var(--tw-cbx-btn-padding);color:var(--tw-cbx-btn-color);background-color:var(--tw-cbx-btn-bgcolor);text-decoration:none!important;align-items:center;justify-content:center;display:flex}.twae-button a.elementor-button:hover{opacity:.8;color:var(--tw-cbx-btn-color);height:var(--tw-cbx-btn-height);margin:var(--tw-cbx-btn-margin);padding:var(--tw-cbx-btn-padding)}.twae-button button.elementor-button{color:var(--tw-cbx-btn-color);background-color:var(--tw-cbx-btn-bgcolor)}.twae-wrapper .twae-story:hover .twae-content{box-shadow:var(--tw-cbx-shadow-hover);border-radius:var(--tw-cbx-radius-hover);-webkit-border-radius:var(--tw-cbx-radius-hover);-moz-border-radius:var(--tw-cbx-radius-hover);-ms-border-radius:var(--tw-cbx-radius-hover);-o-border-radius:var(--tw-cbx-radius-hover)}.twae-wrapper .twae-story.twae-bg-hover:hover .twae-content{background:linear-gradient(to right,var(--tw-cbx-bg-hover),var(--tw-cbx-bg-hover))!important}.twae-icon-left-open,.twae-icon-right-open{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer}.twae-icon-right-open{right:10px}.twae-icon-left-open{left:10px}.twae-popup{--tw-cbx-title-color:var(--e-global-color-primary, #222);--tw-cbx-title-font-size:24px;--tw-cbx-title-font-weight:bold;--tw-cbx-title-line-height:1.25em;--tw-cbx-title-padding:0px 0px 0px 0px;--tw-cbx-title-margin:0px 0px 5px 0px;--tw-cbx-des-color:var(--e-global-color-text, #444);--tw-cbx-des-padding:0px 0px 0px 0px;--tw-cbx-des-margin:0px 0px 10px 0px;--tw-cbx-bg:#ffffff;opacity:1;width:100%;position:fixed;left:0;top:0;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.twae-popup-bg{position:absolute;left:0;top:0;height:100%;width:100%;background:#000;opacity:.8;-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.twae-popup .twae-popup-content{z-index:99999;position:relative;border:1px solid #888;-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);width:500px;border-radius:10px;height:auto;overflow:hidden;overflow-y:auto;padding:0;margin:10px;max-height:calc(100% - 20px);background-color:#fff;background-image:linear-gradient(to right,var(--tw-cbx-bg),var(--tw-cbx-bg))}.twae-popup .twae-popup-content::-webkit-scrollbar{width:8px;border-radius:10px}.twae-popup .twae-popup-content::-webkit-scrollbar-track{background:#999;border-radius:10px}.twae-popup .twae-popup-content::-webkit-scrollbar-thumb{background:#f1f1f1;border-radius:10px}.twae-popup .twae-popup-content::-webkit-scrollbar-thumb:hover{background:#666}.twae-popup .story_content{padding:10px}.twae-popup .twae-popup-labels{position:relative;height:auto;text-align:left;padding:10px 10px 0 10px}.twae-popup .twae-popup-labels span{text-transform:capitalize;font-size:16px}.twae-popup span.twae-label{font-size:25px;font-weight:700}.twae-popup span.twae-sublabel{margin-left:5px}.twae-popup .twae-popup-labels span.twae-title{font-size:20px;display:block;font-weight:700}.twae-popup .twae-img img{width:100%;padding-bottom:5px}.twae-popup .twae-img.medium img,.twae-popup .twae-img.thumbnail img,img.attachment-medium.size-medium.wp-post-image,img.attachment-thumbnail.size-thumbnail.wp-post-image{width:auto;padding-bottom:10px}.twae-popup img.attachment-medium.size-medium.wp-post-image,.twae-popup img.attachment-thumbnail.size-thumbnail.wp-post-image{float:left}.twae-popup .twae-img.medium,.twae-popup .twae-img.thumbnail{width:auto;padding-right:10px;width:auto;margin:0;float:left;padding:0 5px;height:auto;display:flex}.twae-popup .twae-img-desc{padding:10px;text-align:left;display:inline-block;width:100%;max-height:70vh;overflow-y:auto}.twae-popup .twae-description{display:block;width:auto}.twae-popup-footer{height:35px;position:relative}.twae-popup span.twae_close_button{float:right;border:1px solid #b1b1b1;border-radius:50%;width:30px;height:30px;cursor:pointer;position:absolute;bottom:5px;line-height:28px;background:#e8e8e8;text-align:center;right:10px}.twae-popup span.twae_close_button:hover{opacity:.7}@media (max-width:767px){.twae-popup .twae-popup-content{width:80%}.twae-popup .twae-img-desc{max-height:400px;overflow:auto}}@media (min-width:768px){.twae-popup .twae-img-desc{max-height:70vh;overflow-y:auto}}.elementor-widget.elementor-widget-timeline-widget-addon .twae-wrapper .twae-description,.elementor-widget.elementor-widget-twae-post-timeline-widget .twae-wrapper .twae-description{color:var(--tw-cbx-des-color)}.elementor-widget.elementor-widget-timeline-widget-addon .twae-wrapper .twae-icon,.elementor-widget.elementor-widget-twae-post-timeline-widget .twae-wrapper .twae-icon{background-color:var(--tw-ibx-bg)}.twae-vertical-right .twae-year-label.twae-year-text{position:relative;overflow:visible}.twae-vertical-right .twae-year-label.twae-year-text::before{content:"";position:absolute;height:var(--tw-line-width);width:calc(var(--tw-ibx-size) + var(--tw-line-bd-width) * 1px);background-color:var(--tw-line-bg);opacity:1}.twae-vertical-right .twae-year-label.twae-year-text::after{width:var(--tw-ybx-bd-width);height:var(--tw-line-width)}.twae-vertical-right .twae-year-label.twae-year-text::after,.twae-vertical-right .twae-year-label.twae-year-text::before{top:calc(50% - var(--tw-line-width)/ 2)!important;border-width:calc(var(--tw-line-bd-width) * 1px) 0 calc(var(--tw-line-bd-width) * 1px) 0;border-style:var(--tw-line-bd-style);border-color:var(--tw-line-bd-color)}@media screen and (min-width:768px){.twae-vertical-right .twae-year{padding-left:0!important}.twae-vertical-right .twae-year-label.twae-year-text{left:calc(33.33% - var(--tw-ibx-size) - var(--tw-ybx-size) - var(--tw-line-width)/ 2)}.twae-vertical-right .twae-year-label.twae-year-text::before{right:auto;left:calc(100% + var(--tw-ybx-bd-width))!important}.twae-vertical-right .twae-year-label.twae-year-text::after{right:auto;left:100%}}@media screen and (max-width:767px){.twae-vertical-right .twae-year .twae-year-text{margin-left:0!important;left:calc(var(--tw-ibx-size) * 1.5);right:auto}.twae-vertical-right .twae-year-label.twae-year-text::before{left:auto;right:calc(100% + var(--tw-ybx-bd-width))!important}.twae-vertical-right .twae-year-label.twae-year-text::after{left:auto;right:100%}}
assets/css/twae-editor.css DELETED
@@ -1,47 +0,0 @@
1
- span.twae-pro-label {
2
- color: red;
3
- background: #f12945;
4
- color: #fff;
5
- padding: 4px;
6
- margin: 6px;
7
- font-size: 13px;
8
- line-height: 2;
9
- }
10
-
11
- span.twae-pro-label:before {
12
- content: "";
13
- display: inline-block;
14
- border: 6px solid transparent;
15
- border-right-color: #f12945;
16
- position: absolute;
17
- left: initial;
18
- margin-left: -15px;
19
- top: 16%;
20
- }
21
-
22
- select[name="twae_style"] {
23
- width: 52%;
24
- float: right;
25
- }
26
-
27
- .twae_pro_options span.twae-pro-label:before {
28
- top: 37%;
29
- }
30
-
31
- img.twae-screenshots {
32
- border: 1px solid red;
33
- }
34
-
35
- select[name="twae_animation"] {
36
- width: 50%;
37
- }
38
-
39
- .twae-pro-features ul {
40
- list-style: disc;
41
- margin: 2px 16px;
42
- }
43
-
44
- .twae-pro-features ul li {
45
- list-style: disc;
46
- margin-bottom: 6px;
47
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/twae-fontello.css DELETED
@@ -1,65 +0,0 @@
1
- @font-face {
2
- font-family: 'fontello';
3
- src: url('../font/fontello.eot?42994344');
4
- src: url('../font/fontello.eot?42994344#iefix') format('embedded-opentype'),
5
- url('../font/fontello.woff2?42994344') format('woff2'),
6
- url('../font/fontello.woff?42994344') format('woff'),
7
- url('../font/fontello.ttf?42994344') format('truetype'),
8
- url('../font/fontello.svg?42994344#fontello') format('svg');
9
- font-weight: normal;
10
- font-style: normal;
11
- }
12
- /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
13
- /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
14
- /*
15
- @media screen and (-webkit-min-device-pixel-ratio:0) {
16
- @font-face {
17
- font-family: 'fontello';
18
- src: url('../font/fontello.svg?42994344#fontello') format('svg');
19
- }
20
- }
21
- */
22
-
23
- [class^="twae-icon-"]:before, [class*=" twae-icon-"]:before {
24
- font-family: "fontello";
25
- font-style: normal;
26
- font-weight: normal;
27
- speak: never;
28
-
29
- display: inline-block;
30
- text-decoration: inherit;
31
- width: 1em;
32
- margin-right: .2em;
33
- text-align: center;
34
- /* opacity: .8; */
35
-
36
- /* For safety - reset parent styles, that can break glyph codes*/
37
- font-variant: normal;
38
- text-transform: none;
39
-
40
- /* fix buttons height, for twitter bootstrap */
41
- line-height: 1em;
42
-
43
- /* Animation center compensation - margins should be symmetric */
44
- /* remove if not needed */
45
- margin-left: .2em;
46
-
47
- /* you can be more comfortable with increased icons size */
48
- /* font-size: 120%; */
49
-
50
- /* Font smoothing. That was taken from TWBS */
51
- -webkit-font-smoothing: antialiased;
52
- -moz-osx-font-smoothing: grayscale;
53
-
54
- /* Uncomment for 3D effect */
55
- /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
56
- }
57
-
58
- .twae-icon-left-open-big:before { content: '\e800'; } /* '' */
59
- .twae-icon-left-open:before { content: '\e801'; } /* '' */
60
- .twae-icon-left-circled:before { content: '\e802'; } /* '' */
61
- .twae-icon-right-open:before { content: '\e803'; } /* '' */
62
- .twae-icon-right-big:before { content: '\e804'; } /* '' */
63
- .twae-icon-right-circled:before { content: '\e805'; } /* '' */
64
- .twae-icon-right-open-big:before { content: '\e806'; } /* '' */
65
- .twae-icon-left-open-1:before { content: '\f007'; } /* '' */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/twae-horizontal-styles.css DELETED
@@ -1,168 +0,0 @@
1
- /*----Horizontal Timeline----*/
2
- .twae-horizontal.swiper-container {
3
- position: unset;
4
- margin-left: auto;
5
- margin-right: auto;
6
- overflow: hidden;
7
- z-index: 10;
8
- margin: 0 32px;
9
- }
10
-
11
-
12
- /*----Year Label----*/
13
- .twae-horizontal .twae-year-container {
14
- position: absolute;
15
- display: table;
16
- text-align: center;
17
- top: 96px;
18
- left: 10px;
19
- height: 36px;
20
- width: 72px;
21
- vertical-align: middle;
22
- border-radius: 6px;
23
- overflow: hidden;
24
- z-index: 1;
25
- table-layout: fixed;
26
- word-break: break-word;
27
- }
28
- .twae-horizontal .twae-year-label {
29
- padding: 2px;
30
- vertical-align: middle;
31
- display: table-cell;
32
- }
33
-
34
-
35
- /*----Extra Labels----*/
36
- .twae-horizontal .twae-label-extra-label {
37
- position: absolute;
38
- display: table;
39
- width: 100%;
40
- height: 80px;
41
- overflow: hidden;
42
- text-align: center;
43
- vertical-align: middle;
44
- }
45
- .twae-horizontal .twae-label-extra-label div {
46
- display: table-cell;
47
- vertical-align: bottom;
48
- }
49
- .twae-horizontal .twae-label-extra-label .twae-label,
50
- .twae-horizontal .twae-label-extra-label .twae-extra-label {
51
- display: inline-block;
52
- width: 100%;
53
- }
54
-
55
-
56
- /*----Story Icon----*/
57
- .twae-horizontal .twae-icon {
58
- color: #fff;
59
- width: 40px;
60
- height: 40px;
61
- top: 94px;
62
- left: calc(50% - 20px);
63
- text-align: center;
64
- position: absolute;
65
- display: block;
66
- z-index: 100;
67
- border-radius: 50%;
68
- }
69
- .twae-horizontal .twae-icon i {
70
- line-height: 40px;
71
- font-size: 26px;
72
- }
73
- .twae-horizontal .twae-icon:empty {
74
- width: 24px;
75
- height: 24px;
76
- top: 102px;
77
- left: calc(50% - 12px);
78
- }
79
-
80
-
81
- /*----Story Content Section----*/
82
- .twae-horizontal .twae-story-info:before {
83
- content: "";
84
- display: block;
85
- /* border: 13px solid transparent; */
86
- position: absolute;
87
- left: calc(50% - 13px);
88
- left: -moz-calc(50% - 1em);
89
- left: -webkit-calc(50% - 13px);
90
- left: -o-calc(50% - 13px);
91
- top: -28px;
92
- }
93
- .twae-horizontal .twae-story-info {
94
- padding: 0;
95
- margin: 150px 4px 10px;
96
- justify-content: center;
97
- position: relative;
98
- transition: all 200ms ease-in;
99
- text-align: center;
100
- box-sizing: border-box;
101
- box-shadow: 0px 2px 8px -2px rgba(0, 0, 0, 0.4);
102
- -webkit-border-radius: 6px;
103
- -moz-border-radius: 6px;
104
- border-radius: 6px;
105
- height: calc(100% - 160px);
106
- }
107
- .twae-horizontal .twae-timeline-img,
108
- .twae-horizontal .twae-timeline-img img {
109
- display: inline-block;
110
- width: 100%;
111
- height: auto;
112
- }
113
- .twae-horizontal .twae-title,
114
- .twae-horizontal .twae-description {
115
- display: inline-block;
116
- width: 100%;
117
- margin: 0;
118
- line-height: 1.2em;
119
- }
120
- .twae-horizontal .twae-title {
121
- padding: 8px 8px 0;
122
- font-size: 20px;
123
- }
124
- .twae-horizontal .twae-description {
125
- padding: 8px;
126
- font-size: inherit;
127
- }
128
-
129
-
130
- /*----Middle Line----*/
131
- .twae-horizontal .twae-pagination.swiper-pagination-progressbar {
132
- position: absolute;
133
- top: 112px;
134
- margin: 0px 32px;
135
- width: calc(100% - 64px);
136
- z-index: 0;
137
- }
138
- .twae-horizontal .twae-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
139
- background: rgba(0, 0, 0, 0.25);
140
- }
141
-
142
-
143
- /*----Next/Prev Buttons----*/
144
- .twae-horizontal .twae-button-prev, .twae-horizontal .twae-button-next {
145
- position: absolute;
146
- font-size: 40px;
147
- top: 94px;
148
- cursor: pointer;
149
- line-height: 0;
150
- }
151
- .twae-horizontal .twae-button-prev {
152
- left: -10px;
153
- }
154
- .twae-horizontal .twae-button-next {
155
- right: -10px;
156
- }
157
- .twae-button-prev.swiper-button-disabled,
158
- .twae-button-next.swiper-button-disabled {
159
- opacity: 0.35;
160
- cursor: auto;
161
- pointer-events: none;
162
- }
163
-
164
-
165
- /*----Slider Styles*/
166
- .swiper-slide.auto-height {
167
- height: auto;
168
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/twae-horizontal-styles.min.css DELETED
@@ -1 +0,0 @@
1
- .twae-horizontal.swiper-container{position:unset;margin-left:auto;margin-right:auto;overflow:hidden;z-index:10;margin:0 32px}.twae-horizontal .twae-year-container{position:absolute;display:table;text-align:center;top:96px;left:10px;height:36px;width:72px;vertical-align:middle;border-radius:6px;overflow:hidden;z-index:1;table-layout:fixed;word-break:break-word}.twae-horizontal .twae-year-label{padding:2px;vertical-align:middle;display:table-cell}.twae-horizontal .twae-label-extra-label{position:absolute;display:table;width:100%;height:80px;overflow:hidden;text-align:center;vertical-align:middle}.twae-horizontal .twae-label-extra-label div{display:table-cell;vertical-align:bottom}.twae-horizontal .twae-label-extra-label .twae-extra-label,.twae-horizontal .twae-label-extra-label .twae-label{display:inline-block;width:100%}.twae-horizontal .twae-icon{color:#fff;width:40px;height:40px;top:94px;left:calc(50% - 20px);text-align:center;position:absolute;display:block;z-index:100;border-radius:50%}.twae-horizontal .twae-icon i{line-height:40px;font-size:26px}.twae-horizontal .twae-icon:empty{width:24px;height:24px;top:102px;left:calc(50% - 12px)}.twae-horizontal .twae-story-info:before{content:"";display:block;position:absolute;left:calc(50% - 13px);left:-moz-calc(50% - 1em);left:-webkit-calc(50% - 13px);left:-o-calc(50% - 13px);top:-28px}.twae-horizontal .twae-story-info{padding:0;margin:150px 4px 10px;justify-content:center;position:relative;transition:all .2s ease-in;text-align:center;box-sizing:border-box;box-shadow:0 2px 8px -2px rgba(0,0,0,.4);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;height:calc(100% - 160px)}.twae-horizontal .twae-timeline-img,.twae-horizontal .twae-timeline-img img{display:inline-block;width:100%;height:auto}.twae-horizontal .twae-description,.twae-horizontal .twae-title{display:inline-block;width:100%;margin:0;line-height:1.2em}.twae-horizontal .twae-title{padding:8px 8px 0;font-size:20px}.twae-horizontal .twae-description{padding:8px;font-size:inherit}.twae-horizontal .twae-pagination.swiper-pagination-progressbar{position:absolute;top:112px;margin:0 32px;width:calc(100% - 64px);z-index:0}.twae-horizontal .twae-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:rgba(0,0,0,.25)}.twae-horizontal .twae-button-next,.twae-horizontal .twae-button-prev{position:absolute;font-size:40px;top:94px;cursor:pointer;line-height:0}.twae-horizontal .twae-button-prev{left:-10px}.twae-horizontal .twae-button-next{right:-10px}.twae-button-next.swiper-button-disabled,.twae-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-slide.auto-height{height:auto}
 
assets/css/twae-horizontal-timeline.css ADDED
@@ -0,0 +1,382 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* --------------------------- Horizontal Wrapper --------------------------- */
2
+ .twae-horizontal-timeline {
3
+ --tw-ibx-position: 50;
4
+
5
+ --tw-cbx-text-align: center;
6
+
7
+ --tw-cbx-bd-top-width: 3px;
8
+ --tw-cbx-bd-right-width: 0px;
9
+ --tw-cbx-bd-bottom-width: 0px;
10
+ --tw-cbx-bd-left-width: 0px;
11
+
12
+ --tw-cbx-img-order: 0;
13
+
14
+ --nav-icon-height: 24px;
15
+ --nav-icon-width: 24px;
16
+ --nav-icon-color: var(--tw-line-bg, #222);
17
+ --nav-icon-radius: 0;
18
+
19
+ overflow: visible;
20
+ }
21
+ .twae-horizontal-timeline.style-2 {
22
+ --tw-cbx-img-order: 2;
23
+
24
+ --tw-ibx-radius: 0;
25
+ --tw-ibx-bd-width: calc(var(--tw-line-bd-width, var(--tw-line-width)) * 1px);
26
+
27
+ --tw-cbx-radius: 0px 0px 0px 0px;
28
+ --tw-cbx-padding: 0px;
29
+ --tw-cbx-bd-top-width: 0px;
30
+
31
+ --tw-cbx-title-color: #fff;
32
+ --tw-cbx-title-bg: var(--tw-ibx-bg);
33
+ --tw-cbx-title-padding: 8px 12px 8px 12px;
34
+ --tw-cbx-title-margin: 0px 0px 0px 0px;
35
+
36
+ --tw-cbx-des-padding: 0px 10px 0px 10px;
37
+ }
38
+ .twae-horizontal-timeline.style-3 {
39
+ --tw-cbx-radius: 0px 0px 0px 0px;
40
+ --tw-cbx-padding: 0px;
41
+ --tw-cbx-bd-top-width: 0px;
42
+ --tw-cbx-bg: #fff;
43
+ --tw-cbx-shadow: 0px;
44
+ }
45
+ .twae-horizontal-timeline.style-4 {
46
+ --tw-cbx-radius: 0px 0px 0px 0px;
47
+ --tw-cbx-bd-top-width: 0px;
48
+ --tw-cbx-bg: #fff;
49
+ --tw-cbx-shadow: 0px;
50
+ }
51
+ .twae-horizontal-timeline.style-4 .twae-content {
52
+ background: transparent !IMPORTANT;
53
+ }
54
+ .twae-wrapper.twae-horizontal-timeline {
55
+ width: calc(100% - var(--nav-icon-width) * 2);
56
+ margin: 0 var(--nav-icon-width);
57
+ }
58
+ .twae-wrapper-inside {
59
+ overflow: hidden;
60
+ }
61
+ /* ------------------------ Horizontal Wrapper - END ------------------------ */
62
+
63
+
64
+ /* --------------------------------- Slider --------------------------------- */
65
+ .twae-slider-container {
66
+ width: calc(100% - var(--tw-cbx-space));
67
+ margin: 0 calc(var(--tw-cbx-space) * 0.5px);
68
+ display: block;
69
+ position: relative;
70
+ }
71
+ .twae-slider-container.swiper-container {
72
+ overflow: visible;
73
+ }
74
+ /* ------------------------------ Slider - END ------------------------------ */
75
+
76
+
77
+ /* --------------------------- Next / Prev Buttons -------------------------- */
78
+ .twae-button-prev, .twae-button-next {
79
+ position: absolute;
80
+ top: calc(0px + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px + var(--tw-ibx-size) - var(--nav-icon-height) * 0.5);
81
+ background: var(--nav-icon-background);
82
+ color: var(--nav-icon-color);
83
+ width: var(--nav-icon-width);
84
+ height: var(--nav-icon-height);
85
+ font-size: calc(var(--nav-icon-height) - 4px);
86
+ line-height: 1em;
87
+ display: flex;
88
+ justify-content: center;
89
+ align-items: center;
90
+ z-index: 9;
91
+ cursor: pointer;
92
+ }
93
+ .twae-button-next {
94
+ right: calc(0px - var(--nav-icon-width));
95
+ }
96
+ .twae-button-prev {
97
+ left: calc(0px - var(--nav-icon-width));
98
+ }
99
+ .twae-button-prev i, .twae-button-next i{
100
+ /*-webkit-text-stroke: 0.5px var(--nav-icon-color);
101
+ color: transparent;*/
102
+ }
103
+ /* ------------------------ Next / Prev Buttons - END ----------------------- */
104
+
105
+
106
+ /* ---------------------------- Horizontal Line ---------------------------- */
107
+ .twae-story-line {
108
+ position: absolute;
109
+ top: calc(0px - var(--tw-ibx-size) - var(--tw-line-width) / 2);
110
+ left: calc(0px - var(--tw-cbx-space) * 0.5px);
111
+ display: block;
112
+ width: calc(100% + var(--tw-cbx-space) * 1px);
113
+ height: var(--tw-line-width);
114
+ background-color: var(--tw-line-bg);
115
+ border-width: calc(var(--tw-line-bd-width) * 1px) 0px calc(var(--tw-line-bd-width) * 1px) 0px;
116
+ border-style: var(--tw-line-bd-style);
117
+ border-color: var(--tw-line-bd-color);
118
+ }
119
+ .twae-horizontal-bottom .twae-story-line,
120
+ .twae-horizontal-both .twae-story:nth-child(2n + 1) .twae-story-line {
121
+ top: auto;
122
+ bottom: calc(0px - var(--tw-ibx-size) - var(--tw-line-width) / 2);
123
+ }
124
+ .twae-horizontal-both .twae-story:nth-child(2n + 1):before,
125
+ .twae-horizontal-both .twae-story:nth-child(2n + 1):after {
126
+ content: '';
127
+ position: absolute;
128
+ width: var(--tw-line-width);
129
+ height: calc(100% - (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px - var(--tw-line-width)));
130
+ bottom: calc(0px - var(--tw-ibx-size) - var(--tw-line-width) / 2);
131
+ background-color: var(--tw-line-bg);
132
+ border-width: 0px calc(var(--tw-line-bd-width) * 1px) 0px calc(var(--tw-line-bd-width) * 1px);
133
+ border-style: var(--tw-line-bd-style);
134
+ border-color: var(--tw-line-bd-color);
135
+ }
136
+ .twae-horizontal-both .twae-story:nth-child(2n + 1):before {
137
+ left: calc(0px - var(--tw-cbx-space) * 0.5px - var(--tw-line-width) / 2);
138
+ }
139
+ .twae-horizontal-both .twae-story:nth-child(2n + 1):after {
140
+ right: calc(0px - var(--tw-cbx-space) * 0.5px - var(--tw-line-width) / 2);
141
+ }
142
+ /* -------------------------- Horizontal Line - END ------------------------ */
143
+
144
+
145
+ /* -------------------------------- Line Fill ------------------------------- */
146
+ .twae-h-line {
147
+ position: absolute;
148
+ top: calc(0px + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px + var(--tw-ibx-size) - var(--tw-line-width) * 0.5);
149
+ left: 0;
150
+ display: block;
151
+ width: 100%;
152
+ height: var(--tw-line-width);
153
+ background-color: var(--tw-line-bg);
154
+ border-width: calc(var(--tw-line-bd-width) * 1px) 0px calc(var(--tw-line-bd-width) * 1px) 0px;
155
+ border-style: var(--tw-line-bd-style);
156
+ border-color: var(--tw-line-bd-color);
157
+ }
158
+ .twae-horizontal-bottom .twae-story-line {
159
+ top: auto;
160
+ bottom: calc(0px + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px + var(--tw-ibx-size) - var(--tw-line-width) * 0.5);
161
+ }
162
+ .twae-line-fill.swiper-pagination-progressbar {
163
+ position: absolute;
164
+ top: calc(0px + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px + var(--tw-ibx-size) - var(--tw-line-width) * 0.5);
165
+ left: 0;
166
+ width: 100%;
167
+ height: var(--tw-line-width);
168
+ background: transparent;
169
+ }
170
+ .twae-line-fill.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
171
+ background: var(--tw-line-filling-color);
172
+ }
173
+ .twae-line-filler .twae-story-line {
174
+ display: none;
175
+ }
176
+ /* ----------------------------- Line Fill - END ---------------------------- */
177
+
178
+
179
+ /* ------------------------ Line Year Box Horizontal ------------------------ */
180
+ .twae-horizontal-timeline .twae-year {
181
+ position: absolute;
182
+ top: calc(var(--tw-ibx-size) / 2 - var(--tw-ibx-size) * 2 - (var(--tw-ybx-size) * ((60 + var(--tw-ibx-radius) / 1.25) / 100) - var(--tw-ibx-size)) / 2);
183
+ /* left: calc(0px - var(--tw-cbx-space) * 0.5px - var(--tw-ybx-size) / 2); */
184
+ left: 10px;
185
+ margin: 0;
186
+ justify-content: flex-start;
187
+ width: auto;
188
+ }
189
+ .twae-horizontal-bottom .twae-year,
190
+ .twae-horizontal-both .twae-story:nth-child(2n + 1) .twae-year {
191
+ top: auto;
192
+ bottom: calc(var(--tw-ibx-size) / 2 - var(--tw-ibx-size) * 2 - (var(--tw-ybx-size) * ((60 + var(--tw-ibx-radius) / 1.25) / 100) - var(--tw-ibx-size)) / 2);
193
+ }
194
+ .twae-horizontal-timeline .twae-year-text:before,
195
+ .twae-horizontal-timeline .twae-year-text:after {
196
+ width: calc(var(--tw-ybx-bd-width) + var(--tw-line-width) * 0.1);
197
+ height: calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);
198
+ top: calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px) / 2);
199
+ }
200
+ .twae-horizontal-timeline .twae-year-text:before {
201
+ left: 0;
202
+ }
203
+ .twae-horizontal-timeline .twae-year-text:after {
204
+ right: 0;
205
+ }
206
+ /* --------------------- Line Year Box Horizontal - END --------------------- */
207
+
208
+
209
+ /* ---------------------------- Labels Horizontal --------------------------- */
210
+ .twae-horizontal-timeline .twae-labels {
211
+ justify-content: var(--tw-lbl-justify);
212
+ top: calc(0px - (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap)) - var(--tw-ibx-size) * 2);
213
+ height: calc(var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap));
214
+ text-align: center;
215
+ }
216
+ .twae-horizontal-bottom .twae-labels,
217
+ .twae-horizontal-both .twae-story:nth-child(2n + 1) .twae-labels {
218
+ top: auto;
219
+ bottom: calc(0px - (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap)) - var(--tw-ibx-size) * 2);
220
+ }
221
+ .twae-position-40-minus .twae-labels {
222
+ text-align: left;
223
+ padding-left: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100);
224
+ }
225
+ .twae-position-40-50 .twae-labels {
226
+ width: calc((var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100) * 2 + var(--tw-ibx-size));
227
+ }
228
+ .twae-position-50-60 .twae-labels {
229
+ padding-left: calc(100% - ((100% - (var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100)) * 2 - var(--tw-ibx-size)));
230
+ }
231
+ .twae-position-60-plus .twae-labels {
232
+ text-align: right;
233
+ width: calc(var(--tw-ibx-size) + var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100);
234
+ }
235
+ /* ------------------------- Labels Horizontal - END ------------------------ */
236
+
237
+
238
+ /* ------------------------ Icon / Dot Box Horizontal ----------------------- */
239
+ .twae-horizontal-timeline .twae-icon {
240
+ left: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100);
241
+ top: calc(var(--tw-ibx-size) / 2 - var(--tw-ibx-size) * 2);
242
+ }
243
+ .twae-horizontal-bottom .twae-icon,
244
+ .twae-horizontal-both .twae-story:nth-child(2n + 1) .twae-icon {
245
+ top: auto;
246
+ bottom: calc(var(--tw-ibx-size) / 2 - var(--tw-ibx-size) * 2);
247
+ }
248
+ .twae-horizontal-timeline .twae-icondot {
249
+ top: calc(var(--tw-ibx-size) * 0.75 - var(--tw-ibx-size) * 2);
250
+ left: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 4);
251
+ }
252
+ .twae-horizontal-bottom .twae-icondot,
253
+ .twae-horizontal-both .twae-story:nth-child(2n + 1) .twae-icondot {
254
+ top: auto;
255
+ bottom: calc(var(--tw-ibx-size) * 0.75 - var(--tw-ibx-size) * 2);
256
+ }
257
+ .twae-horizontal-timeline .twae-icondot:before,
258
+ .twae-horizontal-timeline .twae-icondot:after,
259
+ .twae-horizontal-timeline .twae-icon:before,
260
+ .twae-horizontal-timeline .twae-icon:after {
261
+ width: calc(var(--tw-ibx-bd-width) + var(--tw-line-width) * 0.1);
262
+ height: calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);
263
+ top: calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px) / 2);
264
+ }
265
+ .twae-horizontal-timeline .twae-icondot:before,
266
+ .twae-horizontal-timeline .twae-icon:before {
267
+ left: calc(0px - var(--tw-ibx-bd-width));
268
+ }
269
+ .twae-horizontal-timeline .twae-icondot:after,
270
+ .twae-horizontal-timeline .twae-icon:after {
271
+ right: calc(0px - var(--tw-ibx-bd-width));
272
+ }
273
+ /* --------------------- Icon / Dot Box Horizontal - END -------------------- */
274
+
275
+
276
+ /* ----------------------- Story Box Arrow Horizontal ----------------------- */
277
+ .twae-horizontal-timeline .twae-arrow {
278
+ background: linear-gradient(to bottom right, var(--tw-cbx-title-bg, var(--tw-arw-bg)) 52%, transparent 48%);
279
+ top: calc(var(--tw-ibx-size) / 7 - var(--tw-ibx-size) / 3.5 + var(--tw-cbx-bd-top-width) / 3);
280
+ left: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 2 - var(--tw-ibx-size) / 7);
281
+ border-width: var(--tw-cbx-bd-top-width) 0 0 var(--tw-cbx-bd-top-width);
282
+ }
283
+ .twae-horizontal-timeline .twae-story.twae-bg-hover:hover .twae-arrow,
284
+ .twae-horizontal-timeline.twae-bg-gradient .twae-story.twae-bg-hover:hover .twae-arrow,
285
+ .twae-horizontal-timeline.twae-bg-multicolor .twae-story.twae-bg-hover:hover .twae-arrow {
286
+ background: linear-gradient(to bottom right, var(--tw-cbx-title-bg, var(--tw-cbx-bg-hover)) 52%, transparent 48%);
287
+ }
288
+ .twae-horizontal-timeline.twae-bg-multicolor .twae-story:nth-child(4n - 2) .twae-arrow {
289
+ background: linear-gradient(to bottom right, var(--tw-arw-bg2, var(--tw-arw-bg)) 52%, transparent 48%);
290
+ }
291
+ .twae-horizontal-timeline.twae-bg-multicolor .twae-story:nth-child(4n - 1) .twae-arrow {
292
+ background: linear-gradient(to bottom right, var(--tw-arw-bg3, var(--tw-arw-bg)) 52%, transparent 48%);
293
+ }
294
+ .twae-horizontal-timeline.twae-bg-multicolor .twae-story:nth-child(4n) .twae-arrow {
295
+ background: linear-gradient(to bottom right, var(--tw-arw-bg4, var(--tw-arw-bg)) 52%, transparent 48%);
296
+ }
297
+ .twae-horizontal-bottom .twae-arrow,
298
+ .twae-horizontal-both .twae-story:nth-child(2n + 1) .twae-arrow {
299
+ background: linear-gradient(to top left, var(--tw-arw-bg) 52%, transparent 48%);
300
+ top: auto;
301
+ bottom: calc(var(--tw-ibx-size) / 7 - var(--tw-ibx-size) / 3.5 + var(--tw-cbx-bd-top-width) / 3);
302
+ border-width: 0px var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-bottom-width) 0px;
303
+ }
304
+ .twae-horizontal-timeline .twae-arrow-line {
305
+ top: calc(0px - var(--tw-ibx-size) * 0.5);
306
+ left: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 2 - var(--tw-line-width) / 2);
307
+ height: calc(var(--tw-ibx-size) * 0.5);
308
+ width: var(--tw-line-width);
309
+ border-width: 0px calc(var(--tw-line-bd-width) * 1px) 0px calc(var(--tw-line-bd-width) * 1px);
310
+ }
311
+ .twae-horizontal-bottom .twae-arrow-line,
312
+ .twae-horizontal-both .twae-story:nth-child(2n + 1) .twae-arrow-line {
313
+ top: auto;
314
+ bottom: calc(0px - var(--tw-ibx-size) * 0.5);
315
+ }
316
+ .twae-horizontal-timeline .twae-story-no-icon .twae-arrow-line {
317
+ height: calc(var(--tw-ibx-size) * 0.75);
318
+ top: calc(0px - var(--tw-ibx-size) * 0.75);
319
+ }
320
+ .twae-horizontal-bottom .twae-story-no-icon .twae-arrow-line,
321
+ .twae-horizontal-both .twae-story:nth-child(2n + 1).twae-story-no-icon .twae-arrow-line {
322
+ top: auto;
323
+ bottom: calc(0px - var(--tw-ibx-size) * 0.75);
324
+ }
325
+ .twae-horizontal-timeline .twae-story-no-dot .twae-arrow-line {
326
+ height: calc(var(--tw-ibx-size) - var(--tw-line-width) * 0.5);
327
+ top: calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * 0.5);
328
+ }
329
+ .twae-horizontal-timeline .twae-arrow-line:before,
330
+ .twae-horizontal-timeline .twae-arrow-line:after {
331
+ width: var(--tw-line-width);
332
+ left: calc(0px - calc(var(--tw-line-bd-width) * 1px));
333
+ border-width: 0px calc(var(--tw-line-bd-width) * 1px) 0px calc(var(--tw-line-bd-width) * 1px);
334
+ }
335
+ .twae-horizontal-timeline .twae-arrow-line:before {
336
+ height: calc(var(--tw-ibx-bd-width));
337
+ top: calc(0px - var(--tw-ibx-bd-width));
338
+ }
339
+ .twae-horizontal-timeline .twae-arrow-line:after {
340
+ height: calc(var(--tw-cbx-bd-top-width));
341
+ bottom: calc(0px - var(--tw-cbx-bd-top-width));
342
+ }
343
+ /* -------------------- Story Box Arrow Horizontal - END -------------------- */
344
+
345
+
346
+ /* -------------------------- Story Box Horizontal -------------------------- */
347
+ .twae-horizontal-timeline .twae-story {
348
+ margin-top: calc(var(--tw-ibx-size) * 2 + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px);
349
+ }
350
+ .twae-horizontal-bottom .twae-story,
351
+ .twae-horizontal-both .twae-story:nth-child(2n + 1) {
352
+ margin-top: 0px;
353
+ margin-bottom: calc(var(--tw-ibx-size) * 2 + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px);
354
+ }
355
+ .twae-horizontal-bottom .twae-story {
356
+ align-self: flex-end;
357
+ }
358
+ .twae-horizontal-both .twae-story:nth-child(2n + 1) {
359
+ align-self: flex-start;
360
+ }
361
+ .auto-height .twae-story {
362
+ /* align-self: flex-start !Important; */
363
+ height: auto !Important;
364
+ }
365
+ .twae-story.swiper-slide {
366
+ overflow: visible;
367
+ }
368
+ /* ----------------------- Story Box Horizontal - END ----------------------- */
369
+
370
+
371
+ /* ------------------------ Story Content Horizontal ------------------------ */
372
+ .twae-horizontal-timeline .twae-content {
373
+ height: 100%;
374
+ }
375
+ .twae-horizontal-timeline.twae-bg-gradient .twae-story .twae-content {
376
+ background-image: linear-gradient(to bottom, var(--tw-cbx-bg) , var(--tw-cbx-bg-gradient));
377
+ }
378
+ .twae-horizontal-bottom.twae-bg-gradient .twae-story .twae-content,
379
+ .twae-horizontal-both.twae-bg-gradient .twae-story:nth-child(2n + 1) .twae-content {
380
+ background-image: linear-gradient(to top, var(--tw-cbx-bg) , var(--tw-cbx-bg-gradient));
381
+ }
382
+ /* --------------------- Story Content Horizontal - END --------------------- */
assets/css/twae-horizontal-timeline.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .twae-horizontal-timeline{--tw-ibx-position:50;--tw-cbx-text-align:center;--tw-cbx-bd-top-width:3px;--tw-cbx-bd-right-width:0px;--tw-cbx-bd-bottom-width:0px;--tw-cbx-bd-left-width:0px;--tw-cbx-img-order:0;--nav-icon-height:24px;--nav-icon-width:24px;--nav-icon-color:var(--tw-line-bg, #222);--nav-icon-radius:0;overflow:visible}.twae-horizontal-timeline.style-2{--tw-cbx-img-order:2;--tw-ibx-radius:0;--tw-ibx-bd-width:calc(var(--tw-line-bd-width, var(--tw-line-width)) * 1px);--tw-cbx-radius:0px 0px 0px 0px;--tw-cbx-padding:0px;--tw-cbx-bd-top-width:0px;--tw-cbx-title-color:#fff;--tw-cbx-title-bg:var(--tw-ibx-bg);--tw-cbx-title-padding:8px 12px 8px 12px;--tw-cbx-title-margin:0px 0px 0px 0px;--tw-cbx-des-padding:0px 10px 0px 10px}.twae-horizontal-timeline.style-3{--tw-cbx-radius:0px 0px 0px 0px;--tw-cbx-padding:0px;--tw-cbx-bd-top-width:0px;--tw-cbx-bg:#fff;--tw-cbx-shadow:0px}.twae-horizontal-timeline.style-4{--tw-cbx-radius:0px 0px 0px 0px;--tw-cbx-bd-top-width:0px;--tw-cbx-bg:#fff;--tw-cbx-shadow:0px}.twae-horizontal-timeline.style-4 .twae-content{background:0 0!important}.twae-wrapper.twae-horizontal-timeline{width:calc(100% - var(--nav-icon-width) * 2);margin:0 var(--nav-icon-width)}.twae-wrapper-inside{overflow:hidden}.twae-slider-container{width:calc(100% - var(--tw-cbx-space));margin:0 calc(var(--tw-cbx-space) * .5px);display:block;position:relative}.twae-slider-container.swiper-container{overflow:visible}.twae-button-next,.twae-button-prev{position:absolute;top:calc(0px + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px + var(--tw-ibx-size) - var(--nav-icon-height) * .5);background:var(--nav-icon-background);color:var(--nav-icon-color);width:var(--nav-icon-width);height:var(--nav-icon-height);font-size:calc(var(--nav-icon-height) - 4px);line-height:1em;display:flex;justify-content:center;align-items:center;z-index:9;cursor:pointer}.twae-button-next{right:calc(0px - var(--nav-icon-width))}.twae-button-prev{left:calc(0px - var(--nav-icon-width))}.twae-story-line{position:absolute;top:calc(0px - var(--tw-ibx-size) - var(--tw-line-width)/ 2);left:calc(0px - var(--tw-cbx-space) * .5px);display:block;width:calc(100% + var(--tw-cbx-space) * 1px);height:var(--tw-line-width);background-color:var(--tw-line-bg);border-width:calc(var(--tw-line-bd-width) * 1px) 0 calc(var(--tw-line-bd-width) * 1px) 0;border-style:var(--tw-line-bd-style);border-color:var(--tw-line-bd-color)}.twae-horizontal-both .twae-story:nth-child(2n+1) .twae-story-line,.twae-horizontal-bottom .twae-story-line{top:auto;bottom:calc(0px - var(--tw-ibx-size) - var(--tw-line-width)/ 2)}.twae-horizontal-both .twae-story:nth-child(2n+1):after,.twae-horizontal-both .twae-story:nth-child(2n+1):before{content:'';position:absolute;width:var(--tw-line-width);height:calc(100% - (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px - var(--tw-line-width)));bottom:calc(0px - var(--tw-ibx-size) - var(--tw-line-width)/ 2);background-color:var(--tw-line-bg);border-width:0 calc(var(--tw-line-bd-width) * 1px) 0 calc(var(--tw-line-bd-width) * 1px);border-style:var(--tw-line-bd-style);border-color:var(--tw-line-bd-color)}.twae-horizontal-both .twae-story:nth-child(2n+1):before{left:calc(0px - var(--tw-cbx-space) * .5px - var(--tw-line-width)/ 2)}.twae-horizontal-both .twae-story:nth-child(2n+1):after{right:calc(0px - var(--tw-cbx-space) * .5px - var(--tw-line-width)/ 2)}.twae-h-line{position:absolute;top:calc(0px + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px + var(--tw-ibx-size) - var(--tw-line-width) * .5);left:0;display:block;width:100%;height:var(--tw-line-width);background-color:var(--tw-line-bg);border-width:calc(var(--tw-line-bd-width) * 1px) 0 calc(var(--tw-line-bd-width) * 1px) 0;border-style:var(--tw-line-bd-style);border-color:var(--tw-line-bd-color)}.twae-horizontal-bottom .twae-story-line{top:auto;bottom:calc(0px + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px + var(--tw-ibx-size) - var(--tw-line-width) * .5)}.twae-line-fill.swiper-pagination-progressbar{position:absolute;top:calc(0px + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px + var(--tw-ibx-size) - var(--tw-line-width) * .5);left:0;width:100%;height:var(--tw-line-width);background:0 0}.twae-line-fill.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--tw-line-filling-color)}.twae-line-filler .twae-story-line{display:none}.twae-horizontal-timeline .twae-year{position:absolute;top:calc(var(--tw-ibx-size)/ 2 - var(--tw-ibx-size) * 2 - (var(--tw-ybx-size) * ((60 + var(--tw-ibx-radius)/ 1.25)/ 100) - var(--tw-ibx-size))/ 2);left:10px;margin:0;justify-content:flex-start;width:auto}.twae-horizontal-both .twae-story:nth-child(2n+1) .twae-year,.twae-horizontal-bottom .twae-year{top:auto;bottom:calc(var(--tw-ibx-size)/ 2 - var(--tw-ibx-size) * 2 - (var(--tw-ybx-size) * ((60 + var(--tw-ibx-radius)/ 1.25)/ 100) - var(--tw-ibx-size))/ 2)}.twae-horizontal-timeline .twae-year-text:after,.twae-horizontal-timeline .twae-year-text:before{width:calc(var(--tw-ybx-bd-width) + var(--tw-line-width) * .1);height:calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);top:calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px)/ 2)}.twae-horizontal-timeline .twae-year-text:before{left:0}.twae-horizontal-timeline .twae-year-text:after{right:0}.twae-horizontal-timeline .twae-labels{justify-content:var(--tw-lbl-justify);top:calc(0px - (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap)) - var(--tw-ibx-size) * 2);height:calc(var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap));text-align:center}.twae-horizontal-both .twae-story:nth-child(2n+1) .twae-labels,.twae-horizontal-bottom .twae-labels{top:auto;bottom:calc(0px - (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap)) - var(--tw-ibx-size) * 2)}.twae-position-40-minus .twae-labels{text-align:left;padding-left:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100)}.twae-position-40-50 .twae-labels{width:calc((var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100) * 2 + var(--tw-ibx-size))}.twae-position-50-60 .twae-labels{padding-left:calc(100% - ((100% - (var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100)) * 2 - var(--tw-ibx-size)))}.twae-position-60-plus .twae-labels{text-align:right;width:calc(var(--tw-ibx-size) + var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100)}.twae-horizontal-timeline .twae-icon{left:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100);top:calc(var(--tw-ibx-size)/ 2 - var(--tw-ibx-size) * 2)}.twae-horizontal-both .twae-story:nth-child(2n+1) .twae-icon,.twae-horizontal-bottom .twae-icon{top:auto;bottom:calc(var(--tw-ibx-size)/ 2 - var(--tw-ibx-size) * 2)}.twae-horizontal-timeline .twae-icondot{top:calc(var(--tw-ibx-size) * .75 - var(--tw-ibx-size) * 2);left:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 4)}.twae-horizontal-both .twae-story:nth-child(2n+1) .twae-icondot,.twae-horizontal-bottom .twae-icondot{top:auto;bottom:calc(var(--tw-ibx-size) * .75 - var(--tw-ibx-size) * 2)}.twae-horizontal-timeline .twae-icon:after,.twae-horizontal-timeline .twae-icon:before,.twae-horizontal-timeline .twae-icondot:after,.twae-horizontal-timeline .twae-icondot:before{width:calc(var(--tw-ibx-bd-width) + var(--tw-line-width) * .1);height:calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);top:calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px)/ 2)}.twae-horizontal-timeline .twae-icon:before,.twae-horizontal-timeline .twae-icondot:before{left:calc(0px - var(--tw-ibx-bd-width))}.twae-horizontal-timeline .twae-icon:after,.twae-horizontal-timeline .twae-icondot:after{right:calc(0px - var(--tw-ibx-bd-width))}.twae-horizontal-timeline .twae-arrow{background:linear-gradient(to bottom right,var(--tw-cbx-title-bg,var(--tw-arw-bg)) 52%,transparent 48%);top:calc(var(--tw-ibx-size)/ 7 - var(--tw-ibx-size)/ 3.5 + var(--tw-cbx-bd-top-width)/ 3);left:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 2 - var(--tw-ibx-size)/ 7);border-width:var(--tw-cbx-bd-top-width) 0 0 var(--tw-cbx-bd-top-width)}.twae-horizontal-timeline .twae-story.twae-bg-hover:hover .twae-arrow,.twae-horizontal-timeline.twae-bg-gradient .twae-story.twae-bg-hover:hover .twae-arrow,.twae-horizontal-timeline.twae-bg-multicolor .twae-story.twae-bg-hover:hover .twae-arrow{background:linear-gradient(to bottom right,var(--tw-cbx-title-bg,var(--tw-cbx-bg-hover)) 52%,transparent 48%)}.twae-horizontal-timeline.twae-bg-multicolor .twae-story:nth-child(4n-2) .twae-arrow{background:linear-gradient(to bottom right,var(--tw-arw-bg2,var(--tw-arw-bg)) 52%,transparent 48%)}.twae-horizontal-timeline.twae-bg-multicolor .twae-story:nth-child(4n-1) .twae-arrow{background:linear-gradient(to bottom right,var(--tw-arw-bg3,var(--tw-arw-bg)) 52%,transparent 48%)}.twae-horizontal-timeline.twae-bg-multicolor .twae-story:nth-child(4n) .twae-arrow{background:linear-gradient(to bottom right,var(--tw-arw-bg4,var(--tw-arw-bg)) 52%,transparent 48%)}.twae-horizontal-both .twae-story:nth-child(2n+1) .twae-arrow,.twae-horizontal-bottom .twae-arrow{background:linear-gradient(to top left,var(--tw-arw-bg) 52%,transparent 48%);top:auto;bottom:calc(var(--tw-ibx-size)/ 7 - var(--tw-ibx-size)/ 3.5 + var(--tw-cbx-bd-top-width)/ 3);border-width:0 var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-bottom-width) 0}.twae-horizontal-timeline .twae-arrow-line{top:calc(0px - var(--tw-ibx-size) * .5);left:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 2 - var(--tw-line-width)/ 2);height:calc(var(--tw-ibx-size) * .5);width:var(--tw-line-width);border-width:0 calc(var(--tw-line-bd-width) * 1px) 0 calc(var(--tw-line-bd-width) * 1px)}.twae-horizontal-both .twae-story:nth-child(2n+1) .twae-arrow-line,.twae-horizontal-bottom .twae-arrow-line{top:auto;bottom:calc(0px - var(--tw-ibx-size) * .5)}.twae-horizontal-timeline .twae-story-no-icon .twae-arrow-line{height:calc(var(--tw-ibx-size) * .75);top:calc(0px - var(--tw-ibx-size) * .75)}.twae-horizontal-both .twae-story:nth-child(2n+1).twae-story-no-icon .twae-arrow-line,.twae-horizontal-bottom .twae-story-no-icon .twae-arrow-line{top:auto;bottom:calc(0px - var(--tw-ibx-size) * .75)}.twae-horizontal-timeline .twae-story-no-dot .twae-arrow-line{height:calc(var(--tw-ibx-size) - var(--tw-line-width) * .5);top:calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * .5)}.twae-horizontal-timeline .twae-arrow-line:after,.twae-horizontal-timeline .twae-arrow-line:before{width:var(--tw-line-width);left:calc(0px - calc(var(--tw-line-bd-width) * 1px));border-width:0 calc(var(--tw-line-bd-width) * 1px) 0 calc(var(--tw-line-bd-width) * 1px)}.twae-horizontal-timeline .twae-arrow-line:before{height:calc(var(--tw-ibx-bd-width));top:calc(0px - var(--tw-ibx-bd-width))}.twae-horizontal-timeline .twae-arrow-line:after{height:calc(var(--tw-cbx-bd-top-width));bottom:calc(0px - var(--tw-cbx-bd-top-width))}.twae-horizontal-timeline .twae-story{margin-top:calc(var(--tw-ibx-size) * 2 + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px)}.twae-horizontal-both .twae-story:nth-child(2n+1),.twae-horizontal-bottom .twae-story{margin-top:0;margin-bottom:calc(var(--tw-ibx-size) * 2 + var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 20px)}.twae-horizontal-bottom .twae-story{align-self:flex-end}.twae-horizontal-both .twae-story:nth-child(2n+1){align-self:flex-start}.auto-height .twae-story{height:auto!important}.twae-story.swiper-slide{overflow:visible}.twae-horizontal-timeline .twae-content{height:100%}.twae-horizontal-timeline.twae-bg-gradient .twae-story .twae-content{background-image:linear-gradient(to bottom,var(--tw-cbx-bg) ,var(--tw-cbx-bg-gradient))}.twae-horizontal-both.twae-bg-gradient .twae-story:nth-child(2n+1) .twae-content,.twae-horizontal-bottom.twae-bg-gradient .twae-story .twae-content{background-image:linear-gradient(to top,var(--tw-cbx-bg) ,var(--tw-cbx-bg-gradient))}
assets/css/twae-vertical-timeline.css ADDED
@@ -0,0 +1,985 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ |-----------------------------------
3
+ | Slideshow
4
+ |-----------------------------------
5
+ */
6
+
7
+ .twae-slideshow {
8
+ width: 100%;
9
+ }
10
+
11
+ .twae-icon-left-open,
12
+ .twae-icon-right-open {
13
+ position: absolute;
14
+ top: 50%;
15
+ /* width: 27px;
16
+ height: 44px; */
17
+ margin-top: -22px;
18
+ z-index: 10;
19
+ cursor: pointer;
20
+ }
21
+
22
+ .twae-icon-right-open {
23
+ right: 0px;
24
+ }
25
+
26
+
27
+
28
+ /* ----------------------------- Vertical Styles ---------------------------- */
29
+ /* ---------------------------- Vertical Wrapper ---------------------------- */
30
+ .twae-vertical {
31
+ --tw-ibx-position: 0;
32
+
33
+ --tw-cbx-text-align: left;
34
+
35
+ --tw-cbx-bd-top-width: 0px;
36
+ --tw-cbx-bd-right-width: 0px;
37
+ --tw-cbx-bd-bottom-width: 0px;
38
+ --tw-cbx-bd-left-width: 3px;
39
+
40
+ --tw-cbx-img-order: 2;
41
+
42
+ max-width: 1600px;
43
+ padding: calc(var(--tw-line-width) * 3) 0;
44
+ margin: 0 auto;
45
+ }
46
+
47
+ /* ------------------------- Vertical Wrapper - END ------------------------- */
48
+
49
+
50
+ /* -------------------- Timeline Start/End Dots Vertical -------------------- */
51
+ .twae-start,
52
+ .twae-end {
53
+ background-color: var(--tw-line-bg);
54
+ width: calc(var(--tw-line-width) * 3);
55
+ height: calc(var(--tw-line-width) * 3);
56
+ display: inline-block;
57
+ position: absolute;
58
+ left: calc(50% - var(--tw-line-width) * 1.5);
59
+ z-index: 9;
60
+ border-width: calc(var(--tw-line-bd-width) * 1px);
61
+ border-style: var(--tw-line-bd-style);
62
+ border-color: var(--tw-line-bd-color);
63
+ border-radius: calc(var(--tw-ibx-radius) * 1%);
64
+ -webkit-border-radius: calc(var(--tw-ibx-radius) * 1%);
65
+ -moz-border-radius: calc(var(--tw-ibx-radius) * 1%);
66
+ -ms-border-radius: calc(var(--tw-ibx-radius) * 1%);
67
+ -o-border-radius: calc(var(--tw-ibx-radius) * 1%);
68
+ }
69
+
70
+ .twae-start {
71
+ top: 2px;
72
+ }
73
+
74
+ .twae-end {
75
+ bottom: 2px;
76
+ }
77
+
78
+ .twae-post-timeline .twae-end {
79
+ bottom: inherit !important;
80
+ ;
81
+ }
82
+
83
+ .twea-pagination {
84
+ margin-top: 15px;
85
+ }
86
+
87
+ .twae-start:after,
88
+ .twae-end:after {
89
+ content: '';
90
+ position: absolute;
91
+ height: calc(var(--tw-line-bd-width) * 1px + var(--tw-line-width) * 0.1);
92
+ width: calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);
93
+ background-color: var(--tw-line-bg);
94
+ left: calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px) / 2);
95
+ }
96
+
97
+ .twae-start:after {
98
+ bottom: calc(0px - var(--tw-line-bd-width) * 1px);
99
+ }
100
+
101
+ .twae-end:after {
102
+ top: calc(0px - var(--tw-line-bd-width) * 1px);
103
+ }
104
+
105
+ .twae-start-fill:not(.twae-start-out-viewport) .twae-start,
106
+ .twae-end-fill:not(.twae-end-out-viewport) .twae-end,
107
+ .twae-start-fill:not(.twae-start-out-viewport) .twae-start:after,
108
+ .twae-end-fill:not(.twae-end-out-viewport) .twae-end:after {
109
+ background-color: var(--tw-line-filling-color);
110
+ border-color: var(--tw-line-filling-color);
111
+ }
112
+
113
+ /* ----------------- Timeline Start/End Dots Vertical - END ----------------- */
114
+
115
+
116
+ /* ------------------------- Timeline Line Vertical ------------------------- */
117
+ .twae-timeline {
118
+ position: relative;
119
+ margin: 0px;
120
+ padding: 40px 0;
121
+ display: flow-root;
122
+ width: 100%;
123
+ }
124
+
125
+ .twae-timeline:before {
126
+ content: '';
127
+ position: absolute;
128
+ top: 0;
129
+ bottom: 0;
130
+ left: calc(50% - var(--tw-line-width) / 2);
131
+ display: block;
132
+ width: var(--tw-line-width);
133
+ background-color: var(--tw-line-bg) !Important;
134
+ border-width: 0px calc(var(--tw-line-bd-width) * 1px) 0px calc(var(--tw-line-bd-width) * 1px);
135
+ border-style: var(--tw-line-bd-style);
136
+ border-color: var(--tw-line-bd-color);
137
+ }
138
+
139
+ /* ---------------------- Timeline Line Vertical - END ---------------------- */
140
+ /* --------------------- Timeline Line Filling Vertical --------------------- */
141
+ .twae-inner-line {
142
+ position: absolute;
143
+ top: 0;
144
+ bottom: 0;
145
+ left: calc(50% - var(--tw-line-width) / 2);
146
+ display: block;
147
+ width: var(--tw-line-width);
148
+ background-color: var(--tw-line-filling-color);
149
+ }
150
+
151
+ /* ------------------ Timeline Line Filling Vertical - END ------------------ */
152
+
153
+
154
+ /* ------------------------- Line Year Box Vertical ------------------------- */
155
+ .twae-vertical .twae-year {
156
+ position: relative;
157
+ margin: 30px 0;
158
+ justify-content: center;
159
+ width: 100%;
160
+ }
161
+
162
+ .twae-vertical .twae-year:first-child {
163
+ margin-top: 0px !important;
164
+ }
165
+
166
+ .twae-vertical .twae-year-text:before,
167
+ .twae-vertical .twae-year-text:after {
168
+ height: calc(var(--tw-ybx-bd-width) + var(--tw-line-width) * 0.1);
169
+ width: calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);
170
+ left: calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px) / 2);
171
+ }
172
+
173
+ .twae-vertical .twae-year-text:before {
174
+ top: 0;
175
+ }
176
+
177
+ .twae-vertical .twae-year-text:after {
178
+ bottom: 0;
179
+ }
180
+
181
+ .twae-end-out-viewport:not(.twae-start-out-viewport) .twae-year:not(.twae-out-viewport) .twae-year-text {
182
+ border-color: var(--tw-line-filling-color);
183
+ }
184
+
185
+ .twae-end-out-viewport:not(.twae-start-out-viewport) .twae-year:not(.twae-out-viewport) .twae-year-text:before,
186
+ .twae-end-out-viewport:not(.twae-start-out-viewport) .twae-year:not(.twae-out-viewport) .twae-year-text:after {
187
+ background: var(--tw-line-filling-color);
188
+ }
189
+
190
+ /* ---------------------- Line Year Box Vertical - END ---------------------- */
191
+
192
+
193
+ /* ----------------------------- Labels Vertical ---------------------------- */
194
+ .twae-vertical .twae-labels {
195
+ justify-content: space-between;
196
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 - (var(--tw-lbl-big-size) / 2 - var(--tw-ibx-size) / 2));
197
+ left: calc(-100% - var(--tw-ibx-size) * 2);
198
+ text-align: right;
199
+ }
200
+
201
+ .twae-story-left .twae-labels {
202
+ left: auto;
203
+ right: calc(-100% - var(--tw-ibx-size) * 2);
204
+ text-align: left;
205
+ }
206
+
207
+ .twae-story-center .twae-labels {
208
+ top: calc(0px - var(--tw-ibx-size) * 2 - (var(--tw-lbl-big-size) / 2 - var(--tw-ibx-size) / 2));
209
+ left: calc(50% + var(--tw-ibx-size));
210
+ width: calc(50% - var(--tw-ibx-size));
211
+ text-align: left;
212
+ }
213
+
214
+ /* -------------------------- Labels Vertical - END ------------------------- */
215
+
216
+
217
+ /* ------------------------- Icon / Dot Box Vertical ------------------------ */
218
+ .twae-vertical .twae-icon {
219
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100);
220
+ left: calc(var(--tw-ibx-size) / 2 - var(--tw-ibx-size) * 2);
221
+ }
222
+
223
+ .twae-story-left .twae-icon {
224
+ left: auto;
225
+ right: calc(var(--tw-ibx-size) / 2 - var(--tw-ibx-size) * 2);
226
+ }
227
+
228
+ .twae-vertical .twae-icondot {
229
+ left: calc(var(--tw-ibx-size) * 0.75 - var(--tw-ibx-size) * 2);
230
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 4);
231
+ }
232
+
233
+ .twae-story-left .twae-icondot {
234
+ left: auto;
235
+ right: calc(var(--tw-ibx-size) * 0.75 - var(--tw-ibx-size) * 2);
236
+ }
237
+
238
+ .twae-story-center .twae-icon {
239
+ top: calc(0px - var(--tw-ibx-size) * 2);
240
+ left: calc(50% - var(--tw-ibx-size) / 2);
241
+ }
242
+
243
+ .twae-story-center .twae-icondot {
244
+ top: calc(0px - var(--tw-ibx-size) * 1.75);
245
+ left: calc(50% - var(--tw-ibx-size) / 4);
246
+ }
247
+
248
+ .twae-vertical .twae-icondot:before,
249
+ .twae-vertical .twae-icondot:after,
250
+ .twae-vertical .twae-icon:before,
251
+ .twae-vertical .twae-icon:after {
252
+ height: calc(var(--tw-ibx-bd-width) + var(--tw-line-width) * 0.1);
253
+ width: calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);
254
+ left: calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px) / 2);
255
+ }
256
+
257
+ .twae-vertical .twae-icondot:before,
258
+ .twae-vertical .twae-icon:before {
259
+ top: calc(0px - var(--tw-ibx-bd-width));
260
+ }
261
+
262
+ .twae-vertical .twae-icondot:after,
263
+ .twae-vertical .twae-icon:after {
264
+ bottom: calc(0px - var(--tw-ibx-bd-width));
265
+ }
266
+
267
+ .twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icon,
268
+ .twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icondot {
269
+ border-color: var(--tw-line-filling-color);
270
+ border-style: solid;
271
+ }
272
+
273
+ .twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icondot:before,
274
+ .twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icondot:after,
275
+ .twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icon:before,
276
+ .twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icon:after {
277
+ background: var(--tw-line-filling-color);
278
+ }
279
+
280
+ /* ---------------------- Icon / Dot Box Vertical - END --------------------- */
281
+
282
+
283
+ /* ------------------------ Story Box Arrow Vertical ------------------------ */
284
+ .twae-vertical .twae-arrow {
285
+ background: linear-gradient(to top right, var(--tw-arw-bg) 52%, transparent 48%);
286
+ left: calc(var(--tw-ibx-size) / 7 - var(--tw-ibx-size) / 3.5 + var(--tw-cbx-bd-left-width) / 3);
287
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 2 - var(--tw-ibx-size) / 7);
288
+ border-width: 0 0 var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-left-width);
289
+ box-shadow: -4px 4px 8px -4px rgb(0, 0, 0, 0.4);
290
+ }
291
+
292
+ .twae-vertical .twae-story.twae-bg-hover:hover .twae-arrow,
293
+ .twae-vertical.twae-bg-gradient .twae-story.twae-bg-hover:hover .twae-arrow,
294
+ .twae-vertical.twae-bg-multicolor .twae-story.twae-bg-hover:hover .twae-arrow {
295
+ background: linear-gradient(to top right, var(--tw-cbx-title-bg, var(--tw-cbx-bg-hover)) 52%, transparent 48%);
296
+ }
297
+
298
+ .twae-vertical .twae-story.twae-bg-hover.twae-story-left:hover .twae-arrow,
299
+ .twae-vertical.twae-bg-gradient .twae-story.twae-bg-hover.twae-story-left:hover .twae-arrow,
300
+ .twae-vertical.twae-bg-multicolor .twae-story.twae-bg-hover.twae-story-left:hover .twae-arrow {
301
+ background: linear-gradient(to bottom left, var(--tw-cbx-title-bg, var(--tw-cbx-bg-hover)) 52%, transparent 48%);
302
+ }
303
+
304
+ .twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n - 2) .twae-arrow {
305
+ background: linear-gradient(to top right, var(--tw-arw-bg2, var(--tw-arw-bg)) 52%, transparent 48%);
306
+ }
307
+
308
+ .twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n - 1) .twae-arrow {
309
+ background: linear-gradient(to top right, var(--tw-arw-bg3, var(--tw-arw-bg)) 52%, transparent 48%);
310
+ }
311
+
312
+ .twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n) .twae-arrow {
313
+ background: linear-gradient(to top right, var(--tw-arw-bg4, var(--tw-arw-bg)) 52%, transparent 48%);
314
+ }
315
+
316
+ .twae-story-left .twae-arrow {
317
+ left: auto;
318
+ right: calc(var(--tw-ibx-size) / 7 - var(--tw-ibx-size) / 3.5 + var(--tw-cbx-bd-left-width) / 3);
319
+ background: linear-gradient(to bottom left, var(--tw-arw-bg) 52%, transparent 48%);
320
+ border-width: var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-left-width) 0px 0px;
321
+ box-shadow: 4px -4px 8px -4px rgb(0, 0, 0, 0.4);
322
+ }
323
+
324
+ .twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n - 2).twae-story-left .twae-arrow {
325
+ background: linear-gradient(to bottom left, var(--tw-arw-bg2, var(--tw-arw-bg)) 52%, transparent 48%);
326
+ }
327
+
328
+ .twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n - 1).twae-story-left .twae-arrow {
329
+ background: linear-gradient(to bottom left, var(--tw-arw-bg3, var(--tw-arw-bg)) 52%, transparent 48%);
330
+ }
331
+
332
+ .twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n).twae-story-left .twae-arrow {
333
+ background: linear-gradient(to bottom left, var(--tw-arw-bg4, var(--tw-arw-bg)) 52%, transparent 48%);
334
+ }
335
+
336
+ .twae-vertical .twae-arrow-line {
337
+ left: calc(0px - var(--tw-ibx-size) * 0.5);
338
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 2 - var(--tw-line-width) / 2);
339
+ width: calc(var(--tw-ibx-size) * 0.5);
340
+ height: var(--tw-line-width);
341
+ border-width: calc(var(--tw-line-bd-width) * 1px) 0px calc(var(--tw-line-bd-width) * 1px) 0px;
342
+ }
343
+
344
+ .twae-story-left .twae-arrow-line {
345
+ left: auto;
346
+ right: calc(0px - var(--tw-ibx-size) * 0.5);
347
+ }
348
+
349
+ .twae-vertical .twae-story-no-icon .twae-arrow-line {
350
+ width: calc(var(--tw-ibx-size) * 0.75);
351
+ left: calc(0px - var(--tw-ibx-size) * 0.75);
352
+ }
353
+
354
+ .twae-story-left.twae-story-no-icon .twae-arrow-line {
355
+ left: auto;
356
+ right: calc(0px - var(--tw-ibx-size) * 0.75);
357
+ }
358
+
359
+ .twae-vertical .twae-story-no-dot .twae-arrow-line {
360
+ width: calc(var(--tw-ibx-size) - var(--tw-line-width) * 0.5);
361
+ left: calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * 0.5);
362
+ }
363
+
364
+ .twae-story-left.twae-story-no-dot .twae-arrow-line {
365
+ left: auto;
366
+ right: calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * 0.5);
367
+ }
368
+
369
+ .twae-vertical .twae-arrow-line:before,
370
+ .twae-vertical .twae-arrow-line:after {
371
+ height: var(--tw-line-width);
372
+ top: calc(0px - calc(var(--tw-line-bd-width) * 1px));
373
+ border-width: calc(var(--tw-line-bd-width) * 1px) 0px calc(var(--tw-line-bd-width) * 1px) 0px;
374
+ }
375
+
376
+ .twae-vertical .twae-arrow-line:before {
377
+ width: calc(var(--tw-ibx-bd-width));
378
+ left: calc(0px - var(--tw-ibx-bd-width));
379
+ }
380
+
381
+ .twae-vertical .twae-story-left .twae-arrow-line:before {
382
+ left: auto;
383
+ right: calc(0px - var(--tw-ibx-bd-width));
384
+ }
385
+
386
+ .twae-vertical .twae-arrow-line:after {
387
+ width: calc(var(--tw-cbx-bd-left-width));
388
+ right: calc(0px - var(--tw-cbx-bd-left-width));
389
+ }
390
+
391
+ .twae-vertical .twae-story-left .twae-arrow-line:after {
392
+ right: auto;
393
+ left: calc(0px - var(--tw-cbx-bd-left-width));
394
+ }
395
+
396
+ .twae-story-center .twae-arrow,
397
+ .twae-story-center .twae-arrow-line {
398
+ display: none;
399
+ opacity: 0;
400
+ }
401
+
402
+ /* --------------------- Story Box Arrow Vertical - END --------------------- */
403
+
404
+
405
+ /* --------------------------- Story Box Vertical --------------------------- */
406
+ .twae-vertical .twae-story {
407
+ position: relative;
408
+ width: calc(50% - var(--tw-ibx-size));
409
+ float: right;
410
+ clear: both;
411
+ }
412
+
413
+ .twae-story.twae-story-left {
414
+ float: left;
415
+ }
416
+
417
+ .twae-story.twae-story-center {
418
+ width: 100%;
419
+ margin-left: auto;
420
+ margin-right: auto;
421
+ float: none;
422
+ text-align: center;
423
+ top: calc(var(--tw-ibx-size) * 2.50);
424
+ margin-bottom: calc(var(--tw-ibx-size) * 2.50 + var(--tw-cbx-bottom-margin));
425
+ }
426
+
427
+ .twae-story.twae-story-center:before,
428
+ .twae-story.twae-story-center:after {
429
+ content: " ";
430
+ position: absolute;
431
+ height: calc(var(--tw-cbx-bd-left-width) + 10px);
432
+ width: calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);
433
+ background: var(--tw-line-bg);
434
+ left: calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px) / 2);
435
+ opacity: var(--tw-line-bd-width);
436
+ z-index: 1;
437
+ }
438
+
439
+ .twae-story.twae-story-center:before {
440
+ top: -10px;
441
+ }
442
+
443
+ .twae-story.twae-story-center:after {
444
+ bottom: -10px;
445
+ }
446
+
447
+ .twae-story.twae-story-left .twae-content {
448
+ box-shadow: var(--tw-cbx-shadow-left);
449
+ border-width: var(--tw-cbx-bd-top-width) var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-right-width);
450
+ border-radius: var(--tw-cbx-radius-left);
451
+ -webkit-border-radius: var(--tw-cbx-radius-left);
452
+ -moz-border-radius: var(--tw-cbx-radius-left);
453
+ -ms-border-radius: var(--tw-cbx-radius-left);
454
+ -o-border-radius: var(--tw-cbx-radius-left);
455
+ }
456
+
457
+ .twae-story.twae-story-center .twae-content {
458
+ border-width: var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-right-width) var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-right-width);
459
+ }
460
+
461
+ .twae-vertical.twae-bg-gradient .twae-content {
462
+ background-image: linear-gradient(to right, var(--tw-cbx-bg), var(--tw-cbx-bg-gradient));
463
+ }
464
+
465
+ .twae-vertical.twae-bg-gradient .twae-story.twae-story-left .twae-content {
466
+ background-image: linear-gradient(to left, var(--tw-cbx-bg), var(--tw-cbx-bg-gradient));
467
+ }
468
+
469
+ .twae-vertical.twae-bg-gradient .twae-story.twae-story-center .twae-content {
470
+ background-image: linear-gradient(to bottom, var(--tw-cbx-bg), var(--tw-cbx-bg-gradient));
471
+ }
472
+
473
+ .twae-wrapper .twae-story.twae-story-left:hover .twae-content {
474
+ box-shadow: var(--tw-cbx-shadow-left-hover);
475
+ border-radius: var(--tw-cbx-radius-left-hover);
476
+ -webkit-border-radius: var(--tw-cbx-radius-left-hover);
477
+ -moz-border-radius: var(--tw-cbx-radius-left-hover);
478
+ -ms-border-radius: var(--tw-cbx-radius-left-hover);
479
+ -o-border-radius: var(--tw-cbx-radius-left-hover);
480
+ }
481
+
482
+ .twae-story-left .twae-title {
483
+ justify-content: var(--tw-cbx-text-align-alternate);
484
+ text-align: var(--tw-cbx-text-align-alternate);
485
+ }
486
+
487
+ .twae-story-left .twae-media {
488
+ justify-content: var(--tw-cbx-img-align, var(--tw-cbx-text-align-alternate));
489
+ }
490
+
491
+ .twae-story-left .twae-description {
492
+ text-align: var(--tw-cbx-text-align-alternate);
493
+ }
494
+
495
+ .twae-story-left .twae-button {
496
+ justify-content: var(--tw-cbx-btn-align, var(--tw-cbx-text-align-alternate));
497
+ }
498
+
499
+ /* ------------------------ Story Box Vertical - END ------------------------ */
500
+
501
+
502
+ /* ------------------------- Style-2 Default Styles ------------------------- */
503
+ .twae-vertical.style-2 {
504
+ --tw-ibx-radius: 0;
505
+ --tw-ibx-bd-width: calc(var(--tw-line-bd-width, var(--tw-line-width)) * 1px);
506
+
507
+ --tw-cbx-radius: 0px 0px 0px 0px;
508
+ --tw-cbx-radius-left: 0px 0px 0px 0px;
509
+ --tw-cbx-padding: 0px;
510
+ --tw-cbx-bd-left-width: 0px;
511
+
512
+ --tw-cbx-title-color: #fff;
513
+ --tw-cbx-title-bg: var(--tw-ibx-bg);
514
+ --tw-cbx-title-padding: 8px 12px 8px 12px;
515
+ --tw-cbx-title-margin: 0px 0px 0px 0px;
516
+
517
+ --tw-cbx-img-padding: 10px 10px 0px 10px;
518
+
519
+ --tw-cbx-des-padding: 0px 10px 0px 10px;
520
+ }
521
+
522
+ /* ---------------------- Style-2 Default Styles - END ---------------------- */
523
+ /* ------------------------- Style-3 Default Styles ------------------------- */
524
+ .twae-vertical.style-3 {
525
+ --tw-cbx-radius: 0px 0px 0px 0px;
526
+ --tw-cbx-radius-left: 0px 0px 0px 0px;
527
+ --tw-cbx-shadow: 0px;
528
+ --tw-cbx-shadow-left: 0px;
529
+ --tw-cbx-bd-top-width: 1px;
530
+ --tw-cbx-bd-right-width: 1px;
531
+ --tw-cbx-bd-bottom-width: 1px;
532
+ --tw-cbx-bd-left-width: 1px;
533
+ --tw-cbx-des-margin: 0px;
534
+ }
535
+
536
+ /* ---------------------- Style-3 Default Styles - END ---------------------- */
537
+ /* -------------------------- Vertical Styles - END ------------------------- */
538
+
539
+
540
+
541
+ @media only screen and (max-width: 767px) {
542
+
543
+ .twae-start,
544
+ .twae-end {
545
+ left: calc(0px + var(--tw-ibx-size) / 2 - var(--tw-line-width) * 1.5);
546
+ }
547
+
548
+ .twae-vertical .twae-timeline:before,
549
+ .twae-vertical .twae-inner-line {
550
+ left: calc(0px - var(--tw-line-width) / 2 + var(--tw-ibx-size) / 2);
551
+ }
552
+
553
+ .twae-vertical .twae-year {
554
+ justify-content: flex-start;
555
+ }
556
+
557
+ .twae-vertical .twae-year .twae-year-text:after {
558
+ left: calc(0px + var(--tw-ibx-size) / 2 - var(--tw-line-width) /2 + var(--tw-line-bd-width) / 2);
559
+ }
560
+
561
+ .twae-vertical .twae-story,
562
+ .twae-vertical .twae-story.twae-story-center {
563
+ width: calc(100% - var(--tw-ibx-size) * 1.5);
564
+ float: right;
565
+ text-align: left;
566
+ margin-bottom: var(--tw-cbx-bottom-margin);
567
+ top: 0;
568
+ }
569
+
570
+ .twae-vertical .twae-story .twae-labels,
571
+ .twae-vertical .twae-story.twae-story-center .twae-labels {
572
+ position: relative;
573
+ left: 0;
574
+ top: 0;
575
+ text-align: left;
576
+ padding-bottom: 12px;
577
+ width: 100%;
578
+ }
579
+
580
+ .twae-vertical .twae-story.twae-story-center:before,
581
+ .twae-vertical .twae-story.twae-story-center:after {
582
+ display: none;
583
+ opacity: 0;
584
+ }
585
+
586
+ .twae-vertical .twae-icon {
587
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position) / 100));
588
+ }
589
+
590
+ .twae-vertical .twae-icondot {
591
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 4 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position) / 100));
592
+ }
593
+
594
+ .twae-vertical .twae-story-center .twae-icondot {
595
+ left: calc(var(--tw-ibx-size) * 0.75 - var(--tw-ibx-size) * 2);
596
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 4 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position) / 100));
597
+ }
598
+
599
+ .twae-vertical .twae-story-center .twae-icon {
600
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position) / 100));
601
+ left: calc(var(--tw-ibx-size) / 2 - var(--tw-ibx-size) * 2);
602
+ }
603
+
604
+ .twae-vertical .twae-story.twae-story-left {
605
+ float: right;
606
+ }
607
+
608
+ .twae-vertical .twae-story.twae-story-left .twae-labels {
609
+ right: 0;
610
+ }
611
+
612
+ .twae-vertical .twae-arrow,
613
+ .twae-vertical .twae-story-left .twae-arrow {
614
+ border-width: 0 0 var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-left-width);
615
+ left: calc(var(--tw-ibx-size) / 7 - var(--tw-ibx-size) / 3.5 + var(--tw-cbx-bd-left-width) / 3);
616
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 2 - var(--tw-ibx-size) / 7 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position) / 100));
617
+ background: linear-gradient(to top right, var(--tw-arw-bg) 52%, transparent 48%);
618
+ box-shadow: -4px 4px 8px -4px rgb(0, 0, 0, 0.4);
619
+ }
620
+
621
+ .twae-vertical .twae-arrow-line,
622
+ .twae-vertical .twae-story-left .twae-arrow-line {
623
+ right: auto;
624
+ left: calc(0px - var(--tw-ibx-size) * 0.5);
625
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 2 - var(--tw-line-width) / 2 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position) / 100));
626
+ }
627
+
628
+ .twae-vertical .twae-story-left.twae-story-no-icon .twae-arrow-line {
629
+ right: auto;
630
+ left: calc(0px - var(--tw-ibx-size) * 0.75);
631
+ }
632
+
633
+ .twae-vertical .twae-story-left.twae-story-no-dot .twae-arrow-line {
634
+ right: auto;
635
+ left: calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * 0.5);
636
+ }
637
+
638
+ .twae-vertical .twae-story-center .twae-arrow,
639
+ .twae-vertical .twae-story-center .twae-arrow-line {
640
+ display: block;
641
+ opacity: 1;
642
+ }
643
+
644
+ .twae-vertical .twae-story-left .twae-arrow-line:before {
645
+ right: auto;
646
+ left: calc(0px - var(--tw-ibx-bd-width));
647
+ }
648
+
649
+ .twae-vertical .twae-story-left .twae-arrow-line:after {
650
+ left: auto;
651
+ right: calc(0px - var(--tw-cbx-bd-left-width));
652
+ }
653
+
654
+ .twae-vertical .twae-story-left .twae-icon {
655
+ left: calc(var(--tw-ibx-size) / 2 - var(--tw-ibx-size) * 2);
656
+ right: auto;
657
+ }
658
+
659
+ .twae-vertical .twae-story-left .twae-icondot {
660
+ left: calc(var(--tw-ibx-size) * 0.75 - var(--tw-ibx-size) * 2);
661
+ right: auto;
662
+ }
663
+
664
+
665
+ .twae-vertical .twae-story-left .twae-content,
666
+ .twae-vertical .twae-story-center .twae-content {
667
+ border-width: var(--tw-cbx-bd-top-width) var(--tw-cbx-bd-right-width) var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-left-width);
668
+ }
669
+
670
+ .twae-story-left .twae-title {
671
+ justify-content: var(--tw-cbx-text-align);
672
+ text-align: var(--tw-cbx-text-align);
673
+ }
674
+
675
+ .twae-story-left .twae-description {
676
+ text-align: var(--tw-cbx-text-align);
677
+ }
678
+
679
+ .twae-story-left .twae-media {
680
+ justify-content: var(--tw-cbx-img-align, var(--tw-cbx-text-align));
681
+ }
682
+
683
+ .twae-story-left .twae-button {
684
+ justify-content: var(--tw-cbx-btn-align, var(--tw-cbx-text-align));
685
+ }
686
+
687
+ .twae-vertical .twae-year .twae-year-text {
688
+ position: relative;
689
+ overflow: visible;
690
+ left: calc(var(--tw-ibx-size)*1.5);
691
+ right: auto;
692
+ }
693
+
694
+ .twae-vertical .twae-year .twae-year-text:before {
695
+ height: var(--tw-line-width);
696
+ left: auto;
697
+ right: calc(100% + var(--tw-ybx-bd-width)) !important;
698
+ width: calc(var(--tw-ibx-size) - var(--tw-line-width)/2 + var(--tw-line-bd-width)*1px);
699
+ background-color: var(--tw-line-bg);
700
+ opacity: 1;
701
+ }
702
+
703
+ .twae-vertical .twae-year-label.twae-year-text::after {
704
+ right: 100%;
705
+ left: auto;
706
+ width: var(--tw-ybx-bd-width);
707
+ height: var(--tw-line-width);
708
+ }
709
+
710
+ .twae-vertical .twae-year-label.twae-year-text::after,
711
+ .twae-vertical .twae-year .twae-year-text:before {
712
+ top: calc(50% - var(--tw-line-width)/2) !important;
713
+ border-width: calc(var(--tw-line-bd-width)*1px) 0 calc(var(--tw-line-bd-width)*1px) 0;
714
+ border-style: var(--tw-line-bd-style);
715
+ border-color: var(--tw-line-bd-color);
716
+ }
717
+ }
718
+
719
+ /* ---------------------------- One Sided Styles ---------------------------- */
720
+ @media only screen and (min-width: 768px) {
721
+
722
+ /* ------------------------ One Sided Vertical Right ------------------------ */
723
+ .twae-vertical-right .twae-start,
724
+ .twae-vertical-right .twae-end {
725
+ left: calc(33.33% - var(--tw-line-width) * 1.5);
726
+ }
727
+
728
+ .twae-vertical-right .twae-timeline:before,
729
+ .twae-vertical-right .twae-inner-line {
730
+ left: calc(33.33% - var(--tw-line-width) / 2);
731
+ }
732
+
733
+ .twae-vertical-right .twae-year {
734
+ justify-content: left;
735
+ /* padding-left: calc(25.33% - var(--tw-ybx-size) / 2);*/
736
+ }
737
+
738
+ .twae-vertical-right .twae-year-text:before,
739
+ .twae-vertical-right .twae-year-text:after {
740
+ left: calc(25.33% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px) / 2);
741
+ }
742
+
743
+ .twae-vertical-right .twae-labels {
744
+ right: auto;
745
+ left: calc((-100% + var(--tw-ibx-size)) / 2 - var(--tw-ibx-size) * 2);
746
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 - (var(--tw-lbl-big-size) / 2 - var(--tw-ibx-size) / 2));
747
+ width: calc((100% + var(--tw-ibx-size)) / 2 - var(--tw-ibx-size));
748
+ text-align: right;
749
+ }
750
+
751
+ .twae-vertical-right .twae-story {
752
+ width: calc(66.66% - var(--tw-ibx-size));
753
+ float: right;
754
+ margin-bottom: var(--tw-cbx-bottom-margin);
755
+ text-align: left;
756
+ top: auto;
757
+ }
758
+
759
+ .twae-vertical-right .twae-content {
760
+ border-width: var(--tw-cbx-bd-top-width) var(--tw-cbx-bd-right-width) var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-left-width);
761
+ }
762
+
763
+ .twae-vertical-right .twae-icon {
764
+ right: auto;
765
+ left: calc(var(--tw-ibx-size) / 2 - var(--tw-ibx-size) * 2);
766
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100);
767
+ }
768
+
769
+ .twae-vertical-right .twae-icondot {
770
+ right: auto;
771
+ left: calc(var(--tw-ibx-size) * 0.75 - var(--tw-ibx-size) * 2);
772
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 4);
773
+ }
774
+
775
+ .twae-vertical-right .twae-arrow {
776
+ background: linear-gradient(to top right, var(--tw-arw-bg) 52%, transparent 48%);
777
+ border-width: 0 0 var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-left-width);
778
+ right: auto;
779
+ left: calc(var(--tw-ibx-size) / 7 - var(--tw-ibx-size) / 3.5 + var(--tw-cbx-bd-left-width) / 3);
780
+ box-shadow: -4px 4px 8px -4px rgb(0, 0, 0, 0.4);
781
+ }
782
+
783
+ .twae-vertical-right .twae-arrow-line {
784
+ right: auto;
785
+ left: calc(0px - var(--tw-ibx-size) * 0.5);
786
+ }
787
+
788
+ .twae-vertical-right .twae-arrow-line:before {
789
+ right: auto;
790
+ left: calc(0px - var(--tw-ibx-bd-width));
791
+ }
792
+
793
+ .twae-vertical-right .twae-arrow-line:after {
794
+ left: auto;
795
+ right: calc(0px - var(--tw-cbx-bd-left-width));
796
+ }
797
+
798
+ .twae-vertical-right .twae-story-no-icon .twae-arrow-line {
799
+ right: auto;
800
+ left: calc(0px - var(--tw-ibx-size) * 0.75);
801
+ }
802
+
803
+ .twae-vertical-right .twae-story-no-dot .twae-arrow-line {
804
+ right: auto;
805
+ left: calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * 0.5);
806
+ }
807
+
808
+ .twae-vertical-right .twae-story.twae-story-center:before,
809
+ .twae-vertical-right .twae-story.twae-story-center:after {
810
+ display: none;
811
+ }
812
+
813
+ .twae-vertical-right .twae-story-center .twae-arrow,
814
+ .twae-vertical-right .twae-story-center .twae-arrow-line {
815
+ display: block;
816
+ opacity: 1;
817
+ }
818
+
819
+ /* --------------------- One Sided Vertical Right - END --------------------- */
820
+
821
+
822
+
823
+ /* ------------------------ One Sided Vertical Left ------------------------ */
824
+ .twae-vertical-left .twae-start,
825
+ .twae-vertical-left .twae-end {
826
+ left: calc(66.66% - var(--tw-line-width) * 1.5);
827
+ }
828
+
829
+ .twae-vertical-left .twae-timeline:before,
830
+ .twae-vertical-left .twae-inner-line {
831
+ left: calc(66.66% - var(--tw-line-width) / 2);
832
+ }
833
+
834
+ .twae-vertical-left .twae-year {
835
+ justify-content: left;
836
+ padding-left: calc(66.66% - var(--tw-ybx-size) / 2);
837
+ }
838
+
839
+ .twae-vertical-left .twae-year-text:before,
840
+ .twae-vertical-left .twae-year-text:after {
841
+ left: calc(66.66% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px) / 2);
842
+ }
843
+
844
+ .twae-vertical-left .twae-story .twae-labels {
845
+ left: auto;
846
+ right: calc((-100% + var(--tw-ibx-size)) / 2 - var(--tw-ibx-size) * 2);
847
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 - (var(--tw-lbl-big-size) / 2 - var(--tw-ibx-size) / 2));
848
+ width: calc((100% + var(--tw-ibx-size)) / 2 - var(--tw-ibx-size));
849
+ text-align: left;
850
+ }
851
+
852
+ .twae-vertical-left .twae-story {
853
+ float: left;
854
+ width: calc(66.66% - var(--tw-ibx-size));
855
+ margin-bottom: var(--tw-cbx-bottom-margin);
856
+ text-align: left;
857
+ top: auto;
858
+ }
859
+
860
+ .twae-vertical-left .twae-content {
861
+ border-width: var(--tw-cbx-bd-top-width) var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-right-width);
862
+ }
863
+
864
+ .twae-vertical-left .twae-icon {
865
+ left: auto;
866
+ right: calc(var(--tw-ibx-size) / 2 - var(--tw-ibx-size) * 2);
867
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100);
868
+ }
869
+
870
+ .twae-vertical-left .twae-icondot {
871
+ left: auto;
872
+ right: calc(var(--tw-ibx-size) * 0.75 - var(--tw-ibx-size) * 2);
873
+ top: calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position) / 100 + var(--tw-ibx-size) / 4);
874
+ }
875
+
876
+ .twae-vertical-left .twae-arrow {
877
+ left: auto;
878
+ right: calc(var(--tw-ibx-size) / 7 - var(--tw-ibx-size) / 3.5 + var(--tw-cbx-bd-left-width) / 3);
879
+ background: linear-gradient(to bottom left, var(--tw-arw-bg) 52%, transparent 48%);
880
+ border-width: var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-left-width) 0px 0px;
881
+ box-shadow: 4px -4px 8px -4px rgb(0, 0, 0, 0.4);
882
+ }
883
+
884
+ .twae-vertical-left .twae-arrow-line {
885
+ left: auto;
886
+ right: calc(0px - var(--tw-ibx-size) * 0.5);
887
+ }
888
+
889
+ .twae-vertical-left .twae-arrow-line:before {
890
+ left: auto;
891
+ right: calc(0px - var(--tw-ibx-bd-width));
892
+ }
893
+
894
+ .twae-vertical-left .twae-arrow-line:after {
895
+ right: auto;
896
+ left: calc(0px - var(--tw-cbx-bd-left-width));
897
+ }
898
+
899
+ .twae-vertical-left .twae-story-no-icon .twae-arrow-line {
900
+ left: auto;
901
+ right: calc(0px - var(--tw-ibx-size) * 0.75);
902
+ }
903
+
904
+ .twae-vertical-left .twae-story-no-dot .twae-arrow-line {
905
+ left: auto;
906
+ right: calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * 0.5);
907
+ }
908
+
909
+ .twae-vertical-left .twae-story.twae-story-center:before,
910
+ .twae-vertical-left .twae-story.twae-story-center:after {
911
+ display: none;
912
+ }
913
+
914
+ .twae-vertical-left .twae-story-center .twae-arrow,
915
+ .twae-vertical-left .twae-story-center .twae-arrow-line {
916
+ display: block;
917
+ opacity: 1;
918
+ }
919
+
920
+ /* --------------------- One Sided Vertical left - END --------------------- */
921
+
922
+
923
+
924
+ /* ------------------------ One Sided Vertical Center ----------------------- */
925
+ .twae-vertical-center .twae-labels {
926
+ top: calc(0px - var(--tw-ibx-size) * 2 - (var(--tw-lbl-big-size) / 2 - var(--tw-ibx-size) / 2));
927
+ left: calc(50% + var(--tw-ibx-size));
928
+ width: calc(50% - var(--tw-ibx-size));
929
+ text-align: left;
930
+ }
931
+
932
+ .twae-vertical-center .twae-icon {
933
+ top: calc(0px - var(--tw-ibx-size) * 2);
934
+ left: calc(50% - var(--tw-ibx-size) / 2);
935
+ }
936
+
937
+ .twae-vertical-center .twae-icondot {
938
+ top: calc(0px - var(--tw-ibx-size) * 1.75);
939
+ left: calc(50% - var(--tw-ibx-size) / 4);
940
+ }
941
+
942
+ .twae-vertical-center .twae-arrow,
943
+ .twae-vertical-center .twae-arrow-line {
944
+ display: none;
945
+ opacity: 0;
946
+ }
947
+
948
+ .twae-vertical-center .twae-story {
949
+ width: 100%;
950
+ margin-left: auto;
951
+ margin-right: auto;
952
+ float: none;
953
+ text-align: center;
954
+ top: calc(var(--tw-ibx-size) * 2.5);
955
+ margin-bottom: calc(var(--tw-ibx-size) * 2.5 + var(--tw-cbx-bottom-margin));
956
+ }
957
+
958
+ .twae-vertical-center .twae-content {
959
+ border-width: var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-right-width) var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-right-width);
960
+ }
961
+
962
+ .twae-vertical-center .twae-story:before,
963
+ .twae-vertical-center .twae-story:after {
964
+ content: " ";
965
+ position: absolute;
966
+ height: calc(var(--tw-cbx-bd-left-width) + 10px);
967
+ width: calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);
968
+ background: var(--tw-line-bg);
969
+ left: calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px) / 2);
970
+ opacity: var(--tw-line-bd-width);
971
+ z-index: 1;
972
+ }
973
+
974
+ .twae-vertical-center .twae-story:before {
975
+ top: -10px;
976
+ }
977
+
978
+ .twae-vertical-center .twae-story:after {
979
+ bottom: -10px;
980
+ }
981
+
982
+ /* --------------------- One Sided Vertical Center - END -------------------- */
983
+ }
984
+
985
+ /* ------------------------- One Sided Styles - END ------------------------- */
assets/css/twae-vertical-timeline.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .twae-slideshow{width:100%}.twae-icon-left-open,.twae-icon-right-open{position:absolute;top:50%;margin-top:-22px;z-index:10;cursor:pointer}.twae-icon-right-open{right:0}.twae-vertical{--tw-ibx-position:0;--tw-cbx-text-align:left;--tw-cbx-bd-top-width:0px;--tw-cbx-bd-right-width:0px;--tw-cbx-bd-bottom-width:0px;--tw-cbx-bd-left-width:3px;--tw-cbx-img-order:2;max-width:1600px;padding:calc(var(--tw-line-width) * 3) 0;margin:0 auto}.twae-end,.twae-start{background-color:var(--tw-line-bg);width:calc(var(--tw-line-width) * 3);height:calc(var(--tw-line-width) * 3);display:inline-block;position:absolute;left:calc(50% - var(--tw-line-width) * 1.5);z-index:9;border-width:calc(var(--tw-line-bd-width) * 1px);border-style:var(--tw-line-bd-style);border-color:var(--tw-line-bd-color);border-radius:calc(var(--tw-ibx-radius) * 1%);-webkit-border-radius:calc(var(--tw-ibx-radius) * 1%);-moz-border-radius:calc(var(--tw-ibx-radius) * 1%);-ms-border-radius:calc(var(--tw-ibx-radius) * 1%);-o-border-radius:calc(var(--tw-ibx-radius) * 1%)}.twae-start{top:2px}.twae-end{bottom:2px}.twae-post-timeline .twae-end{bottom:inherit!important}.twea-pagination{margin-top:15px}.twae-end:after,.twae-start:after{content:'';position:absolute;height:calc(var(--tw-line-bd-width) * 1px + var(--tw-line-width) * .1);width:calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);background-color:var(--tw-line-bg);left:calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px)/ 2)}.twae-start:after{bottom:calc(0px - var(--tw-line-bd-width) * 1px)}.twae-end:after{top:calc(0px - var(--tw-line-bd-width) * 1px)}.twae-end-fill:not(.twae-end-out-viewport) .twae-end,.twae-end-fill:not(.twae-end-out-viewport) .twae-end:after,.twae-start-fill:not(.twae-start-out-viewport) .twae-start,.twae-start-fill:not(.twae-start-out-viewport) .twae-start:after{background-color:var(--tw-line-filling-color);border-color:var(--tw-line-filling-color)}.twae-timeline{position:relative;margin:0;padding:40px 0;display:flow-root;width:100%}.twae-timeline:before{content:'';position:absolute;top:0;bottom:0;left:calc(50% - var(--tw-line-width)/ 2);display:block;width:var(--tw-line-width);background-color:var(--tw-line-bg)!important;border-width:0 calc(var(--tw-line-bd-width) * 1px) 0 calc(var(--tw-line-bd-width) * 1px);border-style:var(--tw-line-bd-style);border-color:var(--tw-line-bd-color)}.twae-inner-line{position:absolute;top:0;bottom:0;left:calc(50% - var(--tw-line-width)/ 2);display:block;width:var(--tw-line-width);background-color:var(--tw-line-filling-color)}.twae-vertical .twae-year{position:relative;margin:30px 0;justify-content:center;width:100%}.twae-vertical .twae-year:first-child{margin-top:0!important}.twae-vertical .twae-year-text:after,.twae-vertical .twae-year-text:before{height:calc(var(--tw-ybx-bd-width) + var(--tw-line-width) * .1);width:calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);left:calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px)/ 2)}.twae-vertical .twae-year-text:before{top:0}.twae-vertical .twae-year-text:after{bottom:0}.twae-end-out-viewport:not(.twae-start-out-viewport) .twae-year:not(.twae-out-viewport) .twae-year-text{border-color:var(--tw-line-filling-color)}.twae-end-out-viewport:not(.twae-start-out-viewport) .twae-year:not(.twae-out-viewport) .twae-year-text:after,.twae-end-out-viewport:not(.twae-start-out-viewport) .twae-year:not(.twae-out-viewport) .twae-year-text:before{background:var(--tw-line-filling-color)}.twae-vertical .twae-labels{justify-content:space-between;top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 - (var(--tw-lbl-big-size)/ 2 - var(--tw-ibx-size)/ 2));left:calc(-100% - var(--tw-ibx-size) * 2);text-align:right}.twae-story-left .twae-labels{left:auto;right:calc(-100% - var(--tw-ibx-size) * 2);text-align:left}.twae-story-center .twae-labels{top:calc(0px - var(--tw-ibx-size) * 2 - (var(--tw-lbl-big-size)/ 2 - var(--tw-ibx-size)/ 2));left:calc(50% + var(--tw-ibx-size));width:calc(50% - var(--tw-ibx-size));text-align:left}.twae-vertical .twae-icon{top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100);left:calc(var(--tw-ibx-size)/ 2 - var(--tw-ibx-size) * 2)}.twae-story-left .twae-icon{left:auto;right:calc(var(--tw-ibx-size)/ 2 - var(--tw-ibx-size) * 2)}.twae-vertical .twae-icondot{left:calc(var(--tw-ibx-size) * .75 - var(--tw-ibx-size) * 2);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 4)}.twae-story-left .twae-icondot{left:auto;right:calc(var(--tw-ibx-size) * .75 - var(--tw-ibx-size) * 2)}.twae-story-center .twae-icon{top:calc(0px - var(--tw-ibx-size) * 2);left:calc(50% - var(--tw-ibx-size)/ 2)}.twae-story-center .twae-icondot{top:calc(0px - var(--tw-ibx-size) * 1.75);left:calc(50% - var(--tw-ibx-size)/ 4)}.twae-vertical .twae-icon:after,.twae-vertical .twae-icon:before,.twae-vertical .twae-icondot:after,.twae-vertical .twae-icondot:before{height:calc(var(--tw-ibx-bd-width) + var(--tw-line-width) * .1);width:calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);left:calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px)/ 2)}.twae-vertical .twae-icon:before,.twae-vertical .twae-icondot:before{top:calc(0px - var(--tw-ibx-bd-width))}.twae-vertical .twae-icon:after,.twae-vertical .twae-icondot:after{bottom:calc(0px - var(--tw-ibx-bd-width))}.twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icon,.twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icondot{border-color:var(--tw-line-filling-color);border-style:solid}.twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icon:after,.twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icon:before,.twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icondot:after,.twae-end-out-viewport:not(.twae-start-out-viewport) .twae-story:not(.twae-out-viewport) .twae-icondot:before{background:var(--tw-line-filling-color)}.twae-vertical .twae-arrow{background:linear-gradient(to top right,var(--tw-arw-bg) 52%,transparent 48%);left:calc(var(--tw-ibx-size)/ 7 - var(--tw-ibx-size)/ 3.5 + var(--tw-cbx-bd-left-width)/ 3);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 2 - var(--tw-ibx-size)/ 7);border-width:0 0 var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-left-width);box-shadow:-4px 4px 8px -4px rgb(0,0,0,.4)}.twae-vertical .twae-story.twae-bg-hover:hover .twae-arrow,.twae-vertical.twae-bg-gradient .twae-story.twae-bg-hover:hover .twae-arrow,.twae-vertical.twae-bg-multicolor .twae-story.twae-bg-hover:hover .twae-arrow{background:linear-gradient(to top right,var(--tw-cbx-title-bg,var(--tw-cbx-bg-hover)) 52%,transparent 48%)}.twae-vertical .twae-story.twae-bg-hover.twae-story-left:hover .twae-arrow,.twae-vertical.twae-bg-gradient .twae-story.twae-bg-hover.twae-story-left:hover .twae-arrow,.twae-vertical.twae-bg-multicolor .twae-story.twae-bg-hover.twae-story-left:hover .twae-arrow{background:linear-gradient(to bottom left,var(--tw-cbx-title-bg,var(--tw-cbx-bg-hover)) 52%,transparent 48%)}.twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n-2) .twae-arrow{background:linear-gradient(to top right,var(--tw-arw-bg2,var(--tw-arw-bg)) 52%,transparent 48%)}.twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n-1) .twae-arrow{background:linear-gradient(to top right,var(--tw-arw-bg3,var(--tw-arw-bg)) 52%,transparent 48%)}.twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n) .twae-arrow{background:linear-gradient(to top right,var(--tw-arw-bg4,var(--tw-arw-bg)) 52%,transparent 48%)}.twae-story-left .twae-arrow{left:auto;right:calc(var(--tw-ibx-size)/ 7 - var(--tw-ibx-size)/ 3.5 + var(--tw-cbx-bd-left-width)/ 3);background:linear-gradient(to bottom left,var(--tw-arw-bg) 52%,transparent 48%);border-width:var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-left-width) 0 0;box-shadow:4px -4px 8px -4px rgb(0,0,0,.4)}.twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n-2).twae-story-left .twae-arrow{background:linear-gradient(to bottom left,var(--tw-arw-bg2,var(--tw-arw-bg)) 52%,transparent 48%)}.twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n-1).twae-story-left .twae-arrow{background:linear-gradient(to bottom left,var(--tw-arw-bg3,var(--tw-arw-bg)) 52%,transparent 48%)}.twae-vertical.twae-bg-multicolor .twae-story:nth-child(4n).twae-story-left .twae-arrow{background:linear-gradient(to bottom left,var(--tw-arw-bg4,var(--tw-arw-bg)) 52%,transparent 48%)}.twae-vertical .twae-arrow-line{left:calc(0px - var(--tw-ibx-size) * .5);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 2 - var(--tw-line-width)/ 2);width:calc(var(--tw-ibx-size) * .5);height:var(--tw-line-width);border-width:calc(var(--tw-line-bd-width) * 1px) 0 calc(var(--tw-line-bd-width) * 1px) 0}.twae-story-left .twae-arrow-line{left:auto;right:calc(0px - var(--tw-ibx-size) * .5)}.twae-vertical .twae-story-no-icon .twae-arrow-line{width:calc(var(--tw-ibx-size) * .75);left:calc(0px - var(--tw-ibx-size) * .75)}.twae-story-left.twae-story-no-icon .twae-arrow-line{left:auto;right:calc(0px - var(--tw-ibx-size) * .75)}.twae-vertical .twae-story-no-dot .twae-arrow-line{width:calc(var(--tw-ibx-size) - var(--tw-line-width) * .5);left:calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * .5)}.twae-story-left.twae-story-no-dot .twae-arrow-line{left:auto;right:calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * .5)}.twae-vertical .twae-arrow-line:after,.twae-vertical .twae-arrow-line:before{height:var(--tw-line-width);top:calc(0px - calc(var(--tw-line-bd-width) * 1px));border-width:calc(var(--tw-line-bd-width) * 1px) 0 calc(var(--tw-line-bd-width) * 1px) 0}.twae-vertical .twae-arrow-line:before{width:calc(var(--tw-ibx-bd-width));left:calc(0px - var(--tw-ibx-bd-width))}.twae-vertical .twae-story-left .twae-arrow-line:before{left:auto;right:calc(0px - var(--tw-ibx-bd-width))}.twae-vertical .twae-arrow-line:after{width:calc(var(--tw-cbx-bd-left-width));right:calc(0px - var(--tw-cbx-bd-left-width))}.twae-vertical .twae-story-left .twae-arrow-line:after{right:auto;left:calc(0px - var(--tw-cbx-bd-left-width))}.twae-story-center .twae-arrow,.twae-story-center .twae-arrow-line{display:none;opacity:0}.twae-vertical .twae-story{position:relative;width:calc(50% - var(--tw-ibx-size));float:right;clear:both}.twae-story.twae-story-left{float:left}.twae-story.twae-story-center{width:100%;margin-left:auto;margin-right:auto;float:none;text-align:center;top:calc(var(--tw-ibx-size) * 2.5);margin-bottom:calc(var(--tw-ibx-size) * 2.5 + var(--tw-cbx-bottom-margin))}.twae-story.twae-story-center:after,.twae-story.twae-story-center:before{content:" ";position:absolute;height:calc(var(--tw-cbx-bd-left-width) + 10px);width:calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);background:var(--tw-line-bg);left:calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px)/ 2);opacity:var(--tw-line-bd-width);z-index:1}.twae-story.twae-story-center:before{top:-10px}.twae-story.twae-story-center:after{bottom:-10px}.twae-story.twae-story-left .twae-content{box-shadow:var(--tw-cbx-shadow-left);border-width:var(--tw-cbx-bd-top-width) var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-right-width);border-radius:var(--tw-cbx-radius-left);-webkit-border-radius:var(--tw-cbx-radius-left);-moz-border-radius:var(--tw-cbx-radius-left);-ms-border-radius:var(--tw-cbx-radius-left);-o-border-radius:var(--tw-cbx-radius-left)}.twae-story.twae-story-center .twae-content{border-width:var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-right-width) var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-right-width)}.twae-vertical.twae-bg-gradient .twae-content{background-image:linear-gradient(to right,var(--tw-cbx-bg),var(--tw-cbx-bg-gradient))}.twae-vertical.twae-bg-gradient .twae-story.twae-story-left .twae-content{background-image:linear-gradient(to left,var(--tw-cbx-bg),var(--tw-cbx-bg-gradient))}.twae-vertical.twae-bg-gradient .twae-story.twae-story-center .twae-content{background-image:linear-gradient(to bottom,var(--tw-cbx-bg),var(--tw-cbx-bg-gradient))}.twae-wrapper .twae-story.twae-story-left:hover .twae-content{box-shadow:var(--tw-cbx-shadow-left-hover);border-radius:var(--tw-cbx-radius-left-hover);-webkit-border-radius:var(--tw-cbx-radius-left-hover);-moz-border-radius:var(--tw-cbx-radius-left-hover);-ms-border-radius:var(--tw-cbx-radius-left-hover);-o-border-radius:var(--tw-cbx-radius-left-hover)}.twae-story-left .twae-title{justify-content:var(--tw-cbx-text-align-alternate);text-align:var(--tw-cbx-text-align-alternate)}.twae-story-left .twae-media{justify-content:var(--tw-cbx-img-align,var(--tw-cbx-text-align-alternate))}.twae-story-left .twae-description{text-align:var(--tw-cbx-text-align-alternate)}.twae-story-left .twae-button{justify-content:var(--tw-cbx-btn-align,var(--tw-cbx-text-align-alternate))}.twae-vertical.style-2{--tw-ibx-radius:0;--tw-ibx-bd-width:calc(var(--tw-line-bd-width, var(--tw-line-width)) * 1px);--tw-cbx-radius:0px 0px 0px 0px;--tw-cbx-radius-left:0px 0px 0px 0px;--tw-cbx-padding:0px;--tw-cbx-bd-left-width:0px;--tw-cbx-title-color:#fff;--tw-cbx-title-bg:var(--tw-ibx-bg);--tw-cbx-title-padding:8px 12px 8px 12px;--tw-cbx-title-margin:0px 0px 0px 0px;--tw-cbx-img-padding:10px 10px 0px 10px;--tw-cbx-des-padding:0px 10px 0px 10px}.twae-vertical.style-3{--tw-cbx-radius:0px 0px 0px 0px;--tw-cbx-radius-left:0px 0px 0px 0px;--tw-cbx-shadow:0px;--tw-cbx-shadow-left:0px;--tw-cbx-bd-top-width:1px;--tw-cbx-bd-right-width:1px;--tw-cbx-bd-bottom-width:1px;--tw-cbx-bd-left-width:1px;--tw-cbx-des-margin:0px}@media only screen and (max-width:767px){.twae-end,.twae-start{left:calc(0px + var(--tw-ibx-size)/ 2 - var(--tw-line-width) * 1.5)}.twae-vertical .twae-inner-line,.twae-vertical .twae-timeline:before{left:calc(0px - var(--tw-line-width)/ 2 + var(--tw-ibx-size)/ 2)}.twae-vertical .twae-year{justify-content:flex-start}.twae-vertical .twae-year .twae-year-text:after{left:calc(0px + var(--tw-ibx-size)/ 2 - var(--tw-line-width)/ 2 + var(--tw-line-bd-width)/ 2)}.twae-vertical .twae-story,.twae-vertical .twae-story.twae-story-center{width:calc(100% - var(--tw-ibx-size) * 1.5);float:right;text-align:left;margin-bottom:var(--tw-cbx-bottom-margin);top:0}.twae-vertical .twae-story .twae-labels,.twae-vertical .twae-story.twae-story-center .twae-labels{position:relative;left:0;top:0;text-align:left;padding-bottom:12px;width:100%}.twae-vertical .twae-story.twae-story-center:after,.twae-vertical .twae-story.twae-story-center:before{display:none;opacity:0}.twae-vertical .twae-icon{top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position)/ 100))}.twae-vertical .twae-icondot{top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 4 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position)/ 100))}.twae-vertical .twae-story-center .twae-icondot{left:calc(var(--tw-ibx-size) * .75 - var(--tw-ibx-size) * 2);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 4 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position)/ 100))}.twae-vertical .twae-story-center .twae-icon{top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position)/ 100));left:calc(var(--tw-ibx-size)/ 2 - var(--tw-ibx-size) * 2)}.twae-vertical .twae-story.twae-story-left{float:right}.twae-vertical .twae-story.twae-story-left .twae-labels{right:0}.twae-vertical .twae-arrow,.twae-vertical .twae-story-left .twae-arrow{border-width:0 0 var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-left-width);left:calc(var(--tw-ibx-size)/ 7 - var(--tw-ibx-size)/ 3.5 + var(--tw-cbx-bd-left-width)/ 3);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 2 - var(--tw-ibx-size)/ 7 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position)/ 100));background:linear-gradient(to top right,var(--tw-arw-bg) 52%,transparent 48%);box-shadow:-4px 4px 8px -4px rgb(0,0,0,.4)}.twae-vertical .twae-arrow-line,.twae-vertical .twae-story-left .twae-arrow-line{right:auto;left:calc(0px - var(--tw-ibx-size) * .5);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 2 - var(--tw-line-width)/ 2 + (var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) - ((var(--tw-lbl-big-size) + var(--tw-lbl-small-size) + var(--tw-lbl-gap) + 12px) * var(--tw-ibx-position)/ 100))}.twae-vertical .twae-story-left.twae-story-no-icon .twae-arrow-line{right:auto;left:calc(0px - var(--tw-ibx-size) * .75)}.twae-vertical .twae-story-left.twae-story-no-dot .twae-arrow-line{right:auto;left:calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * .5)}.twae-vertical .twae-story-center .twae-arrow,.twae-vertical .twae-story-center .twae-arrow-line{display:block;opacity:1}.twae-vertical .twae-story-left .twae-arrow-line:before{right:auto;left:calc(0px - var(--tw-ibx-bd-width))}.twae-vertical .twae-story-left .twae-arrow-line:after{left:auto;right:calc(0px - var(--tw-cbx-bd-left-width))}.twae-vertical .twae-story-left .twae-icon{left:calc(var(--tw-ibx-size)/ 2 - var(--tw-ibx-size) * 2);right:auto}.twae-vertical .twae-story-left .twae-icondot{left:calc(var(--tw-ibx-size) * .75 - var(--tw-ibx-size) * 2);right:auto}.twae-vertical .twae-story-center .twae-content,.twae-vertical .twae-story-left .twae-content{border-width:var(--tw-cbx-bd-top-width) var(--tw-cbx-bd-right-width) var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-left-width)}.twae-story-left .twae-title{justify-content:var(--tw-cbx-text-align);text-align:var(--tw-cbx-text-align)}.twae-story-left .twae-description{text-align:var(--tw-cbx-text-align)}.twae-story-left .twae-media{justify-content:var(--tw-cbx-img-align,var(--tw-cbx-text-align))}.twae-story-left .twae-button{justify-content:var(--tw-cbx-btn-align,var(--tw-cbx-text-align))}.twae-vertical .twae-year .twae-year-text{position:relative;overflow:visible;left:calc(var(--tw-ibx-size)*1.5);right:auto}.twae-vertical .twae-year .twae-year-text:before{height:var(--tw-line-width);left:auto;right:calc(100% + var(--tw-ybx-bd-width))!important;width:calc(var(--tw-ibx-size) - var(--tw-line-width)/ 2 + var(--tw-line-bd-width)*1px);background-color:var(--tw-line-bg);opacity:1}.twae-vertical .twae-year-label.twae-year-text::after{right:100%;left:auto;width:var(--tw-ybx-bd-width);height:var(--tw-line-width)}.twae-vertical .twae-year .twae-year-text:before,.twae-vertical .twae-year-label.twae-year-text::after{top:calc(50% - var(--tw-line-width)/ 2)!important;border-width:calc(var(--tw-line-bd-width)*1px) 0 calc(var(--tw-line-bd-width)*1px) 0;border-style:var(--tw-line-bd-style);border-color:var(--tw-line-bd-color)}}@media only screen and (min-width:768px){.twae-vertical-right .twae-end,.twae-vertical-right .twae-start{left:calc(33.33% - var(--tw-line-width) * 1.5)}.twae-vertical-right .twae-inner-line,.twae-vertical-right .twae-timeline:before{left:calc(33.33% - var(--tw-line-width)/ 2)}.twae-vertical-right .twae-year{justify-content:left}.twae-vertical-right .twae-year-text:after,.twae-vertical-right .twae-year-text:before{left:calc(25.33% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px)/ 2)}.twae-vertical-right .twae-labels{right:auto;left:calc((-100% + var(--tw-ibx-size))/ 2 - var(--tw-ibx-size) * 2);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 - (var(--tw-lbl-big-size)/ 2 - var(--tw-ibx-size)/ 2));width:calc((100% + var(--tw-ibx-size))/ 2 - var(--tw-ibx-size));text-align:right}.twae-vertical-right .twae-story{width:calc(66.66% - var(--tw-ibx-size));float:right;margin-bottom:var(--tw-cbx-bottom-margin);text-align:left;top:auto}.twae-vertical-right .twae-content{border-width:var(--tw-cbx-bd-top-width) var(--tw-cbx-bd-right-width) var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-left-width)}.twae-vertical-right .twae-icon{right:auto;left:calc(var(--tw-ibx-size)/ 2 - var(--tw-ibx-size) * 2);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100)}.twae-vertical-right .twae-icondot{right:auto;left:calc(var(--tw-ibx-size) * .75 - var(--tw-ibx-size) * 2);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 4)}.twae-vertical-right .twae-arrow{background:linear-gradient(to top right,var(--tw-arw-bg) 52%,transparent 48%);border-width:0 0 var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-left-width);right:auto;left:calc(var(--tw-ibx-size)/ 7 - var(--tw-ibx-size)/ 3.5 + var(--tw-cbx-bd-left-width)/ 3);box-shadow:-4px 4px 8px -4px rgb(0,0,0,.4)}.twae-vertical-right .twae-arrow-line{right:auto;left:calc(0px - var(--tw-ibx-size) * .5)}.twae-vertical-right .twae-arrow-line:before{right:auto;left:calc(0px - var(--tw-ibx-bd-width))}.twae-vertical-right .twae-arrow-line:after{left:auto;right:calc(0px - var(--tw-cbx-bd-left-width))}.twae-vertical-right .twae-story-no-icon .twae-arrow-line{right:auto;left:calc(0px - var(--tw-ibx-size) * .75)}.twae-vertical-right .twae-story-no-dot .twae-arrow-line{right:auto;left:calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * .5)}.twae-vertical-right .twae-story.twae-story-center:after,.twae-vertical-right .twae-story.twae-story-center:before{display:none}.twae-vertical-right .twae-story-center .twae-arrow,.twae-vertical-right .twae-story-center .twae-arrow-line{display:block;opacity:1}.twae-vertical-left .twae-end,.twae-vertical-left .twae-start{left:calc(66.66% - var(--tw-line-width) * 1.5)}.twae-vertical-left .twae-inner-line,.twae-vertical-left .twae-timeline:before{left:calc(66.66% - var(--tw-line-width)/ 2)}.twae-vertical-left .twae-year{justify-content:left;padding-left:calc(66.66% - var(--tw-ybx-size)/ 2)}.twae-vertical-left .twae-year-text:after,.twae-vertical-left .twae-year-text:before{left:calc(66.66% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px)/ 2)}.twae-vertical-left .twae-story .twae-labels{left:auto;right:calc((-100% + var(--tw-ibx-size))/ 2 - var(--tw-ibx-size) * 2);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 - (var(--tw-lbl-big-size)/ 2 - var(--tw-ibx-size)/ 2));width:calc((100% + var(--tw-ibx-size))/ 2 - var(--tw-ibx-size));text-align:left}.twae-vertical-left .twae-story{float:left;width:calc(66.66% - var(--tw-ibx-size));margin-bottom:var(--tw-cbx-bottom-margin);text-align:left;top:auto}.twae-vertical-left .twae-content{border-width:var(--tw-cbx-bd-top-width) var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-bottom-width) var(--tw-cbx-bd-right-width)}.twae-vertical-left .twae-icon{left:auto;right:calc(var(--tw-ibx-size)/ 2 - var(--tw-ibx-size) * 2);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100)}.twae-vertical-left .twae-icondot{left:auto;right:calc(var(--tw-ibx-size) * .75 - var(--tw-ibx-size) * 2);top:calc(var(--tw-ibx-position) * 1% - var(--tw-ibx-size) * var(--tw-ibx-position)/ 100 + var(--tw-ibx-size)/ 4)}.twae-vertical-left .twae-arrow{left:auto;right:calc(var(--tw-ibx-size)/ 7 - var(--tw-ibx-size)/ 3.5 + var(--tw-cbx-bd-left-width)/ 3);background:linear-gradient(to bottom left,var(--tw-arw-bg) 52%,transparent 48%);border-width:var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-left-width) 0 0;box-shadow:4px -4px 8px -4px rgb(0,0,0,.4)}.twae-vertical-left .twae-arrow-line{left:auto;right:calc(0px - var(--tw-ibx-size) * .5)}.twae-vertical-left .twae-arrow-line:before{left:auto;right:calc(0px - var(--tw-ibx-bd-width))}.twae-vertical-left .twae-arrow-line:after{right:auto;left:calc(0px - var(--tw-cbx-bd-left-width))}.twae-vertical-left .twae-story-no-icon .twae-arrow-line{left:auto;right:calc(0px - var(--tw-ibx-size) * .75)}.twae-vertical-left .twae-story-no-dot .twae-arrow-line{left:auto;right:calc(0px - var(--tw-ibx-size) + var(--tw-line-width) * .5)}.twae-vertical-left .twae-story.twae-story-center:after,.twae-vertical-left .twae-story.twae-story-center:before{display:none}.twae-vertical-left .twae-story-center .twae-arrow,.twae-vertical-left .twae-story-center .twae-arrow-line{display:block;opacity:1}.twae-vertical-center .twae-labels{top:calc(0px - var(--tw-ibx-size) * 2 - (var(--tw-lbl-big-size)/ 2 - var(--tw-ibx-size)/ 2));left:calc(50% + var(--tw-ibx-size));width:calc(50% - var(--tw-ibx-size));text-align:left}.twae-vertical-center .twae-icon{top:calc(0px - var(--tw-ibx-size) * 2);left:calc(50% - var(--tw-ibx-size)/ 2)}.twae-vertical-center .twae-icondot{top:calc(0px - var(--tw-ibx-size) * 1.75);left:calc(50% - var(--tw-ibx-size)/ 4)}.twae-vertical-center .twae-arrow,.twae-vertical-center .twae-arrow-line{display:none;opacity:0}.twae-vertical-center .twae-story{width:100%;margin-left:auto;margin-right:auto;float:none;text-align:center;top:calc(var(--tw-ibx-size) * 2.5);margin-bottom:calc(var(--tw-ibx-size) * 2.5 + var(--tw-cbx-bottom-margin))}.twae-vertical-center .twae-content{border-width:var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-right-width) var(--tw-cbx-bd-left-width) var(--tw-cbx-bd-right-width)}.twae-vertical-center .twae-story:after,.twae-vertical-center .twae-story:before{content:" ";position:absolute;height:calc(var(--tw-cbx-bd-left-width) + 10px);width:calc(var(--tw-line-width) - var(--tw-line-bd-width) * 2px);background:var(--tw-line-bg);left:calc(50% - (var(--tw-line-width) - var(--tw-line-bd-width) * 2px)/ 2);opacity:var(--tw-line-bd-width);z-index:1}.twae-vertical-center .twae-story:before{top:-10px}.twae-vertical-center .twae-story:after{bottom:-10px}}
assets/font/fontello.eot DELETED
Binary file
assets/font/fontello.svg DELETED
@@ -1,26 +0,0 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg xmlns="http://www.w3.org/2000/svg">
4
- <metadata>Copyright (C) 2020 by original authors @ fontello.com</metadata>
5
- <defs>
6
- <font id="fontello" horiz-adv-x="1000" >
7
- <font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
8
- <missing-glyph horiz-adv-x="1000" />
9
- <glyph glyph-name="left-open-big" unicode="&#xe800;" d="M452-20q26-26 0-48-26-26-48 0l-392 394q-24 24 0 50l392 394q22 26 48 0 26-22 0-48l-358-372z" horiz-adv-x="465" />
10
-
11
- <glyph glyph-name="left-open" unicode="&#xe801;" d="M654 682l-297-296 297-297q10-10 10-25t-10-25l-93-93q-11-10-25-10t-25 10l-414 415q-11 10-11 25t11 25l414 414q10 11 25 11t25-11l93-93q10-10 10-25t-10-25z" horiz-adv-x="714.3" />
12
-
13
- <glyph glyph-name="left-circled" unicode="&#xe802;" d="M920 350q0-190-135-325t-325-135-325 135-135 325q0 192 135 326t325 134 325-134 135-326z m-820 0q0-148 106-254t254-106 254 106 106 254q0 150-106 255t-254 105-254-105-106-255z m552-90l-204 0 0-112-190 202 190 204 0-114 204 0 0-180z" horiz-adv-x="920" />
14
-
15
- <glyph glyph-name="right-open" unicode="&#xe803;" d="M618 361l-414-415q-11-10-25-10t-25 10l-93 93q-11 11-11 25t11 25l296 297-296 296q-11 11-11 25t11 25l93 93q10 11 25 11t25-11l414-414q10-11 10-25t-10-25z" horiz-adv-x="714.3" />
16
-
17
- <glyph glyph-name="right-big" unicode="&#xe804;" d="M821 314q0-30-20-50l-363-364q-22-20-51-20-29 0-50 20l-42 42q-22 21-22 51t22 51l163 163h-393q-29 0-47 21t-18 51v71q0 30 18 51t47 20h393l-163 165q-22 20-22 50t22 50l42 42q21 21 50 21 29 0 51-21l363-363q20-20 20-51z" horiz-adv-x="857.1" />
18
-
19
- <glyph glyph-name="right-circled" unicode="&#xe805;" d="M0 350q0 190 135 325t325 135 325-135 135-325-135-325-325-135-325 135-135 325z m820 0q0 150-105 255t-255 105q-148 0-254-105t-106-255q0-148 106-254t254-106q150 0 255 106t105 254z m-552 90l204 0 0 114 190-204-190-202 0 112-204 0 0 180z" horiz-adv-x="920" />
20
-
21
- <glyph glyph-name="right-open-big" unicode="&#xe806;" d="M13-20l358 370-358 372q-26 26 0 48 26 26 48 0l392-394q24-26 0-50l-392-394q-22-26-48 0-26 22 0 48z" horiz-adv-x="465" />
22
-
23
- <glyph glyph-name="left-open-1" unicode="&#xf007;" d="M0 353l391 391q18 18 43 18 24 0 43-18 18-18 18-44t-18-43l-304-304 304-305q18-17 18-43t-18-43q-18-18-43-18t-43 18z" horiz-adv-x="495.1" />
24
- </font>
25
- </defs>
26
- </svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/font/fontello.ttf DELETED
Binary file
assets/font/fontello.woff DELETED
Binary file
assets/font/fontello.woff2 DELETED
Binary file
assets/images/amazon1.jpg ADDED
Binary file
assets/images/amazon2.jpg ADDED
Binary file
assets/images/amazon3.png ADDED
Binary file
assets/images/pro/bg-hover-style.png ADDED
Binary file
assets/images/pro/border-style.png ADDED
Binary file
assets/images/pro/button-settings.png ADDED
Binary file
assets/images/pro/button-style.png ADDED
Binary file
assets/images/pro/gradient-bg-style.png ADDED
Binary file
assets/images/pro/icon-box-style.png ADDED
Binary file
assets/images/pro/icon-image-settings.png ADDED
Binary file
assets/images/pro/icon-text-settings.png ADDED
Binary file
assets/images/pro/image-style.png ADDED
Binary file
assets/images/pro/layout-h-settings.png ADDED
Binary file
assets/images/pro/layout-settings.png ADDED
Binary file
assets/images/pro/line-style.png ADDED
Binary file
assets/images/pro/multi-bg-style.png ADDED
Binary file
assets/images/pro/single-color-settings.png ADDED
Binary file
assets/images/pro/slideshow-settings.png ADDED
Binary file
assets/images/pro/youtube-settings.png ADDED
Binary file
assets/images/slideshow-images.png DELETED
Binary file
assets/images/story-custom-colors.png DELETED
Binary file
assets/js/twae-horizontal-editor.js DELETED
@@ -1,48 +0,0 @@
1
- jQuery(document).ready(function ($) {
2
-
3
- elementorFrontend.hooks.addAction( 'frontend/element_ready/timeline-widget-addon.default', function($scope, $){
4
-
5
- $(".twae-horizontal.swiper-container").each(function(index){
6
-
7
- var slidestoshow = $(this).data("slidestoshow");
8
- var autoplay = $(this).data("autoplay");
9
-
10
- var swiper = new Swiper( $(this), {
11
- spaceBetween: 10,
12
- autoplay:autoplay,
13
- delay: 5000,
14
- slidesPerView: slidestoshow,
15
- direction: 'horizontal',
16
- pagination: {
17
- el: '.twae-pagination',
18
- type: 'progressbar',
19
- },
20
- navigation: {
21
- nextEl: '.twae-button-next',
22
- prevEl: '.twae-button-prev',
23
- },
24
- // Responsive breakpoints
25
- breakpoints: {
26
- // when window width is >= 320px
27
- 320: {
28
- slidesPerView: 1,
29
- },
30
- // when window width is >= 480px
31
- 480: {
32
- slidesPerView: 2,
33
- },
34
- // when window width is >= 640px
35
- 640: {
36
- slidesPerView: slidestoshow,
37
-
38
- }
39
- },
40
-
41
- });
42
-
43
-
44
- });
45
-
46
- });
47
-
48
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/twae-horizontal.js CHANGED
@@ -1,97 +1,95 @@
1
  class HorizontalSliderClass extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- swiperContainer:'.twae-horizontal.swiper-container',
6
- nextButton: '.twae-button-next',
7
- prevButton: '.twae-button-prev',
8
- paginationEl: '.twae-pagination',
9
- },
10
- };
11
- }
12
 
13
- getDefaultElements() {
14
- const selectors = this.getSettings( 'selectors' );
15
- return {
16
- $swiperContainer: this.$element.find( selectors.swiperContainer ),
17
- $nextButton: this.$element.find( selectors.nextButton ),
18
- $prevButton: this.$element.find( selectors.prevButton ),
19
- $paginationEl: this.$element.find( selectors.paginationEl ),
20
- };
21
- }
22
 
23
- bindEvents() {
24
-
25
- var selector = this.elements.$swiperContainer,
26
- slidestoshow = selector.data("slidestoshow"),
27
- autoplay = selector.data("autoplay"),
28
-
29
- nextButton = this.elements.$nextButton,
30
- prevButton = this.elements.$prevButton,
31
- paginationEl = this.elements.$paginationEl;
32
 
33
  var Navigation; var swiper;
34
- var lang_dir = selector.attr("dir");
35
- if(lang_dir=='rtl'){
36
- var Navigation = {
37
- nextEl: prevButton,
38
- prevEl: nextButton,
39
- }
40
  }
41
- else{
42
- Navigation = {
43
- nextEl: nextButton,
44
- prevEl: prevButton,
45
- }
46
  }
47
  var swiperElement = selector;
48
- var swiperConfig = {
49
- spaceBetween: 10,
50
- autoplay:autoplay,
51
- delay: 5000,
52
- slidesPerView: slidestoshow,
53
- direction: 'horizontal',
54
- pagination: {
55
- el: paginationEl,
56
- type: 'progressbar',
57
- },
58
- navigation: Navigation,
59
- // Responsive breakpoints
60
- breakpoints: {
61
- // when window width is >= 280px
62
- 280: {
63
- slidesPerView: 1,
64
  },
65
- 768:{
66
- slidesPerView: 3,
 
 
 
 
 
 
 
 
 
 
 
67
  },
68
- 1024: {
69
- slidesPerView: slidestoshow,
70
- }
71
- },
72
-
73
  };
74
- if ( 'undefined' === typeof Swiper ) {
75
- const asyncSwiper = elementorFrontend.utils.swiper;
76
- new asyncSwiper( swiperElement, swiperConfig ).then( ( newSwiperInstance ) => {
77
- swiper = newSwiperInstance;
78
- } );
79
  } else {
80
- swiper = new Swiper( swiperElement, swiperConfig );
81
  }
82
- }
83
-
84
  }
85
 
86
 
87
- jQuery( window ).on( 'elementor/frontend/init', () => {
88
 
89
- const addHandler = ( $element ) => {
90
- elementorFrontend.elementsHandler.addHandler( HorizontalSliderClass, {
91
- $element,
92
- });
93
- };
94
 
95
- elementorFrontend.hooks.addAction( 'frontend/element_ready/timeline-widget-addon.default', addHandler );
96
 
97
  });
1
  class HorizontalSliderClass extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ swiperContainer: '.twae-slider-container.swiper-container',
6
+ nextButton: '.twae-button-next',
7
+ prevButton: '.twae-button-prev'
8
+ },
9
+ };
10
+ }
 
11
 
12
+ getDefaultElements() {
13
+ const selectors = this.getSettings('selectors');
14
+ return {
15
+ $swiperContainer: this.$element.find(selectors.swiperContainer),
16
+ $nextButton: this.$element.find(selectors.nextButton),
17
+ $prevButton: this.$element.find(selectors.prevButton),
18
+ $paginationEl: this.$element.find(selectors.paginationEl),
19
+ };
20
+ }
21
 
22
+ bindEvents() {
23
+
24
+ var selector = this.elements.$swiperContainer,
25
+ slidestoshow = selector.data("slidestoshow"),
26
+ autoplay = selector.data("autoplay"),
27
+ nextButton = this.elements.$nextButton,
28
+ prevButton = this.elements.$prevButton,
29
+ paginationEl = this.elements.$paginationEl;
 
30
 
31
  var Navigation; var swiper;
32
+ var lang_dir = selector.data("dir");
33
+ if (lang_dir == 'rtl') {
34
+ var Navigation = {
35
+ nextEl: prevButton,
36
+ prevEl: nextButton,
37
+ }
38
  }
39
+ else {
40
+ Navigation = {
41
+ nextEl: nextButton,
42
+ prevEl: prevButton,
43
+ }
44
  }
45
  var swiperElement = selector;
46
+ var swiperConfig = {
47
+ spaceBetween: 15,
48
+ autoplay: autoplay,
49
+ delay: 3000,
50
+ slidesPerView: slidestoshow,
51
+ direction: 'horizontal',
52
+ pagination: {
53
+ el: paginationEl,
54
+ type: 'progressbar',
 
 
 
 
 
 
 
55
  },
56
+ navigation: Navigation,
57
+ // Responsive breakpoints
58
+ breakpoints: {
59
+ // when window width is >= 280px
60
+ 280: {
61
+ slidesPerView: 1,
62
+ },
63
+ 768: {
64
+ slidesPerView: slidestoshow,
65
+ },
66
+ 1024: {
67
+ slidesPerView: slidestoshow,
68
+ }
69
  },
70
+
 
 
 
 
71
  };
72
+ if ('undefined' === typeof Swiper) {
73
+ const asyncSwiper = elementorFrontend.utils.swiper;
74
+ new asyncSwiper(swiperElement, swiperConfig).then((newSwiperInstance) => {
75
+ swiper = newSwiperInstance;
76
+ });
77
  } else {
78
+ swiper = new Swiper(swiperElement, swiperConfig);
79
  }
80
+ }
81
+
82
  }
83
 
84
 
85
+ jQuery(window).on('elementor/frontend/init', () => {
86
 
87
+ const addHandler = ($element) => {
88
+ elementorFrontend.elementsHandler.addHandler(HorizontalSliderClass, {
89
+ $element,
90
+ });
91
+ };
92
 
93
+ elementorFrontend.hooks.addAction('frontend/element_ready/timeline-widget-addon.default', addHandler);
94
 
95
  });
assets/js/twae-horizontal.min.js CHANGED
@@ -1,5 +1 @@
1
- class HorizontalSliderClass extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{swiperContainer:'.twae-horizontal.swiper-container',nextButton:'.twae-button-next',prevButton:'.twae-button-prev',paginationEl:'.twae-pagination',},};}
2
- getDefaultElements(){const selectors=this.getSettings('selectors');return{$swiperContainer:this.$element.find(selectors.swiperContainer),$nextButton:this.$element.find(selectors.nextButton),$prevButton:this.$element.find(selectors.prevButton),$paginationEl:this.$element.find(selectors.paginationEl),};}
3
- bindEvents(){var selector=this.elements.$swiperContainer,slidestoshow=selector.data("slidestoshow"),autoplay=selector.data("autoplay"),nextButton=this.elements.$nextButton,prevButton=this.elements.$prevButton,paginationEl=this.elements.$paginationEl;var Navigation;var swiper;var lang_dir=selector.attr("dir");if(lang_dir=='rtl'){var Navigation={nextEl:prevButton,prevEl:nextButton,}}
4
- else{Navigation={nextEl:nextButton,prevEl:prevButton,}}var swiperElement=selector;var swiperConfig={spaceBetween:10,autoplay:autoplay,delay:5000,slidesPerView:slidestoshow,direction:'horizontal',pagination:{el:paginationEl,type:'progressbar',},navigation:Navigation,breakpoints:{280:{slidesPerView:1,},768:{slidesPerView:3,},1024:{slidesPerView:slidestoshow,}},};if('undefined'===typeof Swiper){const asyncSwiper=elementorFrontend.utils.swiper;new asyncSwiper(swiperElement,swiperConfig).then((newSwiperInstance)=>{swiper=newSwiperInstance;});}else{swiper=new Swiper(swiperElement,swiperConfig);}}}
5
- jQuery(window).on('elementor/frontend/init',()=>{const addHandler=($element)=>{elementorFrontend.elementsHandler.addHandler(HorizontalSliderClass,{$element,});};elementorFrontend.hooks.addAction('frontend/element_ready/timeline-widget-addon.default',addHandler);});
1
+ class HorizontalSliderClass extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{swiperContainer:".twae-slider-container.swiper-container",nextButton:".twae-button-next",prevButton:".twae-button-prev"}}}getDefaultElements(){const selectors=this.getSettings("selectors");return{$swiperContainer:this.$element.find(selectors.swiperContainer),$nextButton:this.$element.find(selectors.nextButton),$prevButton:this.$element.find(selectors.prevButton),$paginationEl:this.$element.find(selectors.paginationEl)}}bindEvents(){var selector=this.elements.$swiperContainer,slidestoshow=selector.data("slidestoshow"),autoplay=selector.data("autoplay"),nextButton=this.elements.$nextButton,prevButton=this.elements.$prevButton,paginationEl=this.elements.$paginationEl,Navigation,swiper,lang_dir;if("rtl"==selector.data("dir"))var Navigation={nextEl:prevButton,prevEl:nextButton};else Navigation={nextEl:nextButton,prevEl:prevButton};var swiperElement=selector,swiperConfig={spaceBetween:15,autoplay:autoplay,delay:3e3,slidesPerView:slidestoshow,direction:"horizontal",pagination:{el:paginationEl,type:"progressbar"},navigation:Navigation,breakpoints:{280:{slidesPerView:1},768:{slidesPerView:slidestoshow},1024:{slidesPerView:slidestoshow}}};if("undefined"==typeof Swiper){const asyncSwiper=elementorFrontend.utils.swiper;new asyncSwiper(swiperElement,swiperConfig).then(newSwiperInstance=>{swiper=newSwiperInstance})}else swiper=new Swiper(swiperElement,swiperConfig)}}jQuery(window).on("elementor/frontend/init",()=>{const addHandler=$element=>{elementorFrontend.elementsHandler.addHandler(HorizontalSliderClass,{$element:$element})};elementorFrontend.hooks.addAction("frontend/element_ready/timeline-widget-addon.default",addHandler)});
 
 
 
 
assets/js/twae-promotional.js DELETED
@@ -1,350 +0,0 @@
1
- /******/ (function(modules) { // webpackBootstrap
2
- /******/ // The module cache
3
- /******/ var installedModules = {};
4
- /******/
5
- /******/ // The require function
6
- /******/ function __webpack_require__(moduleId) {
7
- /******/
8
- /******/ // Check if module is in cache
9
- /******/ if(installedModules[moduleId]) {
10
- /******/ return installedModules[moduleId].exports;
11
- /******/ }
12
- /******/ // Create a new module (and put it into the cache)
13
- /******/ var module = installedModules[moduleId] = {
14
- /******/ i: moduleId,
15
- /******/ l: false,
16
- /******/ exports: {}
17
- /******/ };
18
- /******/
19
- /******/ // Execute the module function
20
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
- /******/
22
- /******/ // Flag the module as loaded
23
- /******/ module.l = true;
24
- /******/
25
- /******/ // Return the exports of the module
26
- /******/ return module.exports;
27
- /******/ }
28
- /******/
29
- /******/
30
- /******/ // expose the modules object (__webpack_modules__)
31
- /******/ __webpack_require__.m = modules;
32
- /******/
33
- /******/ // expose the module cache
34
- /******/ __webpack_require__.c = installedModules;
35
- /******/
36
- /******/ // define getter function for harmony exports
37
- /******/ __webpack_require__.d = function(exports, name, getter) {
38
- /******/ if(!__webpack_require__.o(exports, name)) {
39
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
- /******/ }
41
- /******/ };
42
- /******/
43
- /******/ // define __esModule on exports
44
- /******/ __webpack_require__.r = function(exports) {
45
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
- /******/ }
48
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
- /******/ };
50
- /******/
51
- /******/ // create a fake namespace object
52
- /******/ // mode & 1: value is a module id, require it
53
- /******/ // mode & 2: merge all properties of value into the ns
54
- /******/ // mode & 4: return value when already ns object
55
- /******/ // mode & 8|1: behave like require
56
- /******/ __webpack_require__.t = function(value, mode) {
57
- /******/ if(mode & 1) value = __webpack_require__(value);
58
- /******/ if(mode & 8) return value;
59
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
- /******/ var ns = Object.create(null);
61
- /******/ __webpack_require__.r(ns);
62
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
- /******/ return ns;
65
- /******/ };
66
- /******/
67
- /******/ // getDefaultExport function for compatibility with non-harmony modules
68
- /******/ __webpack_require__.n = function(module) {
69
- /******/ var getter = module && module.__esModule ?
70
- /******/ function getDefault() { return module['default']; } :
71
- /******/ function getModuleExports() { return module; };
72
- /******/ __webpack_require__.d(getter, 'a', getter);
73
- /******/ return getter;
74
- /******/ };
75
- /******/
76
- /******/ // Object.prototype.hasOwnProperty.call
77
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
- /******/
79
- /******/ // __webpack_public_path__
80
- /******/ __webpack_require__.p = "";
81
- /******/
82
- /******/
83
- /******/ // Load entry module and return exports
84
- /******/ return __webpack_require__(__webpack_require__.s = "./src/js/view/general.js");
85
- /******/ })
86
- /************************************************************************/
87
- /******/ ({
88
-
89
- /***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
90
- /*!*********************************************************************!*\
91
- !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
92
- \*********************************************************************/
93
- /*! exports provided: default */
94
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
95
-
96
- "use strict";
97
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _arrayLikeToArray; });\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js?");
98
-
99
- /***/ }),
100
-
101
- /***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js":
102
- /*!**********************************************************************!*\
103
- !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***!
104
- \**********************************************************************/
105
- /*! exports provided: default */
106
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
107
-
108
- "use strict";
109
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _arrayWithoutHoles; });\n/* harmony import */ var _babel_runtime_helpers_esm_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/arrayLikeToArray */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return Object(_babel_runtime_helpers_esm_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arr);\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js?");
110
-
111
- /***/ }),
112
-
113
- /***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
114
- /*!*******************************************************************!*\
115
- !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
116
- \*******************************************************************/
117
- /*! exports provided: default */
118
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
119
-
120
- "use strict";
121
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _classCallCheck; });\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js?");
122
-
123
- /***/ }),
124
-
125
- /***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
126
- /*!********************************************************************!*\
127
- !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
128
- \********************************************************************/
129
- /*! exports provided: default */
130
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
131
-
132
- "use strict";
133
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _iterableToArray; });\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js?");
134
-
135
- /***/ }),
136
-
137
- /***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js":
138
- /*!**********************************************************************!*\
139
- !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***!
140
- \**********************************************************************/
141
- /*! exports provided: default */
142
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
143
-
144
- "use strict";
145
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _nonIterableSpread; });\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js?");
146
-
147
- /***/ }),
148
-
149
- /***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js":
150
- /*!**********************************************************************!*\
151
- !*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***!
152
- \**********************************************************************/
153
- /*! exports provided: default */
154
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
155
-
156
- "use strict";
157
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _toConsumableArray; });\n/* harmony import */ var _babel_runtime_helpers_esm_arrayWithoutHoles__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/arrayWithoutHoles */ \"./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_iterableToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/iterableToArray */ \"./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_unsupportedIterableToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/unsupportedIterableToArray */ \"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_nonIterableSpread__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/nonIterableSpread */ \"./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\");\n\n\n\n\nfunction _toConsumableArray(arr) {\n return Object(_babel_runtime_helpers_esm_arrayWithoutHoles__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arr) || Object(_babel_runtime_helpers_esm_iterableToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arr) || Object(_babel_runtime_helpers_esm_unsupportedIterableToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(arr) || Object(_babel_runtime_helpers_esm_nonIterableSpread__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js?");
158
-
159
- /***/ }),
160
-
161
- /***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
162
- /*!*******************************************************************************!*\
163
- !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
164
- \*******************************************************************************/
165
- /*! exports provided: default */
166
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
167
-
168
- "use strict";
169
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _unsupportedIterableToArray; });\n/* harmony import */ var _babel_runtime_helpers_esm_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/arrayLikeToArray */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return Object(_babel_runtime_helpers_esm_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Object(_babel_runtime_helpers_esm_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(o, minLen);\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js?");
170
-
171
- /***/ }),
172
-
173
- /***/ "./node_modules/@wordpress/hooks/build-module/createAddHook.js":
174
- /*!*********************************************************************!*\
175
- !*** ./node_modules/@wordpress/hooks/build-module/createAddHook.js ***!
176
- \*********************************************************************/
177
- /*! exports provided: default */
178
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
179
-
180
- "use strict";
181
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ \"./node_modules/@wordpress/hooks/build-module/validateNamespace.js\");\n/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ \"./node_modules/@wordpress/hooks/build-module/validateHookName.js\");\n/**\n * Internal dependencies\n */\n\n\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(hookName)) {\n return;\n }\n\n if (!Object(_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createAddHook);\n//# sourceMappingURL=createAddHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createAddHook.js?");
182
-
183
- /***/ }),
184
-
185
- /***/ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js":
186
- /*!*************************************************************************!*\
187
- !*** ./node_modules/@wordpress/hooks/build-module/createCurrentHook.js ***!
188
- \*************************************************************************/
189
- /*! exports provided: default */
190
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
191
-
192
- "use strict";
193
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCurrentHook);\n//# sourceMappingURL=createCurrentHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createCurrentHook.js?");
194
-
195
- /***/ }),
196
-
197
- /***/ "./node_modules/@wordpress/hooks/build-module/createDidHook.js":
198
- /*!*********************************************************************!*\
199
- !*** ./node_modules/@wordpress/hooks/build-module/createDidHook.js ***!
200
- \*********************************************************************/
201
- /*! exports provided: default */
202
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
203
-
204
- "use strict";
205
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ \"./node_modules/@wordpress/hooks/build-module/validateHookName.js\");\n/**\n * Internal dependencies\n */\n\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createDidHook);\n//# sourceMappingURL=createDidHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createDidHook.js?");
206
-
207
- /***/ }),
208
-
209
- /***/ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js":
210
- /*!***********************************************************************!*\
211
- !*** ./node_modules/@wordpress/hooks/build-module/createDoingHook.js ***!
212
- \***********************************************************************/
213
- /*! exports provided: default */
214
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
215
-
216
- "use strict";
217
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createDoingHook);\n//# sourceMappingURL=createDoingHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createDoingHook.js?");
218
-
219
- /***/ }),
220
-
221
- /***/ "./node_modules/@wordpress/hooks/build-module/createHasHook.js":
222
- /*!*********************************************************************!*\
223
- !*** ./node_modules/@wordpress/hooks/build-module/createHasHook.js ***!
224
- \*********************************************************************/
225
- /*! exports provided: default */
226
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
227
-
228
- "use strict";
229
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createHasHook);\n//# sourceMappingURL=createHasHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createHasHook.js?");
230
-
231
- /***/ }),
232
-
233
- /***/ "./node_modules/@wordpress/hooks/build-module/createHooks.js":
234
- /*!*******************************************************************!*\
235
- !*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***!
236
- \*******************************************************************/
237
- /*! exports provided: _Hooks, default */
238
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
239
-
240
- "use strict";
241
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"_Hooks\", function() { return _Hooks; });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAddHook */ \"./node_modules/@wordpress/hooks/build-module/createAddHook.js\");\n/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createRemoveHook */ \"./node_modules/@wordpress/hooks/build-module/createRemoveHook.js\");\n/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createHasHook */ \"./node_modules/@wordpress/hooks/build-module/createHasHook.js\");\n/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createRunHook */ \"./node_modules/@wordpress/hooks/build-module/createRunHook.js\");\n/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createCurrentHook */ \"./node_modules/@wordpress/hooks/build-module/createCurrentHook.js\");\n/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDoingHook */ \"./node_modules/@wordpress/hooks/build-module/createDoingHook.js\");\n/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./createDidHook */ \"./node_modules/@wordpress/hooks/build-module/createDidHook.js\");\n\n\n/**\n * Internal dependencies\n */\n\n\n\n\n\n\n\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nvar _Hooks = function _Hooks() {\n Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = Object(_createAddHook__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, 'actions');\n this.addFilter = Object(_createAddHook__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, 'filters');\n this.removeAction = Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, 'actions');\n this.removeFilter = Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, 'filters');\n this.hasAction = Object(_createHasHook__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this, 'actions');\n this.hasFilter = Object(_createHasHook__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this, 'filters');\n this.removeAllActions = Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, 'actions', true);\n this.removeAllFilters = Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, 'filters', true);\n this.doAction = Object(_createRunHook__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this, 'actions');\n this.applyFilters = Object(_createRunHook__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this, 'filters', true);\n this.currentAction = Object(_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this, 'actions');\n this.currentFilter = Object(_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this, 'filters');\n this.doingAction = Object(_createDoingHook__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this, 'actions');\n this.doingFilter = Object(_createDoingHook__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this, 'filters');\n this.didAction = Object(_createDidHook__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(this, 'actions');\n this.didFilter = Object(_createDidHook__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createHooks);\n//# sourceMappingURL=createHooks.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createHooks.js?");
242
-
243
- /***/ }),
244
-
245
- /***/ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js":
246
- /*!************************************************************************!*\
247
- !*** ./node_modules/@wordpress/hooks/build-module/createRemoveHook.js ***!
248
- \************************************************************************/
249
- /*! exports provided: default */
250
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
251
-
252
- "use strict";
253
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ \"./node_modules/@wordpress/hooks/build-module/validateNamespace.js\");\n/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ \"./node_modules/@wordpress/hooks/build-module/validateHookName.js\");\n/**\n * Internal dependencies\n */\n\n\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(hookName)) {\n return;\n }\n\n if (!removeAll && !Object(_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRemoveHook);\n//# sourceMappingURL=createRemoveHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createRemoveHook.js?");
254
-
255
- /***/ }),
256
-
257
- /***/ "./node_modules/@wordpress/hooks/build-module/createRunHook.js":
258
- /*!*********************************************************************!*\
259
- !*** ./node_modules/@wordpress/hooks/build-module/createRunHook.js ***!
260
- \*********************************************************************/
261
- /*! exports provided: default */
262
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
263
-
264
- "use strict";
265
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if (true) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRunHook);\n//# sourceMappingURL=createRunHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createRunHook.js?");
266
-
267
- /***/ }),
268
-
269
- /***/ "./node_modules/@wordpress/hooks/build-module/index.js":
270
- /*!*************************************************************!*\
271
- !*** ./node_modules/@wordpress/hooks/build-module/index.js ***!
272
- \*************************************************************/
273
- /*! exports provided: createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters */
274
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
275
-
276
- "use strict";
277
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addAction\", function() { return addAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addFilter\", function() { return addFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeAction\", function() { return removeAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeFilter\", function() { return removeFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasAction\", function() { return hasAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasFilter\", function() { return hasFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeAllActions\", function() { return removeAllActions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeAllFilters\", function() { return removeAllFilters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doAction\", function() { return doAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyFilters\", function() { return applyFilters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"currentAction\", function() { return currentAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"currentFilter\", function() { return currentFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doingAction\", function() { return doingAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doingFilter\", function() { return doingFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"didAction\", function() { return didAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"didFilter\", function() { return didFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"actions\", function() { return actions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filters\", function() { return filters; });\n/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ \"./node_modules/@wordpress/hooks/build-module/createHooks.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createHooks\", function() { return _createHooks__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/**\n * Internal dependencies\n */\n\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record<string, Hook> & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nvar _createHooks = Object(_createHooks__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n addAction = _createHooks.addAction,\n addFilter = _createHooks.addFilter,\n removeAction = _createHooks.removeAction,\n removeFilter = _createHooks.removeFilter,\n hasAction = _createHooks.hasAction,\n hasFilter = _createHooks.hasFilter,\n removeAllActions = _createHooks.removeAllActions,\n removeAllFilters = _createHooks.removeAllFilters,\n doAction = _createHooks.doAction,\n applyFilters = _createHooks.applyFilters,\n currentAction = _createHooks.currentAction,\n currentFilter = _createHooks.currentFilter,\n doingAction = _createHooks.doingAction,\n doingFilter = _createHooks.doingFilter,\n didAction = _createHooks.didAction,\n didFilter = _createHooks.didFilter,\n actions = _createHooks.actions,\n filters = _createHooks.filters;\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/index.js?");
278
-
279
- /***/ }),
280
-
281
- /***/ "./node_modules/@wordpress/hooks/build-module/validateHookName.js":
282
- /*!************************************************************************!*\
283
- !*** ./node_modules/@wordpress/hooks/build-module/validateHookName.js ***!
284
- \************************************************************************/
285
- /*! exports provided: default */
286
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
287
-
288
- "use strict";
289
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (validateHookName);\n//# sourceMappingURL=validateHookName.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/validateHookName.js?");
290
-
291
- /***/ }),
292
-
293
- /***/ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js":
294
- /*!*************************************************************************!*\
295
- !*** ./node_modules/@wordpress/hooks/build-module/validateNamespace.js ***!
296
- \*************************************************************************/
297
- /*! exports provided: default */
298
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
299
-
300
- "use strict";
301
- //eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (validateNamespace);\n//# sourceMappingURL=validateNamespace.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/validateNamespace.js?");
302
-
303
- /***/ }),
304
-
305
- /***/ "./src/js/view/general.js":
306
- /*!********************************!*\
307
- !*** ./src/js/view/general.js ***!
308
- \********************************/
309
- /*! no exports provided */
310
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
311
-
312
- "use strict";
313
- document.addEventListener("click", function(e){
314
- var widgets = parent.document.querySelectorAll(".elementor-element--promotion");
315
- if (widgets.length > 0) {
316
- for (var i = 0; i < widgets.length; i++) {
317
- if (widgets[i].contains(e.target)) {
318
- var dialog = parent.document.querySelector("#elementor-element--promotion__dialog");
319
- var icon = widgets[i].querySelector(".icon > i");
320
- if (icon.classList.toString().indexOf("twae-pro") >= 0) { //if (icon.hasClass('twae-pro')){
321
-
322
- dialog.querySelector(".dialog-buttons-action").style.display = "none";
323
- e.stopImmediatePropagation();
324
- if (dialog.querySelector(".twae-dialog-buttons-action") === null) {
325
- var button = document.createElement("a");
326
- var buttonText = document.createTextNode("Pro Version");
327
- button.setAttribute("href", "https://cooltimeline.com/elementor-timeline-widget-pro-demo/");
328
- button.setAttribute("target", "_blank");
329
- button.classList.add("dialog-button", "dialog-action", "dialog-buttons-action", "elementor-button", "elementor-button-success", "twae-dialog-buttons-action");
330
- button.appendChild(buttonText);
331
- dialog.querySelector(".dialog-buttons-action").insertAdjacentHTML("afterend", button.outerHTML);
332
- } else {
333
- dialog.querySelector(".twae-dialog-buttons-action").style.display = "";
334
- }
335
- } else {
336
-
337
- if (dialog.querySelector(".twae-dialog-buttons-action") !== null) {
338
- dialog.querySelector(".twae-dialog-buttons-action").style.display = "none";
339
- }
340
- }
341
- // stop loop
342
- break;
343
- }
344
- }
345
- }
346
- });
347
- }),
348
-
349
- });
350
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/twae-swiper.js DELETED
@@ -1,4027 +0,0 @@
1
- ! function (e, t) {
2
- "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = e || self).Swiper = t()
3
- }(this, (function () {
4
- "use strict";
5
-
6
- function e(e) {
7
- return null !== e && "object" == typeof e && "constructor" in e && e.constructor === Object
8
- }
9
-
10
- function t(i, s) {
11
- void 0 === i && (i = {}), void 0 === s && (s = {}), Object.keys(s).forEach((function (a) {
12
- void 0 === i[a] ? i[a] = s[a] : e(s[a]) && e(i[a]) && Object.keys(s[a]).length > 0 && t(i[a], s[a])
13
- }))
14
- }
15
- var i = "undefined" != typeof document ? document : {},
16
- s = {
17
- body: {},
18
- addEventListener: function () {},
19
- removeEventListener: function () {},
20
- activeElement: {
21
- blur: function () {},
22
- nodeName: ""
23
- },
24
- querySelector: function () {
25
- return null
26
- },
27
- querySelectorAll: function () {
28
- return []
29
- },
30
- getElementById: function () {
31
- return null
32
- },
33
- createEvent: function () {
34
- return {
35
- initEvent: function () {}
36
- }
37
- },
38
- createElement: function () {
39
- return {
40
- children: [],
41
- childNodes: [],
42
- style: {},
43
- setAttribute: function () {},
44
- getElementsByTagName: function () {
45
- return []
46
- }
47
- }
48
- },
49
- createElementNS: function () {
50
- return {}
51
- },
52
- importNode: function () {
53
- return null
54
- },
55
- location: {
56
- hash: "",
57
- host: "",
58
- hostname: "",
59
- href: "",
60
- origin: "",
61
- pathname: "",
62
- protocol: "",
63
- search: ""
64
- }
65
- };
66
- t(i, s);
67
- var a = "undefined" != typeof window ? window : {};
68
- t(a, {
69
- document: s,
70
- navigator: {
71
- userAgent: ""
72
- },
73
- location: {
74
- hash: "",
75
- host: "",
76
- hostname: "",
77
- href: "",
78
- origin: "",
79
- pathname: "",
80
- protocol: "",
81
- search: ""
82
- },
83
- history: {
84
- replaceState: function () {},
85
- pushState: function () {},
86
- go: function () {},
87
- back: function () {}
88
- },
89
- CustomEvent: function () {
90
- return this
91
- },
92
- addEventListener: function () {},
93
- removeEventListener: function () {},
94
- getComputedStyle: function () {
95
- return {
96
- getPropertyValue: function () {
97
- return ""
98
- }
99
- }
100
- },
101
- Image: function () {},
102
- Date: function () {},
103
- screen: {},
104
- setTimeout: function () {},
105
- clearTimeout: function () {},
106
- matchMedia: function () {
107
- return {}
108
- }
109
- });
110
- var r = function (e) {
111
- for (var t = 0; t < e.length; t += 1) this[t] = e[t];
112
- return this.length = e.length, this
113
- };
114
-
115
- function n(e, t) {
116
- var s = [],
117
- n = 0;
118
- if (e && !t && e instanceof r) return e;
119
- if (e)
120
- if ("string" == typeof e) {
121
- var o, l, d = e.trim();
122
- if (d.indexOf("<") >= 0 && d.indexOf(">") >= 0) {
123
- var h = "div";
124
- for (0 === d.indexOf("<li") && (h = "ul"), 0 === d.indexOf("<tr") && (h = "tbody"), 0 !== d.indexOf("<td") && 0 !== d.indexOf("<th") || (h = "tr"), 0 === d.indexOf("<tbody") && (h = "table"), 0 === d.indexOf("<option") && (h = "select"), (l = i.createElement(h)).innerHTML = d, n = 0; n < l.childNodes.length; n += 1) s.push(l.childNodes[n])
125
- } else
126
- for (o = t || "#" !== e[0] || e.match(/[ .<>:~]/) ? (t || i).querySelectorAll(e.trim()) : [i.getElementById(e.trim().split("#")[1])], n = 0; n < o.length; n += 1) o[n] && s.push(o[n])
127
- } else if (e.nodeType || e === a || e === i) s.push(e);
128
- else if (e.length > 0 && e[0].nodeType)
129
- for (n = 0; n < e.length; n += 1) s.push(e[n]);
130
- return new r(s)
131
- }
132
-
133
- function o(e) {
134
- for (var t = [], i = 0; i < e.length; i += 1) - 1 === t.indexOf(e[i]) && t.push(e[i]);
135
- return t
136
- }
137
- n.fn = r.prototype, n.Class = r, n.Dom7 = r;
138
- var l = {
139
- addClass: function (e) {
140
- if (void 0 === e) return this;
141
- for (var t = e.split(" "), i = 0; i < t.length; i += 1)
142
- for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.add(t[i]);
143
- return this
144
- },
145
- removeClass: function (e) {
146
- for (var t = e.split(" "), i = 0; i < t.length; i += 1)
147
- for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.remove(t[i]);
148
- return this
149
- },
150
- hasClass: function (e) {
151
- return !!this[0] && this[0].classList.contains(e)
152
- },
153
- toggleClass: function (e) {
154
- for (var t = e.split(" "), i = 0; i < t.length; i += 1)
155
- for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.toggle(t[i]);
156
- return this
157
- },
158
- attr: function (e, t) {
159
- var i = arguments;
160
- if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0;
161
- for (var s = 0; s < this.length; s += 1)
162
- if (2 === i.length) this[s].setAttribute(e, t);
163
- else
164
- for (var a in e) this[s][a] = e[a], this[s].setAttribute(a, e[a]);
165
- return this
166
- },
167
- removeAttr: function (e) {
168
- for (var t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
169
- return this
170
- },
171
- data: function (e, t) {
172
- var i;
173
- if (void 0 !== t) {
174
- for (var s = 0; s < this.length; s += 1)(i = this[s]).dom7ElementDataStorage || (i.dom7ElementDataStorage = {}), i.dom7ElementDataStorage[e] = t;
175
- return this
176
- }
177
- if (i = this[0]) {
178
- if (i.dom7ElementDataStorage && e in i.dom7ElementDataStorage) return i.dom7ElementDataStorage[e];
179
- var a = i.getAttribute("data-" + e);
180
- return a || void 0
181
- }
182
- },
183
- transform: function (e) {
184
- for (var t = 0; t < this.length; t += 1) {
185
- var i = this[t].style;
186
- i.webkitTransform = e, i.transform = e
187
- }
188
- return this
189
- },
190
- transition: function (e) {
191
- "string" != typeof e && (e += "ms");
192
- for (var t = 0; t < this.length; t += 1) {
193
- var i = this[t].style;
194
- i.webkitTransitionDuration = e, i.transitionDuration = e
195
- }
196
- return this
197
- },
198
- on: function () {
199
- for (var e, t = [], i = arguments.length; i--;) t[i] = arguments[i];
200
- var s = t[0],
201
- a = t[1],
202
- r = t[2],
203
- o = t[3];
204
-
205
- function l(e) {
206
- var t = e.target;
207
- if (t) {
208
- var i = e.target.dom7EventData || [];
209
- if (i.indexOf(e) < 0 && i.unshift(e), n(t).is(a)) r.apply(t, i);
210
- else
211
- for (var s = n(t).parents(), o = 0; o < s.length; o += 1) n(s[o]).is(a) && r.apply(s[o], i)
212
- }
213
- }
214
-
215
- function d(e) {
216
- var t = e && e.target && e.target.dom7EventData || [];
217
- t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t)
218
- }
219
- "function" == typeof t[1] && (s = (e = t)[0], r = e[1], o = e[2], a = void 0), o || (o = !1);
220
- for (var h, p = s.split(" "), c = 0; c < this.length; c += 1) {
221
- var u = this[c];
222
- if (a)
223
- for (h = 0; h < p.length; h += 1) {
224
- var v = p[h];
225
- u.dom7LiveListeners || (u.dom7LiveListeners = {}), u.dom7LiveListeners[v] || (u.dom7LiveListeners[v] = []), u.dom7LiveListeners[v].push({
226
- listener: r,
227
- proxyListener: l
228
- }), u.addEventListener(v, l, o)
229
- } else
230
- for (h = 0; h < p.length; h += 1) {
231
- var f = p[h];
232
- u.dom7Listeners || (u.dom7Listeners = {}), u.dom7Listeners[f] || (u.dom7Listeners[f] = []), u.dom7Listeners[f].push({
233
- listener: r,
234
- proxyListener: d
235
- }), u.addEventListener(f, d, o)
236
- }
237
- }
238
- return this
239
- },
240
- off: function () {
241
- for (var e, t = [], i = arguments.length; i--;) t[i] = arguments[i];
242
- var s = t[0],
243
- a = t[1],
244
- r = t[2],
245
- n = t[3];
246
- "function" == typeof t[1] && (s = (e = t)[0], r = e[1], n = e[2], a = void 0), n || (n = !1);
247
- for (var o = s.split(" "), l = 0; l < o.length; l += 1)
248
- for (var d = o[l], h = 0; h < this.length; h += 1) {
249
- var p = this[h],
250
- c = void 0;
251
- if (!a && p.dom7Listeners ? c = p.dom7Listeners[d] : a && p.dom7LiveListeners && (c = p.dom7LiveListeners[d]), c && c.length)
252
- for (var u = c.length - 1; u >= 0; u -= 1) {
253
- var v = c[u];
254
- r && v.listener === r || r && v.listener && v.listener.dom7proxy && v.listener.dom7proxy === r ? (p.removeEventListener(d, v.proxyListener, n), c.splice(u, 1)) : r || (p.removeEventListener(d, v.proxyListener, n), c.splice(u, 1))
255
- }
256
- }
257
- return this
258
- },
259
- trigger: function () {
260
- for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
261
- for (var s = e[0].split(" "), r = e[1], n = 0; n < s.length; n += 1)
262
- for (var o = s[n], l = 0; l < this.length; l += 1) {
263
- var d = this[l],
264
- h = void 0;
265
- try {
266
- h = new a.CustomEvent(o, {
267
- detail: r,
268
- bubbles: !0,
269
- cancelable: !0
270
- })
271
- } catch (e) {
272
- (h = i.createEvent("Event")).initEvent(o, !0, !0), h.detail = r
273
- }
274
- d.dom7EventData = e.filter((function (e, t) {
275
- return t > 0
276
- })), d.dispatchEvent(h), d.dom7EventData = [], delete d.dom7EventData
277
- }
278
- return this
279
- },
280
- transitionEnd: function (e) {
281
- var t, i = ["webkitTransitionEnd", "transitionend"],
282
- s = this;
283
-
284
- function a(r) {
285
- if (r.target === this)
286
- for (e.call(this, r), t = 0; t < i.length; t += 1) s.off(i[t], a)
287
- }
288
- if (e)
289
- for (t = 0; t < i.length; t += 1) s.on(i[t], a);
290
- return this
291
- },
292
- outerWidth: function (e) {
293
- if (this.length > 0) {
294
- if (e) {
295
- var t = this.styles();
296
- return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left"))
297
- }
298
- return this[0].offsetWidth
299
- }
300
- return null
301
- },
302
- outerHeight: function (e) {
303
- if (this.length > 0) {
304
- if (e) {
305
- var t = this.styles();
306
- return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom"))
307
- }
308
- return this[0].offsetHeight
309
- }
310
- return null
311
- },
312
- offset: function () {
313
- if (this.length > 0) {
314
- var e = this[0],
315
- t = e.getBoundingClientRect(),
316
- s = i.body,
317
- r = e.clientTop || s.clientTop || 0,
318
- n = e.clientLeft || s.clientLeft || 0,
319
- o = e === a ? a.scrollY : e.scrollTop,
320
- l = e === a ? a.scrollX : e.scrollLeft;
321
- return {
322
- top: t.top + o - r,
323
- left: t.left + l - n
324
- }
325
- }
326
- return null
327
- },
328
- css: function (e, t) {
329
- var i;
330
- if (1 === arguments.length) {
331
- if ("string" != typeof e) {
332
- for (i = 0; i < this.length; i += 1)
333
- for (var s in e) this[i].style[s] = e[s];
334
- return this
335
- }
336
- if (this[0]) return a.getComputedStyle(this[0], null).getPropertyValue(e)
337
- }
338
- if (2 === arguments.length && "string" == typeof e) {
339
- for (i = 0; i < this.length; i += 1) this[i].style[e] = t;
340
- return this
341
- }
342
- return this
343
- },
344
- each: function (e) {
345
- if (!e) return this;
346
- for (var t = 0; t < this.length; t += 1)
347
- if (!1 === e.call(this[t], t, this[t])) return this;
348
- return this
349
- },
350
- html: function (e) {
351
- if (void 0 === e) return this[0] ? this[0].innerHTML : void 0;
352
- for (var t = 0; t < this.length; t += 1) this[t].innerHTML = e;
353
- return this
354
- },
355
- text: function (e) {
356
- if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
357
- for (var t = 0; t < this.length; t += 1) this[t].textContent = e;
358
- return this
359
- },
360
- is: function (e) {
361
- var t, s, o = this[0];
362
- if (!o || void 0 === e) return !1;
363
- if ("string" == typeof e) {
364
- if (o.matches) return o.matches(e);
365
- if (o.webkitMatchesSelector) return o.webkitMatchesSelector(e);
366
- if (o.msMatchesSelector) return o.msMatchesSelector(e);
367
- for (t = n(e), s = 0; s < t.length; s += 1)
368
- if (t[s] === o) return !0;
369
- return !1
370
- }
371
- if (e === i) return o === i;
372
- if (e === a) return o === a;
373
- if (e.nodeType || e instanceof r) {
374
- for (t = e.nodeType ? [e] : e, s = 0; s < t.length; s += 1)
375
- if (t[s] === o) return !0;
376
- return !1
377
- }
378
- return !1
379
- },
380
- index: function () {
381
- var e, t = this[0];
382
- if (t) {
383
- for (e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e += 1);
384
- return e
385
- }
386
- },
387
- eq: function (e) {
388
- if (void 0 === e) return this;
389
- var t, i = this.length;
390
- return new r(e > i - 1 ? [] : e < 0 ? (t = i + e) < 0 ? [] : [this[t]] : [this[e]])
391
- },
392
- append: function () {
393
- for (var e, t = [], s = arguments.length; s--;) t[s] = arguments[s];
394
- for (var a = 0; a < t.length; a += 1) {
395
- e = t[a];
396
- for (var n = 0; n < this.length; n += 1)
397
- if ("string" == typeof e) {
398
- var o = i.createElement("div");
399
- for (o.innerHTML = e; o.firstChild;) this[n].appendChild(o.firstChild)
400
- } else if (e instanceof r)
401
- for (var l = 0; l < e.length; l += 1) this[n].appendChild(e[l]);
402
- else this[n].appendChild(e)
403
- }
404
- return this
405
- },
406
- prepend: function (e) {
407
- var t, s;
408
- for (t = 0; t < this.length; t += 1)
409
- if ("string" == typeof e) {
410
- var a = i.createElement("div");
411
- for (a.innerHTML = e, s = a.childNodes.length - 1; s >= 0; s -= 1) this[t].insertBefore(a.childNodes[s], this[t].childNodes[0])
412
- } else if (e instanceof r)
413
- for (s = 0; s < e.length; s += 1) this[t].insertBefore(e[s], this[t].childNodes[0]);
414
- else this[t].insertBefore(e, this[t].childNodes[0]);
415
- return this
416
- },
417
- next: function (e) {
418
- return this.length > 0 ? e ? this[0].nextElementSibling && n(this[0].nextElementSibling).is(e) ? new r([this[0].nextElementSibling]) : new r([]) : this[0].nextElementSibling ? new r([this[0].nextElementSibling]) : new r([]) : new r([])
419
- },
420
- nextAll: function (e) {
421
- var t = [],
422
- i = this[0];
423
- if (!i) return new r([]);
424
- for (; i.nextElementSibling;) {
425
- var s = i.nextElementSibling;
426
- e ? n(s).is(e) && t.push(s) : t.push(s), i = s
427
- }
428
- return new r(t)
429
- },
430
- prev: function (e) {
431
- if (this.length > 0) {
432
- var t = this[0];
433
- return e ? t.previousElementSibling && n(t.previousElementSibling).is(e) ? new r([t.previousElementSibling]) : new r([]) : t.previousElementSibling ? new r([t.previousElementSibling]) : new r([])
434
- }
435
- return new r([])
436
- },
437
- prevAll: function (e) {
438
- var t = [],
439
- i = this[0];
440
- if (!i) return new r([]);
441
- for (; i.previousElementSibling;) {
442
- var s = i.previousElementSibling;
443
- e ? n(s).is(e) && t.push(s) : t.push(s), i = s
444
- }
445
- return new r(t)
446
- },
447
- parent: function (e) {
448
- for (var t = [], i = 0; i < this.length; i += 1) null !== this[i].parentNode && (e ? n(this[i].parentNode).is(e) && t.push(this[i].parentNode) : t.push(this[i].parentNode));
449
- return n(o(t))
450
- },
451
- parents: function (e) {
452
- for (var t = [], i = 0; i < this.length; i += 1)
453
- for (var s = this[i].parentNode; s;) e ? n(s).is(e) && t.push(s) : t.push(s), s = s.parentNode;
454
- return n(o(t))
455
- },
456
- closest: function (e) {
457
- var t = this;
458
- return void 0 === e ? new r([]) : (t.is(e) || (t = t.parents(e).eq(0)), t)
459
- },
460
- find: function (e) {
461
- for (var t = [], i = 0; i < this.length; i += 1)
462
- for (var s = this[i].querySelectorAll(e), a = 0; a < s.length; a += 1) t.push(s[a]);
463
- return new r(t)
464
- },
465
- children: function (e) {
466
- for (var t = [], i = 0; i < this.length; i += 1)
467
- for (var s = this[i].childNodes, a = 0; a < s.length; a += 1) e ? 1 === s[a].nodeType && n(s[a]).is(e) && t.push(s[a]) : 1 === s[a].nodeType && t.push(s[a]);
468
- return new r(o(t))
469
- },
470
- filter: function (e) {
471
- for (var t = [], i = 0; i < this.length; i += 1) e.call(this[i], i, this[i]) && t.push(this[i]);
472
- return new r(t)
473
- },
474
- remove: function () {
475
- for (var e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]);
476
- return this
477
- },
478
- add: function () {
479
- for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
480
- var i, s, a = this;
481
- for (i = 0; i < e.length; i += 1) {
482
- var r = n(e[i]);
483
- for (s = 0; s < r.length; s += 1) a[a.length] = r[s], a.length += 1
484
- }
485
- return a
486
- },
487
- styles: function () {
488
- return this[0] ? a.getComputedStyle(this[0], null) : {}
489
- }
490
- };
491
- Object.keys(l).forEach((function (e) {
492
- n.fn[e] = n.fn[e] || l[e]
493
- }));
494
- var d = {
495
- deleteProps: function (e) {
496
- var t = e;
497
- Object.keys(t).forEach((function (e) {
498
- try {
499
- t[e] = null
500
- } catch (e) {}
501
- try {
502
- delete t[e]
503
- } catch (e) {}
504
- }))
505
- },
506
- nextTick: function (e, t) {
507
- return void 0 === t && (t = 0), setTimeout(e, t)
508
- },
509
- now: function () {
510
- return Date.now()
511
- },
512
- getTranslate: function (e, t) {
513
- var i, s, r;
514
- void 0 === t && (t = "x");
515
- var n = a.getComputedStyle(e, null);
516
- return a.WebKitCSSMatrix ? ((s = n.transform || n.webkitTransform).split(",").length > 6 && (s = s.split(", ").map((function (e) {
517
- return e.replace(",", ".")
518
- })).join(", ")), r = new a.WebKitCSSMatrix("none" === s ? "" : s)) : i = (r = n.MozTransform || n.OTransform || n.MsTransform || n.msTransform || n.transform || n.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString().split(","), "x" === t && (s = a.WebKitCSSMatrix ? r.m41 : 16 === i.length ? parseFloat(i[12]) : parseFloat(i[4])), "y" === t && (s = a.WebKitCSSMatrix ? r.m42 : 16 === i.length ? parseFloat(i[13]) : parseFloat(i[5])), s || 0
519
- },
520
- parseUrlQuery: function (e) {
521
- var t, i, s, r, n = {},
522
- o = e || a.location.href;
523
- if ("string" == typeof o && o.length)
524
- for (r = (i = (o = o.indexOf("?") > -1 ? o.replace(/\S*\?/, "") : "").split("&").filter((function (e) {
525
- return "" !== e
526
- }))).length, t = 0; t < r; t += 1) s = i[t].replace(/#\S+/g, "").split("="), n[decodeURIComponent(s[0])] = void 0 === s[1] ? void 0 : decodeURIComponent(s[1]) || "";
527
- return n
528
- },
529
- isObject: function (e) {
530
- return "object" == typeof e && null !== e && e.constructor && e.constructor === Object
531
- },
532
- extend: function () {
533
- for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
534
- for (var i = Object(e[0]), s = 1; s < e.length; s += 1) {
535
- var a = e[s];
536
- if (null != a)
537
- for (var r = Object.keys(Object(a)), n = 0, o = r.length; n < o; n += 1) {
538
- var l = r[n],
539
- h = Object.getOwnPropertyDescriptor(a, l);
540
- void 0 !== h && h.enumerable && (d.isObject(i[l]) && d.isObject(a[l]) ? d.extend(i[l], a[l]) : !d.isObject(i[l]) && d.isObject(a[l]) ? (i[l] = {}, d.extend(i[l], a[l])) : i[l] = a[l])
541
- }
542
- }
543
- return i
544
- }
545
- },
546
- h = {
547
- touch: !!("ontouchstart" in a || a.DocumentTouch && i instanceof a.DocumentTouch),
548
- pointerEvents: !!a.PointerEvent && "maxTouchPoints" in a.navigator && a.navigator.maxTouchPoints >= 0,
549
- observer: "MutationObserver" in a || "WebkitMutationObserver" in a,
550
- passiveListener: function () {
551
- var e = !1;
552
- try {
553
- var t = Object.defineProperty({}, "passive", {
554
- get: function () {
555
- e = !0
556
- }
557
- });
558
- a.addEventListener("testPassiveListener", null, t)
559
- } catch (e) {}
560
- return e
561
- }(),
562
- gestures: "ongesturestart" in a
563
- },
564
- p = function (e) {
565
- void 0 === e && (e = {});
566
- var t = this;
567
- t.params = e, t.eventsListeners = {}, t.params && t.params.on && Object.keys(t.params.on).forEach((function (e) {
568
- t.on(e, t.params.on[e])
569
- }))
570
- },
571
- c = {
572
- components: {
573
- configurable: !0
574
- }
575
- };
576
- p.prototype.on = function (e, t, i) {
577
- var s = this;
578
- if ("function" != typeof t) return s;
579
- var a = i ? "unshift" : "push";
580
- return e.split(" ").forEach((function (e) {
581
- s.eventsListeners[e] || (s.eventsListeners[e] = []), s.eventsListeners[e][a](t)
582
- })), s
583
- }, p.prototype.once = function (e, t, i) {
584
- var s = this;
585
- if ("function" != typeof t) return s;
586
-
587
- function a() {
588
- for (var i = [], r = arguments.length; r--;) i[r] = arguments[r];
589
- s.off(e, a), a.f7proxy && delete a.f7proxy, t.apply(s, i)
590
- }
591
- return a.f7proxy = t, s.on(e, a, i)
592
- }, p.prototype.off = function (e, t) {
593
- var i = this;
594
- return i.eventsListeners ? (e.split(" ").forEach((function (e) {
595
- void 0 === t ? i.eventsListeners[e] = [] : i.eventsListeners[e] && i.eventsListeners[e].length && i.eventsListeners[e].forEach((function (s, a) {
596
- (s === t || s.f7proxy && s.f7proxy === t) && i.eventsListeners[e].splice(a, 1)
597
- }))
598
- })), i) : i
599
- }, p.prototype.emit = function () {
600
- for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
601
- var i, s, a, r = this;
602
- if (!r.eventsListeners) return r;
603
- "string" == typeof e[0] || Array.isArray(e[0]) ? (i = e[0], s = e.slice(1, e.length), a = r) : (i = e[0].events, s = e[0].data, a = e[0].context || r);
604
- var n = Array.isArray(i) ? i : i.split(" ");
605
- return n.forEach((function (e) {
606
- if (r.eventsListeners && r.eventsListeners[e]) {
607
- var t = [];
608
- r.eventsListeners[e].forEach((function (e) {
609
- t.push(e)
610
- })), t.forEach((function (e) {
611
- e.apply(a, s)
612
- }))
613
- }
614
- })), r
615
- }, p.prototype.useModulesParams = function (e) {
616
- var t = this;
617
- t.modules && Object.keys(t.modules).forEach((function (i) {
618
- var s = t.modules[i];
619
- s.params && d.extend(e, s.params)
620
- }))
621
- }, p.prototype.useModules = function (e) {
622
- void 0 === e && (e = {});
623
- var t = this;
624
- t.modules && Object.keys(t.modules).forEach((function (i) {
625
- var s = t.modules[i],
626
- a = e[i] || {};
627
- s.instance && Object.keys(s.instance).forEach((function (e) {
628
- var i = s.instance[e];
629
- t[e] = "function" == typeof i ? i.bind(t) : i
630
- })), s.on && t.on && Object.keys(s.on).forEach((function (e) {
631
- t.on(e, s.on[e])
632
- })), s.create && s.create.bind(t)(a)
633
- }))
634
- }, c.components.set = function (e) {
635
- this.use && this.use(e)
636
- }, p.installModule = function (e) {
637
- for (var t = [], i = arguments.length - 1; i-- > 0;) t[i] = arguments[i + 1];
638
- var s = this;
639
- s.prototype.modules || (s.prototype.modules = {});
640
- var a = e.name || Object.keys(s.prototype.modules).length + "_" + d.now();
641
- return s.prototype.modules[a] = e, e.proto && Object.keys(e.proto).forEach((function (t) {
642
- s.prototype[t] = e.proto[t]
643
- })), e.static && Object.keys(e.static).forEach((function (t) {
644
- s[t] = e.static[t]
645
- })), e.install && e.install.apply(s, t), s
646
- }, p.use = function (e) {
647
- for (var t = [], i = arguments.length - 1; i-- > 0;) t[i] = arguments[i + 1];
648
- var s = this;
649
- return Array.isArray(e) ? (e.forEach((function (e) {
650
- return s.installModule(e)
651
- })), s) : s.installModule.apply(s, [e].concat(t))
652
- }, Object.defineProperties(p, c);
653
- var u = {
654
- updateSize: function () {
655
- var e, t, i = this.$el;
656
- e = void 0 !== this.params.width ? this.params.width : i[0].clientWidth, t = void 0 !== this.params.height ? this.params.height : i[0].clientHeight, 0 === e && this.isHorizontal() || 0 === t && this.isVertical() || (e = e - parseInt(i.css("padding-left"), 10) - parseInt(i.css("padding-right"), 10), t = t - parseInt(i.css("padding-top"), 10) - parseInt(i.css("padding-bottom"), 10), d.extend(this, {
657
- width: e,
658
- height: t,
659
- size: this.isHorizontal() ? e : t
660
- }))
661
- },
662
- updateSlides: function () {
663
- var e = this.params,
664
- t = this.$wrapperEl,
665
- i = this.size,
666
- s = this.rtlTranslate,
667
- r = this.wrongRTL,
668
- n = this.virtual && e.virtual.enabled,
669
- o = n ? this.virtual.slides.length : this.slides.length,
670
- l = t.children("." + this.params.slideClass),
671
- h = n ? this.virtual.slides.length : l.length,
672
- p = [],
673
- c = [],
674
- u = [];
675
-
676
- function v(t) {
677
- return !e.cssMode || t !== l.length - 1
678
- }
679
- var f = e.slidesOffsetBefore;
680
- "function" == typeof f && (f = e.slidesOffsetBefore.call(this));
681
- var m = e.slidesOffsetAfter;
682
- "function" == typeof m && (m = e.slidesOffsetAfter.call(this));
683
- var g = this.snapGrid.length,
684
- b = this.snapGrid.length,
685
- w = e.spaceBetween,
686
- y = -f,
687
- x = 0,
688
- E = 0;
689
- if (void 0 !== i) {
690
- var T, S;
691
- "string" == typeof w && w.indexOf("%") >= 0 && (w = parseFloat(w.replace("%", "")) / 100 * i), this.virtualSize = -w, s ? l.css({
692
- marginLeft: "",
693
- marginTop: ""
694
- }) : l.css({
695
- marginRight: "",
696
- marginBottom: ""
697
- }), e.slidesPerColumn > 1 && (T = Math.floor(h / e.slidesPerColumn) === h / this.params.slidesPerColumn ? h : Math.ceil(h / e.slidesPerColumn) * e.slidesPerColumn, "auto" !== e.slidesPerView && "row" === e.slidesPerColumnFill && (T = Math.max(T, e.slidesPerView * e.slidesPerColumn)));
698
- for (var C, M = e.slidesPerColumn, P = T / M, z = Math.floor(h / e.slidesPerColumn), k = 0; k < h; k += 1) {
699
- S = 0;
700
- var $ = l.eq(k);
701
- if (e.slidesPerColumn > 1) {
702
- var L = void 0,
703
- I = void 0,
704
- D = void 0;
705
- if ("row" === e.slidesPerColumnFill && e.slidesPerGroup > 1) {
706
- var O = Math.floor(k / (e.slidesPerGroup * e.slidesPerColumn)),
707
- A = k - e.slidesPerColumn * e.slidesPerGroup * O,
708
- G = 0 === O ? e.slidesPerGroup : Math.min(Math.ceil((h - O * M * e.slidesPerGroup) / M), e.slidesPerGroup);
709
- L = (I = A - (D = Math.floor(A / G)) * G + O * e.slidesPerGroup) + D * T / M, $.css({
710
- "-webkit-box-ordinal-group": L,
711
- "-moz-box-ordinal-group": L,
712
- "-ms-flex-order": L,
713
- "-webkit-order": L,
714
- order: L
715
- })
716
- } else "column" === e.slidesPerColumnFill ? (D = k - (I = Math.floor(k / M)) * M, (I > z || I === z && D === M - 1) && (D += 1) >= M && (D = 0, I += 1)) : I = k - (D = Math.floor(k / P)) * P;
717
- $.css("margin-" + (this.isHorizontal() ? "top" : "left"), 0 !== D && e.spaceBetween && e.spaceBetween + "px")
718
- }
719
- if ("none" !== $.css("display")) {
720
- if ("auto" === e.slidesPerView) {
721
- var H = a.getComputedStyle($[0], null),
722
- B = $[0].style.transform,
723
- N = $[0].style.webkitTransform;
724
- if (B && ($[0].style.transform = "none"), N && ($[0].style.webkitTransform = "none"), e.roundLengths) S = this.isHorizontal() ? $.outerWidth(!0) : $.outerHeight(!0);
725
- else if (this.isHorizontal()) {
726
- var X = parseFloat(H.getPropertyValue("width")),
727
- V = parseFloat(H.getPropertyValue("padding-left")),
728
- Y = parseFloat(H.getPropertyValue("padding-right")),
729
- F = parseFloat(H.getPropertyValue("margin-left")),
730
- W = parseFloat(H.getPropertyValue("margin-right")),
731
- R = H.getPropertyValue("box-sizing");
732
- S = R && "border-box" === R ? X + F + W : X + V + Y + F + W
733
- } else {
734
- var q = parseFloat(H.getPropertyValue("height")),
735
- j = parseFloat(H.getPropertyValue("padding-top")),
736
- K = parseFloat(H.getPropertyValue("padding-bottom")),
737
- U = parseFloat(H.getPropertyValue("margin-top")),
738
- _ = parseFloat(H.getPropertyValue("margin-bottom")),
739
- Z = H.getPropertyValue("box-sizing");
740
- S = Z && "border-box" === Z ? q + U + _ : q + j + K + U + _
741
- }
742
- B && ($[0].style.transform = B), N && ($[0].style.webkitTransform = N), e.roundLengths && (S = Math.floor(S))
743
- } else S = (i - (e.slidesPerView - 1) * w) / e.slidesPerView, e.roundLengths && (S = Math.floor(S)), l[k] && (this.isHorizontal() ? l[k].style.width = S + "px" : l[k].style.height = S + "px");
744
- l[k] && (l[k].swiperSlideSize = S), u.push(S), e.centeredSlides ? (y = y + S / 2 + x / 2 + w, 0 === x && 0 !== k && (y = y - i / 2 - w), 0 === k && (y = y - i / 2 - w), Math.abs(y) < .001 && (y = 0), e.roundLengths && (y = Math.floor(y)), E % e.slidesPerGroup == 0 && p.push(y), c.push(y)) : (e.roundLengths && (y = Math.floor(y)), (E - Math.min(this.params.slidesPerGroupSkip, E)) % this.params.slidesPerGroup == 0 && p.push(y), c.push(y), y = y + S + w), this.virtualSize += S + w, x = S, E += 1
745
- }
746
- }
747
- if (this.virtualSize = Math.max(this.virtualSize, i) + m, s && r && ("slide" === e.effect || "coverflow" === e.effect) && t.css({
748
- width: this.virtualSize + e.spaceBetween + "px"
749
- }), e.setWrapperSize && (this.isHorizontal() ? t.css({
750
- width: this.virtualSize + e.spaceBetween + "px"
751
- }) : t.css({
752
- height: this.virtualSize + e.spaceBetween + "px"
753
- })), e.slidesPerColumn > 1 && (this.virtualSize = (S + e.spaceBetween) * T, this.virtualSize = Math.ceil(this.virtualSize / e.slidesPerColumn) - e.spaceBetween, this.isHorizontal() ? t.css({
754
- width: this.virtualSize + e.spaceBetween + "px"
755
- }) : t.css({
756
- height: this.virtualSize + e.spaceBetween + "px"
757
- }), e.centeredSlides)) {
758
- C = [];
759
- for (var Q = 0; Q < p.length; Q += 1) {
760
- var J = p[Q];
761
- e.roundLengths && (J = Math.floor(J)), p[Q] < this.virtualSize + p[0] && C.push(J)
762
- }
763
- p = C
764
- }
765
- if (!e.centeredSlides) {
766
- C = [];
767
- for (var ee = 0; ee < p.length; ee += 1) {
768
- var te = p[ee];
769
- e.roundLengths && (te = Math.floor(te)), p[ee] <= this.virtualSize - i && C.push(te)
770
- }
771
- p = C, Math.floor(this.virtualSize - i) - Math.floor(p[p.length - 1]) > 1 && p.push(this.virtualSize - i)
772
- }
773
- if (0 === p.length && (p = [0]), 0 !== e.spaceBetween && (this.isHorizontal() ? s ? l.filter(v).css({
774
- marginLeft: w + "px"
775
- }) : l.filter(v).css({
776
- marginRight: w + "px"
777
- }) : l.filter(v).css({
778
- marginBottom: w + "px"
779
- })), e.centeredSlides && e.centeredSlidesBounds) {
780
- var ie = 0;
781
- u.forEach((function (t) {
782
- ie += t + (e.spaceBetween ? e.spaceBetween : 0)
783
- }));
784
- var se = (ie -= e.spaceBetween) - i;
785
- p = p.map((function (e) {
786
- return e < 0 ? -f : e > se ? se + m : e
787
- }))
788
- }
789
- if (e.centerInsufficientSlides) {
790
- var ae = 0;
791
- if (u.forEach((function (t) {
792
- ae += t + (e.spaceBetween ? e.spaceBetween : 0)
793
- })), (ae -= e.spaceBetween) < i) {
794
- var re = (i - ae) / 2;
795
- p.forEach((function (e, t) {
796
- p[t] = e - re
797
- })), c.forEach((function (e, t) {
798
- c[t] = e + re
799
- }))
800
- }
801
- }
802
- d.extend(this, {
803
- slides: l,
804
- snapGrid: p,
805
- slidesGrid: c,
806
- slidesSizesGrid: u
807
- }), h !== o && this.emit("slidesLengthChange"), p.length !== g && (this.params.watchOverflow && this.checkOverflow(), this.emit("snapGridLengthChange")), c.length !== b && this.emit("slidesGridLengthChange"), (e.watchSlidesProgress || e.watchSlidesVisibility) && this.updateSlidesOffset()
808
- }
809
- },
810
- updateAutoHeight: function (e) {
811
- var t, i = [],
812
- s = 0;
813
- if ("number" == typeof e ? this.setTransition(e) : !0 === e && this.setTransition(this.params.speed), "auto" !== this.params.slidesPerView && this.params.slidesPerView > 1)
814
- if (this.params.centeredSlides) this.visibleSlides.each((function (e, t) {
815
- i.push(t)
816
- }));
817
- else
818
- for (t = 0; t < Math.ceil(this.params.slidesPerView); t += 1) {
819
- var a = this.activeIndex + t;
820
- if (a > this.slides.length) break;
821
- i.push(this.slides.eq(a)[0])
822
- } else i.push(this.slides.eq(this.activeIndex)[0]);
823
- for (t = 0; t < i.length; t += 1)
824
- if (void 0 !== i[t]) {
825
- var r = i[t].offsetHeight;
826
- s = r > s ? r : s
827
- }
828
- s && this.$wrapperEl.css("height", s + "px")
829
- },
830
- updateSlidesOffset: function () {
831
- for (var e = this.slides, t = 0; t < e.length; t += 1) e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop
832
- },
833
- updateSlidesProgress: function (e) {
834
- void 0 === e && (e = this && this.translate || 0);
835
- var t = this.params,
836
- i = this.slides,
837
- s = this.rtlTranslate;
838
- if (0 !== i.length) {
839
- void 0 === i[0].swiperSlideOffset && this.updateSlidesOffset();
840
- var a = -e;
841
- s && (a = e), i.removeClass(t.slideVisibleClass), this.visibleSlidesIndexes = [], this.visibleSlides = [];
842
- for (var r = 0; r < i.length; r += 1) {
843
- var o = i[r],
844
- l = (a + (t.centeredSlides ? this.minTranslate() : 0) - o.swiperSlideOffset) / (o.swiperSlideSize + t.spaceBetween);
845
- if (t.watchSlidesVisibility || t.centeredSlides && t.autoHeight) {
846
- var d = -(a - o.swiperSlideOffset),
847
- h = d + this.slidesSizesGrid[r];
848
- (d >= 0 && d < this.size - 1 || h > 1 && h <= this.size || d <= 0 && h >= this.size) && (this.visibleSlides.push(o), this.visibleSlidesIndexes.push(r), i.eq(r).addClass(t.slideVisibleClass))
849
- }
850
- o.progress = s ? -l : l
851
- }
852
- this.visibleSlides = n(this.visibleSlides)
853
- }
854
- },
855
- updateProgress: function (e) {
856
- if (void 0 === e) {
857
- var t = this.rtlTranslate ? -1 : 1;
858
- e = this && this.translate && this.translate * t || 0
859
- }
860
- var i = this.params,
861
- s = this.maxTranslate() - this.minTranslate(),
862
- a = this.progress,
863
- r = this.isBeginning,
864
- n = this.isEnd,
865
- o = r,
866
- l = n;
867
- 0 === s ? (a = 0, r = !0, n = !0) : (r = (a = (e - this.minTranslate()) / s) <= 0, n = a >= 1), d.extend(this, {
868
- progress: a,
869
- isBeginning: r,
870
- isEnd: n
871
- }), (i.watchSlidesProgress || i.watchSlidesVisibility || i.centeredSlides && i.autoHeight) && this.updateSlidesProgress(e), r && !o && this.emit("reachBeginning toEdge"), n && !l && this.emit("reachEnd toEdge"), (o && !r || l && !n) && this.emit("fromEdge"), this.emit("progress", a)
872
- },
873
- updateSlidesClasses: function () {
874
- var e, t = this.slides,
875
- i = this.params,
876
- s = this.$wrapperEl,
877
- a = this.activeIndex,
878
- r = this.realIndex,
879
- n = this.virtual && i.virtual.enabled;
880
- t.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass + " " + i.slideDuplicateActiveClass + " " + i.slideDuplicateNextClass + " " + i.slideDuplicatePrevClass), (e = n ? this.$wrapperEl.find("." + i.slideClass + '[data-swiper-slide-index="' + a + '"]') : t.eq(a)).addClass(i.slideActiveClass), i.loop && (e.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass));
881
- var o = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass);
882
- i.loop && 0 === o.length && (o = t.eq(0)).addClass(i.slideNextClass);
883
- var l = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass);
884
- i.loop && 0 === l.length && (l = t.eq(-1)).addClass(i.slidePrevClass), i.loop && (o.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass), l.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass))
885
- },
886
- updateActiveIndex: function (e) {
887
- var t, i = this.rtlTranslate ? this.translate : -this.translate,
888
- s = this.slidesGrid,
889
- a = this.snapGrid,
890
- r = this.params,
891
- n = this.activeIndex,
892
- o = this.realIndex,
893
- l = this.snapIndex,
894
- h = e;
895
- if (void 0 === h) {
896
- for (var p = 0; p < s.length; p += 1) void 0 !== s[p + 1] ? i >= s[p] && i < s[p + 1] - (s[p + 1] - s[p]) / 2 ? h = p : i >= s[p] && i < s[p + 1] && (h = p + 1) : i >= s[p] && (h = p);
897
- r.normalizeSlideIndex && (h < 0 || void 0 === h) && (h = 0)
898
- }
899
- if (a.indexOf(i) >= 0) t = a.indexOf(i);
900
- else {
901
- var c = Math.min(r.slidesPerGroupSkip, h);
902
- t = c + Math.floor((h - c) / r.slidesPerGroup)
903
- }
904
- if (t >= a.length && (t = a.length - 1), h !== n) {
905
- var u = parseInt(this.slides.eq(h).attr("data-swiper-slide-index") || h, 10);
906
- d.extend(this, {
907
- snapIndex: t,
908
- realIndex: u,
909
- previousIndex: n,
910
- activeIndex: h
911
- }), this.emit("activeIndexChange"), this.emit("snapIndexChange"), o !== u && this.emit("realIndexChange"), (this.initialized || this.params.runCallbacksOnInit) && this.emit("slideChange")
912
- } else t !== l && (this.snapIndex = t, this.emit("snapIndexChange"))
913
- },
914
- updateClickedSlide: function (e) {
915
- var t = this.params,
916
- i = n(e.target).closest("." + t.slideClass)[0],
917
- s = !1;
918
- if (i)
919
- for (var a = 0; a < this.slides.length; a += 1) this.slides[a] === i && (s = !0);
920
- if (!i || !s) return this.clickedSlide = void 0, void(this.clickedIndex = void 0);
921
- this.clickedSlide = i, this.virtual && this.params.virtual.enabled ? this.clickedIndex = parseInt(n(i).attr("data-swiper-slide-index"), 10) : this.clickedIndex = n(i).index(), t.slideToClickedSlide && void 0 !== this.clickedIndex && this.clickedIndex !== this.activeIndex && this.slideToClickedSlide()
922
- }
923
- };
924
- var v = {
925
- getTranslate: function (e) {
926
- void 0 === e && (e = this.isHorizontal() ? "x" : "y");
927
- var t = this.params,
928
- i = this.rtlTranslate,
929
- s = this.translate,
930
- a = this.$wrapperEl;
931
- if (t.virtualTranslate) return i ? -s : s;
932
- if (t.cssMode) return s;
933
- var r = d.getTranslate(a[0], e);
934
- return i && (r = -r), r || 0
935
- },
936
- setTranslate: function (e, t) {
937
- var i = this.rtlTranslate,
938
- s = this.params,
939
- a = this.$wrapperEl,
940
- r = this.wrapperEl,
941
- n = this.progress,
942
- o = 0,
943
- l = 0;
944
- this.isHorizontal() ? o = i ? -e : e : l = e, s.roundLengths && (o = Math.floor(o), l = Math.floor(l)), s.cssMode ? r[this.isHorizontal() ? "scrollLeft" : "scrollTop"] = this.isHorizontal() ? -o : -l : s.virtualTranslate || a.transform("translate3d(" + o + "px, " + l + "px, 0px)"), this.previousTranslate = this.translate, this.translate = this.isHorizontal() ? o : l;
945
- var d = this.maxTranslate() - this.minTranslate();
946
- (0 === d ? 0 : (e - this.minTranslate()) / d) !== n && this.updateProgress(e), this.emit("setTranslate", this.translate, t)
947
- },
948
- minTranslate: function () {
949
- return -this.snapGrid[0]
950
- },
951
- maxTranslate: function () {
952
- return -this.snapGrid[this.snapGrid.length - 1]
953
- },
954
- translateTo: function (e, t, i, s, a) {
955
- var r;
956
- void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0), void 0 === s && (s = !0);
957
- var n = this,
958
- o = n.params,
959
- l = n.wrapperEl;
960
- if (n.animating && o.preventInteractionOnTransition) return !1;
961
- var d, h = n.minTranslate(),
962
- p = n.maxTranslate();
963
- if (d = s && e > h ? h : s && e < p ? p : e, n.updateProgress(d), o.cssMode) {
964
- var c = n.isHorizontal();
965
- return 0 === t ? l[c ? "scrollLeft" : "scrollTop"] = -d : l.scrollTo ? l.scrollTo(((r = {})[c ? "left" : "top"] = -d, r.behavior = "smooth", r)) : l[c ? "scrollLeft" : "scrollTop"] = -d, !0
966
- }
967
- return 0 === t ? (n.setTransition(0), n.setTranslate(d), i && (n.emit("beforeTransitionStart", t, a), n.emit("transitionEnd"))) : (n.setTransition(t), n.setTranslate(d), i && (n.emit("beforeTransitionStart", t, a), n.emit("transitionStart")), n.animating || (n.animating = !0, n.onTranslateToWrapperTransitionEnd || (n.onTranslateToWrapperTransitionEnd = function (e) {
968
- n && !n.destroyed && e.target === this && (n.$wrapperEl[0].removeEventListener("transitionend", n.onTranslateToWrapperTransitionEnd), n.$wrapperEl[0].removeEventListener("webkitTransitionEnd", n.onTranslateToWrapperTransitionEnd), n.onTranslateToWrapperTransitionEnd = null, delete n.onTranslateToWrapperTransitionEnd, i && n.emit("transitionEnd"))
969
- }), n.$wrapperEl[0].addEventListener("transitionend", n.onTranslateToWrapperTransitionEnd), n.$wrapperEl[0].addEventListener("webkitTransitionEnd", n.onTranslateToWrapperTransitionEnd))), !0
970
- }
971
- };
972
- var f = {
973
- setTransition: function (e, t) {
974
- this.params.cssMode || this.$wrapperEl.transition(e), this.emit("setTransition", e, t)
975
- },
976
- transitionStart: function (e, t) {
977
- void 0 === e && (e = !0);
978
- var i = this.activeIndex,
979
- s = this.params,
980
- a = this.previousIndex;
981
- if (!s.cssMode) {
982
- s.autoHeight && this.updateAutoHeight();
983
- var r = t;
984
- if (r || (r = i > a ? "next" : i < a ? "prev" : "reset"), this.emit("transitionStart"), e && i !== a) {
985
- if ("reset" === r) return void this.emit("slideResetTransitionStart");
986
- this.emit("slideChangeTransitionStart"), "next" === r ? this.emit("slideNextTransitionStart") : this.emit("slidePrevTransitionStart")
987
- }
988
- }
989
- },
990
- transitionEnd: function (e, t) {
991
- void 0 === e && (e = !0);
992
- var i = this.activeIndex,
993
- s = this.previousIndex,
994
- a = this.params;
995
- if (this.animating = !1, !a.cssMode) {
996
- this.setTransition(0);
997
- var r = t;
998
- if (r || (r = i > s ? "next" : i < s ? "prev" : "reset"), this.emit("transitionEnd"), e && i !== s) {
999
- if ("reset" === r) return void this.emit("slideResetTransitionEnd");
1000
- this.emit("slideChangeTransitionEnd"), "next" === r ? this.emit("slideNextTransitionEnd") : this.emit("slidePrevTransitionEnd")
1001
- }
1002
- }
1003
- }
1004
- };
1005
- var m = {
1006
- slideTo: function (e, t, i, s) {
1007
- var a;
1008
- void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0);
1009
- var r = this,
1010
- n = e;
1011
- n < 0 && (n = 0);
1012
- var o = r.params,
1013
- l = r.snapGrid,
1014
- d = r.slidesGrid,
1015
- h = r.previousIndex,
1016
- p = r.activeIndex,
1017
- c = r.rtlTranslate,
1018
- u = r.wrapperEl;
1019
- if (r.animating && o.preventInteractionOnTransition) return !1;
1020
- var v = Math.min(r.params.slidesPerGroupSkip, n),
1021
- f = v + Math.floor((n - v) / r.params.slidesPerGroup);
1022
- f >= l.length && (f = l.length - 1), (p || o.initialSlide || 0) === (h || 0) && i && r.emit("beforeSlideChangeStart");
1023
- var m, g = -l[f];
1024
- if (r.updateProgress(g), o.normalizeSlideIndex)
1025
- for (var b = 0; b < d.length; b += 1) - Math.floor(100 * g) >= Math.floor(100 * d[b]) && (n = b);
1026
- if (r.initialized && n !== p) {
1027
- if (!r.allowSlideNext && g < r.translate && g < r.minTranslate()) return !1;
1028
- if (!r.allowSlidePrev && g > r.translate && g > r.maxTranslate() && (p || 0) !== n) return !1
1029
- }
1030
- if (m = n > p ? "next" : n < p ? "prev" : "reset", c && -g === r.translate || !c && g === r.translate) return r.updateActiveIndex(n), o.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== o.effect && r.setTranslate(g), "reset" !== m && (r.transitionStart(i, m), r.transitionEnd(i, m)), !1;
1031
- if (o.cssMode) {
1032
- var w = r.isHorizontal(),
1033
- y = -g;
1034
- return c && (y = u.scrollWidth - u.offsetWidth - y), 0 === t ? u[w ? "scrollLeft" : "scrollTop"] = y : u.scrollTo ? u.scrollTo(((a = {})[w ? "left" : "top"] = y, a.behavior = "smooth", a)) : u[w ? "scrollLeft" : "scrollTop"] = y, !0
1035
- }
1036
- return 0 === t ? (r.setTransition(0), r.setTranslate(g), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, s), r.transitionStart(i, m), r.transitionEnd(i, m)) : (r.setTransition(t), r.setTranslate(g), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, s), r.transitionStart(i, m), r.animating || (r.animating = !0, r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function (e) {
1037
- r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd), r.onSlideToWrapperTransitionEnd = null, delete r.onSlideToWrapperTransitionEnd, r.transitionEnd(i, m))
1038
- }), r.$wrapperEl[0].addEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd))), !0
1039
- },
1040
- slideToLoop: function (e, t, i, s) {
1041
- void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0);
1042
- var a = e;
1043
- return this.params.loop && (a += this.loopedSlides), this.slideTo(a, t, i, s)
1044
- },
1045
- slideNext: function (e, t, i) {
1046
- void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1047
- var s = this.params,
1048
- a = this.animating,
1049
- r = this.activeIndex < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup;
1050
- if (s.loop) {
1051
- if (a) return !1;
1052
- this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft
1053
- }
1054
- return this.slideTo(this.activeIndex + r, e, t, i)
1055
- },
1056
- slidePrev: function (e, t, i) {
1057
- void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1058
- var s = this.params,
1059
- a = this.animating,
1060
- r = this.snapGrid,
1061
- n = this.slidesGrid,
1062
- o = this.rtlTranslate;
1063
- if (s.loop) {
1064
- if (a) return !1;
1065
- this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft
1066
- }
1067
-
1068
- function l(e) {
1069
- return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
1070
- }
1071
- var d, h = l(o ? this.translate : -this.translate),
1072
- p = r.map((function (e) {
1073
- return l(e)
1074
- })),
1075
- c = (n.map((function (e) {
1076
- return l(e)
1077
- })), r[p.indexOf(h)], r[p.indexOf(h) - 1]);
1078
- return void 0 === c && s.cssMode && r.forEach((function (e) {
1079
- !c && h >= e && (c = e)
1080
- })), void 0 !== c && (d = n.indexOf(c)) < 0 && (d = this.activeIndex - 1), this.slideTo(d, e, t, i)
1081
- },
1082
- slideReset: function (e, t, i) {
1083
- return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, e, t, i)
1084
- },
1085
- slideToClosest: function (e, t, i, s) {
1086
- void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), void 0 === s && (s = .5);
1087
- var a = this.activeIndex,
1088
- r = Math.min(this.params.slidesPerGroupSkip, a),
1089
- n = r + Math.floor((a - r) / this.params.slidesPerGroup),
1090
- o = this.rtlTranslate ? this.translate : -this.translate;
1091
- if (o >= this.snapGrid[n]) {
1092
- var l = this.snapGrid[n];
1093
- o - l > (this.snapGrid[n + 1] - l) * s && (a += this.params.slidesPerGroup)
1094
- } else {
1095
- var d = this.snapGrid[n - 1];
1096
- o - d <= (this.snapGrid[n] - d) * s && (a -= this.params.slidesPerGroup)
1097
- }
1098
- return a = Math.max(a, 0), a = Math.min(a, this.slidesGrid.length - 1), this.slideTo(a, e, t, i)
1099
- },
1100
- slideToClickedSlide: function () {
1101
- var e, t = this,
1102
- i = t.params,
1103
- s = t.$wrapperEl,
1104
- a = "auto" === i.slidesPerView ? t.slidesPerViewDynamic() : i.slidesPerView,
1105
- r = t.clickedIndex;
1106
- if (i.loop) {
1107
- if (t.animating) return;
1108
- e = parseInt(n(t.clickedSlide).attr("data-swiper-slide-index"), 10), i.centeredSlides ? r < t.loopedSlides - a / 2 || r > t.slides.length - t.loopedSlides + a / 2 ? (t.loopFix(), r = s.children("." + i.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + i.slideDuplicateClass + ")").eq(0).index(), d.nextTick((function () {
1109
- t.slideTo(r)
1110
- }))) : t.slideTo(r) : r > t.slides.length - a ? (t.loopFix(), r = s.children("." + i.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + i.slideDuplicateClass + ")").eq(0).index(), d.nextTick((function () {
1111
- t.slideTo(r)
1112
- }))) : t.slideTo(r)
1113
- } else t.slideTo(r)
1114
- }
1115
- };
1116
- var g = {
1117
- loopCreate: function () {
1118
- var e = this,
1119
- t = e.params,
1120
- s = e.$wrapperEl;
1121
- s.children("." + t.slideClass + "." + t.slideDuplicateClass).remove();
1122
- var a = s.children("." + t.slideClass);
1123
- if (t.loopFillGroupWithBlank) {
1124
- var r = t.slidesPerGroup - a.length % t.slidesPerGroup;
1125
- if (r !== t.slidesPerGroup) {
1126
- for (var o = 0; o < r; o += 1) {
1127
- var l = n(i.createElement("div")).addClass(t.slideClass + " " + t.slideBlankClass);
1128
- s.append(l)
1129
- }
1130
- a = s.children("." + t.slideClass)
1131
- }
1132
- }
1133
- "auto" !== t.slidesPerView || t.loopedSlides || (t.loopedSlides = a.length), e.loopedSlides = Math.ceil(parseFloat(t.loopedSlides || t.slidesPerView, 10)), e.loopedSlides += t.loopAdditionalSlides, e.loopedSlides > a.length && (e.loopedSlides = a.length);
1134
- var d = [],
1135
- h = [];
1136
- a.each((function (t, i) {
1137
- var s = n(i);
1138
- t < e.loopedSlides && h.push(i), t < a.length && t >= a.length - e.loopedSlides && d.push(i), s.attr("data-swiper-slide-index", t)
1139
- }));
1140
- for (var p = 0; p < h.length; p += 1) s.append(n(h[p].cloneNode(!0)).addClass(t.slideDuplicateClass));
1141
- for (var c = d.length - 1; c >= 0; c -= 1) s.prepend(n(d[c].cloneNode(!0)).addClass(t.slideDuplicateClass))
1142
- },
1143
- loopFix: function () {
1144
- this.emit("beforeLoopFix");
1145
- var e, t = this.activeIndex,
1146
- i = this.slides,
1147
- s = this.loopedSlides,
1148
- a = this.allowSlidePrev,
1149
- r = this.allowSlideNext,
1150
- n = this.snapGrid,
1151
- o = this.rtlTranslate;
1152
- this.allowSlidePrev = !0, this.allowSlideNext = !0;
1153
- var l = -n[t] - this.getTranslate();
1154
- if (t < s) e = i.length - 3 * s + t, e += s, this.slideTo(e, 0, !1, !0) && 0 !== l && this.setTranslate((o ? -this.translate : this.translate) - l);
1155
- else if (t >= i.length - s) {
1156
- e = -i.length + t + s, e += s, this.slideTo(e, 0, !1, !0) && 0 !== l && this.setTranslate((o ? -this.translate : this.translate) - l)
1157
- }
1158
- this.allowSlidePrev = a, this.allowSlideNext = r, this.emit("loopFix")
1159
- },
1160
- loopDestroy: function () {
1161
- var e = this.$wrapperEl,
1162
- t = this.params,
1163
- i = this.slides;
1164
- e.children("." + t.slideClass + "." + t.slideDuplicateClass + ",." + t.slideClass + "." + t.slideBlankClass).remove(), i.removeAttr("data-swiper-slide-index")
1165
- }
1166
- };
1167
- var b = {
1168
- setGrabCursor: function (e) {
1169
- if (!(h.touch || !this.params.simulateTouch || this.params.watchOverflow && this.isLocked || this.params.cssMode)) {
1170
- var t = this.el;
1171
- t.style.cursor = "move", t.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", t.style.cursor = e ? "-moz-grabbin" : "-moz-grab", t.style.cursor = e ? "grabbing" : "grab"
1172
- }
1173
- },
1174
- unsetGrabCursor: function () {
1175
- h.touch || this.params.watchOverflow && this.isLocked || this.params.cssMode || (this.el.style.cursor = "")
1176
- }
1177
- };
1178
- var w, y, x, E, T, S, C, M, P, z, k, $, L, I, D, O = {
1179
- appendSlide: function (e) {
1180
- var t = this.$wrapperEl,
1181
- i = this.params;
1182
- if (i.loop && this.loopDestroy(), "object" == typeof e && "length" in e)
1183
- for (var s = 0; s < e.length; s += 1) e[s] && t.append(e[s]);
1184
- else t.append(e);
1185
- i.loop && this.loopCreate(), i.observer && h.observer || this.update()
1186
- },
1187
- prependSlide: function (e) {
1188
- var t = this.params,
1189
- i = this.$wrapperEl,
1190
- s = this.activeIndex;
1191
- t.loop && this.loopDestroy();
1192
- var a = s + 1;
1193
- if ("object" == typeof e && "length" in e) {
1194
- for (var r = 0; r < e.length; r += 1) e[r] && i.prepend(e[r]);
1195
- a = s + e.length
1196
- } else i.prepend(e);
1197
- t.loop && this.loopCreate(), t.observer && h.observer || this.update(), this.slideTo(a, 0, !1)
1198
- },
1199
- addSlide: function (e, t) {
1200
- var i = this.$wrapperEl,
1201
- s = this.params,
1202
- a = this.activeIndex;
1203
- s.loop && (a -= this.loopedSlides, this.loopDestroy(), this.slides = i.children("." + s.slideClass));
1204
- var r = this.slides.length;
1205
- if (e <= 0) this.prependSlide(t);
1206
- else if (e >= r) this.appendSlide(t);
1207
- else {
1208
- for (var n = a > e ? a + 1 : a, o = [], l = r - 1; l >= e; l -= 1) {
1209
- var d = this.slides.eq(l);
1210
- d.remove(), o.unshift(d)
1211
- }
1212
- if ("object" == typeof t && "length" in t) {
1213
- for (var p = 0; p < t.length; p += 1) t[p] && i.append(t[p]);
1214
- n = a > e ? a + t.length : a
1215
- } else i.append(t);
1216
- for (var c = 0; c < o.length; c += 1) i.append(o[c]);
1217
- s.loop && this.loopCreate(), s.observer && h.observer || this.update(), s.loop ? this.slideTo(n + this.loopedSlides, 0, !1) : this.slideTo(n, 0, !1)
1218
- }
1219
- },
1220
- removeSlide: function (e) {
1221
- var t = this.params,
1222
- i = this.$wrapperEl,
1223
- s = this.activeIndex;
1224
- t.loop && (s -= this.loopedSlides, this.loopDestroy(), this.slides = i.children("." + t.slideClass));
1225
- var a, r = s;
1226
- if ("object" == typeof e && "length" in e) {
1227
- for (var n = 0; n < e.length; n += 1) a = e[n], this.slides[a] && this.slides.eq(a).remove(), a < r && (r -= 1);
1228
- r = Math.max(r, 0)
1229
- } else a = e, this.slides[a] && this.slides.eq(a).remove(), a < r && (r -= 1), r = Math.max(r, 0);
1230
- t.loop && this.loopCreate(), t.observer && h.observer || this.update(), t.loop ? this.slideTo(r + this.loopedSlides, 0, !1) : this.slideTo(r, 0, !1)
1231
- },
1232
- removeAllSlides: function () {
1233
- for (var e = [], t = 0; t < this.slides.length; t += 1) e.push(t);
1234
- this.removeSlide(e)
1235
- }
1236
- },
1237
- A = (w = a.navigator.platform, y = a.navigator.userAgent, x = {
1238
- ios: !1,
1239
- android: !1,
1240
- androidChrome: !1,
1241
- desktop: !1,
1242
- iphone: !1,
1243
- ipod: !1,
1244
- ipad: !1,
1245
- edge: !1,
1246
- ie: !1,
1247
- firefox: !1,
1248
- macos: !1,
1249
- windows: !1,
1250
- cordova: !(!a.cordova && !a.phonegap),
1251
- phonegap: !(!a.cordova && !a.phonegap),
1252
- electron: !1
1253
- }, E = a.screen.width, T = a.screen.height, S = y.match(/(Android);?[\s\/]+([\d.]+)?/), C = y.match(/(iPad).*OS\s([\d_]+)/), M = y.match(/(iPod)(.*OS\s([\d_]+))?/), P = !C && y.match(/(iPhone\sOS|iOS)\s([\d_]+)/), z = y.indexOf("MSIE ") >= 0 || y.indexOf("Trident/") >= 0, k = y.indexOf("Edge/") >= 0, $ = y.indexOf("Gecko/") >= 0 && y.indexOf("Firefox/") >= 0, L = "Win32" === w, I = y.toLowerCase().indexOf("electron") >= 0, D = "MacIntel" === w, !C && D && h.touch && (1024 === E && 1366 === T || 834 === E && 1194 === T || 834 === E && 1112 === T || 768 === E && 1024 === T) && (C = y.match(/(Version)\/([\d.]+)/), D = !1), x.ie = z, x.edge = k, x.firefox = $, S && !L && (x.os = "android", x.osVersion = S[2], x.android = !0, x.androidChrome = y.toLowerCase().indexOf("chrome") >= 0), (C || P || M) && (x.os = "ios", x.ios = !0), P && !M && (x.osVersion = P[2].replace(/_/g, "."), x.iphone = !0), C && (x.osVersion = C[2].replace(/_/g, "."), x.ipad = !0), M && (x.osVersion = M[3] ? M[3].replace(/_/g, ".") : null, x.ipod = !0), x.ios && x.osVersion && y.indexOf("Version/") >= 0 && "10" === x.osVersion.split(".")[0] && (x.osVersion = y.toLowerCase().split("version/")[1].split(" ")[0]), x.webView = !(!(P || C || M) || !y.match(/.*AppleWebKit(?!.*Safari)/i) && !a.navigator.standalone) || a.matchMedia && a.matchMedia("(display-mode: standalone)").matches, x.webview = x.webView, x.standalone = x.webView, x.desktop = !(x.ios || x.android) || I, x.desktop && (x.electron = I, x.macos = D, x.windows = L, x.macos && (x.os = "macos"), x.windows && (x.os = "windows")), x.pixelRatio = a.devicePixelRatio || 1, x);
1254
-
1255
- function G(e) {
1256
- var t = this.touchEventsData,
1257
- s = this.params,
1258
- r = this.touches;
1259
- if (!this.animating || !s.preventInteractionOnTransition) {
1260
- var o = e;
1261
- o.originalEvent && (o = o.originalEvent);
1262
- var l = n(o.target);
1263
- if (("wrapper" !== s.touchEventsTarget || l.closest(this.wrapperEl).length) && (t.isTouchEvent = "touchstart" === o.type, (t.isTouchEvent || !("which" in o) || 3 !== o.which) && !(!t.isTouchEvent && "button" in o && o.button > 0 || t.isTouched && t.isMoved)))
1264
- if (s.noSwiping && l.closest(s.noSwipingSelector ? s.noSwipingSelector : "." + s.noSwipingClass)[0]) this.allowClick = !0;
1265
- else if (!s.swipeHandler || l.closest(s.swipeHandler)[0]) {
1266
- r.currentX = "touchstart" === o.type ? o.targetTouches[0].pageX : o.pageX, r.currentY = "touchstart" === o.type ? o.targetTouches[0].pageY : o.pageY;
1267
- var h = r.currentX,
1268
- p = r.currentY,
1269
- c = s.edgeSwipeDetection || s.iOSEdgeSwipeDetection,
1270
- u = s.edgeSwipeThreshold || s.iOSEdgeSwipeThreshold;
1271
- if (!c || !(h <= u || h >= a.screen.width - u)) {
1272
- if (d.extend(t, {
1273
- isTouched: !0,
1274
- isMoved: !1,
1275
- allowTouchCallbacks: !0,
1276
- isScrolling: void 0,
1277
- startMoving: void 0
1278
- }), r.startX = h, r.startY = p, t.touchStartTime = d.now(), this.allowClick = !0, this.updateSize(), this.swipeDirection = void 0, s.threshold > 0 && (t.allowThresholdMove = !1), "touchstart" !== o.type) {
1279
- var v = !0;
1280
- l.is(t.formElements) && (v = !1), i.activeElement && n(i.activeElement).is(t.formElements) && i.activeElement !== l[0] && i.activeElement.blur();
1281
- var f = v && this.allowTouchMove && s.touchStartPreventDefault;
1282
- (s.touchStartForcePreventDefault || f) && o.preventDefault()
1283
- }
1284
- this.emit("touchStart", o)
1285
- }
1286
- }
1287
- }
1288
- }
1289
-
1290
- function H(e) {
1291
- var t = this.touchEventsData,
1292
- s = this.params,
1293
- a = this.touches,
1294
- r = this.rtlTranslate,
1295
- o = e;
1296
- if (o.originalEvent && (o = o.originalEvent), t.isTouched) {
1297
- if (!t.isTouchEvent || "touchmove" === o.type) {
1298
- var l = "touchmove" === o.type && o.targetTouches && (o.targetTouches[0] || o.changedTouches[0]),
1299
- h = "touchmove" === o.type ? l.pageX : o.pageX,
1300
- p = "touchmove" === o.type ? l.pageY : o.pageY;
1301
- if (o.preventedByNestedSwiper) return a.startX = h, void(a.startY = p);
1302
- if (!this.allowTouchMove) return this.allowClick = !1, void(t.isTouched && (d.extend(a, {
1303
- startX: h,
1304
- startY: p,
1305
- currentX: h,
1306
- currentY: p
1307
- }), t.touchStartTime = d.now()));
1308
- if (t.isTouchEvent && s.touchReleaseOnEdges && !s.loop)
1309
- if (this.isVertical()) {
1310
- if (p < a.startY && this.translate <= this.maxTranslate() || p > a.startY && this.translate >= this.minTranslate()) return t.isTouched = !1, void(t.isMoved = !1)
1311
- } else if (h < a.startX && this.translate <= this.maxTranslate() || h > a.startX && this.translate >= this.minTranslate()) return;
1312
- if (t.isTouchEvent && i.activeElement && o.target === i.activeElement && n(o.target).is(t.formElements)) return t.isMoved = !0, void(this.allowClick = !1);
1313
- if (t.allowTouchCallbacks && this.emit("touchMove", o), !(o.targetTouches && o.targetTouches.length > 1)) {
1314
- a.currentX = h, a.currentY = p;
1315
- var c = a.currentX - a.startX,
1316
- u = a.currentY - a.startY;
1317
- if (!(this.params.threshold && Math.sqrt(Math.pow(c, 2) + Math.pow(u, 2)) < this.params.threshold)) {
1318
- var v;
1319
- if (void 0 === t.isScrolling) this.isHorizontal() && a.currentY === a.startY || this.isVertical() && a.currentX === a.startX ? t.isScrolling = !1 : c * c + u * u >= 25 && (v = 180 * Math.atan2(Math.abs(u), Math.abs(c)) / Math.PI, t.isScrolling = this.isHorizontal() ? v > s.touchAngle : 90 - v > s.touchAngle);
1320
- if (t.isScrolling && this.emit("touchMoveOpposite", o), void 0 === t.startMoving && (a.currentX === a.startX && a.currentY === a.startY || (t.startMoving = !0)), t.isScrolling) t.isTouched = !1;
1321
- else if (t.startMoving) {
1322
- this.allowClick = !1, !s.cssMode && o.cancelable && o.preventDefault(), s.touchMoveStopPropagation && !s.nested && o.stopPropagation(), t.isMoved || (s.loop && this.loopFix(), t.startTranslate = this.getTranslate(), this.setTransition(0), this.animating && this.$wrapperEl.trigger("webkitTransitionEnd transitionend"), t.allowMomentumBounce = !1, !s.grabCursor || !0 !== this.allowSlideNext && !0 !== this.allowSlidePrev || this.setGrabCursor(!0), this.emit("sliderFirstMove", o)), this.emit("sliderMove", o), t.isMoved = !0;
1323
- var f = this.isHorizontal() ? c : u;
1324
- a.diff = f, f *= s.touchRatio, r && (f = -f), this.swipeDirection = f > 0 ? "prev" : "next", t.currentTranslate = f + t.startTranslate;
1325
- var m = !0,
1326
- g = s.resistanceRatio;
1327
- if (s.touchReleaseOnEdges && (g = 0), f > 0 && t.currentTranslate > this.minTranslate() ? (m = !1, s.resistance && (t.currentTranslate = this.minTranslate() - 1 + Math.pow(-this.minTranslate() + t.startTranslate + f, g))) : f < 0 && t.currentTranslate < this.maxTranslate() && (m = !1, s.resistance && (t.currentTranslate = this.maxTranslate() + 1 - Math.pow(this.maxTranslate() - t.startTranslate - f, g))), m && (o.preventedByNestedSwiper = !0), !this.allowSlideNext && "next" === this.swipeDirection && t.currentTranslate < t.startTranslate && (t.currentTranslate = t.startTranslate), !this.allowSlidePrev && "prev" === this.swipeDirection && t.currentTranslate > t.startTranslate && (t.currentTranslate = t.startTranslate), s.threshold > 0) {
1328
- if (!(Math.abs(f) > s.threshold || t.allowThresholdMove)) return void(t.currentTranslate = t.startTranslate);
1329
- if (!t.allowThresholdMove) return t.allowThresholdMove = !0, a.startX = a.currentX, a.startY = a.currentY, t.currentTranslate = t.startTranslate, void(a.diff = this.isHorizontal() ? a.currentX - a.startX : a.currentY - a.startY)
1330
- }
1331
- s.followFinger && !s.cssMode && ((s.freeMode || s.watchSlidesProgress || s.watchSlidesVisibility) && (this.updateActiveIndex(), this.updateSlidesClasses()), s.freeMode && (0 === t.velocities.length && t.velocities.push({
1332
- position: a[this.isHorizontal() ? "startX" : "startY"],
1333
- time: t.touchStartTime
1334
- }), t.velocities.push({
1335
- position: a[this.isHorizontal() ? "currentX" : "currentY"],
1336
- time: d.now()
1337
- })), this.updateProgress(t.currentTranslate), this.setTranslate(t.currentTranslate))
1338
- }
1339
- }
1340
- }
1341
- }
1342
- } else t.startMoving && t.isScrolling && this.emit("touchMoveOpposite", o)
1343
- }
1344
-
1345
- function B(e) {
1346
- var t = this,
1347
- i = t.touchEventsData,
1348
- s = t.params,
1349
- a = t.touches,
1350
- r = t.rtlTranslate,
1351
- n = t.$wrapperEl,
1352
- o = t.slidesGrid,
1353
- l = t.snapGrid,
1354
- h = e;
1355
- if (h.originalEvent && (h = h.originalEvent), i.allowTouchCallbacks && t.emit("touchEnd", h), i.allowTouchCallbacks = !1, !i.isTouched) return i.isMoved && s.grabCursor && t.setGrabCursor(!1), i.isMoved = !1, void(i.startMoving = !1);
1356
- s.grabCursor && i.isMoved && i.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
1357
- var p, c = d.now(),
1358
- u = c - i.touchStartTime;
1359
- if (t.allowClick && (t.updateClickedSlide(h), t.emit("tap click", h), u < 300 && c - i.lastClickTime < 300 && t.emit("doubleTap doubleClick", h)), i.lastClickTime = d.now(), d.nextTick((function () {
1360
- t.destroyed || (t.allowClick = !0)
1361
- })), !i.isTouched || !i.isMoved || !t.swipeDirection || 0 === a.diff || i.currentTranslate === i.startTranslate) return i.isTouched = !1, i.isMoved = !1, void(i.startMoving = !1);
1362
- if (i.isTouched = !1, i.isMoved = !1, i.startMoving = !1, p = s.followFinger ? r ? t.translate : -t.translate : -i.currentTranslate, !s.cssMode)
1363
- if (s.freeMode) {
1364
- if (p < -t.minTranslate()) return void t.slideTo(t.activeIndex);
1365
- if (p > -t.maxTranslate()) return void(t.slides.length < l.length ? t.slideTo(l.length - 1) : t.slideTo(t.slides.length - 1));
1366
- if (s.freeModeMomentum) {
1367
- if (i.velocities.length > 1) {
1368
- var v = i.velocities.pop(),
1369
- f = i.velocities.pop(),
1370
- m = v.position - f.position,
1371
- g = v.time - f.time;
1372
- t.velocity = m / g, t.velocity /= 2, Math.abs(t.velocity) < s.freeModeMinimumVelocity && (t.velocity = 0), (g > 150 || d.now() - v.time > 300) && (t.velocity = 0)
1373
- } else t.velocity = 0;
1374
- t.velocity *= s.freeModeMomentumVelocityRatio, i.velocities.length = 0;
1375
- var b = 1e3 * s.freeModeMomentumRatio,
1376
- w = t.velocity * b,
1377
- y = t.translate + w;
1378
- r && (y = -y);
1379
- var x, E, T = !1,
1380
- S = 20 * Math.abs(t.velocity) * s.freeModeMomentumBounceRatio;
1381
- if (y < t.maxTranslate()) s.freeModeMomentumBounce ? (y + t.maxTranslate() < -S && (y = t.maxTranslate() - S), x = t.maxTranslate(), T = !0, i.allowMomentumBounce = !0) : y = t.maxTranslate(), s.loop && s.centeredSlides && (E = !0);
1382
- else if (y > t.minTranslate()) s.freeModeMomentumBounce ? (y - t.minTranslate() > S && (y = t.minTranslate() + S), x = t.minTranslate(), T = !0, i.allowMomentumBounce = !0) : y = t.minTranslate(), s.loop && s.centeredSlides && (E = !0);
1383
- else if (s.freeModeSticky) {
1384
- for (var C, M = 0; M < l.length; M += 1)
1385
- if (l[M] > -y) {
1386
- C = M;
1387
- break
1388
- }
1389
- y = -(y = Math.abs(l[C] - y) < Math.abs(l[C - 1] - y) || "next" === t.swipeDirection ? l[C] : l[C - 1])
1390
- }
1391
- if (E && t.once("transitionEnd", (function () {
1392
- t.loopFix()
1393
- })), 0 !== t.velocity) {
1394
- if (b = r ? Math.abs((-y - t.translate) / t.velocity) : Math.abs((y - t.translate) / t.velocity), s.freeModeSticky) {
1395
- var P = Math.abs((r ? -y : y) - t.translate),
1396
- z = t.slidesSizesGrid[t.activeIndex];
1397
- b = P < z ? s.speed : P < 2 * z ? 1.5 * s.speed : 2.5 * s.speed
1398
- }
1399
- } else if (s.freeModeSticky) return void t.slideToClosest();
1400
- s.freeModeMomentumBounce && T ? (t.updateProgress(x), t.setTransition(b), t.setTranslate(y), t.transitionStart(!0, t.swipeDirection), t.animating = !0, n.transitionEnd((function () {
1401
- t && !t.destroyed && i.allowMomentumBounce && (t.emit("momentumBounce"), t.setTransition(s.speed), setTimeout((function () {
1402
- t.setTranslate(x), n.transitionEnd((function () {
1403
- t && !t.destroyed && t.transitionEnd()
1404
- }))
1405
- }), 0))
1406
- }))) : t.velocity ? (t.updateProgress(y), t.setTransition(b), t.setTranslate(y), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, n.transitionEnd((function () {
1407
- t && !t.destroyed && t.transitionEnd()
1408
- })))) : t.updateProgress(y), t.updateActiveIndex(), t.updateSlidesClasses()
1409
- } else if (s.freeModeSticky) return void t.slideToClosest();
1410
- (!s.freeModeMomentum || u >= s.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses())
1411
- } else {
1412
- for (var k = 0, $ = t.slidesSizesGrid[0], L = 0; L < o.length; L += L < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup) {
1413
- var I = L < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup;
1414
- void 0 !== o[L + I] ? p >= o[L] && p < o[L + I] && (k = L, $ = o[L + I] - o[L]) : p >= o[L] && (k = L, $ = o[o.length - 1] - o[o.length - 2])
1415
- }
1416
- var D = (p - o[k]) / $,
1417
- O = k < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup;
1418
- if (u > s.longSwipesMs) {
1419
- if (!s.longSwipes) return void t.slideTo(t.activeIndex);
1420
- "next" === t.swipeDirection && (D >= s.longSwipesRatio ? t.slideTo(k + O) : t.slideTo(k)), "prev" === t.swipeDirection && (D > 1 - s.longSwipesRatio ? t.slideTo(k + O) : t.slideTo(k))
1421
- } else {
1422
- if (!s.shortSwipes) return void t.slideTo(t.activeIndex);
1423
- t.navigation && (h.target === t.navigation.nextEl || h.target === t.navigation.prevEl) ? h.target === t.navigation.nextEl ? t.slideTo(k + O) : t.slideTo(k) : ("next" === t.swipeDirection && t.slideTo(k + O), "prev" === t.swipeDirection && t.slideTo(k))
1424
- }
1425
- }
1426
- }
1427
-
1428
- function N() {
1429
- var e = this.params,
1430
- t = this.el;
1431
- if (!t || 0 !== t.offsetWidth) {
1432
- e.breakpoints && this.setBreakpoint();
1433
- var i = this.allowSlideNext,
1434
- s = this.allowSlidePrev,
1435
- a = this.snapGrid;
1436
- this.allowSlideNext = !0, this.allowSlidePrev = !0, this.updateSize(), this.updateSlides(), this.updateSlidesClasses(), ("auto" === e.slidesPerView || e.slidesPerView > 1) && this.isEnd && !this.isBeginning && !this.params.centeredSlides ? this.slideTo(this.slides.length - 1, 0, !1, !0) : this.slideTo(this.activeIndex, 0, !1, !0), this.autoplay && this.autoplay.running && this.autoplay.paused && this.autoplay.run(), this.allowSlidePrev = s, this.allowSlideNext = i, this.params.watchOverflow && a !== this.snapGrid && this.checkOverflow()
1437
- }
1438
- }
1439
-
1440
- function X(e) {
1441
- this.allowClick || (this.params.preventClicks && e.preventDefault(), this.params.preventClicksPropagation && this.animating && (e.stopPropagation(), e.stopImmediatePropagation()))
1442
- }
1443
-
1444
- function V() {
1445
- var e = this.wrapperEl,
1446
- t = this.rtlTranslate;
1447
- this.previousTranslate = this.translate, this.isHorizontal() ? this.translate = t ? e.scrollWidth - e.offsetWidth - e.scrollLeft : -e.scrollLeft : this.translate = -e.scrollTop, -0 === this.translate && (this.translate = 0), this.updateActiveIndex(), this.updateSlidesClasses();
1448
- var i = this.maxTranslate() - this.minTranslate();
1449
- (0 === i ? 0 : (this.translate - this.minTranslate()) / i) !== this.progress && this.updateProgress(t ? -this.translate : this.translate), this.emit("setTranslate", this.translate, !1)
1450
- }
1451
- var Y = !1;
1452
-
1453
- function F() {}
1454
- var W = {
1455
- init: !0,
1456
- direction: "horizontal",
1457
- touchEventsTarget: "container",
1458
- initialSlide: 0,
1459
- speed: 300,
1460
- cssMode: !1,
1461
- updateOnWindowResize: !0,
1462
- preventInteractionOnTransition: !1,
1463
- edgeSwipeDetection: !1,
1464
- edgeSwipeThreshold: 20,
1465
- freeMode: !1,
1466
- freeModeMomentum: !0,
1467
- freeModeMomentumRatio: 1,
1468
- freeModeMomentumBounce: !0,
1469
- freeModeMomentumBounceRatio: 1,
1470
- freeModeMomentumVelocityRatio: 1,
1471
- freeModeSticky: !1,
1472
- freeModeMinimumVelocity: .02,
1473
- autoHeight: !1,
1474
- setWrapperSize: !1,
1475
- virtualTranslate: !1,
1476
- effect: "slide",
1477
- breakpoints: void 0,
1478
- spaceBetween: 0,
1479
- slidesPerView: 1,
1480
- slidesPerColumn: 1,
1481
- slidesPerColumnFill: "column",
1482
- slidesPerGroup: 1,
1483
- slidesPerGroupSkip: 0,
1484
- centeredSlides: !1,
1485
- centeredSlidesBounds: !1,
1486
- slidesOffsetBefore: 0,
1487
- slidesOffsetAfter: 0,
1488
- normalizeSlideIndex: !0,
1489
- centerInsufficientSlides: !1,
1490
- watchOverflow: !1,
1491
- roundLengths: !1,
1492
- touchRatio: 1,
1493
- touchAngle: 45,
1494
- simulateTouch: !0,
1495
- shortSwipes: !0,
1496
- longSwipes: !0,
1497
- longSwipesRatio: .5,
1498
- longSwipesMs: 300,
1499
- followFinger: !0,
1500
- allowTouchMove: !0,
1501
- threshold: 0,
1502
- touchMoveStopPropagation: !1,
1503
- touchStartPreventDefault: !0,
1504
- touchStartForcePreventDefault: !1,
1505
- touchReleaseOnEdges: !1,
1506
- uniqueNavElements: !0,
1507
- resistance: !0,
1508
- resistanceRatio: .85,
1509
- watchSlidesProgress: !1,
1510
- watchSlidesVisibility: !1,
1511
- grabCursor: !1,
1512
- preventClicks: !0,
1513
- preventClicksPropagation: !0,
1514
- slideToClickedSlide: !1,
1515
- preloadImages: !0,
1516
- updateOnImagesReady: !0,
1517
- loop: !1,
1518
- loopAdditionalSlides: 0,
1519
- loopedSlides: null,
1520
- loopFillGroupWithBlank: !1,
1521
- allowSlidePrev: !0,
1522
- allowSlideNext: !0,
1523
- swipeHandler: null,
1524
- noSwiping: !0,
1525
- noSwipingClass: "swiper-no-swiping",
1526
- noSwipingSelector: null,
1527
- passiveListeners: !0,
1528
- containerModifierClass: "swiper-container-",
1529
- slideClass: "swiper-slide",
1530
- slideBlankClass: "swiper-slide-invisible-blank",
1531
- slideActiveClass: "swiper-slide-active",
1532
- slideDuplicateActiveClass: "swiper-slide-duplicate-active",
1533
- slideVisibleClass: "swiper-slide-visible",
1534
- slideDuplicateClass: "swiper-slide-duplicate",
1535
- slideNextClass: "swiper-slide-next",
1536
- slideDuplicateNextClass: "swiper-slide-duplicate-next",
1537
- slidePrevClass: "swiper-slide-prev",
1538
- slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
1539
- wrapperClass: "swiper-wrapper",
1540
- runCallbacksOnInit: !0
1541
- },
1542
- R = {
1543
- update: u,
1544
- translate: v,
1545
- transition: f,
1546
- slide: m,
1547
- loop: g,
1548
- grabCursor: b,
1549
- manipulation: O,
1550
- events: {
1551
- attachEvents: function () {
1552
- var e = this.params,
1553
- t = this.touchEvents,
1554
- s = this.el,
1555
- a = this.wrapperEl;
1556
- this.onTouchStart = G.bind(this), this.onTouchMove = H.bind(this), this.onTouchEnd = B.bind(this), e.cssMode && (this.onScroll = V.bind(this)), this.onClick = X.bind(this);
1557
- var r = !!e.nested;
1558
- if (!h.touch && h.pointerEvents) s.addEventListener(t.start, this.onTouchStart, !1), i.addEventListener(t.move, this.onTouchMove, r), i.addEventListener(t.end, this.onTouchEnd, !1);
1559
- else {
1560
- if (h.touch) {
1561
- var n = !("touchstart" !== t.start || !h.passiveListener || !e.passiveListeners) && {
1562
- passive: !0,
1563
- capture: !1
1564
- };
1565
- s.addEventListener(t.start, this.onTouchStart, n), s.addEventListener(t.move, this.onTouchMove, h.passiveListener ? {
1566
- passive: !1,
1567
- capture: r
1568
- } : r), s.addEventListener(t.end, this.onTouchEnd, n), t.cancel && s.addEventListener(t.cancel, this.onTouchEnd, n), Y || (i.addEventListener("touchstart", F), Y = !0)
1569
- }(e.simulateTouch && !A.ios && !A.android || e.simulateTouch && !h.touch && A.ios) && (s.addEventListener("mousedown", this.onTouchStart, !1), i.addEventListener("mousemove", this.onTouchMove, r), i.addEventListener("mouseup", this.onTouchEnd, !1))
1570
- }(e.preventClicks || e.preventClicksPropagation) && s.addEventListener("click", this.onClick, !0), e.cssMode && a.addEventListener("scroll", this.onScroll), e.updateOnWindowResize ? this.on(A.ios || A.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", N, !0) : this.on("observerUpdate", N, !0)
1571
- },
1572
- detachEvents: function () {
1573
- var e = this.params,
1574
- t = this.touchEvents,
1575
- s = this.el,
1576
- a = this.wrapperEl,
1577
- r = !!e.nested;
1578
- if (!h.touch && h.pointerEvents) s.removeEventListener(t.start, this.onTouchStart, !1), i.removeEventListener(t.move, this.onTouchMove, r), i.removeEventListener(t.end, this.onTouchEnd, !1);
1579
- else {
1580
- if (h.touch) {
1581
- var n = !("onTouchStart" !== t.start || !h.passiveListener || !e.passiveListeners) && {
1582
- passive: !0,
1583
- capture: !1
1584
- };
1585
- s.removeEventListener(t.start, this.onTouchStart, n), s.removeEventListener(t.move, this.onTouchMove, r), s.removeEventListener(t.end, this.onTouchEnd, n), t.cancel && s.removeEventListener(t.cancel, this.onTouchEnd, n)
1586
- }(e.simulateTouch && !A.ios && !A.android || e.simulateTouch && !h.touch && A.ios) && (s.removeEventListener("mousedown", this.onTouchStart, !1), i.removeEventListener("mousemove", this.onTouchMove, r), i.removeEventListener("mouseup", this.onTouchEnd, !1))
1587
- }(e.preventClicks || e.preventClicksPropagation) && s.removeEventListener("click", this.onClick, !0), e.cssMode && a.removeEventListener("scroll", this.onScroll), this.off(A.ios || A.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", N)
1588
- }
1589
- },
1590
- breakpoints: {
1591
- setBreakpoint: function () {
1592
- var e = this.activeIndex,
1593
- t = this.initialized,
1594
- i = this.loopedSlides;
1595
- void 0 === i && (i = 0);
1596
- var s = this.params,
1597
- a = this.$el,
1598
- r = s.breakpoints;
1599
- if (r && (!r || 0 !== Object.keys(r).length)) {
1600
- var n = this.getBreakpoint(r);
1601
- if (n && this.currentBreakpoint !== n) {
1602
- var o = n in r ? r[n] : void 0;
1603
- o && ["slidesPerView", "spaceBetween", "slidesPerGroup", "slidesPerGroupSkip", "slidesPerColumn"].forEach((function (e) {
1604
- var t = o[e];
1605
- void 0 !== t && (o[e] = "slidesPerView" !== e || "AUTO" !== t && "auto" !== t ? "slidesPerView" === e ? parseFloat(t) : parseInt(t, 10) : "auto")
1606
- }));
1607
- var l = o || this.originalParams,
1608
- h = s.slidesPerColumn > 1,
1609
- p = l.slidesPerColumn > 1;
1610
- h && !p ? a.removeClass(s.containerModifierClass + "multirow " + s.containerModifierClass + "multirow-column") : !h && p && (a.addClass(s.containerModifierClass + "multirow"), "column" === l.slidesPerColumnFill && a.addClass(s.containerModifierClass + "multirow-column"));
1611
- var c = l.direction && l.direction !== s.direction,
1612
- u = s.loop && (l.slidesPerView !== s.slidesPerView || c);
1613
- c && t && this.changeDirection(), d.extend(this.params, l), d.extend(this, {
1614
- allowTouchMove: this.params.allowTouchMove,
1615
- allowSlideNext: this.params.allowSlideNext,
1616
- allowSlidePrev: this.params.allowSlidePrev
1617
- }), this.currentBreakpoint = n, u && t && (this.loopDestroy(), this.loopCreate(), this.updateSlides(), this.slideTo(e - i + this.loopedSlides, 0, !1)), this.emit("breakpoint", l)
1618
- }
1619
- }
1620
- },
1621
- getBreakpoint: function (e) {
1622
- if (e) {
1623
- var t = !1,
1624
- i = Object.keys(e).map((function (e) {
1625
- if ("string" == typeof e && 0 === e.indexOf("@")) {
1626
- var t = parseFloat(e.substr(1));
1627
- return {
1628
- value: a.innerHeight * t,
1629
- point: e
1630
- }
1631
- }
1632
- return {
1633
- value: e,
1634
- point: e
1635
- }
1636
- }));
1637
- i.sort((function (e, t) {
1638
- return parseInt(e.value, 10) - parseInt(t.value, 10)
1639
- }));
1640
- for (var s = 0; s < i.length; s += 1) {
1641
- var r = i[s],
1642
- n = r.point;
1643
- r.value <= a.innerWidth && (t = n)
1644
- }
1645
- return t || "max"
1646
- }
1647
- }
1648
- },
1649
- checkOverflow: {
1650
- checkOverflow: function () {
1651
- var e = this.params,
1652
- t = this.isLocked,
1653
- i = this.slides.length > 0 && e.slidesOffsetBefore + e.spaceBetween * (this.slides.length - 1) + this.slides[0].offsetWidth * this.slides.length;
1654
- e.slidesOffsetBefore && e.slidesOffsetAfter && i ? this.isLocked = i <= this.size : this.isLocked = 1 === this.snapGrid.length, this.allowSlideNext = !this.isLocked, this.allowSlidePrev = !this.isLocked, t !== this.isLocked && this.emit(this.isLocked ? "lock" : "unlock"), t && t !== this.isLocked && (this.isEnd = !1, this.navigation && this.navigation.update())
1655
- }
1656
- },
1657
- classes: {
1658
- addClasses: function () {
1659
- var e = this.classNames,
1660
- t = this.params,
1661
- i = this.rtl,
1662
- s = this.$el,
1663
- a = [];
1664
- a.push("initialized"), a.push(t.direction), t.freeMode && a.push("free-mode"), t.autoHeight && a.push("autoheight"), i && a.push("rtl"), t.slidesPerColumn > 1 && (a.push("multirow"), "column" === t.slidesPerColumnFill && a.push("multirow-column")), A.android && a.push("android"), A.ios && a.push("ios"), t.cssMode && a.push("css-mode"), a.forEach((function (i) {
1665
- e.push(t.containerModifierClass + i)
1666
- })), s.addClass(e.join(" "))
1667
- },
1668
- removeClasses: function () {
1669
- var e = this.$el,
1670
- t = this.classNames;
1671
- e.removeClass(t.join(" "))
1672
- }
1673
- },
1674
- images: {
1675
- loadImage: function (e, t, i, s, r, o) {
1676
- var l;
1677
-
1678
- function d() {
1679
- o && o()
1680
- }
1681
- n(e).parent("picture")[0] || e.complete && r ? d() : t ? ((l = new a.Image).onload = d, l.onerror = d, s && (l.sizes = s), i && (l.srcset = i), t && (l.src = t)) : d()
1682
- },
1683
- preloadImages: function () {
1684
- var e = this;
1685
-
1686
- function t() {
1687
- null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit("imagesReady")))
1688
- }
1689
- e.imagesToLoad = e.$el.find("img");
1690
- for (var i = 0; i < e.imagesToLoad.length; i += 1) {
1691
- var s = e.imagesToLoad[i];
1692
- e.loadImage(s, s.currentSrc || s.getAttribute("src"), s.srcset || s.getAttribute("srcset"), s.sizes || s.getAttribute("sizes"), !0, t)
1693
- }
1694
- }
1695
- }
1696
- },
1697
- q = {},
1698
- j = function (e) {
1699
- function t() {
1700
- for (var i, s, a, r = [], o = arguments.length; o--;) r[o] = arguments[o];
1701
- 1 === r.length && r[0].constructor && r[0].constructor === Object ? a = r[0] : (s = (i = r)[0], a = i[1]), a || (a = {}), a = d.extend({}, a), s && !a.el && (a.el = s), e.call(this, a), Object.keys(R).forEach((function (e) {
1702
- Object.keys(R[e]).forEach((function (i) {
1703
- t.prototype[i] || (t.prototype[i] = R[e][i])
1704
- }))
1705
- }));
1706
- var l = this;
1707
- void 0 === l.modules && (l.modules = {}), Object.keys(l.modules).forEach((function (e) {
1708
- var t = l.modules[e];
1709
- if (t.params) {
1710
- var i = Object.keys(t.params)[0],
1711
- s = t.params[i];
1712
- if ("object" != typeof s || null === s) return;
1713
- if (!(i in a) || !("enabled" in s)) return;
1714
- !0 === a[i] && (a[i] = {
1715
- enabled: !0
1716
- }), "object" != typeof a[i] || "enabled" in a[i] || (a[i].enabled = !0), a[i] || (a[i] = {
1717
- enabled: !1
1718
- })
1719
- }
1720
- }));
1721
- var p = d.extend({}, W);
1722
- l.useModulesParams(p), l.params = d.extend({}, p, q, a), l.originalParams = d.extend({}, l.params), l.passedParams = d.extend({}, a), l.$ = n;
1723
- var c = n(l.params.el);
1724
- if (s = c[0]) {
1725
- if (c.length > 1) {
1726
- var u = [];
1727
- return c.each((function (e, i) {
1728
- var s = d.extend({}, a, {
1729
- el: i
1730
- });
1731
- u.push(new t(s))
1732
- })), u
1733
- }
1734
- var v, f, m;
1735
- return s.swiper = l, c.data("swiper", l), s && s.shadowRoot && s.shadowRoot.querySelector ? (v = n(s.shadowRoot.querySelector("." + l.params.wrapperClass))).children = function (e) {
1736
- return c.children(e)
1737
- } : v = c.children("." + l.params.wrapperClass), d.extend(l, {
1738
- $el: c,
1739
- el: s,
1740
- $wrapperEl: v,
1741
- wrapperEl: v[0],
1742
- classNames: [],
1743
- slides: n(),
1744
- slidesGrid: [],
1745
- snapGrid: [],
1746
- slidesSizesGrid: [],
1747
- isHorizontal: function () {
1748
- return "horizontal" === l.params.direction
1749
- },
1750
- isVertical: function () {
1751
- return "vertical" === l.params.direction
1752
- },
1753
- rtl: "rtl" === s.dir.toLowerCase() || "rtl" === c.css("direction"),
1754
- rtlTranslate: "horizontal" === l.params.direction && ("rtl" === s.dir.toLowerCase() || "rtl" === c.css("direction")),
1755
- wrongRTL: "-webkit-box" === v.css("display"),
1756
- activeIndex: 0,
1757
- realIndex: 0,
1758
- isBeginning: !0,
1759
- isEnd: !1,
1760
- translate: 0,
1761
- previousTranslate: 0,
1762
- progress: 0,
1763
- velocity: 0,
1764
- animating: !1,
1765
- allowSlideNext: l.params.allowSlideNext,
1766
- allowSlidePrev: l.params.allowSlidePrev,
1767
- touchEvents: (f = ["touchstart", "touchmove", "touchend", "touchcancel"], m = ["mousedown", "mousemove", "mouseup"], h.pointerEvents && (m = ["pointerdown", "pointermove", "pointerup"]), l.touchEventsTouch = {
1768
- start: f[0],
1769
- move: f[1],
1770
- end: f[2],
1771
- cancel: f[3]
1772
- }, l.touchEventsDesktop = {
1773
- start: m[0],
1774
- move: m[1],
1775
- end: m[2]
1776
- }, h.touch || !l.params.simulateTouch ? l.touchEventsTouch : l.touchEventsDesktop),
1777
- touchEventsData: {
1778
- isTouched: void 0,
1779
- isMoved: void 0,
1780
- allowTouchCallbacks: void 0,
1781
- touchStartTime: void 0,
1782
- isScrolling: void 0,
1783
- currentTranslate: void 0,
1784
- startTranslate: void 0,
1785
- allowThresholdMove: void 0,
1786
- formElements: "input, select, option, textarea, button, video, label",
1787
- lastClickTime: d.now(),
1788
- clickTimeout: void 0,
1789
- velocities: [],
1790
- allowMomentumBounce: void 0,
1791
- isTouchEvent: void 0,
1792
- startMoving: void 0
1793
- },
1794
- allowClick: !0,
1795
- allowTouchMove: l.params.allowTouchMove,
1796
- touches: {
1797
- startX: 0,
1798
- startY: 0,
1799
- currentX: 0,
1800
- currentY: 0,
1801
- diff: 0
1802
- },
1803
- imagesToLoad: [],
1804
- imagesLoaded: 0
1805
- }), l.useModules(), l.params.init && l.init(), l
1806
- }
1807
- }
1808
- e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype.constructor = t;
1809
- var i = {
1810
- extendedDefaults: {
1811
- configurable: !0
1812
- },
1813
- defaults: {
1814
- configurable: !0
1815
- },
1816
- Class: {
1817
- configurable: !0
1818
- },
1819
- $: {
1820
- configurable: !0
1821
- }
1822
- };
1823
- return t.prototype.slidesPerViewDynamic = function () {
1824
- var e = this.params,
1825
- t = this.slides,
1826
- i = this.slidesGrid,
1827
- s = this.size,
1828
- a = this.activeIndex,
1829
- r = 1;
1830
- if (e.centeredSlides) {
1831
- for (var n, o = t[a].swiperSlideSize, l = a + 1; l < t.length; l += 1) t[l] && !n && (r += 1, (o += t[l].swiperSlideSize) > s && (n = !0));
1832
- for (var d = a - 1; d >= 0; d -= 1) t[d] && !n && (r += 1, (o += t[d].swiperSlideSize) > s && (n = !0))
1833
- } else
1834
- for (var h = a + 1; h < t.length; h += 1) i[h] - i[a] < s && (r += 1);
1835
- return r
1836
- }, t.prototype.update = function () {
1837
- var e = this;
1838
- if (e && !e.destroyed) {
1839
- var t = e.snapGrid,
1840
- i = e.params;
1841
- i.breakpoints && e.setBreakpoint(), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), e.params.freeMode ? (s(), e.params.autoHeight && e.updateAutoHeight()) : (("auto" === e.params.slidesPerView || e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0)) || s(), i.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update")
1842
- }
1843
-
1844
- function s() {
1845
- var t = e.rtlTranslate ? -1 * e.translate : e.translate,
1846
- i = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
1847
- e.setTranslate(i), e.updateActiveIndex(), e.updateSlidesClasses()
1848
- }
1849
- }, t.prototype.changeDirection = function (e, t) {
1850
- void 0 === t && (t = !0);
1851
- var i = this.params.direction;
1852
- return e || (e = "horizontal" === i ? "vertical" : "horizontal"), e === i || "horizontal" !== e && "vertical" !== e || (this.$el.removeClass("" + this.params.containerModifierClass + i).addClass("" + this.params.containerModifierClass + e), this.params.direction = e, this.slides.each((function (t, i) {
1853
- "vertical" === e ? i.style.width = "" : i.style.height = ""
1854
- })), this.emit("changeDirection"), t && this.update()), this
1855
- }, t.prototype.init = function () {
1856
- this.initialized || (this.emit("beforeInit"), this.params.breakpoints && this.setBreakpoint(), this.addClasses(), this.params.loop && this.loopCreate(), this.updateSize(), this.updateSlides(), this.params.watchOverflow && this.checkOverflow(), this.params.grabCursor && this.setGrabCursor(), this.params.preloadImages && this.preloadImages(), this.params.loop ? this.slideTo(this.params.initialSlide + this.loopedSlides, 0, this.params.runCallbacksOnInit) : this.slideTo(this.params.initialSlide, 0, this.params.runCallbacksOnInit), this.attachEvents(), this.initialized = !0, this.emit("init"))
1857
- }, t.prototype.destroy = function (e, t) {
1858
- void 0 === e && (e = !0), void 0 === t && (t = !0);
1859
- var i = this,
1860
- s = i.params,
1861
- a = i.$el,
1862
- r = i.$wrapperEl,
1863
- n = i.slides;
1864
- return void 0 === i.params || i.destroyed || (i.emit("beforeDestroy"), i.initialized = !1, i.detachEvents(), s.loop && i.loopDestroy(), t && (i.removeClasses(), a.removeAttr("style"), r.removeAttr("style"), n && n.length && n.removeClass([s.slideVisibleClass, s.slideActiveClass, s.slideNextClass, s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")), i.emit("destroy"), Object.keys(i.eventsListeners).forEach((function (e) {
1865
- i.off(e)
1866
- })), !1 !== e && (i.$el[0].swiper = null, i.$el.data("swiper", null), d.deleteProps(i)), i.destroyed = !0), null
1867
- }, t.extendDefaults = function (e) {
1868
- d.extend(q, e)
1869
- }, i.extendedDefaults.get = function () {
1870
- return q
1871
- }, i.defaults.get = function () {
1872
- return W
1873
- }, i.Class.get = function () {
1874
- return e
1875
- }, i.$.get = function () {
1876
- return n
1877
- }, Object.defineProperties(t, i), t
1878
- }(p),
1879
- K = {
1880
- name: "device",
1881
- proto: {
1882
- device: A
1883
- },
1884
- static: {
1885
- device: A
1886
- }
1887
- },
1888
- U = {
1889
- name: "support",
1890
- proto: {
1891
- support: h
1892
- },
1893
- static: {
1894
- support: h
1895
- }
1896
- },
1897
- _ = {
1898
- isEdge: !!a.navigator.userAgent.match(/Edge/g),
1899
- isSafari: function () {
1900
- var e = a.navigator.userAgent.toLowerCase();
1901
- return e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0
1902
- }(),
1903
- isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(a.navigator.userAgent)
1904
- },
1905
- Z = {
1906
- name: "browser",
1907
- proto: {
1908
- browser: _
1909
- },
1910
- static: {
1911
- browser: _
1912
- }
1913
- },
1914
- Q = {
1915
- name: "resize",
1916
- create: function () {
1917
- var e = this;
1918
- d.extend(e, {
1919
- resize: {
1920
- resizeHandler: function () {
1921
- e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit("resize"))
1922
- },
1923
- orientationChangeHandler: function () {
1924
- e && !e.destroyed && e.initialized && e.emit("orientationchange")
1925
- }
1926
- }
1927
- })
1928
- },
1929
- on: {
1930
- init: function () {
1931
- a.addEventListener("resize", this.resize.resizeHandler), a.addEventListener("orientationchange", this.resize.orientationChangeHandler)
1932
- },
1933
- destroy: function () {
1934
- a.removeEventListener("resize", this.resize.resizeHandler), a.removeEventListener("orientationchange", this.resize.orientationChangeHandler)
1935
- }
1936
- }
1937
- },
1938
- J = {
1939
- func: a.MutationObserver || a.WebkitMutationObserver,
1940
- attach: function (e, t) {
1941
- void 0 === t && (t = {});
1942
- var i = this,
1943
- s = new(0, J.func)((function (e) {
1944
- if (1 !== e.length) {
1945
- var t = function () {
1946
- i.emit("observerUpdate", e[0])
1947
- };
1948
- a.requestAnimationFrame ? a.requestAnimationFrame(t) : a.setTimeout(t, 0)
1949
- } else i.emit("observerUpdate", e[0])
1950
- }));
1951
- s.observe(e, {
1952
- attributes: void 0 === t.attributes || t.attributes,
1953
- childList: void 0 === t.childList || t.childList,
1954
- characterData: void 0 === t.characterData || t.characterData
1955
- }), i.observer.observers.push(s)
1956
- },
1957
- init: function () {
1958
- if (h.observer && this.params.observer) {
1959
- if (this.params.observeParents)
1960
- for (var e = this.$el.parents(), t = 0; t < e.length; t += 1) this.observer.attach(e[t]);
1961
- this.observer.attach(this.$el[0], {
1962
- childList: this.params.observeSlideChildren
1963
- }), this.observer.attach(this.$wrapperEl[0], {
1964
- attributes: !1
1965
- })
1966
- }
1967
- },
1968
- destroy: function () {
1969
- this.observer.observers.forEach((function (e) {
1970
- e.disconnect()
1971
- })), this.observer.observers = []
1972
- }
1973
- },
1974
- ee = {
1975
- name: "observer",
1976
- params: {
1977
- observer: !1,
1978
- observeParents: !1,
1979
- observeSlideChildren: !1
1980
- },
1981
- create: function () {
1982
- d.extend(this, {
1983
- observer: {
1984
- init: J.init.bind(this),
1985
- attach: J.attach.bind(this),
1986
- destroy: J.destroy.bind(this),
1987
- observers: []
1988
- }
1989
- })
1990
- },
1991
- on: {
1992
- init: function () {
1993
- this.observer.init()
1994
- },
1995
- destroy: function () {
1996
- this.observer.destroy()
1997
- }
1998
- }
1999
- },
2000
- te = {
2001
- update: function (e) {
2002
- var t = this,
2003
- i = t.params,
2004
- s = i.slidesPerView,
2005
- a = i.slidesPerGroup,
2006
- r = i.centeredSlides,
2007
- n = t.params.virtual,
2008
- o = n.addSlidesBefore,
2009
- l = n.addSlidesAfter,
2010
- h = t.virtual,
2011
- p = h.from,
2012
- c = h.to,
2013
- u = h.slides,
2014
- v = h.slidesGrid,
2015
- f = h.renderSlide,
2016
- m = h.offset;
2017
- t.updateActiveIndex();
2018
- var g, b, w, y = t.activeIndex || 0;
2019
- g = t.rtlTranslate ? "right" : t.isHorizontal() ? "left" : "top", r ? (b = Math.floor(s / 2) + a + o, w = Math.floor(s / 2) + a + l) : (b = s + (a - 1) + o, w = a + l);
2020
- var x = Math.max((y || 0) - w, 0),
2021
- E = Math.min((y || 0) + b, u.length - 1),
2022
- T = (t.slidesGrid[x] || 0) - (t.slidesGrid[0] || 0);
2023
-
2024
- function S() {
2025
- t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(), t.lazy && t.params.lazy.enabled && t.lazy.load()
2026
- }
2027
- if (d.extend(t.virtual, {
2028
- from: x,
2029
- to: E,
2030
- offset: T,
2031
- slidesGrid: t.slidesGrid
2032
- }), p === x && c === E && !e) return t.slidesGrid !== v && T !== m && t.slides.css(g, T + "px"), void t.updateProgress();
2033
- if (t.params.virtual.renderExternal) return t.params.virtual.renderExternal.call(t, {
2034
- offset: T,
2035
- from: x,
2036
- to: E,
2037
- slides: function () {
2038
- for (var e = [], t = x; t <= E; t += 1) e.push(u[t]);
2039
- return e
2040
- }()
2041
- }), void S();
2042
- var C = [],
2043
- M = [];
2044
- if (e) t.$wrapperEl.find("." + t.params.slideClass).remove();
2045
- else
2046
- for (var P = p; P <= c; P += 1)(P < x || P > E) && t.$wrapperEl.find("." + t.params.slideClass + '[data-swiper-slide-index="' + P + '"]').remove();
2047
- for (var z = 0; z < u.length; z += 1) z >= x && z <= E && (void 0 === c || e ? M.push(z) : (z > c && M.push(z), z < p && C.push(z)));
2048
- M.forEach((function (e) {
2049
- t.$wrapperEl.append(f(u[e], e))
2050
- })), C.sort((function (e, t) {
2051
- return t - e
2052
- })).forEach((function (e) {
2053
- t.$wrapperEl.prepend(f(u[e], e))
2054
- })), t.$wrapperEl.children(".swiper-slide").css(g, T + "px"), S()
2055
- },
2056
- renderSlide: function (e, t) {
2057
- var i = this.params.virtual;
2058
- if (i.cache && this.virtual.cache[t]) return this.virtual.cache[t];
2059
- var s = i.renderSlide ? n(i.renderSlide.call(this, e, t)) : n('<div class="' + this.params.slideClass + '" data-swiper-slide-index="' + t + '">' + e + "</div>");
2060
- return s.attr("data-swiper-slide-index") || s.attr("data-swiper-slide-index", t), i.cache && (this.virtual.cache[t] = s), s
2061
- },
2062
- appendSlide: function (e) {
2063
- if ("object" == typeof e && "length" in e)
2064
- for (var t = 0; t < e.length; t += 1) e[t] && this.virtual.slides.push(e[t]);
2065
- else this.virtual.slides.push(e);
2066
- this.virtual.update(!0)
2067
- },
2068
- prependSlide: function (e) {
2069
- var t = this.activeIndex,
2070
- i = t + 1,
2071
- s = 1;
2072
- if (Array.isArray(e)) {
2073
- for (var a = 0; a < e.length; a += 1) e[a] && this.virtual.slides.unshift(e[a]);
2074
- i = t + e.length, s = e.length
2075
- } else this.virtual.slides.unshift(e);
2076
- if (this.params.virtual.cache) {
2077
- var r = this.virtual.cache,
2078
- n = {};
2079
- Object.keys(r).forEach((function (e) {
2080
- var t = r[e],
2081
- i = t.attr("data-swiper-slide-index");
2082
- i && t.attr("data-swiper-slide-index", parseInt(i, 10) + 1), n[parseInt(e, 10) + s] = t
2083
- })), this.virtual.cache = n
2084
- }
2085
- this.virtual.update(!0), this.slideTo(i, 0)
2086
- },
2087
- removeSlide: function (e) {
2088
- if (null != e) {
2089
- var t = this.activeIndex;
2090
- if (Array.isArray(e))
2091
- for (var i = e.length - 1; i >= 0; i -= 1) this.virtual.slides.splice(e[i], 1), this.params.virtual.cache && delete this.virtual.cache[e[i]], e[i] < t && (t -= 1), t = Math.max(t, 0);
2092
- else this.virtual.slides.splice(e, 1), this.params.virtual.cache && delete this.virtual.cache[e], e < t && (t -= 1), t = Math.max(t, 0);
2093
- this.virtual.update(!0), this.slideTo(t, 0)
2094
- }
2095
- },
2096
- removeAllSlides: function () {
2097
- this.virtual.slides = [], this.params.virtual.cache && (this.virtual.cache = {}), this.virtual.update(!0), this.slideTo(0, 0)
2098
- }
2099
- },
2100
- ie = {
2101
- name: "virtual",
2102
- params: {
2103
- virtual: {
2104
- enabled: !1,
2105
- slides: [],
2106
- cache: !0,
2107
- renderSlide: null,
2108
- renderExternal: null,
2109
- addSlidesBefore: 0,
2110
- addSlidesAfter: 0
2111
- }
2112
- },
2113
- create: function () {
2114
- d.extend(this, {
2115
- virtual: {
2116
- update: te.update.bind(this),
2117
- appendSlide: te.appendSlide.bind(this),
2118
- prependSlide: te.prependSlide.bind(this),
2119
- removeSlide: te.removeSlide.bind(this),
2120
- removeAllSlides: te.removeAllSlides.bind(this),
2121
- renderSlide: te.renderSlide.bind(this),
2122
- slides: this.params.virtual.slides,
2123
- cache: {}
2124
- }
2125
- })
2126
- },
2127
- on: {
2128
- beforeInit: function () {
2129
- if (this.params.virtual.enabled) {
2130
- this.classNames.push(this.params.containerModifierClass + "virtual");
2131
- var e = {
2132
- watchSlidesProgress: !0
2133
- };
2134
- d.extend(this.params, e), d.extend(this.originalParams, e), this.params.initialSlide || this.virtual.update()
2135
- }
2136
- },
2137
- setTranslate: function () {
2138
- this.params.virtual.enabled && this.virtual.update()
2139
- }
2140
- }
2141
- },
2142
- se = {
2143
- handle: function (e) {
2144
- var t = this.rtlTranslate,
2145
- s = e;
2146
- s.originalEvent && (s = s.originalEvent);
2147
- var r = s.keyCode || s.charCode,
2148
- n = this.params.keyboard.pageUpDown,
2149
- o = n && 33 === r,
2150
- l = n && 34 === r,
2151
- d = 37 === r,
2152
- h = 39 === r,
2153
- p = 38 === r,
2154
- c = 40 === r;
2155
- if (!this.allowSlideNext && (this.isHorizontal() && h || this.isVertical() && c || l)) return !1;
2156
- if (!this.allowSlidePrev && (this.isHorizontal() && d || this.isVertical() && p || o)) return !1;
2157
- if (!(s.shiftKey || s.altKey || s.ctrlKey || s.metaKey || i.activeElement && i.activeElement.nodeName && ("input" === i.activeElement.nodeName.toLowerCase() || "textarea" === i.activeElement.nodeName.toLowerCase()))) {
2158
- if (this.params.keyboard.onlyInViewport && (o || l || d || h || p || c)) {
2159
- var u = !1;
2160
- if (this.$el.parents("." + this.params.slideClass).length > 0 && 0 === this.$el.parents("." + this.params.slideActiveClass).length) return;
2161
- var v = a.innerWidth,
2162
- f = a.innerHeight,
2163
- m = this.$el.offset();
2164
- t && (m.left -= this.$el[0].scrollLeft);
2165
- for (var g = [
2166
- [m.left, m.top],
2167
- [m.left + this.width, m.top],
2168
- [m.left, m.top + this.height],
2169
- [m.left + this.width, m.top + this.height]
2170
- ], b = 0; b < g.length; b += 1) {
2171
- var w = g[b];
2172
- w[0] >= 0 && w[0] <= v && w[1] >= 0 && w[1] <= f && (u = !0)
2173
- }
2174
- if (!u) return
2175
- }
2176
- this.isHorizontal() ? ((o || l || d || h) && (s.preventDefault ? s.preventDefault() : s.returnValue = !1), ((l || h) && !t || (o || d) && t) && this.slideNext(), ((o || d) && !t || (l || h) && t) && this.slidePrev()) : ((o || l || p || c) && (s.preventDefault ? s.preventDefault() : s.returnValue = !1), (l || c) && this.slideNext(), (o || p) && this.slidePrev()), this.emit("keyPress", r)
2177
- }
2178
- },
2179
- enable: function () {
2180
- this.keyboard.enabled || (n(i).on("keydown", this.keyboard.handle), this.keyboard.enabled = !0)
2181
- },
2182
- disable: function () {
2183
- this.keyboard.enabled && (n(i).off("keydown", this.keyboard.handle), this.keyboard.enabled = !1)
2184
- }
2185
- },
2186
- ae = {
2187
- name: "keyboard",
2188
- params: {
2189
- keyboard: {
2190
- enabled: !1,
2191
- onlyInViewport: !0,
2192
- pageUpDown: !0
2193
- }
2194
- },
2195
- create: function () {
2196
- d.extend(this, {
2197
- keyboard: {
2198
- enabled: !1,
2199
- enable: se.enable.bind(this),
2200
- disable: se.disable.bind(this),
2201
- handle: se.handle.bind(this)
2202
- }
2203
- })
2204
- },
2205
- on: {
2206
- init: function () {
2207
- this.params.keyboard.enabled && this.keyboard.enable()
2208
- },
2209
- destroy: function () {
2210
- this.keyboard.enabled && this.keyboard.disable()
2211
- }
2212
- }
2213
- };
2214
- var re = {
2215
- lastScrollTime: d.now(),
2216
- lastEventBeforeSnap: void 0,
2217
- recentWheelEvents: [],
2218
- event: function () {
2219
- return a.navigator.userAgent.indexOf("firefox") > -1 ? "DOMMouseScroll" : function () {
2220
- var e = "onwheel" in i;
2221
- if (!e) {
2222
- var t = i.createElement("div");
2223
- t.setAttribute("onwheel", "return;"), e = "function" == typeof t.onwheel
2224
- }
2225
- return !e && i.implementation && i.implementation.hasFeature && !0 !== i.implementation.hasFeature("", "") && (e = i.implementation.hasFeature("Events.wheel", "3.0")), e
2226
- }() ? "wheel" : "mousewheel"
2227
- },
2228
- normalize: function (e) {
2229
- var t = 0,
2230
- i = 0,
2231
- s = 0,
2232
- a = 0;
2233
- return "detail" in e && (i = e.detail), "wheelDelta" in e && (i = -e.wheelDelta / 120), "wheelDeltaY" in e && (i = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (t = i, i = 0), s = 10 * t, a = 10 * i, "deltaY" in e && (a = e.deltaY), "deltaX" in e && (s = e.deltaX), e.shiftKey && !s && (s = a, a = 0), (s || a) && e.deltaMode && (1 === e.deltaMode ? (s *= 40, a *= 40) : (s *= 800, a *= 800)), s && !t && (t = s < 1 ? -1 : 1), a && !i && (i = a < 1 ? -1 : 1), {
2234
- spinX: t,
2235
- spinY: i,
2236
- pixelX: s,
2237
- pixelY: a
2238
- }
2239
- },
2240
- handleMouseEnter: function () {
2241
- this.mouseEntered = !0
2242
- },
2243
- handleMouseLeave: function () {
2244
- this.mouseEntered = !1
2245
- },
2246
- handle: function (e) {
2247
- var t = e,
2248
- i = this,
2249
- s = i.params.mousewheel;
2250
- i.params.cssMode && t.preventDefault();
2251
- var a = i.$el;
2252
- if ("container" !== i.params.mousewheel.eventsTarged && (a = n(i.params.mousewheel.eventsTarged)), !i.mouseEntered && !a[0].contains(t.target) && !s.releaseOnEdges) return !0;
2253
- t.originalEvent && (t = t.originalEvent);
2254
- var r = 0,
2255
- o = i.rtlTranslate ? -1 : 1,
2256
- l = re.normalize(t);
2257
- if (s.forceToAxis)
2258
- if (i.isHorizontal()) {
2259
- if (!(Math.abs(l.pixelX) > Math.abs(l.pixelY))) return !0;
2260
- r = -l.pixelX * o
2261
- } else {
2262
- if (!(Math.abs(l.pixelY) > Math.abs(l.pixelX))) return !0;
2263
- r = -l.pixelY
2264
- }
2265
- else r = Math.abs(l.pixelX) > Math.abs(l.pixelY) ? -l.pixelX * o : -l.pixelY;
2266
- if (0 === r) return !0;
2267
- if (s.invert && (r = -r), i.params.freeMode) {
2268
- var h = {
2269
- time: d.now(),
2270
- delta: Math.abs(r),
2271
- direction: Math.sign(r)
2272
- },
2273
- p = i.mousewheel.lastEventBeforeSnap,
2274
- c = p && h.time < p.time + 500 && h.delta <= p.delta && h.direction === p.direction;
2275
- if (!c) {
2276
- i.mousewheel.lastEventBeforeSnap = void 0, i.params.loop && i.loopFix();
2277
- var u = i.getTranslate() + r * s.sensitivity,
2278
- v = i.isBeginning,
2279
- f = i.isEnd;
2280
- if (u >= i.minTranslate() && (u = i.minTranslate()), u <= i.maxTranslate() && (u = i.maxTranslate()), i.setTransition(0), i.setTranslate(u), i.updateProgress(), i.updateActiveIndex(), i.updateSlidesClasses(), (!v && i.isBeginning || !f && i.isEnd) && i.updateSlidesClasses(), i.params.freeModeSticky) {
2281
- clearTimeout(i.mousewheel.timeout), i.mousewheel.timeout = void 0;
2282
- var m = i.mousewheel.recentWheelEvents;
2283
- m.length >= 15 && m.shift();
2284
- var g = m.length ? m[m.length - 1] : void 0,
2285
- b = m[0];
2286
- if (m.push(h), g && (h.delta > g.delta || h.direction !== g.direction)) m.splice(0);
2287
- else if (m.length >= 15 && h.time - b.time < 500 && b.delta - h.delta >= 1 && h.delta <= 6) {
2288
- var w = r > 0 ? .8 : .2;
2289
- i.mousewheel.lastEventBeforeSnap = h, m.splice(0), i.mousewheel.timeout = d.nextTick((function () {
2290
- i.slideToClosest(i.params.speed, !0, void 0, w)
2291
- }), 0)
2292
- }
2293
- i.mousewheel.timeout || (i.mousewheel.timeout = d.nextTick((function () {
2294
- i.mousewheel.lastEventBeforeSnap = h, m.splice(0), i.slideToClosest(i.params.speed, !0, void 0, .5)
2295
- }), 500))
2296
- }
2297
- if (c || i.emit("scroll", t), i.params.autoplay && i.params.autoplayDisableOnInteraction && i.autoplay.stop(), u === i.minTranslate() || u === i.maxTranslate()) return !0
2298
- }
2299
- } else {
2300
- var y = {
2301
- time: d.now(),
2302
- delta: Math.abs(r),
2303
- direction: Math.sign(r),
2304
- raw: e
2305
- },
2306
- x = i.mousewheel.recentWheelEvents;
2307
- x.length >= 2 && x.shift();
2308
- var E = x.length ? x[x.length - 1] : void 0;
2309
- if (x.push(y), E ? (y.direction !== E.direction || y.delta > E.delta || y.time > E.time + 150) && i.mousewheel.animateSlider(y) : i.mousewheel.animateSlider(y), i.mousewheel.releaseScroll(y)) return !0
2310
- }
2311
- return t.preventDefault ? t.preventDefault() : t.returnValue = !1, !1
2312
- },
2313
- animateSlider: function (e) {
2314
- return e.delta >= 6 && d.now() - this.mousewheel.lastScrollTime < 60 || (e.direction < 0 ? this.isEnd && !this.params.loop || this.animating || (this.slideNext(), this.emit("scroll", e.raw)) : this.isBeginning && !this.params.loop || this.animating || (this.slidePrev(), this.emit("scroll", e.raw)), this.mousewheel.lastScrollTime = (new a.Date).getTime(), !1)
2315
- },
2316
- releaseScroll: function (e) {
2317
- var t = this.params.mousewheel;
2318
- if (e.direction < 0) {
2319
- if (this.isEnd && !this.params.loop && t.releaseOnEdges) return !0
2320
- } else if (this.isBeginning && !this.params.loop && t.releaseOnEdges) return !0;
2321
- return !1
2322
- },
2323
- enable: function () {
2324
- var e = re.event();
2325
- if (this.params.cssMode) return this.wrapperEl.removeEventListener(e, this.mousewheel.handle), !0;
2326
- if (!e) return !1;
2327
- if (this.mousewheel.enabled) return !1;
2328
- var t = this.$el;
2329
- return "container" !== this.params.mousewheel.eventsTarged && (t = n(this.params.mousewheel.eventsTarged)), t.on("mouseenter", this.mousewheel.handleMouseEnter), t.on("mouseleave", this.mousewheel.handleMouseLeave), t.on(e, this.mousewheel.handle), this.mousewheel.enabled = !0, !0
2330
- },
2331
- disable: function () {
2332
- var e = re.event();
2333
- if (this.params.cssMode) return this.wrapperEl.addEventListener(e, this.mousewheel.handle), !0;
2334
- if (!e) return !1;
2335
- if (!this.mousewheel.enabled) return !1;
2336
- var t = this.$el;
2337
- return "container" !== this.params.mousewheel.eventsTarged && (t = n(this.params.mousewheel.eventsTarged)), t.off(e, this.mousewheel.handle), this.mousewheel.enabled = !1, !0
2338
- }
2339
- },
2340
- ne = {
2341
- update: function () {
2342
- var e = this.params.navigation;
2343
- if (!this.params.loop) {
2344
- var t = this.navigation,
2345
- i = t.$nextEl,
2346
- s = t.$prevEl;
2347
- s && s.length > 0 && (this.isBeginning ? s.addClass(e.disabledClass) : s.removeClass(e.disabledClass), s[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](e.lockClass)), i && i.length > 0 && (this.isEnd ? i.addClass(e.disabledClass) : i.removeClass(e.disabledClass), i[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](e.lockClass))
2348
- }
2349
- },
2350
- onPrevClick: function (e) {
2351
- e.preventDefault(), this.isBeginning && !this.params.loop || this.slidePrev()
2352
- },
2353
- onNextClick: function (e) {
2354
- e.preventDefault(), this.isEnd && !this.params.loop || this.slideNext()
2355
- },
2356
- init: function () {
2357
- var e, t, i = this.params.navigation;
2358
- (i.nextEl || i.prevEl) && (i.nextEl && (e = n(i.nextEl), this.params.uniqueNavElements && "string" == typeof i.nextEl && e.length > 1 && 1 === this.$el.find(i.nextEl).length && (e = this.$el.find(i.nextEl))), i.prevEl && (t = n(i.prevEl), this.params.uniqueNavElements && "string" == typeof i.prevEl && t.length > 1 && 1 === this.$el.find(i.prevEl).length && (t = this.$el.find(i.prevEl))), e && e.length > 0 && e.on("click", this.navigation.onNextClick), t && t.length > 0 && t.on("click", this.navigation.onPrevClick), d.extend(this.navigation, {
2359
- $nextEl: e,
2360
- nextEl: e && e[0],
2361
- $prevEl: t,
2362
- prevEl: t && t[0]
2363
- }))
2364
- },
2365
- destroy: function () {
2366
- var e = this.navigation,
2367
- t = e.$nextEl,
2368
- i = e.$prevEl;
2369
- t && t.length && (t.off("click", this.navigation.onNextClick), t.removeClass(this.params.navigation.disabledClass)), i && i.length && (i.off("click", this.navigation.onPrevClick), i.removeClass(this.params.navigation.disabledClass))
2370
- }
2371
- },
2372
- oe = {
2373
- update: function () {
2374
- var e = this.rtl,
2375
- t = this.params.pagination;
2376
- if (t.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
2377
- var i, s = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length,
2378
- a = this.pagination.$el,
2379
- r = this.params.loop ? Math.ceil((s - 2 * this.loopedSlides) / this.params.slidesPerGroup) : this.snapGrid.length;
2380
- if (this.params.loop ? ((i = Math.ceil((this.activeIndex - this.loopedSlides) / this.params.slidesPerGroup)) > s - 1 - 2 * this.loopedSlides && (i -= s - 2 * this.loopedSlides), i > r - 1 && (i -= r), i < 0 && "bullets" !== this.params.paginationType && (i = r + i)) : i = void 0 !== this.snapIndex ? this.snapIndex : this.activeIndex || 0, "bullets" === t.type && this.pagination.bullets && this.pagination.bullets.length > 0) {
2381
- var o, l, d, h = this.pagination.bullets;
2382
- if (t.dynamicBullets && (this.pagination.bulletSize = h.eq(0)[this.isHorizontal() ? "outerWidth" : "outerHeight"](!0), a.css(this.isHorizontal() ? "width" : "height", this.pagination.bulletSize * (t.dynamicMainBullets + 4) + "px"), t.dynamicMainBullets > 1 && void 0 !== this.previousIndex && (this.pagination.dynamicBulletIndex += i - this.previousIndex, this.pagination.dynamicBulletIndex > t.dynamicMainBullets - 1 ? this.pagination.dynamicBulletIndex = t.dynamicMainBullets - 1 : this.pagination.dynamicBulletIndex < 0 && (this.pagination.dynamicBulletIndex = 0)), o = i - this.pagination.dynamicBulletIndex, d = ((l = o + (Math.min(h.length, t.dynamicMainBullets) - 1)) + o) / 2), h.removeClass(t.bulletActiveClass + " " + t.bulletActiveClass + "-next " + t.bulletActiveClass + "-next-next " + t.bulletActiveClass + "-prev " + t.bulletActiveClass + "-prev-prev " + t.bulletActiveClass + "-main"), a.length > 1) h.each((function (e, s) {
2383
- var a = n(s),
2384
- r = a.index();
2385
- r === i && a.addClass(t.bulletActiveClass), t.dynamicBullets && (r >= o && r <= l && a.addClass(t.bulletActiveClass + "-main"), r === o && a.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"), r === l && a.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next"))
2386
- }));
2387
- else {
2388
- var p = h.eq(i),
2389
- c = p.index();
2390
- if (p.addClass(t.bulletActiveClass), t.dynamicBullets) {
2391
- for (var u = h.eq(o), v = h.eq(l), f = o; f <= l; f += 1) h.eq(f).addClass(t.bulletActiveClass + "-main");
2392
- if (this.params.loop)
2393
- if (c >= h.length - t.dynamicMainBullets) {
2394
- for (var m = t.dynamicMainBullets; m >= 0; m -= 1) h.eq(h.length - m).addClass(t.bulletActiveClass + "-main");
2395
- h.eq(h.length - t.dynamicMainBullets - 1).addClass(t.bulletActiveClass + "-prev")
2396
- } else u.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"), v.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next");
2397
- else u.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"), v.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next")
2398
- }
2399
- }
2400
- if (t.dynamicBullets) {
2401
- var g = Math.min(h.length, t.dynamicMainBullets + 4),
2402
- b = (this.pagination.bulletSize * g - this.pagination.bulletSize) / 2 - d * this.pagination.bulletSize,
2403
- w = e ? "right" : "left";
2404
- h.css(this.isHorizontal() ? w : "top", b + "px")
2405
- }
2406
- }
2407
- if ("fraction" === t.type && (a.find("." + t.currentClass).text(t.formatFractionCurrent(i + 1)), a.find("." + t.totalClass).text(t.formatFractionTotal(r))), "progressbar" === t.type) {
2408
- var y;
2409
- y = t.progressbarOpposite ? this.isHorizontal() ? "vertical" : "horizontal" : this.isHorizontal() ? "horizontal" : "vertical";
2410
- var x = (i + 1) / r,
2411
- E = 1,
2412
- T = 1;
2413
- "horizontal" === y ? E = x : T = x, a.find("." + t.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + E + ") scaleY(" + T + ")").transition(this.params.speed)
2414
- }
2415
- "custom" === t.type && t.renderCustom ? (a.html(t.renderCustom(this, i + 1, r)), this.emit("paginationRender", this, a[0])) : this.emit("paginationUpdate", this, a[0]), a[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](t.lockClass)
2416
- }
2417
- },
2418
- render: function () {
2419
- var e = this.params.pagination;
2420
- if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
2421
- var t = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length,
2422
- i = this.pagination.$el,
2423
- s = "";
2424
- if ("bullets" === e.type) {
2425
- for (var a = this.params.loop ? Math.ceil((t - 2 * this.loopedSlides) / this.params.slidesPerGroup) : this.snapGrid.length, r = 0; r < a; r += 1) e.renderBullet ? s += e.renderBullet.call(this, r, e.bulletClass) : s += "<" + e.bulletElement + ' class="' + e.bulletClass + '"></' + e.bulletElement + ">";
2426
- i.html(s), this.pagination.bullets = i.find("." + e.bulletClass)
2427
- }
2428
- "fraction" === e.type && (s = e.renderFraction ? e.renderFraction.call(this, e.currentClass, e.totalClass) : '<span class="' + e.currentClass + '"></span> / <span class="' + e.totalClass + '"></span>', i.html(s)), "progressbar" === e.type && (s = e.renderProgressbar ? e.renderProgressbar.call(this, e.progressbarFillClass) : '<span class="' + e.progressbarFillClass + '"></span>', i.html(s)), "custom" !== e.type && this.emit("paginationRender", this.pagination.$el[0])
2429
- }
2430
- },
2431
- init: function () {
2432
- var e = this,
2433
- t = e.params.pagination;
2434
- if (t.el) {
2435
- var i = n(t.el);
2436
- 0 !== i.length && (e.params.uniqueNavElements && "string" == typeof t.el && i.length > 1 && (i = e.$el.find(t.el)), "bullets" === t.type && t.clickable && i.addClass(t.clickableClass), i.addClass(t.modifierClass + t.type), "bullets" === t.type && t.dynamicBullets && (i.addClass("" + t.modifierClass + t.type + "-dynamic"), e.pagination.dynamicBulletIndex = 0, t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)), "progressbar" === t.type && t.progressbarOpposite && i.addClass(t.progressbarOppositeClass), t.clickable && i.on("click", "." + t.bulletClass, (function (t) {
2437
- t.preventDefault();
2438
- var i = n(this).index() * e.params.slidesPerGroup;
2439
- e.params.loop && (i += e.loopedSlides), e.slideTo(i)
2440
- })), d.extend(e.pagination, {
2441
- $el: i,
2442
- el: i[0]
2443
- }))
2444
- }
2445
- },
2446
- destroy: function () {
2447
- var e = this.params.pagination;
2448
- if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
2449
- var t = this.pagination.$el;
2450
- t.removeClass(e.hiddenClass), t.removeClass(e.modifierClass + e.type), this.pagination.bullets && this.pagination.bullets.removeClass(e.bulletActiveClass), e.clickable && t.off("click", "." + e.bulletClass)
2451
- }
2452
- }
2453
- },
2454
- le = {
2455
- setTranslate: function () {
2456
- if (this.params.scrollbar.el && this.scrollbar.el) {
2457
- var e = this.scrollbar,
2458
- t = this.rtlTranslate,
2459
- i = this.progress,
2460
- s = e.dragSize,
2461
- a = e.trackSize,
2462
- r = e.$dragEl,
2463
- n = e.$el,
2464
- o = this.params.scrollbar,
2465
- l = s,
2466
- d = (a - s) * i;
2467
- t ? (d = -d) > 0 ? (l = s - d, d = 0) : -d + s > a && (l = a + d) : d < 0 ? (l = s + d, d = 0) : d + s > a && (l = a - d), this.isHorizontal() ? (r.transform("translate3d(" + d + "px, 0, 0)"), r[0].style.width = l + "px") : (r.transform("translate3d(0px, " + d + "px, 0)"), r[0].style.height = l + "px"), o.hide && (clearTimeout(this.scrollbar.timeout), n[0].style.opacity = 1, this.scrollbar.timeout = setTimeout((function () {
2468
- n[0].style.opacity = 0, n.transition(400)
2469
- }), 1e3))
2470
- }
2471
- },
2472
- setTransition: function (e) {
2473
- this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragEl.transition(e)
2474
- },
2475
- updateSize: function () {
2476
- if (this.params.scrollbar.el && this.scrollbar.el) {
2477
- var e = this.scrollbar,
2478
- t = e.$dragEl,
2479
- i = e.$el;
2480
- t[0].style.width = "", t[0].style.height = "";
2481
- var s, a = this.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight,
2482
- r = this.size / this.virtualSize,
2483
- n = r * (a / this.size);
2484
- s = "auto" === this.params.scrollbar.dragSize ? a * r : parseInt(this.params.scrollbar.dragSize, 10), this.isHorizontal() ? t[0].style.width = s + "px" : t[0].style.height = s + "px", i[0].style.display = r >= 1 ? "none" : "", this.params.scrollbar.hide && (i[0].style.opacity = 0), d.extend(e, {
2485
- trackSize: a,
2486
- divider: r,
2487
- moveDivider: n,
2488
- dragSize: s
2489
- }), e.$el[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](this.params.scrollbar.lockClass)
2490
- }
2491
- },
2492
- getPointerPosition: function (e) {
2493
- return this.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientX : e.clientX : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientY : e.clientY
2494
- },
2495
- setDragPosition: function (e) {
2496
- var t, i = this.scrollbar,
2497
- s = this.rtlTranslate,
2498
- a = i.$el,
2499
- r = i.dragSize,
2500
- n = i.trackSize,
2501
- o = i.dragStartPos;
2502
- t = (i.getPointerPosition(e) - a.offset()[this.isHorizontal() ? "left" : "top"] - (null !== o ? o : r / 2)) / (n - r), t = Math.max(Math.min(t, 1), 0), s && (t = 1 - t);
2503
- var l = this.minTranslate() + (this.maxTranslate() - this.minTranslate()) * t;
2504
- this.updateProgress(l), this.setTranslate(l), this.updateActiveIndex(), this.updateSlidesClasses()
2505
- },
2506
- onDragStart: function (e) {
2507
- var t = this.params.scrollbar,
2508
- i = this.scrollbar,
2509
- s = this.$wrapperEl,
2510
- a = i.$el,
2511
- r = i.$dragEl;
2512
- this.scrollbar.isTouched = !0, this.scrollbar.dragStartPos = e.target === r[0] || e.target === r ? i.getPointerPosition(e) - e.target.getBoundingClientRect()[this.isHorizontal() ? "left" : "top"] : null, e.preventDefault(), e.stopPropagation(), s.transition(100), r.transition(100), i.setDragPosition(e), clearTimeout(this.scrollbar.dragTimeout), a.transition(0), t.hide && a.css("opacity", 1), this.params.cssMode && this.$wrapperEl.css("scroll-snap-type", "none"), this.emit("scrollbarDragStart", e)
2513
- },
2514
- onDragMove: function (e) {
2515
- var t = this.scrollbar,
2516
- i = this.$wrapperEl,
2517
- s = t.$el,
2518
- a = t.$dragEl;
2519
- this.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1, t.setDragPosition(e), i.transition(0), s.transition(0), a.transition(0), this.emit("scrollbarDragMove", e))
2520
- },
2521
- onDragEnd: function (e) {
2522
- var t = this.params.scrollbar,
2523
- i = this.scrollbar,
2524
- s = this.$wrapperEl,
2525
- a = i.$el;
2526
- this.scrollbar.isTouched && (this.scrollbar.isTouched = !1, this.params.cssMode && (this.$wrapperEl.css("scroll-snap-type", ""), s.transition("")), t.hide && (clearTimeout(this.scrollbar.dragTimeout), this.scrollbar.dragTimeout = d.nextTick((function () {
2527
- a.css("opacity", 0), a.transition(400)
2528
- }), 1e3)), this.emit("scrollbarDragEnd", e), t.snapOnRelease && this.slideToClosest())
2529
- },
2530
- enableDraggable: function () {
2531
- if (this.params.scrollbar.el) {
2532
- var e = this.scrollbar,
2533
- t = this.touchEventsTouch,
2534
- s = this.touchEventsDesktop,
2535
- a = this.params,
2536
- r = e.$el[0],
2537
- n = !(!h.passiveListener || !a.passiveListeners) && {
2538
- passive: !1,
2539
- capture: !1
2540
- },
2541
- o = !(!h.passiveListener || !a.passiveListeners) && {
2542
- passive: !0,
2543
- capture: !1
2544
- };
2545
- h.touch ? (r.addEventListener(t.start, this.scrollbar.onDragStart, n), r.addEventListener(t.move, this.scrollbar.onDragMove, n), r.addEventListener(t.end, this.scrollbar.onDragEnd, o)) : (r.addEventListener(s.start, this.scrollbar.onDragStart, n), i.addEventListener(s.move, this.scrollbar.onDragMove, n), i.addEventListener(s.end, this.scrollbar.onDragEnd, o))
2546
- }
2547
- },
2548
- disableDraggable: function () {
2549
- if (this.params.scrollbar.el) {
2550
- var e = this.scrollbar,
2551
- t = this.touchEventsTouch,
2552
- s = this.touchEventsDesktop,
2553
- a = this.params,
2554
- r = e.$el[0],
2555
- n = !(!h.passiveListener || !a.passiveListeners) && {
2556
- passive: !1,
2557
- capture: !1
2558
- },
2559
- o = !(!h.passiveListener || !a.passiveListeners) && {
2560
- passive: !0,
2561
- capture: !1
2562
- };
2563
- h.touch ? (r.removeEventListener(t.start, this.scrollbar.onDragStart, n), r.removeEventListener(t.move, this.scrollbar.onDragMove, n), r.removeEventListener(t.end, this.scrollbar.onDragEnd, o)) : (r.removeEventListener(s.start, this.scrollbar.onDragStart, n), i.removeEventListener(s.move, this.scrollbar.onDragMove, n), i.removeEventListener(s.end, this.scrollbar.onDragEnd, o))
2564
- }
2565
- },
2566
- init: function () {
2567
- if (this.params.scrollbar.el) {
2568
- var e = this.scrollbar,
2569
- t = this.$el,
2570
- i = this.params.scrollbar,
2571
- s = n(i.el);
2572
- this.params.uniqueNavElements && "string" == typeof i.el && s.length > 1 && 1 === t.find(i.el).length && (s = t.find(i.el));
2573
- var a = s.find("." + this.params.scrollbar.dragClass);
2574
- 0 === a.length && (a = n('<div class="' + this.params.scrollbar.dragClass + '"></div>'), s.append(a)), d.extend(e, {
2575
- $el: s,
2576
- el: s[0],
2577
- $dragEl: a,
2578
- dragEl: a[0]
2579
- }), i.draggable && e.enableDraggable()
2580
- }
2581
- },
2582
- destroy: function () {
2583
- this.scrollbar.disableDraggable()
2584
- }
2585
- },
2586
- de = {
2587
- setTransform: function (e, t) {
2588
- var i = this.rtl,
2589
- s = n(e),
2590
- a = i ? -1 : 1,
2591
- r = s.attr("data-swiper-parallax") || "0",
2592
- o = s.attr("data-swiper-parallax-x"),
2593
- l = s.attr("data-swiper-parallax-y"),
2594
- d = s.attr("data-swiper-parallax-scale"),
2595
- h = s.attr("data-swiper-parallax-opacity");
2596
- if (o || l ? (o = o || "0", l = l || "0") : this.isHorizontal() ? (o = r, l = "0") : (l = r, o = "0"), o = o.indexOf("%") >= 0 ? parseInt(o, 10) * t * a + "%" : o * t * a + "px", l = l.indexOf("%") >= 0 ? parseInt(l, 10) * t + "%" : l * t + "px", null != h) {
2597
- var p = h - (h - 1) * (1 - Math.abs(t));
2598
- s[0].style.opacity = p
2599
- }
2600
- if (null == d) s.transform("translate3d(" + o + ", " + l + ", 0px)");
2601
- else {
2602
- var c = d - (d - 1) * (1 - Math.abs(t));
2603
- s.transform("translate3d(" + o + ", " + l + ", 0px) scale(" + c + ")")
2604
- }
2605
- },
2606
- setTranslate: function () {
2607
- var e = this,
2608
- t = e.$el,
2609
- i = e.slides,
2610
- s = e.progress,
2611
- a = e.snapGrid;
2612
- t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function (t, i) {
2613
- e.parallax.setTransform(i, s)
2614
- })), i.each((function (t, i) {
2615
- var r = i.progress;
2616
- e.params.slidesPerGroup > 1 && "auto" !== e.params.slidesPerView && (r += Math.ceil(t / 2) - s * (a.length - 1)), r = Math.min(Math.max(r, -1), 1), n(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function (t, i) {
2617
- e.parallax.setTransform(i, r)
2618
- }))
2619
- }))
2620
- },
2621
- setTransition: function (e) {
2622
- void 0 === e && (e = this.params.speed);
2623
- this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function (t, i) {
2624
- var s = n(i),
2625
- a = parseInt(s.attr("data-swiper-parallax-duration"), 10) || e;
2626
- 0 === e && (a = 0), s.transition(a)
2627
- }))
2628
- }
2629
- },
2630
- he = {
2631
- getDistanceBetweenTouches: function (e) {
2632
- if (e.targetTouches.length < 2) return 1;
2633
- var t = e.targetTouches[0].pageX,
2634
- i = e.targetTouches[0].pageY,
2635
- s = e.targetTouches[1].pageX,
2636
- a = e.targetTouches[1].pageY;
2637
- return Math.sqrt(Math.pow(s - t, 2) + Math.pow(a - i, 2))
2638
- },
2639
- onGestureStart: function (e) {
2640
- var t = this.params.zoom,
2641
- i = this.zoom,
2642
- s = i.gesture;
2643
- if (i.fakeGestureTouched = !1, i.fakeGestureMoved = !1, !h.gestures) {
2644
- if ("touchstart" !== e.type || "touchstart" === e.type && e.targetTouches.length < 2) return;
2645
- i.fakeGestureTouched = !0, s.scaleStart = he.getDistanceBetweenTouches(e)
2646
- }
2647
- s.$slideEl && s.$slideEl.length || (s.$slideEl = n(e.target).closest("." + this.params.slideClass), 0 === s.$slideEl.length && (s.$slideEl = this.slides.eq(this.activeIndex)), s.$imageEl = s.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), s.$imageWrapEl = s.$imageEl.parent("." + t.containerClass), s.maxRatio = s.$imageWrapEl.attr("data-swiper-zoom") || t.maxRatio, 0 !== s.$imageWrapEl.length) ? (s.$imageEl && s.$imageEl.transition(0), this.zoom.isScaling = !0) : s.$imageEl = void 0
2648
- },
2649
- onGestureChange: function (e) {
2650
- var t = this.params.zoom,
2651
- i = this.zoom,
2652
- s = i.gesture;
2653
- if (!h.gestures) {
2654
- if ("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches.length < 2) return;
2655
- i.fakeGestureMoved = !0, s.scaleMove = he.getDistanceBetweenTouches(e)
2656
- }
2657
- s.$imageEl && 0 !== s.$imageEl.length && (i.scale = h.gestures ? e.scale * i.currentScale : s.scaleMove / s.scaleStart * i.currentScale, i.scale > s.maxRatio && (i.scale = s.maxRatio - 1 + Math.pow(i.scale - s.maxRatio + 1, .5)), i.scale < t.minRatio && (i.scale = t.minRatio + 1 - Math.pow(t.minRatio - i.scale + 1, .5)), s.$imageEl.transform("translate3d(0,0,0) scale(" + i.scale + ")"))
2658
- },
2659
- onGestureEnd: function (e) {
2660
- var t = this.params.zoom,
2661
- i = this.zoom,
2662
- s = i.gesture;
2663
- if (!h.gestures) {
2664
- if (!i.fakeGestureTouched || !i.fakeGestureMoved) return;
2665
- if ("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length < 2 && !A.android) return;
2666
- i.fakeGestureTouched = !1, i.fakeGestureMoved = !1
2667
- }
2668
- s.$imageEl && 0 !== s.$imageEl.length && (i.scale = Math.max(Math.min(i.scale, s.maxRatio), t.minRatio), s.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale(" + i.scale + ")"), i.currentScale = i.scale, i.isScaling = !1, 1 === i.scale && (s.$slideEl = void 0))
2669
- },
2670
- onTouchStart: function (e) {
2671
- var t = this.zoom,
2672
- i = t.gesture,
2673
- s = t.image;
2674
- i.$imageEl && 0 !== i.$imageEl.length && (s.isTouched || (A.android && e.cancelable && e.preventDefault(), s.isTouched = !0, s.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesStart.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY))
2675
- },
2676
- onTouchMove: function (e) {
2677
- var t = this.zoom,
2678
- i = t.gesture,
2679
- s = t.image,
2680
- a = t.velocity;
2681
- if (i.$imageEl && 0 !== i.$imageEl.length && (this.allowClick = !1, s.isTouched && i.$slideEl)) {
2682
- s.isMoved || (s.width = i.$imageEl[0].offsetWidth, s.height = i.$imageEl[0].offsetHeight, s.startX = d.getTranslate(i.$imageWrapEl[0], "x") || 0, s.startY = d.getTranslate(i.$imageWrapEl[0], "y") || 0, i.slideWidth = i.$slideEl[0].offsetWidth, i.slideHeight = i.$slideEl[0].offsetHeight, i.$imageWrapEl.transition(0), this.rtl && (s.startX = -s.startX, s.startY = -s.startY));
2683
- var r = s.width * t.scale,
2684
- n = s.height * t.scale;
2685
- if (!(r < i.slideWidth && n < i.slideHeight)) {
2686
- if (s.minX = Math.min(i.slideWidth / 2 - r / 2, 0), s.maxX = -s.minX, s.minY = Math.min(i.slideHeight / 2 - n / 2, 0), s.maxY = -s.minY, s.touchesCurrent.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesCurrent.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, !s.isMoved && !t.isScaling) {
2687
- if (this.isHorizontal() && (Math.floor(s.minX) === Math.floor(s.startX) && s.touchesCurrent.x < s.touchesStart.x || Math.floor(s.maxX) === Math.floor(s.startX) && s.touchesCurrent.x > s.touchesStart.x)) return void(s.isTouched = !1);
2688
- if (!this.isHorizontal() && (Math.floor(s.minY) === Math.floor(s.startY) && s.touchesCurrent.y < s.touchesStart.y || Math.floor(s.maxY) === Math.floor(s.startY) && s.touchesCurrent.y > s.touchesStart.y)) return void(s.isTouched = !1)
2689
- }
2690
- e.cancelable && e.preventDefault(), e.stopPropagation(), s.isMoved = !0, s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX, s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY, s.currentX < s.minX && (s.currentX = s.minX + 1 - Math.pow(s.minX - s.currentX + 1, .8)), s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, .8)), s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY - s.currentY + 1, .8)), s.currentY > s.maxY && (s.currentY = s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, .8)), a.prevPositionX || (a.prevPositionX = s.touchesCurrent.x), a.prevPositionY || (a.prevPositionY = s.touchesCurrent.y), a.prevTime || (a.prevTime = Date.now()), a.x = (s.touchesCurrent.x - a.prevPositionX) / (Date.now() - a.prevTime) / 2, a.y = (s.touchesCurrent.y - a.prevPositionY) / (Date.now() - a.prevTime) / 2, Math.abs(s.touchesCurrent.x - a.prevPositionX) < 2 && (a.x = 0), Math.abs(s.touchesCurrent.y - a.prevPositionY) < 2 && (a.y = 0), a.prevPositionX = s.touchesCurrent.x, a.prevPositionY = s.touchesCurrent.y, a.prevTime = Date.now(), i.$imageWrapEl.transform("translate3d(" + s.currentX + "px, " + s.currentY + "px,0)")
2691
- }
2692
- }
2693
- },
2694
- onTouchEnd: function () {
2695
- var e = this.zoom,
2696
- t = e.gesture,
2697
- i = e.image,
2698
- s = e.velocity;
2699
- if (t.$imageEl && 0 !== t.$imageEl.length) {
2700
- if (!i.isTouched || !i.isMoved) return i.isTouched = !1, void(i.isMoved = !1);
2701
- i.isTouched = !1, i.isMoved = !1;
2702
- var a = 300,
2703
- r = 300,
2704
- n = s.x * a,
2705
- o = i.currentX + n,
2706
- l = s.y * r,
2707
- d = i.currentY + l;
2708
- 0 !== s.x && (a = Math.abs((o - i.currentX) / s.x)), 0 !== s.y && (r = Math.abs((d - i.currentY) / s.y));
2709
- var h = Math.max(a, r);
2710
- i.currentX = o, i.currentY = d;
2711
- var p = i.width * e.scale,
2712
- c = i.height * e.scale;
2713
- i.minX = Math.min(t.slideWidth / 2 - p / 2, 0), i.maxX = -i.minX, i.minY = Math.min(t.slideHeight / 2 - c / 2, 0), i.maxY = -i.minY, i.currentX = Math.max(Math.min(i.currentX, i.maxX), i.minX), i.currentY = Math.max(Math.min(i.currentY, i.maxY), i.minY), t.$imageWrapEl.transition(h).transform("translate3d(" + i.currentX + "px, " + i.currentY + "px,0)")
2714
- }
2715
- },
2716
- onTransitionEnd: function () {
2717
- var e = this.zoom,
2718
- t = e.gesture;
2719
- t.$slideEl && this.previousIndex !== this.activeIndex && (t.$imageEl && t.$imageEl.transform("translate3d(0,0,0) scale(1)"), t.$imageWrapEl && t.$imageWrapEl.transform("translate3d(0,0,0)"), e.scale = 1, e.currentScale = 1, t.$slideEl = void 0, t.$imageEl = void 0, t.$imageWrapEl = void 0)
2720
- },
2721
- toggle: function (e) {
2722
- var t = this.zoom;
2723
- t.scale && 1 !== t.scale ? t.out() : t.in(e)
2724
- },
2725
- in: function (e) {
2726
- var t, i, s, a, r, n, o, l, d, h, p, c, u, v, f, m, g = this.zoom,
2727
- b = this.params.zoom,
2728
- w = g.gesture,
2729
- y = g.image;
2730
- (w.$slideEl || (this.params.virtual && this.params.virtual.enabled && this.virtual ? w.$slideEl = this.$wrapperEl.children("." + this.params.slideActiveClass) : w.$slideEl = this.slides.eq(this.activeIndex), w.$imageEl = w.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), w.$imageWrapEl = w.$imageEl.parent("." + b.containerClass)), w.$imageEl && 0 !== w.$imageEl.length) && (w.$slideEl.addClass("" + b.zoomedSlideClass), void 0 === y.touchesStart.x && e ? (t = "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX, i = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY) : (t = y.touchesStart.x, i = y.touchesStart.y), g.scale = w.$imageWrapEl.attr("data-swiper-zoom") || b.maxRatio, g.currentScale = w.$imageWrapEl.attr("data-swiper-zoom") || b.maxRatio, e ? (f = w.$slideEl[0].offsetWidth, m = w.$slideEl[0].offsetHeight, s = w.$slideEl.offset().left + f / 2 - t, a = w.$slideEl.offset().top + m / 2 - i, o = w.$imageEl[0].offsetWidth, l = w.$imageEl[0].offsetHeight, d = o * g.scale, h = l * g.scale, u = -(p = Math.min(f / 2 - d / 2, 0)), v = -(c = Math.min(m / 2 - h / 2, 0)), (r = s * g.scale) < p && (r = p), r > u && (r = u), (n = a * g.scale) < c && (n = c), n > v && (n = v)) : (r = 0, n = 0), w.$imageWrapEl.transition(300).transform("translate3d(" + r + "px, " + n + "px,0)"), w.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + g.scale + ")"))
2731
- },
2732
- out: function () {
2733
- var e = this.zoom,
2734
- t = this.params.zoom,
2735
- i = e.gesture;
2736
- i.$slideEl || (this.params.virtual && this.params.virtual.enabled && this.virtual ? i.$slideEl = this.$wrapperEl.children("." + this.params.slideActiveClass) : i.$slideEl = this.slides.eq(this.activeIndex), i.$imageEl = i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), i.$imageWrapEl = i.$imageEl.parent("." + t.containerClass)), i.$imageEl && 0 !== i.$imageEl.length && (e.scale = 1, e.currentScale = 1, i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), i.$slideEl.removeClass("" + t.zoomedSlideClass), i.$slideEl = void 0)
2737
- },
2738
- enable: function () {
2739
- var e = this.zoom;
2740
- if (!e.enabled) {
2741
- e.enabled = !0;
2742
- var t = !("touchstart" !== this.touchEvents.start || !h.passiveListener || !this.params.passiveListeners) && {
2743
- passive: !0,
2744
- capture: !1
2745
- },
2746
- i = !h.passiveListener || {
2747
- passive: !1,
2748
- capture: !0
2749
- },
2750
- s = "." + this.params.slideClass;
2751
- h.gestures ? (this.$wrapperEl.on("gesturestart", s, e.onGestureStart, t), this.$wrapperEl.on("gesturechange", s, e.onGestureChange, t), this.$wrapperEl.on("gestureend", s, e.onGestureEnd, t)) : "touchstart" === this.touchEvents.start && (this.$wrapperEl.on(this.touchEvents.start, s, e.onGestureStart, t), this.$wrapperEl.on(this.touchEvents.move, s, e.onGestureChange, i), this.$wrapperEl.on(this.touchEvents.end, s, e.onGestureEnd, t), this.touchEvents.cancel && this.$wrapperEl.on(this.touchEvents.cancel, s, e.onGestureEnd, t)), this.$wrapperEl.on(this.touchEvents.move, "." + this.params.zoom.containerClass, e.onTouchMove, i)
2752
- }
2753
- },
2754
- disable: function () {
2755
- var e = this.zoom;
2756
- if (e.enabled) {
2757
- this.zoom.enabled = !1;
2758
- var t = !("touchstart" !== this.touchEvents.start || !h.passiveListener || !this.params.passiveListeners) && {
2759
- passive: !0,
2760
- capture: !1
2761
- },
2762
- i = !h.passiveListener || {
2763
- passive: !1,
2764
- capture: !0
2765
- },
2766
- s = "." + this.params.slideClass;
2767
- h.gestures ? (this.$wrapperEl.off("gesturestart", s, e.onGestureStart, t), this.$wrapperEl.off("gesturechange", s, e.onGestureChange, t), this.$wrapperEl.off("gestureend", s, e.onGestureEnd, t)) : "touchstart" === this.touchEvents.start && (this.$wrapperEl.off(this.touchEvents.start, s, e.onGestureStart, t), this.$wrapperEl.off(this.touchEvents.move, s, e.onGestureChange, i), this.$wrapperEl.off(this.touchEvents.end, s, e.onGestureEnd, t), this.touchEvents.cancel && this.$wrapperEl.off(this.touchEvents.cancel, s, e.onGestureEnd, t)), this.$wrapperEl.off(this.touchEvents.move, "." + this.params.zoom.containerClass, e.onTouchMove, i)
2768
- }
2769
- }
2770
- },
2771
- pe = {
2772
- loadInSlide: function (e, t) {
2773
- void 0 === t && (t = !0);
2774
- var i = this,
2775
- s = i.params.lazy;
2776
- if (void 0 !== e && 0 !== i.slides.length) {
2777
- var a = i.virtual && i.params.virtual.enabled ? i.$wrapperEl.children("." + i.params.slideClass + '[data-swiper-slide-index="' + e + '"]') : i.slides.eq(e),
2778
- r = a.find("." + s.elementClass + ":not(." + s.loadedClass + "):not(." + s.loadingClass + ")");
2779
- !a.hasClass(s.elementClass) || a.hasClass(s.loadedClass) || a.hasClass(s.loadingClass) || (r = r.add(a[0])), 0 !== r.length && r.each((function (e, r) {
2780
- var o = n(r);
2781
- o.addClass(s.loadingClass);
2782
- var l = o.attr("data-background"),
2783
- d = o.attr("data-src"),
2784
- h = o.attr("data-srcset"),
2785
- p = o.attr("data-sizes"),
2786
- c = o.parent("picture");
2787
- i.loadImage(o[0], d || l, h, p, !1, (function () {
2788
- if (null != i && i && (!i || i.params) && !i.destroyed) {
2789
- if (l ? (o.css("background-image", 'url("' + l + '")'), o.removeAttr("data-background")) : (h && (o.attr("srcset", h), o.removeAttr("data-srcset")), p && (o.attr("sizes", p), o.removeAttr("data-sizes")), c.length && c.children("source").each((function (e, t) {
2790
- var i = n(t);
2791
- i.attr("data-srcset") && (i.attr("srcset", i.attr("data-srcset")), i.removeAttr("data-srcset"))
2792
- })), d && (o.attr("src", d), o.removeAttr("data-src"))), o.addClass(s.loadedClass).removeClass(s.loadingClass), a.find("." + s.preloaderClass).remove(), i.params.loop && t) {
2793
- var e = a.attr("data-swiper-slide-index");
2794
- if (a.hasClass(i.params.slideDuplicateClass)) {
2795
- var r = i.$wrapperEl.children('[data-swiper-slide-index="' + e + '"]:not(.' + i.params.slideDuplicateClass + ")");
2796
- i.lazy.loadInSlide(r.index(), !1)
2797
- } else {
2798
- var u = i.$wrapperEl.children("." + i.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]');
2799
- i.lazy.loadInSlide(u.index(), !1)
2800
- }
2801
- }
2802
- i.emit("lazyImageReady", a[0], o[0]), i.params.autoHeight && i.updateAutoHeight()
2803
- }
2804
- })), i.emit("lazyImageLoad", a[0], o[0])
2805
- }))
2806
- }
2807
- },
2808
- load: function () {
2809
- var e = this,
2810
- t = e.$wrapperEl,
2811
- i = e.params,
2812
- s = e.slides,
2813
- a = e.activeIndex,
2814
- r = e.virtual && i.virtual.enabled,
2815
- o = i.lazy,
2816
- l = i.slidesPerView;
2817
-
2818
- function d(e) {
2819
- if (r) {
2820
- if (t.children("." + i.slideClass + '[data-swiper-slide-index="' + e + '"]').length) return !0
2821
- } else if (s[e]) return !0;
2822
- return !1
2823
- }
2824
-
2825
- function h(e) {
2826
- return r ? n(e).attr("data-swiper-slide-index") : n(e).index()
2827
- }
2828
- if ("auto" === l && (l = 0), e.lazy.initialImageLoaded || (e.lazy.initialImageLoaded = !0), e.params.watchSlidesVisibility) t.children("." + i.slideVisibleClass).each((function (t, i) {
2829
- var s = r ? n(i).attr("data-swiper-slide-index") : n(i).index();
2830
- e.lazy.loadInSlide(s)
2831
- }));
2832
- else if (l > 1)
2833
- for (var p = a; p < a + l; p += 1) d(p) && e.lazy.loadInSlide(p);
2834
- else e.lazy.loadInSlide(a);
2835
- if (o.loadPrevNext)
2836
- if (l > 1 || o.loadPrevNextAmount && o.loadPrevNextAmount > 1) {
2837
- for (var c = o.loadPrevNextAmount, u = l, v = Math.min(a + u + Math.max(c, u), s.length), f = Math.max(a - Math.max(u, c), 0), m = a + l; m < v; m += 1) d(m) && e.lazy.loadInSlide(m);
2838
- for (var g = f; g < a; g += 1) d(g) && e.lazy.loadInSlide(g)
2839
- } else {
2840
- var b = t.children("." + i.slideNextClass);
2841
- b.length > 0 && e.lazy.loadInSlide(h(b));
2842
- var w = t.children("." + i.slidePrevClass);
2843
- w.length > 0 && e.lazy.loadInSlide(h(w))
2844
- }
2845
- }
2846
- },
2847
- ce = {
2848
- LinearSpline: function (e, t) {
2849
- var i, s, a, r, n, o = function (e, t) {
2850
- for (s = -1, i = e.length; i - s > 1;) e[a = i + s >> 1] <= t ? s = a : i = a;
2851
- return i
2852
- };
2853
- return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function (e) {
2854
- return e ? (n = o(this.x, e), r = n - 1, (e - this.x[r]) * (this.y[n] - this.y[r]) / (this.x[n] - this.x[r]) + this.y[r]) : 0
2855
- }, this
2856
- },
2857
- getInterpolateFunction: function (e) {
2858
- this.controller.spline || (this.controller.spline = this.params.loop ? new ce.LinearSpline(this.slidesGrid, e.slidesGrid) : new ce.LinearSpline(this.snapGrid, e.snapGrid))
2859
- },
2860
- setTranslate: function (e, t) {
2861
- var i, s, a = this,
2862
- r = a.controller.control;
2863
-
2864
- function n(e) {
2865
- var t = a.rtlTranslate ? -a.translate : a.translate;
2866
- "slide" === a.params.controller.by && (a.controller.getInterpolateFunction(e), s = -a.controller.spline.interpolate(-t)), s && "container" !== a.params.controller.by || (i = (e.maxTranslate() - e.minTranslate()) / (a.maxTranslate() - a.minTranslate()), s = (t - a.minTranslate()) * i + e.minTranslate()), a.params.controller.inverse && (s = e.maxTranslate() - s), e.updateProgress(s), e.setTranslate(s, a), e.updateActiveIndex(), e.updateSlidesClasses()
2867
- }
2868
- if (Array.isArray(r))
2869
- for (var o = 0; o < r.length; o += 1) r[o] !== t && r[o] instanceof j && n(r[o]);
2870
- else r instanceof j && t !== r && n(r)
2871
- },
2872
- setTransition: function (e, t) {
2873
- var i, s = this,
2874
- a = s.controller.control;
2875
-
2876
- function r(t) {
2877
- t.setTransition(e, s), 0 !== e && (t.transitionStart(), t.params.autoHeight && d.nextTick((function () {
2878
- t.updateAutoHeight()
2879
- })), t.$wrapperEl.transitionEnd((function () {
2880
- a && (t.params.loop && "slide" === s.params.controller.by && t.loopFix(), t.transitionEnd())
2881
- })))
2882
- }
2883
- if (Array.isArray(a))
2884
- for (i = 0; i < a.length; i += 1) a[i] !== t && a[i] instanceof j && r(a[i]);
2885
- else a instanceof j && t !== a && r(a)
2886
- }
2887
- },
2888
- ue = {
2889
- makeElFocusable: function (e) {
2890
- return e.attr("tabIndex", "0"), e
2891
- },
2892
- makeElNotFocusable: function (e) {
2893
- return e.attr("tabIndex", "-1"), e
2894
- },
2895
- addElRole: function (e, t) {
2896
- return e.attr("role", t), e
2897
- },
2898
- addElLabel: function (e, t) {
2899
- return e.attr("aria-label", t), e
2900
- },
2901
- disableEl: function (e) {
2902
- return e.attr("aria-disabled", !0), e
2903
- },
2904
- enableEl: function (e) {
2905
- return e.attr("aria-disabled", !1), e
2906
- },
2907
- onEnterKey: function (e) {
2908
- var t = this.params.a11y;
2909
- if (13 === e.keyCode) {
2910
- var i = n(e.target);
2911
- this.navigation && this.navigation.$nextEl && i.is(this.navigation.$nextEl) && (this.isEnd && !this.params.loop || this.slideNext(), this.isEnd ? this.a11y.notify(t.lastSlideMessage) : this.a11y.notify(t.nextSlideMessage)), this.navigation && this.navigation.$prevEl && i.is(this.navigation.$prevEl) && (this.isBeginning && !this.params.loop || this.slidePrev(), this.isBeginning ? this.a11y.notify(t.firstSlideMessage) : this.a11y.notify(t.prevSlideMessage)), this.pagination && i.is("." + this.params.pagination.bulletClass) && i[0].click()
2912
- }
2913
- },
2914
- notify: function (e) {
2915
- var t = this.a11y.liveRegion;
2916
- 0 !== t.length && (t.html(""), t.html(e))
2917
- },
2918
- updateNavigation: function () {
2919
- if (!this.params.loop && this.navigation) {
2920
- var e = this.navigation,
2921
- t = e.$nextEl,
2922
- i = e.$prevEl;
2923
- i && i.length > 0 && (this.isBeginning ? (this.a11y.disableEl(i), this.a11y.makeElNotFocusable(i)) : (this.a11y.enableEl(i), this.a11y.makeElFocusable(i))), t && t.length > 0 && (this.isEnd ? (this.a11y.disableEl(t), this.a11y.makeElNotFocusable(t)) : (this.a11y.enableEl(t), this.a11y.makeElFocusable(t)))
2924
- }
2925
- },
2926
- updatePagination: function () {
2927
- var e = this,
2928
- t = e.params.a11y;
2929
- e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.bullets.each((function (i, s) {
2930
- var a = n(s);
2931
- e.a11y.makeElFocusable(a), e.a11y.addElRole(a, "button"), e.a11y.addElLabel(a, t.paginationBulletMessage.replace(/\{\{index\}\}/, a.index() + 1))
2932
- }))
2933
- },
2934
- init: function () {
2935
- this.$el.append(this.a11y.liveRegion);
2936
- var e, t, i = this.params.a11y;
2937
- this.navigation && this.navigation.$nextEl && (e = this.navigation.$nextEl), this.navigation && this.navigation.$prevEl && (t = this.navigation.$prevEl), e && (this.a11y.makeElFocusable(e), this.a11y.addElRole(e, "button"), this.a11y.addElLabel(e, i.nextSlideMessage), e.on("keydown", this.a11y.onEnterKey)), t && (this.a11y.makeElFocusable(t), this.a11y.addElRole(t, "button"), this.a11y.addElLabel(t, i.prevSlideMessage), t.on("keydown", this.a11y.onEnterKey)), this.pagination && this.params.pagination.clickable && this.pagination.bullets && this.pagination.bullets.length && this.pagination.$el.on("keydown", "." + this.params.pagination.bulletClass, this.a11y.onEnterKey)
2938
- },
2939
- destroy: function () {
2940
- var e, t;
2941
- this.a11y.liveRegion && this.a11y.liveRegion.length > 0 && this.a11y.liveRegion.remove(), this.navigation && this.navigation.$nextEl && (e = this.navigation.$nextEl), this.navigation && this.navigation.$prevEl && (t = this.navigation.$prevEl), e && e.off("keydown", this.a11y.onEnterKey), t && t.off("keydown", this.a11y.onEnterKey), this.pagination && this.params.pagination.clickable && this.pagination.bullets && this.pagination.bullets.length && this.pagination.$el.off("keydown", "." + this.params.pagination.bulletClass, this.a11y.onEnterKey)
2942
- }
2943
- },
2944
- ve = {
2945
- init: function () {
2946
- if (this.params.history) {
2947
- if (!a.history || !a.history.pushState) return this.params.history.enabled = !1, void(this.params.hashNavigation.enabled = !0);
2948
- var e = this.history;
2949
- e.initialized = !0, e.paths = ve.getPathValues(), (e.paths.key || e.paths.value) && (e.scrollToSlide(0, e.paths.value, this.params.runCallbacksOnInit), this.params.history.replaceState || a.addEventListener("popstate", this.history.setHistoryPopState))
2950
- }
2951
- },
2952
- destroy: function () {
2953
- this.params.history.replaceState || a.removeEventListener("popstate", this.history.setHistoryPopState)
2954
- },
2955
- setHistoryPopState: function () {
2956
- this.history.paths = ve.getPathValues(), this.history.scrollToSlide(this.params.speed, this.history.paths.value, !1)
2957
- },
2958
- getPathValues: function () {
2959
- var e = a.location.pathname.slice(1).split("/").filter((function (e) {
2960
- return "" !== e
2961
- })),
2962
- t = e.length;
2963
- return {
2964
- key: e[t - 2],
2965
- value: e[t - 1]
2966
- }
2967
- },
2968
- setHistory: function (e, t) {
2969
- if (this.history.initialized && this.params.history.enabled) {
2970
- var i = this.slides.eq(t),
2971
- s = ve.slugify(i.attr("data-history"));
2972
- a.location.pathname.includes(e) || (s = e + "/" + s);
2973
- var r = a.history.state;
2974
- r && r.value === s || (this.params.history.replaceState ? a.history.replaceState({
2975
- value: s
2976
- }, null, s) : a.history.pushState({
2977
- value: s
2978
- }, null, s))
2979
- }
2980
- },
2981
- slugify: function (e) {
2982
- return e.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "")
2983
- },
2984
- scrollToSlide: function (e, t, i) {
2985
- if (t)
2986
- for (var s = 0, a = this.slides.length; s < a; s += 1) {
2987
- var r = this.slides.eq(s);
2988
- if (ve.slugify(r.attr("data-history")) === t && !r.hasClass(this.params.slideDuplicateClass)) {
2989
- var n = r.index();
2990
- this.slideTo(n, e, i)
2991
- }
2992
- } else this.slideTo(0, e, i)
2993
- }
2994
- },
2995
- fe = {
2996
- onHashCange: function () {
2997
- this.emit("hashChange");
2998
- var e = i.location.hash.replace("#", "");
2999
- if (e !== this.slides.eq(this.activeIndex).attr("data-hash")) {
3000
- var t = this.$wrapperEl.children("." + this.params.slideClass + '[data-hash="' + e + '"]').index();
3001
- if (void 0 === t) return;
3002
- this.slideTo(t)
3003
- }
3004
- },
3005
- setHash: function () {
3006
- if (this.hashNavigation.initialized && this.params.hashNavigation.enabled)
3007
- if (this.params.hashNavigation.replaceState && a.history && a.history.replaceState) a.history.replaceState(null, null, "#" + this.slides.eq(this.activeIndex).attr("data-hash") || ""), this.emit("hashSet");
3008
- else {
3009
- var e = this.slides.eq(this.activeIndex),
3010
- t = e.attr("data-hash") || e.attr("data-history");
3011
- i.location.hash = t || "", this.emit("hashSet")
3012
- }
3013
- },
3014
- init: function () {
3015
- if (!(!this.params.hashNavigation.enabled || this.params.history && this.params.history.enabled)) {
3016
- this.hashNavigation.initialized = !0;
3017
- var e = i.location.hash.replace("#", "");
3018
- if (e)
3019
- for (var t = 0, s = this.slides.length; t < s; t += 1) {
3020
- var r = this.slides.eq(t);
3021
- if ((r.attr("data-hash") || r.attr("data-history")) === e && !r.hasClass(this.params.slideDuplicateClass)) {
3022
- var o = r.index();
3023
- this.slideTo(o, 0, this.params.runCallbacksOnInit, !0)
3024
- }
3025
- }
3026
- this.params.hashNavigation.watchState && n(a).on("hashchange", this.hashNavigation.onHashCange)
3027
- }
3028
- },
3029
- destroy: function () {
3030
- this.params.hashNavigation.watchState && n(a).off("hashchange", this.hashNavigation.onHashCange)
3031
- }
3032
- },
3033
- me = {
3034
- run: function () {
3035
- var e = this,
3036
- t = e.slides.eq(e.activeIndex),
3037
- i = e.params.autoplay.delay;
3038
- t.attr("data-swiper-autoplay") && (i = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), clearTimeout(e.autoplay.timeout), e.autoplay.timeout = d.nextTick((function () {
3039
- e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(e.slides.length - 1, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.params.loop ? (e.loopFix(), e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(0, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")), e.params.cssMode && e.autoplay.running && e.autoplay.run()
3040
- }), i)
3041
- },
3042
- start: function () {
3043
- return void 0 === this.autoplay.timeout && (!this.autoplay.running && (this.autoplay.running = !0, this.emit("autoplayStart"), this.autoplay.run(), !0))
3044
- },
3045
- stop: function () {
3046
- return !!this.autoplay.running && (void 0 !== this.autoplay.timeout && (this.autoplay.timeout && (clearTimeout(this.autoplay.timeout), this.autoplay.timeout = void 0), this.autoplay.running = !1, this.emit("autoplayStop"), !0))
3047
- },
3048
- pause: function (e) {
3049
- this.autoplay.running && (this.autoplay.paused || (this.autoplay.timeout && clearTimeout(this.autoplay.timeout), this.autoplay.paused = !0, 0 !== e && this.params.autoplay.waitForTransition ? (this.$wrapperEl[0].addEventListener("transitionend", this.autoplay.onTransitionEnd), this.$wrapperEl[0].addEventListener("webkitTransitionEnd", this.autoplay.onTransitionEnd)) : (this.autoplay.paused = !1, this.autoplay.run())))
3050
- }
3051
- },
3052
- ge = {
3053
- setTranslate: function () {
3054
- for (var e = this.slides, t = 0; t < e.length; t += 1) {
3055
- var i = this.slides.eq(t),
3056
- s = -i[0].swiperSlideOffset;
3057
- this.params.virtualTranslate || (s -= this.translate);
3058
- var a = 0;
3059
- this.isHorizontal() || (a = s, s = 0);
3060
- var r = this.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math.min(Math.max(i[0].progress, -1), 0);
3061
- i.css({
3062
- opacity: r
3063
- }).transform("translate3d(" + s + "px, " + a + "px, 0px)")
3064
- }
3065
- },
3066
- setTransition: function (e) {
3067
- var t = this,
3068
- i = t.slides,
3069
- s = t.$wrapperEl;
3070
- if (i.transition(e), t.params.virtualTranslate && 0 !== e) {
3071
- var a = !1;
3072
- i.transitionEnd((function () {
3073
- if (!a && t && !t.destroyed) {
3074
- a = !0, t.animating = !1;
3075
- for (var e = ["webkitTransitionEnd", "transitionend"], i = 0; i < e.length; i += 1) s.trigger(e[i])
3076
- }
3077
- }))
3078
- }
3079
- }
3080
- },
3081
- be = {
3082
- setTranslate: function () {
3083
- var e, t = this.$el,
3084
- i = this.$wrapperEl,
3085
- s = this.slides,
3086
- a = this.width,
3087
- r = this.height,
3088
- o = this.rtlTranslate,
3089
- l = this.size,
3090
- d = this.params.cubeEffect,
3091
- h = this.isHorizontal(),
3092
- p = this.virtual && this.params.virtual.enabled,
3093
- c = 0;
3094
- d.shadow && (h ? (0 === (e = i.find(".swiper-cube-shadow")).length && (e = n('<div class="swiper-cube-shadow"></div>'), i.append(e)), e.css({
3095
- height: a + "px"
3096
- })) : 0 === (e = t.find(".swiper-cube-shadow")).length && (e = n('<div class="swiper-cube-shadow"></div>'), t.append(e)));
3097
- for (var u = 0; u < s.length; u += 1) {
3098
- var v = s.eq(u),
3099
- f = u;
3100
- p && (f = parseInt(v.attr("data-swiper-slide-index"), 10));
3101
- var m = 90 * f,
3102
- g = Math.floor(m / 360);
3103
- o && (m = -m, g = Math.floor(-m / 360));
3104
- var b = Math.max(Math.min(v[0].progress, 1), -1),
3105
- w = 0,
3106
- y = 0,
3107
- x = 0;
3108
- f % 4 == 0 ? (w = 4 * -g * l, x = 0) : (f - 1) % 4 == 0 ? (w = 0, x = 4 * -g * l) : (f - 2) % 4 == 0 ? (w = l + 4 * g * l, x = l) : (f - 3) % 4 == 0 && (w = -l, x = 3 * l + 4 * l * g), o && (w = -w), h || (y = w, w = 0);
3109
- var E = "rotateX(" + (h ? 0 : -m) + "deg) rotateY(" + (h ? m : 0) + "deg) translate3d(" + w + "px, " + y + "px, " + x + "px)";
3110
- if (b <= 1 && b > -1 && (c = 90 * f + 90 * b, o && (c = 90 * -f - 90 * b)), v.transform(E), d.slideShadows) {
3111
- var T = h ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"),
3112
- S = h ? v.find(".swiper-slide-shadow-right") : v.find(".swiper-slide-shadow-bottom");
3113
- 0 === T.length && (T = n('<div class="swiper-slide-shadow-' + (h ? "left" : "top") + '"></div>'), v.append(T)), 0 === S.length && (S = n('<div class="swiper-slide-shadow-' + (h ? "right" : "bottom") + '"></div>'), v.append(S)), T.length && (T[0].style.opacity = Math.max(-b, 0)), S.length && (S[0].style.opacity = Math.max(b, 0))
3114
- }
3115
- }
3116
- if (i.css({
3117
- "-webkit-transform-origin": "50% 50% -" + l / 2 + "px",
3118
- "-moz-transform-origin": "50% 50% -" + l / 2 + "px",
3119
- "-ms-transform-origin": "50% 50% -" + l / 2 + "px",
3120
- "transform-origin": "50% 50% -" + l / 2 + "px"
3121
- }), d.shadow)
3122
- if (h) e.transform("translate3d(0px, " + (a / 2 + d.shadowOffset) + "px, " + -a / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + d.shadowScale + ")");
3123
- else {
3124
- var C = Math.abs(c) - 90 * Math.floor(Math.abs(c) / 90),
3125
- M = 1.5 - (Math.sin(2 * C * Math.PI / 360) / 2 + Math.cos(2 * C * Math.PI / 360) / 2),
3126
- P = d.shadowScale,
3127
- z = d.shadowScale / M,
3128
- k = d.shadowOffset;
3129
- e.transform("scale3d(" + P + ", 1, " + z + ") translate3d(0px, " + (r / 2 + k) + "px, " + -r / 2 / z + "px) rotateX(-90deg)")
3130
- }
3131
- var $ = _.isSafari || _.isWebView ? -l / 2 : 0;
3132
- i.transform("translate3d(0px,0," + $ + "px) rotateX(" + (this.isHorizontal() ? 0 : c) + "deg) rotateY(" + (this.isHorizontal() ? -c : 0) + "deg)")
3133
- },
3134
- setTransition: function (e) {
3135
- var t = this.$el;
3136
- this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), this.params.cubeEffect.shadow && !this.isHorizontal() && t.find(".swiper-cube-shadow").transition(e)
3137
- }
3138
- },
3139
- we = {
3140
- setTranslate: function () {
3141
- for (var e = this.slides, t = this.rtlTranslate, i = 0; i < e.length; i += 1) {
3142
- var s = e.eq(i),
3143
- a = s[0].progress;
3144
- this.params.flipEffect.limitRotation && (a = Math.max(Math.min(s[0].progress, 1), -1));
3145
- var r = -180 * a,
3146
- o = 0,
3147
- l = -s[0].swiperSlideOffset,
3148
- d = 0;
3149
- if (this.isHorizontal() ? t && (r = -r) : (d = l, l = 0, o = -r, r = 0), s[0].style.zIndex = -Math.abs(Math.round(a)) + e.length, this.params.flipEffect.slideShadows) {
3150
- var h = this.isHorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(".swiper-slide-shadow-top"),
3151
- p = this.isHorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(".swiper-slide-shadow-bottom");
3152
- 0 === h.length && (h = n('<div class="swiper-slide-shadow-' + (this.isHorizontal() ? "left" : "top") + '"></div>'), s.append(h)), 0 === p.length && (p = n('<div class="swiper-slide-shadow-' + (this.isHorizontal() ? "right" : "bottom") + '"></div>'), s.append(p)), h.length && (h[0].style.opacity = Math.max(-a, 0)), p.length && (p[0].style.opacity = Math.max(a, 0))
3153
- }
3154
- s.transform("translate3d(" + l + "px, " + d + "px, 0px) rotateX(" + o + "deg) rotateY(" + r + "deg)")
3155
- }
3156
- },
3157
- setTransition: function (e) {
3158
- var t = this,
3159
- i = t.slides,
3160
- s = t.activeIndex,
3161
- a = t.$wrapperEl;
3162
- if (i.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), t.params.virtualTranslate && 0 !== e) {
3163
- var r = !1;
3164
- i.eq(s).transitionEnd((function () {
3165
- if (!r && t && !t.destroyed) {
3166
- r = !0, t.animating = !1;
3167
- for (var e = ["webkitTransitionEnd", "transitionend"], i = 0; i < e.length; i += 1) a.trigger(e[i])
3168
- }
3169
- }))
3170
- }
3171
- }
3172
- },
3173
- ye = {
3174
- setTranslate: function () {
3175
- for (var e = this.width, t = this.height, i = this.slides, s = this.$wrapperEl, a = this.slidesSizesGrid, r = this.params.coverflowEffect, o = this.isHorizontal(), l = this.translate, d = o ? e / 2 - l : t / 2 - l, p = o ? r.rotate : -r.rotate, c = r.depth, u = 0, v = i.length; u < v; u += 1) {
3176
- var f = i.eq(u),
3177
- m = a[u],
3178
- g = (d - f[0].swiperSlideOffset - m / 2) / m * r.modifier,
3179
- b = o ? p * g : 0,
3180
- w = o ? 0 : p * g,
3181
- y = -c * Math.abs(g),
3182
- x = r.stretch;
3183
- "string" == typeof x && -1 !== x.indexOf("%") && (x = parseFloat(r.stretch) / 100 * m);
3184
- var E = o ? 0 : x * g,
3185
- T = o ? x * g : 0,
3186
- S = 1 - (1 - r.scale) * Math.abs(g);
3187
- Math.abs(T) < .001 && (T = 0), Math.abs(E) < .001 && (E = 0), Math.abs(y) < .001 && (y = 0), Math.abs(b) < .001 && (b = 0), Math.abs(w) < .001 && (w = 0), Math.abs(S) < .001 && (S = 0);
3188
- var C = "translate3d(" + T + "px," + E + "px," + y + "px) rotateX(" + w + "deg) rotateY(" + b + "deg) scale(" + S + ")";
3189
- if (f.transform(C), f[0].style.zIndex = 1 - Math.abs(Math.round(g)), r.slideShadows) {
3190
- var M = o ? f.find(".swiper-slide-shadow-left") : f.find(".swiper-slide-shadow-top"),
3191
- P = o ? f.find(".swiper-slide-shadow-right") : f.find(".swiper-slide-shadow-bottom");
3192
- 0 === M.length && (M = n('<div class="swiper-slide-shadow-' + (o ? "left" : "top") + '"></div>'), f.append(M)), 0 === P.length && (P = n('<div class="swiper-slide-shadow-' + (o ? "right" : "bottom") + '"></div>'), f.append(P)), M.length && (M[0].style.opacity = g > 0 ? g : 0), P.length && (P[0].style.opacity = -g > 0 ? -g : 0)
3193
- }
3194
- }(h.pointerEvents || h.prefixedPointerEvents) && (s[0].style.perspectiveOrigin = d + "px 50%")
3195
- },
3196
- setTransition: function (e) {
3197
- this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)
3198
- }
3199
- },
3200
- xe = {
3201
- init: function () {
3202
- var e = this.params.thumbs,
3203
- t = this.constructor;
3204
- e.swiper instanceof t ? (this.thumbs.swiper = e.swiper, d.extend(this.thumbs.swiper.originalParams, {
3205
- watchSlidesProgress: !0,
3206
- slideToClickedSlide: !1
3207
- }), d.extend(this.thumbs.swiper.params, {
3208
- watchSlidesProgress: !0,
3209
- slideToClickedSlide: !1
3210
- })) : d.isObject(e.swiper) && (this.thumbs.swiper = new t(d.extend({}, e.swiper, {
3211
- watchSlidesVisibility: !0,
3212
- watchSlidesProgress: !0,
3213
- slideToClickedSlide: !1
3214
- })), this.thumbs.swiperCreated = !0), this.thumbs.swiper.$el.addClass(this.params.thumbs.thumbsContainerClass), this.thumbs.swiper.on("tap", this.thumbs.onThumbClick)
3215
- },
3216
- onThumbClick: function () {
3217
- var e = this.thumbs.swiper;
3218
- if (e) {
3219
- var t = e.clickedIndex,
3220
- i = e.clickedSlide;
3221
- if (!(i && n(i).hasClass(this.params.thumbs.slideThumbActiveClass) || null == t)) {
3222
- var s;
3223
- if (s = e.params.loop ? parseInt(n(e.clickedSlide).attr("data-swiper-slide-index"), 10) : t, this.params.loop) {
3224
- var a = this.activeIndex;
3225
- this.slides.eq(a).hasClass(this.params.slideDuplicateClass) && (this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft, a = this.activeIndex);
3226
- var r = this.slides.eq(a).prevAll('[data-swiper-slide-index="' + s + '"]').eq(0).index(),
3227
- o = this.slides.eq(a).nextAll('[data-swiper-slide-index="' + s + '"]').eq(0).index();
3228
- s = void 0 === r ? o : void 0 === o ? r : o - a < a - r ? o : r
3229
- }
3230
- this.slideTo(s)
3231
- }
3232
- }
3233
- },
3234
- update: function (e) {
3235
- var t = this.thumbs.swiper;
3236
- if (t) {
3237
- var i = "auto" === t.params.slidesPerView ? t.slidesPerViewDynamic() : t.params.slidesPerView,
3238
- s = this.params.thumbs.autoScrollOffset,
3239
- a = s && !t.params.loop;
3240
- if (this.realIndex !== t.realIndex || a) {
3241
- var r, n, o = t.activeIndex;
3242
- if (t.params.loop) {
3243
- t.slides.eq(o).hasClass(t.params.slideDuplicateClass) && (t.loopFix(), t._clientLeft = t.$wrapperEl[0].clientLeft, o = t.activeIndex);
3244
- var l = t.slides.eq(o).prevAll('[data-swiper-slide-index="' + this.realIndex + '"]').eq(0).index(),
3245
- d = t.slides.eq(o).nextAll('[data-swiper-slide-index="' + this.realIndex + '"]').eq(0).index();
3246
- r = void 0 === l ? d : void 0 === d ? l : d - o == o - l ? o : d - o < o - l ? d : l, n = this.activeIndex > this.previousIndex ? "next" : "prev"
3247
- } else n = (r = this.realIndex) > this.previousIndex ? "next" : "prev";
3248
- a && (r += "next" === n ? s : -1 * s), t.visibleSlidesIndexes && t.visibleSlidesIndexes.indexOf(r) < 0 && (t.params.centeredSlides ? r = r > o ? r - Math.floor(i / 2) + 1 : r + Math.floor(i / 2) - 1 : r > o && (r = r - i + 1), t.slideTo(r, e ? 0 : void 0))
3249
- }
3250
- var h = 1,
3251
- p = this.params.thumbs.slideThumbActiveClass;
3252
- if (this.params.slidesPerView > 1 && !this.params.centeredSlides && (h = this.params.slidesPerView), this.params.thumbs.multipleActiveThumbs || (h = 1), h = Math.floor(h), t.slides.removeClass(p), t.params.loop || t.params.virtual && t.params.virtual.enabled)
3253
- for (var c = 0; c < h; c += 1) t.$wrapperEl.children('[data-swiper-slide-index="' + (this.realIndex + c) + '"]').addClass(p);
3254
- else
3255
- for (var u = 0; u < h; u += 1) t.slides.eq(this.realIndex + u).addClass(p)
3256
- }
3257
- }
3258
- },
3259
- Ee = [K, U, Z, Q, ee, ie, ae, {
3260
- name: "mousewheel",
3261
- params: {
3262
- mousewheel: {
3263
- enabled: !1,
3264
- releaseOnEdges: !1,
3265
- invert: !1,
3266
- forceToAxis: !1,
3267
- sensitivity: 1,
3268
- eventsTarged: "container"
3269
- }
3270
- },
3271
- create: function () {
3272
- d.extend(this, {
3273
- mousewheel: {
3274
- enabled: !1,
3275
- enable: re.enable.bind(this),
3276
- disable: re.disable.bind(this),
3277
- handle: re.handle.bind(this),
3278
- handleMouseEnter: re.handleMouseEnter.bind(this),
3279
- handleMouseLeave: re.handleMouseLeave.bind(this),
3280
- animateSlider: re.animateSlider.bind(this),
3281
- releaseScroll: re.releaseScroll.bind(this),
3282
- lastScrollTime: d.now(),
3283
- lastEventBeforeSnap: void 0,
3284
- recentWheelEvents: []
3285
- }
3286
- })
3287
- },
3288
- on: {
3289
- init: function () {
3290
- !this.params.mousewheel.enabled && this.params.cssMode && this.mousewheel.disable(), this.params.mousewheel.enabled && this.mousewheel.enable()
3291
- },
3292
- destroy: function () {
3293
- this.params.cssMode && this.mousewheel.enable(), this.mousewheel.enabled && this.mousewheel.disable()
3294
- }
3295
- }
3296
- }, {
3297
- name: "navigation",
3298
- params: {
3299
- navigation: {
3300
- nextEl: null,
3301
- prevEl: null,
3302
- hideOnClick: !1,
3303
- disabledClass: "swiper-button-disabled",
3304
- hiddenClass: "swiper-button-hidden",
3305
- lockClass: "swiper-button-lock"
3306
- }
3307
- },
3308
- create: function () {
3309
- d.extend(this, {
3310
- navigation: {
3311
- init: ne.init.bind(this),
3312
- update: ne.update.bind(this),
3313
- destroy: ne.destroy.bind(this),
3314
- onNextClick: ne.onNextClick.bind(this),
3315
- onPrevClick: ne.onPrevClick.bind(this)
3316
- }
3317
- })
3318
- },
3319
- on: {
3320
- init: function () {
3321
- this.navigation.init(), this.navigation.update()
3322
- },
3323
- toEdge: function () {
3324
- this.navigation.update()
3325
- },
3326
- fromEdge: function () {
3327
- this.navigation.update()
3328
- },
3329
- destroy: function () {
3330
- this.navigation.destroy()
3331
- },
3332
- click: function (e) {
3333
- var t, i = this.navigation,
3334
- s = i.$nextEl,
3335
- a = i.$prevEl;
3336
- !this.params.navigation.hideOnClick || n(e.target).is(a) || n(e.target).is(s) || (s ? t = s.hasClass(this.params.navigation.hiddenClass) : a && (t = a.hasClass(this.params.navigation.hiddenClass)), !0 === t ? this.emit("navigationShow", this) : this.emit("navigationHide", this), s && s.toggleClass(this.params.navigation.hiddenClass), a && a.toggleClass(this.params.navigation.hiddenClass))
3337
- }
3338
- }
3339
- }, {
3340
- name: "pagination",
3341
- params: {
3342
- pagination: {
3343
- el: null,
3344
- bulletElement: "span",
3345
- clickable: !1,
3346
- hideOnClick: !1,
3347
- renderBullet: null,
3348
- renderProgressbar: null,
3349
- renderFraction: null,
3350
- renderCustom: null,
3351
- progressbarOpposite: !1,
3352
- type: "bullets",
3353
- dynamicBullets: !1,
3354
- dynamicMainBullets: 1,
3355
- formatFractionCurrent: function (e) {
3356
- return e
3357
- },
3358
- formatFractionTotal: function (e) {
3359
- return e
3360
- },
3361
- bulletClass: "swiper-pagination-bullet",
3362
- bulletActiveClass: "swiper-pagination-bullet-active",
3363
- modifierClass: "swiper-pagination-",
3364
- currentClass: "swiper-pagination-current",
3365
- totalClass: "swiper-pagination-total",
3366
- hiddenClass: "swiper-pagination-hidden",
3367
- progressbarFillClass: "swiper-pagination-progressbar-fill",
3368
- progressbarOppositeClass: "swiper-pagination-progressbar-opposite",
3369
- clickableClass: "swiper-pagination-clickable",
3370
- lockClass: "swiper-pagination-lock"
3371
- }
3372
- },
3373
- create: function () {
3374
- d.extend(this, {
3375
- pagination: {
3376
- init: oe.init.bind(this),
3377
- render: oe.render.bind(this),
3378
- update: oe.update.bind(this),
3379
- destroy: oe.destroy.bind(this),
3380
- dynamicBulletIndex: 0
3381
- }
3382
- })
3383
- },
3384
- on: {
3385
- init: function () {
3386
- this.pagination.init(), this.pagination.render(), this.pagination.update()
3387
- },
3388
- activeIndexChange: function () {
3389
- (this.params.loop || void 0 === this.snapIndex) && this.pagination.update()
3390
- },
3391
- snapIndexChange: function () {
3392
- this.params.loop || this.pagination.update()
3393
- },
3394
- slidesLengthChange: function () {
3395
- this.params.loop && (this.pagination.render(), this.pagination.update())
3396
- },
3397
- snapGridLengthChange: function () {
3398
- this.params.loop || (this.pagination.render(), this.pagination.update())
3399
- },
3400
- destroy: function () {
3401
- this.pagination.destroy()
3402
- },
3403
- click: function (e) {
3404
- this.params.pagination.el && this.params.pagination.hideOnClick && this.pagination.$el.length > 0 && !n(e.target).hasClass(this.params.pagination.bulletClass) && (!0 === this.pagination.$el.hasClass(this.params.pagination.hiddenClass) ? this.emit("paginationShow", this) : this.emit("paginationHide", this), this.pagination.$el.toggleClass(this.params.pagination.hiddenClass))
3405
- }
3406
- }
3407
- }, {
3408
- name: "scrollbar",
3409
- params: {
3410
- scrollbar: {
3411
- el: null,
3412
- dragSize: "auto",
3413
- hide: !1,
3414
- draggable: !1,
3415
- snapOnRelease: !0,
3416
- lockClass: "swiper-scrollbar-lock",
3417
- dragClass: "swiper-scrollbar-drag"
3418
- }
3419
- },
3420
- create: function () {
3421
- d.extend(this, {
3422
- scrollbar: {
3423
- init: le.init.bind(this),
3424
- destroy: le.destroy.bind(this),
3425
- updateSize: le.updateSize.bind(this),
3426
- setTranslate: le.setTranslate.bind(this),
3427
- setTransition: le.setTransition.bind(this),
3428
- enableDraggable: le.enableDraggable.bind(this),
3429
- disableDraggable: le.disableDraggable.bind(this),
3430
- setDragPosition: le.setDragPosition.bind(this),
3431
- getPointerPosition: le.getPointerPosition.bind(this),
3432
- onDragStart: le.onDragStart.bind(this),
3433
- onDragMove: le.onDragMove.bind(this),
3434
- onDragEnd: le.onDragEnd.bind(this),
3435
- isTouched: !1,
3436
- timeout: null,
3437
- dragTimeout: null
3438
- }
3439
- })
3440
- },
3441
- on: {
3442
- init: function () {
3443
- this.scrollbar.init(), this.scrollbar.updateSize(), this.scrollbar.setTranslate()
3444
- },
3445
- update: function () {
3446
- this.scrollbar.updateSize()
3447
- },
3448
- resize: function () {
3449
- this.scrollbar.updateSize()
3450
- },
3451
- observerUpdate: function () {
3452
- this.scrollbar.updateSize()
3453
- },
3454
- setTranslate: function () {
3455
- this.scrollbar.setTranslate()
3456
- },
3457
- setTransition: function (e) {
3458
- this.scrollbar.setTransition(e)
3459
- },
3460
- destroy: function () {
3461
- this.scrollbar.destroy()
3462
- }
3463
- }
3464
- }, {
3465
- name: "parallax",
3466
- params: {
3467
- parallax: {
3468
- enabled: !1
3469
- }
3470
- },
3471
- create: function () {
3472
- d.extend(this, {
3473
- parallax: {
3474
- setTransform: de.setTransform.bind(this),
3475
- setTranslate: de.setTranslate.bind(this),
3476
- setTransition: de.setTransition.bind(this)
3477
- }
3478
- })
3479
- },
3480
- on: {
3481
- beforeInit: function () {
3482
- this.params.parallax.enabled && (this.params.watchSlidesProgress = !0, this.originalParams.watchSlidesProgress = !0)
3483
- },
3484
- init: function () {
3485
- this.params.parallax.enabled && this.parallax.setTranslate()
3486
- },
3487
- setTranslate: function () {
3488
- this.params.parallax.enabled && this.parallax.setTranslate()
3489
- },
3490
- setTransition: function (e) {
3491
- this.params.parallax.enabled && this.parallax.setTransition(e)
3492
- }
3493
- }
3494
- }, {
3495
- name: "zoom",
3496
- params: {
3497
- zoom: {
3498
- enabled: !1,
3499
- maxRatio: 3,
3500
- minRatio: 1,
3501
- toggle: !0,
3502
- containerClass: "swiper-zoom-container",
3503
- zoomedSlideClass: "swiper-slide-zoomed"
3504
- }
3505
- },
3506
- create: function () {
3507
- var e = this,
3508
- t = {
3509
- enabled: !1,
3510
- scale: 1,
3511
- currentScale: 1,
3512
- isScaling: !1,
3513
- gesture: {
3514
- $slideEl: void 0,
3515
- slideWidth: void 0,
3516
- slideHeight: void 0,
3517
- $imageEl: void 0,
3518
- $imageWrapEl: void 0,
3519
- maxRatio: 3
3520
- },
3521
- image: {
3522
- isTouched: void 0,
3523
- isMoved: void 0,
3524
- currentX: void 0,
3525
- currentY: void 0,
3526
- minX: void 0,
3527
- minY: void 0,
3528
- maxX: void 0,
3529
- maxY: void 0,
3530
- width: void 0,
3531
- height: void 0,
3532
- startX: void 0,
3533
- startY: void 0,
3534
- touchesStart: {},
3535
- touchesCurrent: {}
3536
- },
3537
- velocity: {
3538
- x: void 0,
3539
- y: void 0,
3540
- prevPositionX: void 0,
3541
- prevPositionY: void 0,
3542
- prevTime: void 0
3543
- }
3544
- };
3545
- "onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach((function (i) {
3546
- t[i] = he[i].bind(e)
3547
- })), d.extend(e, {
3548
- zoom: t
3549
- });
3550
- var i = 1;
3551
- Object.defineProperty(e.zoom, "scale", {
3552
- get: function () {
3553
- return i
3554
- },
3555
- set: function (t) {
3556
- if (i !== t) {
3557
- var s = e.zoom.gesture.$imageEl ? e.zoom.gesture.$imageEl[0] : void 0,
3558
- a = e.zoom.gesture.$slideEl ? e.zoom.gesture.$slideEl[0] : void 0;
3559
- e.emit("zoomChange", t, s, a)
3560
- }
3561
- i = t
3562
- }
3563
- })
3564
- },
3565
- on: {
3566
- init: function () {
3567
- this.params.zoom.enabled && this.zoom.enable()
3568
- },
3569
- destroy: function () {
3570
- this.zoom.disable()
3571
- },
3572
- touchStart: function (e) {
3573
- this.zoom.enabled && this.zoom.onTouchStart(e)
3574
- },
3575
- touchEnd: function (e) {
3576
- this.zoom.enabled && this.zoom.onTouchEnd(e)
3577
- },
3578
- doubleTap: function (e) {
3579
- this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle && this.zoom.toggle(e)
3580
- },
3581
- transitionEnd: function () {
3582
- this.zoom.enabled && this.params.zoom.enabled && this.zoom.onTransitionEnd()
3583
- },
3584
- slideChange: function () {
3585
- this.zoom.enabled && this.params.zoom.enabled && this.params.cssMode && this.zoom.onTransitionEnd()
3586
- }
3587
- }
3588
- }, {
3589
- name: "lazy",
3590
- params: {
3591
- lazy: {
3592
- enabled: !1,
3593
- loadPrevNext: !1,
3594
- loadPrevNextAmount: 1,
3595
- loadOnTransitionStart: !1,
3596
- elementClass: "swiper-lazy",
3597
- loadingClass: "swiper-lazy-loading",
3598
- loadedClass: "swiper-lazy-loaded",
3599
- preloaderClass: "swiper-lazy-preloader"
3600
- }
3601
- },
3602
- create: function () {
3603
- d.extend(this, {
3604
- lazy: {
3605
- initialImageLoaded: !1,
3606
- load: pe.load.bind(this),
3607
- loadInSlide: pe.loadInSlide.bind(this)
3608
- }
3609
- })
3610
- },
3611
- on: {
3612
- beforeInit: function () {
3613
- this.params.lazy.enabled && this.params.preloadImages && (this.params.preloadImages = !1)
3614
- },
3615
- init: function () {
3616
- this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialSlide && this.lazy.load()
3617
- },
3618
- scroll: function () {
3619
- this.params.freeMode && !this.params.freeModeSticky && this.lazy.load()
3620
- },
3621
- resize: function () {
3622
- this.params.lazy.enabled && this.lazy.load()
3623
- },
3624
- scrollbarDragMove: function () {
3625
- this.params.lazy.enabled && this.lazy.load()
3626
- },
3627
- transitionStart: function () {
3628
- this.params.lazy.enabled && (this.params.lazy.loadOnTransitionStart || !this.params.lazy.loadOnTransitionStart && !this.lazy.initialImageLoaded) && this.lazy.load()
3629
- },
3630
- transitionEnd: function () {
3631
- this.params.lazy.enabled && !this.params.lazy.loadOnTransitionStart && this.lazy.load()
3632
- },
3633
- slideChange: function () {
3634
- this.params.lazy.enabled && this.params.cssMode && this.lazy.load()
3635
- }
3636
- }
3637
- }, {
3638
- name: "controller",
3639
- params: {
3640
- controller: {
3641
- control: void 0,
3642
- inverse: !1,
3643
- by: "slide"
3644
- }
3645
- },
3646
- create: function () {
3647
- d.extend(this, {
3648
- controller: {
3649
- control: this.params.controller.control,
3650
- getInterpolateFunction: ce.getInterpolateFunction.bind(this),
3651
- setTranslate: ce.setTranslate.bind(this),
3652
- setTransition: ce.setTransition.bind(this)
3653
- }
3654
- })
3655
- },
3656
- on: {
3657
- update: function () {
3658
- this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
3659
- },
3660
- resize: function () {
3661
- this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
3662
- },
3663
- observerUpdate: function () {
3664
- this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
3665
- },
3666
- setTranslate: function (e, t) {
3667
- this.controller.control && this.controller.setTranslate(e, t)
3668
- },
3669
- setTransition: function (e, t) {
3670
- this.controller.control && this.controller.setTransition(e, t)
3671
- }
3672
- }
3673
- }, {
3674
- name: "a11y",
3675
- params: {
3676
- a11y: {
3677
- enabled: !0,
3678
- notificationClass: "swiper-notification",
3679
- prevSlideMessage: "Previous slide",
3680
- nextSlideMessage: "Next slide",
3681
- firstSlideMessage: "This is the first slide",
3682
- lastSlideMessage: "This is the last slide",
3683
- paginationBulletMessage: "Go to slide {{index}}"
3684
- }
3685
- },
3686
- create: function () {
3687
- var e = this;
3688
- d.extend(e, {
3689
- a11y: {
3690
- liveRegion: n('<span class="' + e.params.a11y.notificationClass + '" aria-live="assertive" aria-atomic="true"></span>')
3691
- }
3692
- }), Object.keys(ue).forEach((function (t) {
3693
- e.a11y[t] = ue[t].bind(e)
3694
- }))
3695
- },
3696
- on: {
3697
- init: function () {
3698
- this.params.a11y.enabled && (this.a11y.init(), this.a11y.updateNavigation())
3699
- },
3700
- toEdge: function () {
3701
- this.params.a11y.enabled && this.a11y.updateNavigation()
3702
- },
3703
- fromEdge: function () {
3704
- this.params.a11y.enabled && this.a11y.updateNavigation()
3705
- },
3706
- paginationUpdate: function () {
3707
- this.params.a11y.enabled && this.a11y.updatePagination()
3708
- },
3709
- destroy: function () {
3710
- this.params.a11y.enabled && this.a11y.destroy()
3711
- }
3712
- }
3713
- }, {
3714
- name: "history",
3715
- params: {
3716
- history: {
3717
- enabled: !1,
3718
- replaceState: !1,
3719
- key: "slides"
3720
- }
3721
- },
3722
- create: function () {
3723
- d.extend(this, {
3724
- history: {
3725
- init: ve.init.bind(this),
3726
- setHistory: ve.setHistory.bind(this),
3727
- setHistoryPopState: ve.setHistoryPopState.bind(this),
3728
- scrollToSlide: ve.scrollToSlide.bind(this),
3729
- destroy: ve.destroy.bind(this)
3730
- }
3731
- })
3732
- },
3733
- on: {
3734
- init: function () {
3735
- this.params.history.enabled && this.history.init()
3736
- },
3737
- destroy: function () {
3738
- this.params.history.enabled && this.history.destroy()
3739
- },
3740
- transitionEnd: function () {
3741
- this.history.initialized && this.history.setHistory(this.params.history.key, this.activeIndex)
3742
- },
3743
- slideChange: function () {
3744
- this.history.initialized && this.params.cssMode && this.history.setHistory(this.params.history.key, this.activeIndex)
3745
- }
3746
- }
3747
- }, {
3748
- name: "hash-navigation",
3749
- params: {
3750
- hashNavigation: {
3751
- enabled: !1,
3752
- replaceState: !1,
3753
- watchState: !1
3754
- }
3755
- },
3756
- create: function () {
3757
- d.extend(this, {
3758
- hashNavigation: {
3759
- initialized: !1,
3760
- init: fe.init.bind(this),
3761
- destroy: fe.destroy.bind(this),
3762
- setHash: fe.setHash.bind(this),
3763
- onHashCange: fe.onHashCange.bind(this)
3764
- }
3765
- })
3766
- },
3767
- on: {
3768
- init: function () {
3769
- this.params.hashNavigation.enabled && this.hashNavigation.init()
3770
- },
3771
- destroy: function () {
3772
- this.params.hashNavigation.enabled && this.hashNavigation.destroy()
3773
- },
3774
- transitionEnd: function () {
3775
- this.hashNavigation.initialized && this.hashNavigation.setHash()
3776
- },
3777
- slideChange: function () {
3778
- this.hashNavigation.initialized && this.params.cssMode && this.hashNavigation.setHash()
3779
- }
3780
- }
3781
- }, {
3782
- name: "autoplay",
3783
- params: {
3784
- autoplay: {
3785
- enabled: !1,
3786
- delay: 3e3,
3787
- waitForTransition: !0,
3788
- disableOnInteraction: !0,
3789
- stopOnLastSlide: !1,
3790
- reverseDirection: !1
3791
- }
3792
- },
3793
- create: function () {
3794
- var e = this;
3795
- d.extend(e, {
3796
- autoplay: {
3797
- running: !1,
3798
- paused: !1,
3799
- run: me.run.bind(e),
3800
- start: me.start.bind(e),
3801
- stop: me.stop.bind(e),
3802
- pause: me.pause.bind(e),
3803
- onVisibilityChange: function () {
3804
- "hidden" === document.visibilityState && e.autoplay.running && e.autoplay.pause(), "visible" === document.visibilityState && e.autoplay.paused && (e.autoplay.run(), e.autoplay.paused = !1)
3805
- },
3806
- onTransitionEnd: function (t) {
3807
- e && !e.destroyed && e.$wrapperEl && t.target === this && (e.$wrapperEl[0].removeEventListener("transitionend", e.autoplay.onTransitionEnd), e.$wrapperEl[0].removeEventListener("webkitTransitionEnd", e.autoplay.onTransitionEnd), e.autoplay.paused = !1, e.autoplay.running ? e.autoplay.run() : e.autoplay.stop())
3808
- }
3809
- }
3810
- })
3811
- },
3812
- on: {
3813
- init: function () {
3814
- this.params.autoplay.enabled && (this.autoplay.start(), document.addEventListener("visibilitychange", this.autoplay.onVisibilityChange))
3815
- },
3816
- beforeTransitionStart: function (e, t) {
3817
- this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ? this.autoplay.pause(e) : this.autoplay.stop())
3818
- },
3819
- sliderFirstMove: function () {
3820
- this.autoplay.running && (this.params.autoplay.disableOnInteraction ? this.autoplay.stop() : this.autoplay.pause())
3821
- },
3822
- touchEnd: function () {
3823
- this.params.cssMode && this.autoplay.paused && !this.params.autoplay.disableOnInteraction && this.autoplay.run()
3824
- },
3825
- destroy: function () {
3826
- this.autoplay.running && this.autoplay.stop(), document.removeEventListener("visibilitychange", this.autoplay.onVisibilityChange)
3827
- }
3828
- }
3829
- }, {
3830
- name: "effect-fade",
3831
- params: {
3832
- fadeEffect: {
3833
- crossFade: !1
3834
- }
3835
- },
3836
- create: function () {
3837
- d.extend(this, {
3838
- fadeEffect: {
3839
- setTranslate: ge.setTranslate.bind(this),
3840
- setTransition: ge.setTransition.bind(this)
3841
- }
3842
- })
3843
- },
3844
- on: {
3845
- beforeInit: function () {
3846
- if ("fade" === this.params.effect) {
3847
- this.classNames.push(this.params.containerModifierClass + "fade");
3848
- var e = {
3849
- slidesPerView: 1,
3850
- slidesPerColumn: 1,
3851
- slidesPerGroup: 1,
3852
- watchSlidesProgress: !0,
3853
- spaceBetween: 0,
3854
- virtualTranslate: !0
3855
- };
3856
- d.extend(this.params, e), d.extend(this.originalParams, e)
3857
- }
3858
- },
3859
- setTranslate: function () {
3860
- "fade" === this.params.effect && this.fadeEffect.setTranslate()
3861
- },
3862
- setTransition: function (e) {
3863
- "fade" === this.params.effect && this.fadeEffect.setTransition(e)
3864
- }
3865
- }
3866
- }, {
3867
- name: "effect-cube",
3868
- params: {
3869
- cubeEffect: {
3870
- slideShadows: !0,
3871
- shadow: !0,
3872
- shadowOffset: 20,
3873
- shadowScale: .94
3874
- }
3875
- },
3876
- create: function () {
3877
- d.extend(this, {
3878
- cubeEffect: {
3879
- setTranslate: be.setTranslate.bind(this),
3880
- setTransition: be.setTransition.bind(this)
3881
- }
3882
- })
3883
- },
3884
- on: {
3885
- beforeInit: function () {
3886
- if ("cube" === this.params.effect) {
3887
- this.classNames.push(this.params.containerModifierClass + "cube"), this.classNames.push(this.params.containerModifierClass + "3d");
3888
- var e = {
3889
- slidesPerView: 1,
3890
- slidesPerColumn: 1,
3891
- slidesPerGroup: 1,
3892
- watchSlidesProgress: !0,
3893
- resistanceRatio: 0,
3894
- spaceBetween: 0,
3895
- centeredSlides: !1,
3896
- virtualTranslate: !0
3897
- };
3898
- d.extend(this.params, e), d.extend(this.originalParams, e)
3899
- }
3900
- },
3901
- setTranslate: function () {
3902
- "cube" === this.params.effect && this.cubeEffect.setTranslate()
3903
- },
3904
- setTransition: function (e) {
3905
- "cube" === this.params.effect && this.cubeEffect.setTransition(e)
3906
- }
3907
- }
3908
- }, {
3909
- name: "effect-flip",
3910
- params: {
3911
- flipEffect: {
3912
- slideShadows: !0,
3913
- limitRotation: !0
3914
- }
3915
- },
3916
- create: function () {
3917
- d.extend(this, {
3918
- flipEffect: {
3919
- setTranslate: we.setTranslate.bind(this),
3920
- setTransition: we.setTransition.bind(this)
3921
- }
3922
- })
3923
- },
3924
- on: {
3925
- beforeInit: function () {
3926
- if ("flip" === this.params.effect) {
3927
- this.classNames.push(this.params.containerModifierClass + "flip"), this.classNames.push(this.params.containerModifierClass + "3d");
3928
- var e = {
3929
- slidesPerView: 1,
3930
- slidesPerColumn: 1,
3931
- slidesPerGroup: 1,
3932
- watchSlidesProgress: !0,
3933
- spaceBetween: 0,
3934
- virtualTranslate: !0
3935
- };
3936
- d.extend(this.params, e), d.extend(this.originalParams, e)
3937
- }
3938
- },
3939
- setTranslate: function () {
3940
- "flip" === this.params.effect && this.flipEffect.setTranslate()
3941
- },
3942
- setTransition: function (e) {
3943
- "flip" === this.params.effect && this.flipEffect.setTransition(e)
3944
- }
3945
- }
3946
- }, {
3947
- name: "effect-coverflow",
3948
- params: {
3949
- coverflowEffect: {
3950
- rotate: 50,
3951
- stretch: 0,
3952
- depth: 100,
3953
- scale: 1,
3954
- modifier: 1,
3955
- slideShadows: !0
3956
- }
3957
- },
3958
- create: function () {
3959
- d.extend(this, {
3960
- coverflowEffect: {
3961
- setTranslate: ye.setTranslate.bind(this),
3962
- setTransition: ye.setTransition.bind(this)
3963
- }
3964
- })
3965
- },
3966
- on: {
3967
- beforeInit: function () {
3968
- "coverflow" === this.params.effect && (this.classNames.push(this.params.containerModifierClass + "coverflow"), this.classNames.push(this.params.containerModifierClass + "3d"), this.params.watchSlidesProgress = !0, this.originalParams.watchSlidesProgress = !0)
3969
- },
3970
- setTranslate: function () {
3971
- "coverflow" === this.params.effect && this.coverflowEffect.setTranslate()
3972
- },
3973
- setTransition: function (e) {
3974
- "coverflow" === this.params.effect && this.coverflowEffect.setTransition(e)
3975
- }
3976
- }
3977
- }, {
3978
- name: "thumbs",
3979
- params: {
3980
- thumbs: {
3981
- swiper: null,
3982
- multipleActiveThumbs: !0,
3983
- autoScrollOffset: 0,
3984
- slideThumbActiveClass: "swiper-slide-thumb-active",
3985
- thumbsContainerClass: "swiper-container-thumbs"
3986
- }
3987
- },
3988
- create: function () {
3989
- d.extend(this, {
3990
- thumbs: {
3991
- swiper: null,
3992
- init: xe.init.bind(this),
3993
- update: xe.update.bind(this),
3994
- onThumbClick: xe.onThumbClick.bind(this)
3995
- }
3996
- })
3997
- },
3998
- on: {
3999
- beforeInit: function () {
4000
- var e = this.params.thumbs;
4001
- e && e.swiper && (this.thumbs.init(), this.thumbs.update(!0))
4002
- },
4003
- slideChange: function () {
4004
- this.thumbs.swiper && this.thumbs.update()
4005
- },
4006
- update: function () {
4007
- this.thumbs.swiper && this.thumbs.update()
4008
- },
4009
- resize: function () {
4010
- this.thumbs.swiper && this.thumbs.update()
4011
- },
4012
- observerUpdate: function () {
4013
- this.thumbs.swiper && this.thumbs.update()
4014
- },
4015
- setTransition: function (e) {
4016
- var t = this.thumbs.swiper;
4017
- t && t.setTransition(e)
4018
- },
4019
- beforeDestroy: function () {
4020
- var e = this.thumbs.swiper;
4021
- e && this.thumbs.swiperCreated && e && e.destroy()
4022
- }
4023
- }
4024
- }];
4025
- return void 0 === j.use && (j.use = j.Class.use, j.installModule = j.Class.installModule), j.use(Ee), j
4026
- }));
4027
- //# sourceMappingURL=swiper.min.js.map
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/twae-swiper.min.js DELETED
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(i,s){void 0===i&&(i={}),void 0===s&&(s={}),Object.keys(s).forEach((function(a){void 0===i[a]?i[a]=s[a]:e(s[a])&&e(i[a])&&Object.keys(s[a]).length>0&&t(i[a],s[a])}))}var i="undefined"!=typeof document?document:{},s={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};t(i,s);var a="undefined"!=typeof window?window:{};t(a,{document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}}});var r=function(e){for(var t=0;t<e.length;t+=1)this[t]=e[t];return this.length=e.length,this};function n(e,t){var s=[],n=0;if(e&&!t&&e instanceof r)return e;if(e)if("string"==typeof e){var o,l,d=e.trim();if(d.indexOf("<")>=0&&d.indexOf(">")>=0){var h="div";for(0===d.indexOf("<li")&&(h="ul"),0===d.indexOf("<tr")&&(h="tbody"),0!==d.indexOf("<td")&&0!==d.indexOf("<th")||(h="tr"),0===d.indexOf("<tbody")&&(h="table"),0===d.indexOf("<option")&&(h="select"),(l=i.createElement(h)).innerHTML=d,n=0;n<l.childNodes.length;n+=1)s.push(l.childNodes[n])}else for(o=t||"#"!==e[0]||e.match(/[ .<>:~]/)?(t||i).querySelectorAll(e.trim()):[i.getElementById(e.trim().split("#")[1])],n=0;n<o.length;n+=1)o[n]&&s.push(o[n])}else if(e.nodeType||e===a||e===i)s.push(e);else if(e.length>0&&e[0].nodeType)for(n=0;n<e.length;n+=1)s.push(e[n]);return new r(s)}function o(e){for(var t=[],i=0;i<e.length;i+=1)-1===t.indexOf(e[i])&&t.push(e[i]);return t}n.fn=r.prototype,n.Class=r,n.Dom7=r;var l={addClass:function(e){if(void 0===e)return this;for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.add(t[i]);return this},removeClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.remove(t[i]);return this},hasClass:function(e){return!!this[0]&&this[0].classList.contains(e)},toggleClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.toggle(t[i]);return this},attr:function(e,t){var i=arguments;if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(var s=0;s<this.length;s+=1)if(2===i.length)this[s].setAttribute(e,t);else for(var a in e)this[s][a]=e[a],this[s].setAttribute(a,e[a]);return this},removeAttr:function(e){for(var t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},data:function(e,t){var i,a;if(void 0!==t){for(var s=0;s<this.length;s+=1)(i=this[s]).dom7ElementDataStorage||(i.dom7ElementDataStorage={}),i.dom7ElementDataStorage[e]=t;return this}if(i=this[0])return i.dom7ElementDataStorage&&e in i.dom7ElementDataStorage?i.dom7ElementDataStorage[e]:i.getAttribute("data-"+e)||void 0},transform:function(e){for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransform=e,i.transform=e}return this},transition:function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransitionDuration=e,i.transitionDuration=e}return this},on:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],r=t[2],o=t[3];function l(e){var t=e.target;if(t){var i=e.target.dom7EventData||[];if(i.indexOf(e)<0&&i.unshift(e),n(t).is(a))r.apply(t,i);else for(var s=n(t).parents(),o=0;o<s.length;o+=1)n(s[o]).is(a)&&r.apply(s[o],i)}}function d(e){var t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),r.apply(this,t)}"function"==typeof t[1]&&(s=(e=t)[0],r=e[1],o=e[2],a=void 0),o||(o=!1);for(var h,p=s.split(" "),c=0;c<this.length;c+=1){var u=this[c];if(a)for(h=0;h<p.length;h+=1){var v=p[h];u.dom7LiveListeners||(u.dom7LiveListeners={}),u.dom7LiveListeners[v]||(u.dom7LiveListeners[v]=[]),u.dom7LiveListeners[v].push({listener:r,proxyListener:l}),u.addEventListener(v,l,o)}else for(h=0;h<p.length;h+=1){var f=p[h];u.dom7Listeners||(u.dom7Listeners={}),u.dom7Listeners[f]||(u.dom7Listeners[f]=[]),u.dom7Listeners[f].push({listener:r,proxyListener:d}),u.addEventListener(f,d,o)}}return this},off:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],r=t[2],n=t[3];"function"==typeof t[1]&&(s=(e=t)[0],r=e[1],n=e[2],a=void 0),n||(n=!1);for(var o=s.split(" "),l=0;l<o.length;l+=1)for(var d=o[l],h=0;h<this.length;h+=1){var p=this[h],c=void 0;if(!a&&p.dom7Listeners?c=p.dom7Listeners[d]:a&&p.dom7LiveListeners&&(c=p.dom7LiveListeners[d]),c&&c.length)for(var u=c.length-1;u>=0;u-=1){var v=c[u];r&&v.listener===r||r&&v.listener&&v.listener.dom7proxy&&v.listener.dom7proxy===r?(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1)):r||(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1))}}return this},trigger:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var s=e[0].split(" "),r=e[1],n=0;n<s.length;n+=1)for(var o=s[n],l=0;l<this.length;l+=1){var d=this[l],h=void 0;try{h=new a.CustomEvent(o,{detail:r,bubbles:!0,cancelable:!0})}catch(e){(h=i.createEvent("Event")).initEvent(o,!0,!0),h.detail=r}d.dom7EventData=e.filter((function(e,t){return t>0})),d.dispatchEvent(h),d.dom7EventData=[],delete d.dom7EventData}return this},transitionEnd:function(e){var t,i=["webkitTransitionEnd","transitionend"],s=this;function a(r){if(r.target===this)for(e.call(this,r),t=0;t<i.length;t+=1)s.off(i[t],a)}if(e)for(t=0;t<i.length;t+=1)s.on(i[t],a);return this},outerWidth:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},offset:function(){if(this.length>0){var e=this[0],t=e.getBoundingClientRect(),s=i.body,r=e.clientTop||s.clientTop||0,n=e.clientLeft||s.clientLeft||0,o=e===a?a.scrollY:e.scrollTop,l=e===a?a.scrollX:e.scrollLeft;return{top:t.top+o-r,left:t.left+l-n}}return null},css:function(e,t){var i;if(1===arguments.length){if("string"!=typeof e){for(i=0;i<this.length;i+=1)for(var s in e)this[i].style[s]=e[s];return this}if(this[0])return a.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(i=0;i<this.length;i+=1)this[i].style[e]=t;return this}return this},each:function(e){if(!e)return this;for(var t=0;t<this.length;t+=1)if(!1===e.call(this[t],t,this[t]))return this;return this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:void 0;for(var t=0;t<this.length;t+=1)this[t].innerHTML=e;return this},text:function(e){if(void 0===e)return this[0]?this[0].textContent.trim():null;for(var t=0;t<this.length;t+=1)this[t].textContent=e;return this},is:function(e){var t,s,o=this[0];if(!o||void 0===e)return!1;if("string"==typeof e){if(o.matches)return o.matches(e);if(o.webkitMatchesSelector)return o.webkitMatchesSelector(e);if(o.msMatchesSelector)return o.msMatchesSelector(e);for(t=n(e),s=0;s<t.length;s+=1)if(t[s]===o)return!0;return!1}if(e===i)return o===i;if(e===a)return o===a;if(e.nodeType||e instanceof r){for(t=e.nodeType?[e]:e,s=0;s<t.length;s+=1)if(t[s]===o)return!0;return!1}return!1},index:function(){var e,t=this[0];if(t){for(e=0;null!==(t=t.previousSibling);)1===t.nodeType&&(e+=1);return e}},eq:function(e){if(void 0===e)return this;var t,i=this.length;return new r(e>i-1?[]:e<0?(t=i+e)<0?[]:[this[t]]:[this[e]])},append:function(){for(var e,t=[],s=arguments.length;s--;)t[s]=arguments[s];for(var a=0;a<t.length;a+=1){e=t[a];for(var n=0;n<this.length;n+=1)if("string"==typeof e){var o=i.createElement("div");for(o.innerHTML=e;o.firstChild;)this[n].appendChild(o.firstChild)}else if(e instanceof r)for(var l=0;l<e.length;l+=1)this[n].appendChild(e[l]);else this[n].appendChild(e)}return this},prepend:function(e){var t,s;for(t=0;t<this.length;t+=1)if("string"==typeof e){var a=i.createElement("div");for(a.innerHTML=e,s=a.childNodes.length-1;s>=0;s-=1)this[t].insertBefore(a.childNodes[s],this[t].childNodes[0])}else if(e instanceof r)for(s=0;s<e.length;s+=1)this[t].insertBefore(e[s],this[t].childNodes[0]);else this[t].insertBefore(e,this[t].childNodes[0]);return this},next:function(e){return this.length>0?e?this[0].nextElementSibling&&n(this[0].nextElementSibling).is(e)?new r([this[0].nextElementSibling]):new r([]):this[0].nextElementSibling?new r([this[0].nextElementSibling]):new r([]):new r([])},nextAll:function(e){var t=[],i=this[0];if(!i)return new r([]);for(;i.nextElementSibling;){var s=i.nextElementSibling;e?n(s).is(e)&&t.push(s):t.push(s),i=s}return new r(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&n(t.previousElementSibling).is(e)?new r([t.previousElementSibling]):new r([]):t.previousElementSibling?new r([t.previousElementSibling]):new r([])}return new r([])},prevAll:function(e){var t=[],i=this[0];if(!i)return new r([]);for(;i.previousElementSibling;){var s=i.previousElementSibling;e?n(s).is(e)&&t.push(s):t.push(s),i=s}return new r(t)},parent:function(e){for(var t=[],i=0;i<this.length;i+=1)null!==this[i].parentNode&&(e?n(this[i].parentNode).is(e)&&t.push(this[i].parentNode):t.push(this[i].parentNode));return n(o(t))},parents:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].parentNode;s;)e?n(s).is(e)&&t.push(s):t.push(s),s=s.parentNode;return n(o(t))},closest:function(e){var t=this;return void 0===e?new r([]):(t.is(e)||(t=t.parents(e).eq(0)),t)},find:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].querySelectorAll(e),a=0;a<s.length;a+=1)t.push(s[a]);return new r(t)},children:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].childNodes,a=0;a<s.length;a+=1)e?1===s[a].nodeType&&n(s[a]).is(e)&&t.push(s[a]):1===s[a].nodeType&&t.push(s[a]);return new r(o(t))},filter:function(e){for(var t=[],i=0;i<this.length;i+=1)e.call(this[i],i,this[i])&&t.push(this[i]);return new r(t)},remove:function(){for(var e=0;e<this.length;e+=1)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},add:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a=this;for(i=0;i<e.length;i+=1){var r=n(e[i]);for(s=0;s<r.length;s+=1)a[a.length]=r[s],a.length+=1}return a},styles:function(){return this[0]?a.getComputedStyle(this[0],null):{}}};Object.keys(l).forEach((function(e){n.fn[e]=n.fn[e]||l[e]}));var d={deleteProps:function(e){var t=e;Object.keys(t).forEach((function(e){try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))},nextTick:function(e,t){return void 0===t&&(t=0),setTimeout(e,t)},now:function(){return Date.now()},getTranslate:function(e,t){var i,s,r;void 0===t&&(t="x");var n=a.getComputedStyle(e,null);return a.WebKitCSSMatrix?((s=n.transform||n.webkitTransform).split(",").length>6&&(s=s.split(", ").map((function(e){return e.replace(",",".")})).join(", ")),r=new a.WebKitCSSMatrix("none"===s?"":s)):i=(r=n.MozTransform||n.OTransform||n.MsTransform||n.msTransform||n.transform||n.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===t&&(s=a.WebKitCSSMatrix?r.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(s=a.WebKitCSSMatrix?r.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),s||0},parseUrlQuery:function(e){var t,i,s,r,n={},o=e||a.location.href;if("string"==typeof o&&o.length)for(r=(i=(o=o.indexOf("?")>-1?o.replace(/\S*\?/,""):"").split("&").filter((function(e){return""!==e}))).length,t=0;t<r;t+=1)s=i[t].replace(/#\S+/g,"").split("="),n[decodeURIComponent(s[0])]=void 0===s[1]?void 0:decodeURIComponent(s[1])||"";return n},isObject:function(e){return"object"==typeof e&&null!==e&&e.constructor&&e.constructor===Object},extend:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var i=Object(e[0]),s=1;s<e.length;s+=1){var a=e[s];if(null!=a)for(var r=Object.keys(Object(a)),n=0,o=r.length;n<o;n+=1){var l=r[n],h=Object.getOwnPropertyDescriptor(a,l);void 0!==h&&h.enumerable&&(d.isObject(i[l])&&d.isObject(a[l])?d.extend(i[l],a[l]):!d.isObject(i[l])&&d.isObject(a[l])?(i[l]={},d.extend(i[l],a[l])):i[l]=a[l])}}return i}},h={touch:!!("ontouchstart"in a||a.DocumentTouch&&i instanceof a.DocumentTouch),pointerEvents:!!a.PointerEvent&&"maxTouchPoints"in a.navigator&&a.navigator.maxTouchPoints>=0,observer:"MutationObserver"in a||"WebkitMutationObserver"in a,passiveListener:function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});a.addEventListener("testPassiveListener",null,t)}catch(e){}return e}(),gestures:"ongesturestart"in a},p=function(e){void 0===e&&(e={});var t=this;t.params=e,t.eventsListeners={},t.params&&t.params.on&&Object.keys(t.params.on).forEach((function(e){t.on(e,t.params.on[e])}))},c={components:{configurable:!0}};p.prototype.on=function(e,t,i){var s=this;if("function"!=typeof t)return s;var a=i?"unshift":"push";return e.split(" ").forEach((function(e){s.eventsListeners[e]||(s.eventsListeners[e]=[]),s.eventsListeners[e][a](t)})),s},p.prototype.once=function(e,t,i){var s=this;if("function"!=typeof t)return s;function a(){for(var i=[],r=arguments.length;r--;)i[r]=arguments[r];s.off(e,a),a.f7proxy&&delete a.f7proxy,t.apply(s,i)}return a.f7proxy=t,s.on(e,a,i)},p.prototype.off=function(e,t){var i=this;return i.eventsListeners?(e.split(" ").forEach((function(e){void 0===t?i.eventsListeners[e]=[]:i.eventsListeners[e]&&i.eventsListeners[e].length&&i.eventsListeners[e].forEach((function(s,a){(s===t||s.f7proxy&&s.f7proxy===t)&&i.eventsListeners[e].splice(a,1)}))})),i):i},p.prototype.emit=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a,r=this;if(!r.eventsListeners)return r;"string"==typeof e[0]||Array.isArray(e[0])?(i=e[0],s=e.slice(1,e.length),a=r):(i=e[0].events,s=e[0].data,a=e[0].context||r);var n=Array.isArray(i)?i:i.split(" ");return n.forEach((function(e){if(r.eventsListeners&&r.eventsListeners[e]){var t=[];r.eventsListeners[e].forEach((function(e){t.push(e)})),t.forEach((function(e){e.apply(a,s)}))}})),r},p.prototype.useModulesParams=function(e){var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i];s.params&&d.extend(e,s.params)}))},p.prototype.useModules=function(e){void 0===e&&(e={});var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i],a=e[i]||{};s.instance&&Object.keys(s.instance).forEach((function(e){var i=s.instance[e];t[e]="function"==typeof i?i.bind(t):i})),s.on&&t.on&&Object.keys(s.on).forEach((function(e){t.on(e,s.on[e])})),s.create&&s.create.bind(t)(a)}))},c.components.set=function(e){this.use&&this.use(e)},p.installModule=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;s.prototype.modules||(s.prototype.modules={});var a=e.name||Object.keys(s.prototype.modules).length+"_"+d.now();return s.prototype.modules[a]=e,e.proto&&Object.keys(e.proto).forEach((function(t){s.prototype[t]=e.proto[t]})),e.static&&Object.keys(e.static).forEach((function(t){s[t]=e.static[t]})),e.install&&e.install.apply(s,t),s},p.use=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;return Array.isArray(e)?(e.forEach((function(e){return s.installModule(e)})),s):s.installModule.apply(s,[e].concat(t))},Object.defineProperties(p,c);var u={updateSize:function(){var e,t,i=this.$el;e=void 0!==this.params.width?this.params.width:i[0].clientWidth,t=void 0!==this.params.height?this.params.height:i[0].clientHeight,0===e&&this.isHorizontal()||0===t&&this.isVertical()||(e=e-parseInt(i.css("padding-left"),10)-parseInt(i.css("padding-right"),10),t=t-parseInt(i.css("padding-top"),10)-parseInt(i.css("padding-bottom"),10),d.extend(this,{width:e,height:t,size:this.isHorizontal()?e:t}))},updateSlides:function(){var e=this.params,t=this.$wrapperEl,i=this.size,s=this.rtlTranslate,r=this.wrongRTL,n=this.virtual&&e.virtual.enabled,o=n?this.virtual.slides.length:this.slides.length,l=t.children("."+this.params.slideClass),h=n?this.virtual.slides.length:l.length,p=[],c=[],u=[];function v(t){return!e.cssMode||t!==l.length-1}var f=e.slidesOffsetBefore;"function"==typeof f&&(f=e.slidesOffsetBefore.call(this));var m=e.slidesOffsetAfter;"function"==typeof m&&(m=e.slidesOffsetAfter.call(this));var g=this.snapGrid.length,b=this.snapGrid.length,w=e.spaceBetween,y=-f,x=0,E=0;if(void 0!==i){var T,S;"string"==typeof w&&w.indexOf("%")>=0&&(w=parseFloat(w.replace("%",""))/100*i),this.virtualSize=-w,s?l.css({marginLeft:"",marginTop:""}):l.css({marginRight:"",marginBottom:""}),e.slidesPerColumn>1&&(T=Math.floor(h/e.slidesPerColumn)===h/this.params.slidesPerColumn?h:Math.ceil(h/e.slidesPerColumn)*e.slidesPerColumn,"auto"!==e.slidesPerView&&"row"===e.slidesPerColumnFill&&(T=Math.max(T,e.slidesPerView*e.slidesPerColumn)));for(var C,M=e.slidesPerColumn,P=T/M,z=Math.floor(h/e.slidesPerColumn),k=0;k<h;k+=1){S=0;var $=l.eq(k);if(e.slidesPerColumn>1){var L=void 0,I=void 0,D=void 0;if("row"===e.slidesPerColumnFill&&e.slidesPerGroup>1){var O=Math.floor(k/(e.slidesPerGroup*e.slidesPerColumn)),A=k-e.slidesPerColumn*e.slidesPerGroup*O,G=0===O?e.slidesPerGroup:Math.min(Math.ceil((h-O*M*e.slidesPerGroup)/M),e.slidesPerGroup);L=(I=A-(D=Math.floor(A/G))*G+O*e.slidesPerGroup)+D*T/M,$.css({"-webkit-box-ordinal-group":L,"-moz-box-ordinal-group":L,"-ms-flex-order":L,"-webkit-order":L,order:L})}else"column"===e.slidesPerColumnFill?(D=k-(I=Math.floor(k/M))*M,(I>z||I===z&&D===M-1)&&(D+=1)>=M&&(D=0,I+=1)):I=k-(D=Math.floor(k/P))*P;$.css("margin-"+(this.isHorizontal()?"top":"left"),0!==D&&e.spaceBetween&&e.spaceBetween+"px")}if("none"!==$.css("display")){if("auto"===e.slidesPerView){var H=a.getComputedStyle($[0],null),B=$[0].style.transform,N=$[0].style.webkitTransform;if(B&&($[0].style.transform="none"),N&&($[0].style.webkitTransform="none"),e.roundLengths)S=this.isHorizontal()?$.outerWidth(!0):$.outerHeight(!0);else if(this.isHorizontal()){var X=parseFloat(H.getPropertyValue("width")),V=parseFloat(H.getPropertyValue("padding-left")),Y=parseFloat(H.getPropertyValue("padding-right")),F=parseFloat(H.getPropertyValue("margin-left")),W=parseFloat(H.getPropertyValue("margin-right")),R=H.getPropertyValue("box-sizing");S=R&&"border-box"===R?X+F+W:X+V+Y+F+W}else{var q=parseFloat(H.getPropertyValue("height")),j=parseFloat(H.getPropertyValue("padding-top")),K=parseFloat(H.getPropertyValue("padding-bottom")),U=parseFloat(H.getPropertyValue("margin-top")),_=parseFloat(H.getPropertyValue("margin-bottom")),Z=H.getPropertyValue("box-sizing");S=Z&&"border-box"===Z?q+U+_:q+j+K+U+_}B&&($[0].style.transform=B),N&&($[0].style.webkitTransform=N),e.roundLengths&&(S=Math.floor(S))}else S=(i-(e.slidesPerView-1)*w)/e.slidesPerView,e.roundLengths&&(S=Math.floor(S)),l[k]&&(this.isHorizontal()?l[k].style.width=S+"px":l[k].style.height=S+"px");l[k]&&(l[k].swiperSlideSize=S),u.push(S),e.centeredSlides?(y=y+S/2+x/2+w,0===x&&0!==k&&(y=y-i/2-w),0===k&&(y=y-i/2-w),Math.abs(y)<.001&&(y=0),e.roundLengths&&(y=Math.floor(y)),E%e.slidesPerGroup==0&&p.push(y),c.push(y)):(e.roundLengths&&(y=Math.floor(y)),(E-Math.min(this.params.slidesPerGroupSkip,E))%this.params.slidesPerGroup==0&&p.push(y),c.push(y),y=y+S+w),this.virtualSize+=S+w,x=S,E+=1}}if(this.virtualSize=Math.max(this.virtualSize,i)+m,s&&r&&("slide"===e.effect||"coverflow"===e.effect)&&t.css({width:this.virtualSize+e.spaceBetween+"px"}),e.setWrapperSize&&(this.isHorizontal()?t.css({width:this.virtualSize+e.spaceBetween+"px"}):t.css({height:this.virtualSize+e.spaceBetween+"px"})),e.slidesPerColumn>1&&(this.virtualSize=(S+e.spaceBetween)*T,this.virtualSize=Math.ceil(this.virtualSize/e.slidesPerColumn)-e.spaceBetween,this.isHorizontal()?t.css({width:this.virtualSize+e.spaceBetween+"px"}):t.css({height:this.virtualSize+e.spaceBetween+"px"}),e.centeredSlides)){C=[];for(var Q=0;Q<p.length;Q+=1){var J=p[Q];e.roundLengths&&(J=Math.floor(J)),p[Q]<this.virtualSize+p[0]&&C.push(J)}p=C}if(!e.centeredSlides){C=[];for(var ee=0;ee<p.length;ee+=1){var te=p[ee];e.roundLengths&&(te=Math.floor(te)),p[ee]<=this.virtualSize-i&&C.push(te)}p=C,Math.floor(this.virtualSize-i)-Math.floor(p[p.length-1])>1&&p.push(this.virtualSize-i)}if(0===p.length&&(p=[0]),0!==e.spaceBetween&&(this.isHorizontal()?s?l.filter(v).css({marginLeft:w+"px"}):l.filter(v).css({marginRight:w+"px"}):l.filter(v).css({marginBottom:w+"px"})),e.centeredSlides&&e.centeredSlidesBounds){var ie=0;u.forEach((function(t){ie+=t+(e.spaceBetween?e.spaceBetween:0)}));var se=(ie-=e.spaceBetween)-i;p=p.map((function(e){return e<0?-f:e>se?se+m:e}))}if(e.centerInsufficientSlides){var ae=0;if(u.forEach((function(t){ae+=t+(e.spaceBetween?e.spaceBetween:0)})),(ae-=e.spaceBetween)<i){var re=(i-ae)/2;p.forEach((function(e,t){p[t]=e-re})),c.forEach((function(e,t){c[t]=e+re}))}}d.extend(this,{slides:l,snapGrid:p,slidesGrid:c,slidesSizesGrid:u}),h!==o&&this.emit("slidesLengthChange"),p.length!==g&&(this.params.watchOverflow&&this.checkOverflow(),this.emit("snapGridLengthChange")),c.length!==b&&this.emit("slidesGridLengthChange"),(e.watchSlidesProgress||e.watchSlidesVisibility)&&this.updateSlidesOffset()}},updateAutoHeight:function(e){var t,i=[],s=0;if("number"==typeof e?this.setTransition(e):!0===e&&this.setTransition(this.params.speed),"auto"!==this.params.slidesPerView&&this.params.slidesPerView>1)if(this.params.centeredSlides)this.visibleSlides.each((function(e,t){i.push(t)}));else for(t=0;t<Math.ceil(this.params.slidesPerView);t+=1){var a=this.activeIndex+t;if(a>this.slides.length)break;i.push(this.slides.eq(a)[0])}else i.push(this.slides.eq(this.activeIndex)[0]);for(t=0;t<i.length;t+=1)if(void 0!==i[t]){var r=i[t].offsetHeight;s=r>s?r:s}s&&this.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t<e.length;t+=1)e[t].swiperSlideOffset=this.isHorizontal()?e[t].offsetLeft:e[t].offsetTop},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);var t=this.params,i=this.slides,s=this.rtlTranslate;if(0!==i.length){void 0===i[0].swiperSlideOffset&&this.updateSlidesOffset();var a=-e;s&&(a=e),i.removeClass(t.slideVisibleClass),this.visibleSlidesIndexes=[],this.visibleSlides=[];for(var r=0;r<i.length;r+=1){var o=i[r],l=(a+(t.centeredSlides?this.minTranslate():0)-o.swiperSlideOffset)/(o.swiperSlideSize+t.spaceBetween);if(t.watchSlidesVisibility||t.centeredSlides&&t.autoHeight){var d=-(a-o.swiperSlideOffset),h=d+this.slidesSizesGrid[r];(d>=0&&d<this.size-1||h>1&&h<=this.size||d<=0&&h>=this.size)&&(this.visibleSlides.push(o),this.visibleSlidesIndexes.push(r),i.eq(r).addClass(t.slideVisibleClass))}o.progress=s?-l:l}this.visibleSlides=n(this.visibleSlides)}},updateProgress:function(e){if(void 0===e){var t=this.rtlTranslate?-1:1;e=this&&this.translate&&this.translate*t||0}var i=this.params,s=this.maxTranslate()-this.minTranslate(),a=this.progress,r=this.isBeginning,n=this.isEnd,o=r,l=n;0===s?(a=0,r=!0,n=!0):(r=(a=(e-this.minTranslate())/s)<=0,n=a>=1),d.extend(this,{progress:a,isBeginning:r,isEnd:n}),(i.watchSlidesProgress||i.watchSlidesVisibility||i.centeredSlides&&i.autoHeight)&&this.updateSlidesProgress(e),r&&!o&&this.emit("reachBeginning toEdge"),n&&!l&&this.emit("reachEnd toEdge"),(o&&!r||l&&!n)&&this.emit("fromEdge"),this.emit("progress",a)},updateSlidesClasses:function(){var e,t=this.slides,i=this.params,s=this.$wrapperEl,a=this.activeIndex,r=this.realIndex,n=this.virtual&&i.virtual.enabled;t.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=n?this.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+a+'"]'):t.eq(a)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass));var o=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===o.length&&(o=t.eq(0)).addClass(i.slideNextClass);var l=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===l.length&&(l=t.eq(-1)).addClass(i.slidePrevClass),i.loop&&(o.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),l.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass))},updateActiveIndex:function(e){var t,i=this.rtlTranslate?this.translate:-this.translate,s=this.slidesGrid,a=this.snapGrid,r=this.params,n=this.activeIndex,o=this.realIndex,l=this.snapIndex,h=e;if(void 0===h){for(var p=0;p<s.length;p+=1)void 0!==s[p+1]?i>=s[p]&&i<s[p+1]-(s[p+1]-s[p])/2?h=p:i>=s[p]&&i<s[p+1]&&(h=p+1):i>=s[p]&&(h=p);r.normalizeSlideIndex&&(h<0||void 0===h)&&(h=0)}if(a.indexOf(i)>=0)t=a.indexOf(i);else{var c=Math.min(r.slidesPerGroupSkip,h);t=c+Math.floor((h-c)/r.slidesPerGroup)}if(t>=a.length&&(t=a.length-1),h!==n){var u=parseInt(this.slides.eq(h).attr("data-swiper-slide-index")||h,10);d.extend(this,{snapIndex:t,realIndex:u,previousIndex:n,activeIndex:h}),this.emit("activeIndexChange"),this.emit("snapIndexChange"),o!==u&&this.emit("realIndexChange"),(this.initialized||this.params.runCallbacksOnInit)&&this.emit("slideChange")}else t!==l&&(this.snapIndex=t,this.emit("snapIndexChange"))},updateClickedSlide:function(e){var t=this.params,i=n(e.target).closest("."+t.slideClass)[0],s=!1;if(i)for(var a=0;a<this.slides.length;a+=1)this.slides[a]===i&&(s=!0);if(!i||!s)return this.clickedSlide=void 0,void(this.clickedIndex=void 0);this.clickedSlide=i,this.virtual&&this.params.virtual.enabled?this.clickedIndex=parseInt(n(i).attr("data-swiper-slide-index"),10):this.clickedIndex=n(i).index(),t.slideToClickedSlide&&void 0!==this.clickedIndex&&this.clickedIndex!==this.activeIndex&&this.slideToClickedSlide()}},v={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");var t=this.params,i=this.rtlTranslate,s=this.translate,a=this.$wrapperEl;if(t.virtualTranslate)return i?-s:s;if(t.cssMode)return s;var r=d.getTranslate(a[0],e);return i&&(r=-r),r||0},setTranslate:function(e,t){var i=this.rtlTranslate,s=this.params,a=this.$wrapperEl,r=this.wrapperEl,n=this.progress,o=0,l=0;this.isHorizontal()?o=i?-e:e:l=e,s.roundLengths&&(o=Math.floor(o),l=Math.floor(l)),s.cssMode?r[this.isHorizontal()?"scrollLeft":"scrollTop"]=this.isHorizontal()?-o:-l:s.virtualTranslate||a.transform("translate3d("+o+"px, "+l+"px, 0px)"),this.previousTranslate=this.translate,this.translate=this.isHorizontal()?o:l;var d=this.maxTranslate()-this.minTranslate();(0===d?0:(e-this.minTranslate())/d)!==n&&this.updateProgress(e),this.emit("setTranslate",this.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,i,s,a){var r;void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0),void 0===s&&(s=!0);var n=this,o=n.params,l=n.wrapperEl;if(n.animating&&o.preventInteractionOnTransition)return!1;var d,h=n.minTranslate(),p=n.maxTranslate();if(d=s&&e>h?h:s&&e<p?p:e,n.updateProgress(d),o.cssMode){var c=n.isHorizontal();return 0===t?l[c?"scrollLeft":"scrollTop"]=-d:l.scrollTo?l.scrollTo(((r={})[c?"left":"top"]=-d,r.behavior="smooth",r)):l[c?"scrollLeft":"scrollTop"]=-d,!0}return 0===t?(n.setTransition(0),n.setTranslate(d),i&&(n.emit("beforeTransitionStart",t,a),n.emit("transitionEnd"))):(n.setTransition(t),n.setTranslate(d),i&&(n.emit("beforeTransitionStart",t,a),n.emit("transitionStart")),n.animating||(n.animating=!0,n.onTranslateToWrapperTransitionEnd||(n.onTranslateToWrapperTransitionEnd=function(e){n&&!n.destroyed&&e.target===this&&(n.$wrapperEl[0].removeEventListener("transitionend",n.onTranslateToWrapperTransitionEnd),n.$wrapperEl[0].removeEventListener("webkitTransitionEnd",n.onTranslateToWrapperTransitionEnd),n.onTranslateToWrapperTransitionEnd=null,delete n.onTranslateToWrapperTransitionEnd,i&&n.emit("transitionEnd"))}),n.$wrapperEl[0].addEventListener("transitionend",n.onTranslateToWrapperTransitionEnd),n.$wrapperEl[0].addEventListener("webkitTransitionEnd",n.onTranslateToWrapperTransitionEnd))),!0}},f={setTransition:function(e,t){this.params.cssMode||this.$wrapperEl.transition(e),this.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.params,a=this.previousIndex;if(!s.cssMode){s.autoHeight&&this.updateAutoHeight();var r=t;if(r||(r=i>a?"next":i<a?"prev":"reset"),this.emit("transitionStart"),e&&i!==a){if("reset"===r)return void this.emit("slideResetTransitionStart");this.emit("slideChangeTransitionStart"),"next"===r?this.emit("slideNextTransitionStart"):this.emit("slidePrevTransitionStart")}}},transitionEnd:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.previousIndex,a=this.params;if(this.animating=!1,!a.cssMode){this.setTransition(0);var r=t;if(r||(r=i>s?"next":i<s?"prev":"reset"),this.emit("transitionEnd"),e&&i!==s){if("reset"===r)return void this.emit("slideResetTransitionEnd");this.emit("slideChangeTransitionEnd"),"next"===r?this.emit("slideNextTransitionEnd"):this.emit("slidePrevTransitionEnd")}}}},m={slideTo:function(e,t,i,s){var a;void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var r=this,n=e;n<0&&(n=0);var o=r.params,l=r.snapGrid,d=r.slidesGrid,h=r.previousIndex,p=r.activeIndex,c=r.rtlTranslate,u=r.wrapperEl;if(r.animating&&o.preventInteractionOnTransition)return!1;var v=Math.min(r.params.slidesPerGroupSkip,n),f=v+Math.floor((n-v)/r.params.slidesPerGroup);f>=l.length&&(f=l.length-1),(p||o.initialSlide||0)===(h||0)&&i&&r.emit("beforeSlideChangeStart");var m,g=-l[f];if(r.updateProgress(g),o.normalizeSlideIndex)for(var b=0;b<d.length;b+=1)-Math.floor(100*g)>=Math.floor(100*d[b])&&(n=b);if(r.initialized&&n!==p){if(!r.allowSlideNext&&g<r.translate&&g<r.minTranslate())return!1;if(!r.allowSlidePrev&&g>r.translate&&g>r.maxTranslate()&&(p||0)!==n)return!1}if(m=n>p?"next":n<p?"prev":"reset",c&&-g===r.translate||!c&&g===r.translate)return r.updateActiveIndex(n),o.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==o.effect&&r.setTranslate(g),"reset"!==m&&(r.transitionStart(i,m),r.transitionEnd(i,m)),!1;if(o.cssMode){var w=r.isHorizontal(),y=-g;return c&&(y=u.scrollWidth-u.offsetWidth-y),0===t?u[w?"scrollLeft":"scrollTop"]=y:u.scrollTo?u.scrollTo(((a={})[w?"left":"top"]=y,a.behavior="smooth",a)):u[w?"scrollLeft":"scrollTop"]=y,!0}return 0===t?(r.setTransition(0),r.setTranslate(g),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,m),r.transitionEnd(i,m)):(r.setTransition(t),r.setTranslate(g),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,m),r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(i,m))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd))),!0},slideToLoop:function(e,t,i,s){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var a=e;return this.params.loop&&(a+=this.loopedSlides),this.slideTo(a,t,i,s)},slideNext:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating,r=this.activeIndex<s.slidesPerGroupSkip?1:s.slidesPerGroup;if(s.loop){if(a)return!1;this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft}return this.slideTo(this.activeIndex+r,e,t,i)},slidePrev:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating,r=this.snapGrid,n=this.slidesGrid,o=this.rtlTranslate;if(s.loop){if(a)return!1;this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft}function l(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}var d,h=l(o?this.translate:-this.translate),p=r.map((function(e){return l(e)})),c=(n.map((function(e){return l(e)})),r[p.indexOf(h)],r[p.indexOf(h)-1]);return void 0===c&&s.cssMode&&r.forEach((function(e){!c&&h>=e&&(c=e)})),void 0!==c&&(d=n.indexOf(c))<0&&(d=this.activeIndex-1),this.slideTo(d,e,t,i)},slideReset:function(e,t,i){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,i)},slideToClosest:function(e,t,i,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===s&&(s=.5);var a=this.activeIndex,r=Math.min(this.params.slidesPerGroupSkip,a),n=r+Math.floor((a-r)/this.params.slidesPerGroup),o=this.rtlTranslate?this.translate:-this.translate;if(o>=this.snapGrid[n]){var l=this.snapGrid[n];o-l>(this.snapGrid[n+1]-l)*s&&(a+=this.params.slidesPerGroup)}else{var d=this.snapGrid[n-1];o-d<=(this.snapGrid[n]-d)*s&&(a-=this.params.slidesPerGroup)}return a=Math.max(a,0),a=Math.min(a,this.slidesGrid.length-1),this.slideTo(a,e,t,i)},slideToClickedSlide:function(){var e,t=this,i=t.params,s=t.$wrapperEl,a="auto"===i.slidesPerView?t.slidesPerViewDynamic():i.slidesPerView,r=t.clickedIndex;if(i.loop){if(t.animating)return;e=parseInt(n(t.clickedSlide).attr("data-swiper-slide-index"),10),i.centeredSlides?r<t.loopedSlides-a/2||r>t.slides.length-t.loopedSlides+a/2?(t.loopFix(),r=s.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),d.nextTick((function(){t.slideTo(r)}))):t.slideTo(r):r>t.slides.length-a?(t.loopFix(),r=s.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),d.nextTick((function(){t.slideTo(r)}))):t.slideTo(r)}else t.slideTo(r)}},g={loopCreate:function(){var e=this,t=e.params,s=e.$wrapperEl;s.children("."+t.slideClass+"."+t.slideDuplicateClass).remove();var a=s.children("."+t.slideClass);if(t.loopFillGroupWithBlank){var r=t.slidesPerGroup-a.length%t.slidesPerGroup;if(r!==t.slidesPerGroup){for(var o=0;o<r;o+=1){var l=n(i.createElement("div")).addClass(t.slideClass+" "+t.slideBlankClass);s.append(l)}a=s.children("."+t.slideClass)}}"auto"!==t.slidesPerView||t.loopedSlides||(t.loopedSlides=a.length),e.loopedSlides=Math.ceil(parseFloat(t.loopedSlides||t.slidesPerView,10)),e.loopedSlides+=t.loopAdditionalSlides,e.loopedSlides>a.length&&(e.loopedSlides=a.length);var d=[],h=[];a.each((function(t,i){var s=n(i);t<e.loopedSlides&&h.push(i),t<a.length&&t>=a.length-e.loopedSlides&&d.push(i),s.attr("data-swiper-slide-index",t)}));for(var p=0;p<h.length;p+=1)s.append(n(h[p].cloneNode(!0)).addClass(t.slideDuplicateClass));for(var c=d.length-1;c>=0;c-=1)s.prepend(n(d[c].cloneNode(!0)).addClass(t.slideDuplicateClass))},loopFix:function(){this.emit("beforeLoopFix");var e,t=this.activeIndex,i=this.slides,s=this.loopedSlides,a=this.allowSlidePrev,r=this.allowSlideNext,n=this.snapGrid,o=this.rtlTranslate;this.allowSlidePrev=!0,this.allowSlideNext=!0;var l=-n[t]-this.getTranslate();t<s?(e=i.length-3*s+t,e+=s,this.slideTo(e,0,!1,!0)&&0!==l&&this.setTranslate((o?-this.translate:this.translate)-l)):t>=i.length-s&&(e=-i.length+t+s,e+=s,this.slideTo(e,0,!1,!0)&&0!==l&&this.setTranslate((o?-this.translate:this.translate)-l)),this.allowSlidePrev=a,this.allowSlideNext=r,this.emit("loopFix")},loopDestroy:function(){var e=this.$wrapperEl,t=this.params,i=this.slides;e.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),i.removeAttr("data-swiper-slide-index")}},b={setGrabCursor:function(e){if(!(h.touch||!this.params.simulateTouch||this.params.watchOverflow&&this.isLocked||this.params.cssMode)){var t=this.el;t.style.cursor="move",t.style.cursor=e?"-webkit-grabbing":"-webkit-grab",t.style.cursor=e?"-moz-grabbin":"-moz-grab",t.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){h.touch||this.params.watchOverflow&&this.isLocked||this.params.cssMode||(this.el.style.cursor="")}},w,y,x,E,T,S,C,M,P,z,k,$,L,I,D,O={appendSlide:function(e){var t=this.$wrapperEl,i=this.params;if(i.loop&&this.loopDestroy(),"object"==typeof e&&"length"in e)for(var s=0;s<e.length;s+=1)e[s]&&t.append(e[s]);else t.append(e);i.loop&&this.loopCreate(),i.observer&&h.observer||this.update()},prependSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&this.loopDestroy();var a=s+1;if("object"==typeof e&&"length"in e){for(var r=0;r<e.length;r+=1)e[r]&&i.prepend(e[r]);a=s+e.length}else i.prepend(e);t.loop&&this.loopCreate(),t.observer&&h.observer||this.update(),this.slideTo(a,0,!1)},addSlide:function(e,t){var i=this.$wrapperEl,s=this.params,a=this.activeIndex;s.loop&&(a-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+s.slideClass));var r=this.slides.length;if(e<=0)this.prependSlide(t);else if(e>=r)this.appendSlide(t);else{for(var n=a>e?a+1:a,o=[],l=r-1;l>=e;l-=1){var d=this.slides.eq(l);d.remove(),o.unshift(d)}if("object"==typeof t&&"length"in t){for(var p=0;p<t.length;p+=1)t[p]&&i.append(t[p]);n=a>e?a+t.length:a}else i.append(t);for(var c=0;c<o.length;c+=1)i.append(o[c]);s.loop&&this.loopCreate(),s.observer&&h.observer||this.update(),s.loop?this.slideTo(n+this.loopedSlides,0,!1):this.slideTo(n,0,!1)}},removeSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&(s-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+t.slideClass));var a,r=s;if("object"==typeof e&&"length"in e){for(var n=0;n<e.length;n+=1)a=e[n],this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1);r=Math.max(r,0)}else a=e,this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1),r=Math.max(r,0);t.loop&&this.loopCreate(),t.observer&&h.observer||this.update(),t.loop?this.slideTo(r+this.loopedSlides,0,!1):this.slideTo(r,0,!1)},removeAllSlides:function(){for(var e=[],t=0;t<this.slides.length;t+=1)e.push(t);this.removeSlide(e)}},A=(w=a.navigator.platform,y=a.navigator.userAgent,x={ios:!1,android:!1,androidChrome:!1,desktop:!1,iphone:!1,ipod:!1,ipad:!1,edge:!1,ie:!1,firefox:!1,macos:!1,windows:!1,cordova:!(!a.cordova&&!a.phonegap),phonegap:!(!a.cordova&&!a.phonegap),electron:!1},E=a.screen.width,T=a.screen.height,S=y.match(/(Android);?[\s\/]+([\d.]+)?/),C=y.match(/(iPad).*OS\s([\d_]+)/),M=y.match(/(iPod)(.*OS\s([\d_]+))?/),P=!C&&y.match(/(iPhone\sOS|iOS)\s([\d_]+)/),z=y.indexOf("MSIE ")>=0||y.indexOf("Trident/")>=0,k=y.indexOf("Edge/")>=0,$=y.indexOf("Gecko/")>=0&&y.indexOf("Firefox/")>=0,L="Win32"===w,I=y.toLowerCase().indexOf("electron")>=0,D="MacIntel"===w,!C&&D&&h.touch&&(1024===E&&1366===T||834===E&&1194===T||834===E&&1112===T||768===E&&1024===T)&&(C=y.match(/(Version)\/([\d.]+)/),D=!1),x.ie=z,x.edge=k,x.firefox=$,S&&!L&&(x.os="android",x.osVersion=S[2],x.android=!0,x.androidChrome=y.toLowerCase().indexOf("chrome")>=0),(C||P||M)&&(x.os="ios",x.ios=!0),P&&!M&&(x.osVersion=P[2].replace(/_/g,"."),x.iphone=!0),C&&(x.osVersion=C[2].replace(/_/g,"."),x.ipad=!0),M&&(x.osVersion=M[3]?M[3].replace(/_/g,"."):null,x.ipod=!0),x.ios&&x.osVersion&&y.indexOf("Version/")>=0&&"10"===x.osVersion.split(".")[0]&&(x.osVersion=y.toLowerCase().split("version/")[1].split(" ")[0]),x.webView=!(!(P||C||M)||!y.match(/.*AppleWebKit(?!.*Safari)/i)&&!a.navigator.standalone)||a.matchMedia&&a.matchMedia("(display-mode: standalone)").matches,x.webview=x.webView,x.standalone=x.webView,x.desktop=!(x.ios||x.android)||I,x.desktop&&(x.electron=I,x.macos=D,x.windows=L,x.macos&&(x.os="macos"),x.windows&&(x.os="windows")),x.pixelRatio=a.devicePixelRatio||1,x);function G(e){var t=this.touchEventsData,s=this.params,r=this.touches;if(!this.animating||!s.preventInteractionOnTransition){var o=e;o.originalEvent&&(o=o.originalEvent);var l=n(o.target);if(("wrapper"!==s.touchEventsTarget||l.closest(this.wrapperEl).length)&&(t.isTouchEvent="touchstart"===o.type,(t.isTouchEvent||!("which"in o)||3!==o.which)&&!(!t.isTouchEvent&&"button"in o&&o.button>0||t.isTouched&&t.isMoved)))if(s.noSwiping&&l.closest(s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass)[0])this.allowClick=!0;else if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){r.currentX="touchstart"===o.type?o.targetTouches[0].pageX:o.pageX,r.currentY="touchstart"===o.type?o.targetTouches[0].pageY:o.pageY;var h=r.currentX,p=r.currentY,c=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,u=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(!c||!(h<=u||h>=a.screen.width-u)){if(d.extend(t,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),r.startX=h,r.startY=p,t.touchStartTime=d.now(),this.allowClick=!0,this.updateSize(),this.swipeDirection=void 0,s.threshold>0&&(t.allowThresholdMove=!1),"touchstart"!==o.type){var v=!0;l.is(t.formElements)&&(v=!1),i.activeElement&&n(i.activeElement).is(t.formElements)&&i.activeElement!==l[0]&&i.activeElement.blur();var f=v&&this.allowTouchMove&&s.touchStartPreventDefault;(s.touchStartForcePreventDefault||f)&&o.preventDefault()}this.emit("touchStart",o)}}}}function H(e){var t=this.touchEventsData,s=this.params,a=this.touches,r=this.rtlTranslate,o=e;if(o.originalEvent&&(o=o.originalEvent),t.isTouched){if(!t.isTouchEvent||"touchmove"===o.type){var l="touchmove"===o.type&&o.targetTouches&&(o.targetTouches[0]||o.changedTouches[0]),h="touchmove"===o.type?l.pageX:o.pageX,p="touchmove"===o.type?l.pageY:o.pageY;if(o.preventedByNestedSwiper)return a.startX=h,void(a.startY=p);if(!this.allowTouchMove)return this.allowClick=!1,void(t.isTouched&&(d.extend(a,{startX:h,startY:p,currentX:h,currentY:p}),t.touchStartTime=d.now()));if(t.isTouchEvent&&s.touchReleaseOnEdges&&!s.loop)if(this.isVertical()){if(p<a.startY&&this.translate<=this.maxTranslate()||p>a.startY&&this.translate>=this.minTranslate())return t.isTouched=!1,void(t.isMoved=!1)}else if(h<a.startX&&this.translate<=this.maxTranslate()||h>a.startX&&this.translate>=this.minTranslate())return;if(t.isTouchEvent&&i.activeElement&&o.target===i.activeElement&&n(o.target).is(t.formElements))return t.isMoved=!0,void(this.allowClick=!1);if(t.allowTouchCallbacks&&this.emit("touchMove",o),!(o.targetTouches&&o.targetTouches.length>1)){a.currentX=h,a.currentY=p;var c=a.currentX-a.startX,u=a.currentY-a.startY,v;if(!(this.params.threshold&&Math.sqrt(Math.pow(c,2)+Math.pow(u,2))<this.params.threshold))if(void 0===t.isScrolling&&(this.isHorizontal()&&a.currentY===a.startY||this.isVertical()&&a.currentX===a.startX?t.isScrolling=!1:c*c+u*u>=25&&(v=180*Math.atan2(Math.abs(u),Math.abs(c))/Math.PI,t.isScrolling=this.isHorizontal()?v>s.touchAngle:90-v>s.touchAngle)),t.isScrolling&&this.emit("touchMoveOpposite",o),void 0===t.startMoving&&(a.currentX===a.startX&&a.currentY===a.startY||(t.startMoving=!0)),t.isScrolling)t.isTouched=!1;else if(t.startMoving){this.allowClick=!1,!s.cssMode&&o.cancelable&&o.preventDefault(),s.touchMoveStopPropagation&&!s.nested&&o.stopPropagation(),t.isMoved||(s.loop&&this.loopFix(),t.startTranslate=this.getTranslate(),this.setTransition(0),this.animating&&this.$wrapperEl.trigger("webkitTransitionEnd transitionend"),t.allowMomentumBounce=!1,!s.grabCursor||!0!==this.allowSlideNext&&!0!==this.allowSlidePrev||this.setGrabCursor(!0),this.emit("sliderFirstMove",o)),this.emit("sliderMove",o),t.isMoved=!0;var f=this.isHorizontal()?c:u;a.diff=f,f*=s.touchRatio,r&&(f=-f),this.swipeDirection=f>0?"prev":"next",t.currentTranslate=f+t.startTranslate;var m=!0,g=s.resistanceRatio;if(s.touchReleaseOnEdges&&(g=0),f>0&&t.currentTranslate>this.minTranslate()?(m=!1,s.resistance&&(t.currentTranslate=this.minTranslate()-1+Math.pow(-this.minTranslate()+t.startTranslate+f,g))):f<0&&t.currentTranslate<this.maxTranslate()&&(m=!1,s.resistance&&(t.currentTranslate=this.maxTranslate()+1-Math.pow(this.maxTranslate()-t.startTranslate-f,g))),m&&(o.preventedByNestedSwiper=!0),!this.allowSlideNext&&"next"===this.swipeDirection&&t.currentTranslate<t.startTranslate&&(t.currentTranslate=t.startTranslate),!this.allowSlidePrev&&"prev"===this.swipeDirection&&t.currentTranslate>t.startTranslate&&(t.currentTranslate=t.startTranslate),s.threshold>0){if(!(Math.abs(f)>s.threshold||t.allowThresholdMove))return void(t.currentTranslate=t.startTranslate);if(!t.allowThresholdMove)return t.allowThresholdMove=!0,a.startX=a.currentX,a.startY=a.currentY,t.currentTranslate=t.startTranslate,void(a.diff=this.isHorizontal()?a.currentX-a.startX:a.currentY-a.startY)}s.followFinger&&!s.cssMode&&((s.freeMode||s.watchSlidesProgress||s.watchSlidesVisibility)&&(this.updateActiveIndex(),this.updateSlidesClasses()),s.freeMode&&(0===t.velocities.length&&t.velocities.push({position:a[this.isHorizontal()?"startX":"startY"],time:t.touchStartTime}),t.velocities.push({position:a[this.isHorizontal()?"currentX":"currentY"],time:d.now()})),this.updateProgress(t.currentTranslate),this.setTranslate(t.currentTranslate))}}}}else t.startMoving&&t.isScrolling&&this.emit("touchMoveOpposite",o)}function B(e){var t=this,i=t.touchEventsData,s=t.params,a=t.touches,r=t.rtlTranslate,n=t.$wrapperEl,o=t.slidesGrid,l=t.snapGrid,h=e;if(h.originalEvent&&(h=h.originalEvent),i.allowTouchCallbacks&&t.emit("touchEnd",h),i.allowTouchCallbacks=!1,!i.isTouched)return i.isMoved&&s.grabCursor&&t.setGrabCursor(!1),i.isMoved=!1,void(i.startMoving=!1);s.grabCursor&&i.isMoved&&i.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var p,c=d.now(),u=c-i.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(h),t.emit("tap click",h),u<300&&c-i.lastClickTime<300&&t.emit("doubleTap doubleClick",h)),i.lastClickTime=d.now(),d.nextTick((function(){t.destroyed||(t.allowClick=!0)})),!i.isTouched||!i.isMoved||!t.swipeDirection||0===a.diff||i.currentTranslate===i.startTranslate)return i.isTouched=!1,i.isMoved=!1,void(i.startMoving=!1);if(i.isTouched=!1,i.isMoved=!1,i.startMoving=!1,p=s.followFinger?r?t.translate:-t.translate:-i.currentTranslate,!s.cssMode)if(s.freeMode){if(p<-t.minTranslate())return void t.slideTo(t.activeIndex);if(p>-t.maxTranslate())return void(t.slides.length<l.length?t.slideTo(l.length-1):t.slideTo(t.slides.length-1));if(s.freeModeMomentum){if(i.velocities.length>1){var v=i.velocities.pop(),f=i.velocities.pop(),m=v.position-f.position,g=v.time-f.time;t.velocity=m/g,t.velocity/=2,Math.abs(t.velocity)<s.freeModeMinimumVelocity&&(t.velocity=0),(g>150||d.now()-v.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=s.freeModeMomentumVelocityRatio,i.velocities.length=0;var b=1e3*s.freeModeMomentumRatio,w=t.velocity*b,y=t.translate+w;r&&(y=-y);var x,E,T=!1,S=20*Math.abs(t.velocity)*s.freeModeMomentumBounceRatio;if(y<t.maxTranslate())s.freeModeMomentumBounce?(y+t.maxTranslate()<-S&&(y=t.maxTranslate()-S),x=t.maxTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.maxTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(y>t.minTranslate())s.freeModeMomentumBounce?(y-t.minTranslate()>S&&(y=t.minTranslate()+S),x=t.minTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.minTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(s.freeModeSticky){for(var C,M=0;M<l.length;M+=1)if(l[M]>-y){C=M;break}y=-(y=Math.abs(l[C]-y)<Math.abs(l[C-1]-y)||"next"===t.swipeDirection?l[C]:l[C-1])}if(E&&t.once("transitionEnd",(function(){t.loopFix()})),0!==t.velocity){if(b=r?Math.abs((-y-t.translate)/t.velocity):Math.abs((y-t.translate)/t.velocity),s.freeModeSticky){var P=Math.abs((r?-y:y)-t.translate),z=t.slidesSizesGrid[t.activeIndex];b=P<z?s.speed:P<2*z?1.5*s.speed:2.5*s.speed}}else if(s.freeModeSticky)return void t.slideToClosest();s.freeModeMomentumBounce&&T?(t.updateProgress(x),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating=!0,n.transitionEnd((function(){t&&!t.destroyed&&i.allowMomentumBounce&&(t.emit("momentumBounce"),t.setTransition(s.speed),setTimeout((function(){t.setTranslate(x),n.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(t.updateProgress(y),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,n.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(y),t.updateActiveIndex(),t.updateSlidesClasses()}else if(s.freeModeSticky)return void t.slideToClosest();(!s.freeModeMomentum||u>=s.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}else{for(var k=0,$=t.slidesSizesGrid[0],L=0;L<o.length;L+=L<s.slidesPerGroupSkip?1:s.slidesPerGroup){var I=L<s.slidesPerGroupSkip-1?1:s.slidesPerGroup;void 0!==o[L+I]?p>=o[L]&&p<o[L+I]&&(k=L,$=o[L+I]-o[L]):p>=o[L]&&(k=L,$=o[o.length-1]-o[o.length-2])}var D=(p-o[k])/$,O=k<s.slidesPerGroupSkip-1?1:s.slidesPerGroup;if(u>s.longSwipesMs){if(!s.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(D>=s.longSwipesRatio?t.slideTo(k+O):t.slideTo(k)),"prev"===t.swipeDirection&&(D>1-s.longSwipesRatio?t.slideTo(k+O):t.slideTo(k))}else{if(!s.shortSwipes)return void t.slideTo(t.activeIndex);!t.navigation||h.target!==t.navigation.nextEl&&h.target!==t.navigation.prevEl?("next"===t.swipeDirection&&t.slideTo(k+O),"prev"===t.swipeDirection&&t.slideTo(k)):h.target===t.navigation.nextEl?t.slideTo(k+O):t.slideTo(k)}}}function N(){var e=this.params,t=this.el;if(!t||0!==t.offsetWidth){e.breakpoints&&this.setBreakpoint();var i=this.allowSlideNext,s=this.allowSlidePrev,a=this.snapGrid;this.allowSlideNext=!0,this.allowSlidePrev=!0,this.updateSize(),this.updateSlides(),this.updateSlidesClasses(),("auto"===e.slidesPerView||e.slidesPerView>1)&&this.isEnd&&!this.isBeginning&&!this.params.centeredSlides?this.slideTo(this.slides.length-1,0,!1,!0):this.slideTo(this.activeIndex,0,!1,!0),this.autoplay&&this.autoplay.running&&this.autoplay.paused&&this.autoplay.run(),this.allowSlidePrev=s,this.allowSlideNext=i,this.params.watchOverflow&&a!==this.snapGrid&&this.checkOverflow()}}function X(e){this.allowClick||(this.params.preventClicks&&e.preventDefault(),this.params.preventClicksPropagation&&this.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}function V(){var e=this.wrapperEl,t=this.rtlTranslate;this.previousTranslate=this.translate,this.isHorizontal()?this.translate=t?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:this.translate=-e.scrollTop,-0===this.translate&&(this.translate=0),this.updateActiveIndex(),this.updateSlidesClasses();var i=this.maxTranslate()-this.minTranslate();(0===i?0:(this.translate-this.minTranslate())/i)!==this.progress&&this.updateProgress(t?-this.translate:this.translate),this.emit("setTranslate",this.translate,!1)}var Y=!1;function F(){}var W={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,preventInteractionOnTransition:!1,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0},R={update:u,translate:v,transition:f,slide:m,loop:g,grabCursor:b,manipulation:O,events:{attachEvents:function(){var e=this.params,t=this.touchEvents,s=this.el,a=this.wrapperEl;this.onTouchStart=G.bind(this),this.onTouchMove=H.bind(this),this.onTouchEnd=B.bind(this),e.cssMode&&(this.onScroll=V.bind(this)),this.onClick=X.bind(this);var r=!!e.nested;if(!h.touch&&h.pointerEvents)s.addEventListener(t.start,this.onTouchStart,!1),i.addEventListener(t.move,this.onTouchMove,r),i.addEventListener(t.end,this.onTouchEnd,!1);else{if(h.touch){var n=!("touchstart"!==t.start||!h.passiveListener||!e.passiveListeners)&&{passive:!0,capture:!1};s.addEventListener(t.start,this.onTouchStart,n),s.addEventListener(t.move,this.onTouchMove,h.passiveListener?{passive:!1,capture:r}:r),s.addEventListener(t.end,this.onTouchEnd,n),t.cancel&&s.addEventListener(t.cancel,this.onTouchEnd,n),Y||(i.addEventListener("touchstart",F),Y=!0)}(e.simulateTouch&&!A.ios&&!A.android||e.simulateTouch&&!h.touch&&A.ios)&&(s.addEventListener("mousedown",this.onTouchStart,!1),i.addEventListener("mousemove",this.onTouchMove,r),i.addEventListener("mouseup",this.onTouchEnd,!1))}(e.preventClicks||e.preventClicksPropagation)&&s.addEventListener("click",this.onClick,!0),e.cssMode&&a.addEventListener("scroll",this.onScroll),e.updateOnWindowResize?this.on(A.ios||A.android?"resize orientationchange observerUpdate":"resize observerUpdate",N,!0):this.on("observerUpdate",N,!0)},detachEvents:function(){var e=this.params,t=this.touchEvents,s=this.el,a=this.wrapperEl,r=!!e.nested;if(!h.touch&&h.pointerEvents)s.removeEventListener(t.start,this.onTouchStart,!1),i.removeEventListener(t.move,this.onTouchMove,r),i.removeEventListener(t.end,this.onTouchEnd,!1);else{if(h.touch){var n=!("onTouchStart"!==t.start||!h.passiveListener||!e.passiveListeners)&&{passive:!0,capture:!1};s.removeEventListener(t.start,this.onTouchStart,n),s.removeEventListener(t.move,this.onTouchMove,r),s.removeEventListener(t.end,this.onTouchEnd,n),t.cancel&&s.removeEventListener(t.cancel,this.onTouchEnd,n)}(e.simulateTouch&&!A.ios&&!A.android||e.simulateTouch&&!h.touch&&A.ios)&&(s.removeEventListener("mousedown",this.onTouchStart,!1),i.removeEventListener("mousemove",this.onTouchMove,r),i.removeEventListener("mouseup",this.onTouchEnd,!1))}(e.preventClicks||e.preventClicksPropagation)&&s.removeEventListener("click",this.onClick,!0),e.cssMode&&a.removeEventListener("scroll",this.onScroll),this.off(A.ios||A.android?"resize orientationchange observerUpdate":"resize observerUpdate",N)}},breakpoints:{setBreakpoint:function(){var e=this.activeIndex,t=this.initialized,i=this.loopedSlides;void 0===i&&(i=0);var s=this.params,a=this.$el,r=s.breakpoints;if(r&&(!r||0!==Object.keys(r).length)){var n=this.getBreakpoint(r);if(n&&this.currentBreakpoint!==n){var o=n in r?r[n]:void 0;o&&["slidesPerView","spaceBetween","slidesPerGroup","slidesPerGroupSkip","slidesPerColumn"].forEach((function(e){var t=o[e];void 0!==t&&(o[e]="slidesPerView"!==e||"AUTO"!==t&&"auto"!==t?"slidesPerView"===e?parseFloat(t):parseInt(t,10):"auto")}));var l=o||this.originalParams,h=s.slidesPerColumn>1,p=l.slidesPerColumn>1;h&&!p?a.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"):!h&&p&&(a.addClass(s.containerModifierClass+"multirow"),"column"===l.slidesPerColumnFill&&a.addClass(s.containerModifierClass+"multirow-column"));var c=l.direction&&l.direction!==s.direction,u=s.loop&&(l.slidesPerView!==s.slidesPerView||c);c&&t&&this.changeDirection(),d.extend(this.params,l),d.extend(this,{allowTouchMove:this.params.allowTouchMove,allowSlideNext:this.params.allowSlideNext,allowSlidePrev:this.params.allowSlidePrev}),this.currentBreakpoint=n,u&&t&&(this.loopDestroy(),this.loopCreate(),this.updateSlides(),this.slideTo(e-i+this.loopedSlides,0,!1)),this.emit("breakpoint",l)}}},getBreakpoint:function(e){if(e){var t=!1,i=Object.keys(e).map((function(e){if("string"==typeof e&&0===e.indexOf("@")){var t=parseFloat(e.substr(1));return{value:a.innerHeight*t,point:e}}return{value:e,point:e}}));i.sort((function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)}));for(var s=0;s<i.length;s+=1){var r=i[s],n=r.point;r.value<=a.innerWidth&&(t=n)}return t||"max"}}},checkOverflow:{checkOverflow:function(){var e=this.params,t=this.isLocked,i=this.slides.length>0&&e.slidesOffsetBefore+e.spaceBetween*(this.slides.length-1)+this.slides[0].offsetWidth*this.slides.length;e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?this.isLocked=i<=this.size:this.isLocked=1===this.snapGrid.length,this.allowSlideNext=!this.isLocked,this.allowSlidePrev=!this.isLocked,t!==this.isLocked&&this.emit(this.isLocked?"lock":"unlock"),t&&t!==this.isLocked&&(this.isEnd=!1,this.navigation&&this.navigation.update())}},classes:{addClasses:function(){var e=this.classNames,t=this.params,i=this.rtl,s=this.$el,a=[];a.push("initialized"),a.push(t.direction),t.freeMode&&a.push("free-mode"),t.autoHeight&&a.push("autoheight"),i&&a.push("rtl"),t.slidesPerColumn>1&&(a.push("multirow"),"column"===t.slidesPerColumnFill&&a.push("multirow-column")),A.android&&a.push("android"),A.ios&&a.push("ios"),t.cssMode&&a.push("css-mode"),a.forEach((function(i){e.push(t.containerModifierClass+i)})),s.addClass(e.join(" "))},removeClasses:function(){var e=this.$el,t=this.classNames;e.removeClass(t.join(" "))}},images:{loadImage:function(e,t,i,s,r,o){var l;function d(){o&&o()}n(e).parent("picture")[0]||e.complete&&r?d():t?((l=new a.Image).onload=d,l.onerror=d,s&&(l.sizes=s),i&&(l.srcset=i),t&&(l.src=t)):d()},preloadImages:function(){var e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var i=0;i<e.imagesToLoad.length;i+=1){var s=e.imagesToLoad[i];e.loadImage(s,s.currentSrc||s.getAttribute("src"),s.srcset||s.getAttribute("srcset"),s.sizes||s.getAttribute("sizes"),!0,t)}}}},q={},j=function(e){function t(){for(var i,s,a,r=[],o=arguments.length;o--;)r[o]=arguments[o];1===r.length&&r[0].constructor&&r[0].constructor===Object?a=r[0]:(s=(i=r)[0],a=i[1]),a||(a={}),a=d.extend({},a),s&&!a.el&&(a.el=s),e.call(this,a),Object.keys(R).forEach((function(e){Object.keys(R[e]).forEach((function(i){t.prototype[i]||(t.prototype[i]=R[e][i])}))}));var l=this;void 0===l.modules&&(l.modules={}),Object.keys(l.modules).forEach((function(e){var t=l.modules[e];if(t.params){var i=Object.keys(t.params)[0],s=t.params[i];if("object"!=typeof s||null===s)return;if(!(i in a&&"enabled"in s))return;!0===a[i]&&(a[i]={enabled:!0}),"object"!=typeof a[i]||"enabled"in a[i]||(a[i].enabled=!0),a[i]||(a[i]={enabled:!1})}}));var p=d.extend({},W);l.useModulesParams(p),l.params=d.extend({},p,q,a),l.originalParams=d.extend({},l.params),l.passedParams=d.extend({},a),l.$=n;var c=n(l.params.el);if(s=c[0]){if(c.length>1){var u=[];return c.each((function(e,i){var s=d.extend({},a,{el:i});u.push(new t(s))})),u}var v,f,m;return s.swiper=l,c.data("swiper",l),s&&s.shadowRoot&&s.shadowRoot.querySelector?(v=n(s.shadowRoot.querySelector("."+l.params.wrapperClass))).children=function(e){return c.children(e)}:v=c.children("."+l.params.wrapperClass),d.extend(l,{$el:c,el:s,$wrapperEl:v,wrapperEl:v[0],classNames:[],slides:n(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===l.params.direction},isVertical:function(){return"vertical"===l.params.direction},rtl:"rtl"===s.dir.toLowerCase()||"rtl"===c.css("direction"),rtlTranslate:"horizontal"===l.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===c.css("direction")),wrongRTL:"-webkit-box"===v.css("display"),activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEvents:(f=["touchstart","touchmove","touchend","touchcancel"],m=["mousedown","mousemove","mouseup"],h.pointerEvents&&(m=["pointerdown","pointermove","pointerup"]),l.touchEventsTouch={start:f[0],move:f[1],end:f[2],cancel:f[3]},l.touchEventsDesktop={start:m[0],move:m[1],end:m[2]},h.touch||!l.params.simulateTouch?l.touchEventsTouch:l.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,formElements:"input, select, option, textarea, button, video, label",lastClickTime:d.now(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.useModules(),l.params.init&&l.init(),l}}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var i={extendedDefaults:{configurable:!0},defaults:{configurable:!0},Class:{configurable:!0},$:{configurable:!0}};return t.prototype.slidesPerViewDynamic=function(){var e=this.params,t=this.slides,i=this.slidesGrid,s=this.size,a=this.activeIndex,r=1;if(e.centeredSlides){for(var n,o=t[a].swiperSlideSize,l=a+1;l<t.length;l+=1)t[l]&&!n&&(r+=1,(o+=t[l].swiperSlideSize)>s&&(n=!0));for(var d=a-1;d>=0;d-=1)t[d]&&!n&&(r+=1,(o+=t[d].swiperSlideSize)>s&&(n=!0))}else for(var h=a+1;h<t.length;h+=1)i[h]-i[a]<s&&(r+=1);return r},t.prototype.update=function(){var e=this;if(e&&!e.destroyed){var t=e.snapGrid,i=e.params;i.breakpoints&&e.setBreakpoint(),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode?(s(),e.params.autoHeight&&e.updateAutoHeight()):(("auto"===e.params.slidesPerView||e.params.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0))||s(),i.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function s(){var t=e.rtlTranslate?-1*e.translate:e.translate,i=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(i),e.updateActiveIndex(),e.updateSlidesClasses()}},t.prototype.changeDirection=function(e,t){void 0===t&&(t=!0);var i=this.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(this.$el.removeClass(""+this.params.containerModifierClass+i).addClass(""+this.params.containerModifierClass+e),this.params.direction=e,this.slides.each((function(t,i){"vertical"===e?i.style.width="":i.style.height=""})),this.emit("changeDirection"),t&&this.update()),this},t.prototype.init=function(){this.initialized||(this.emit("beforeInit"),this.params.breakpoints&&this.setBreakpoint(),this.addClasses(),this.params.loop&&this.loopCreate(),this.updateSize(),this.updateSlides(),this.params.watchOverflow&&this.checkOverflow(),this.params.grabCursor&&this.setGrabCursor(),this.params.preloadImages&&this.preloadImages(),this.params.loop?this.slideTo(this.params.initialSlide+this.loopedSlides,0,this.params.runCallbacksOnInit):this.slideTo(this.params.initialSlide,0,this.params.runCallbacksOnInit),this.attachEvents(),this.initialized=!0,this.emit("init"))},t.prototype.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var i=this,s=i.params,a=i.$el,r=i.$wrapperEl,n=i.slides;return void 0===i.params||i.destroyed||(i.emit("beforeDestroy"),i.initialized=!1,i.detachEvents(),s.loop&&i.loopDestroy(),t&&(i.removeClasses(),a.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([s.slideVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),i.emit("destroy"),Object.keys(i.eventsListeners).forEach((function(e){i.off(e)})),!1!==e&&(i.$el[0].swiper=null,i.$el.data("swiper",null),d.deleteProps(i)),i.destroyed=!0),null},t.extendDefaults=function(e){d.extend(q,e)},i.extendedDefaults.get=function(){return q},i.defaults.get=function(){return W},i.Class.get=function(){return e},i.$.get=function(){return n},Object.defineProperties(t,i),t}(p),K={name:"device",proto:{device:A},static:{device:A}},U={name:"support",proto:{support:h},static:{support:h}},_={isEdge:!!a.navigator.userAgent.match(/Edge/g),isSafari:function(){var e=a.navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(a.navigator.userAgent)},Z={name:"browser",proto:{browser:_},static:{browser:_}},Q={name:"resize",create:function(){var e=this;d.extend(e,{resize:{resizeHandler:function(){e&&!e.destroyed&&e.initialized&&(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){e&&!e.destroyed&&e.initialized&&e.emit("orientationchange")}}})},on:{init:function(){a.addEventListener("resize",this.resize.resizeHandler),a.addEventListener("orientationchange",this.resize.orientationChangeHandler)},destroy:function(){a.removeEventListener("resize",this.resize.resizeHandler),a.removeEventListener("orientationchange",this.resize.orientationChangeHandler)}}},J={func:a.MutationObserver||a.WebkitMutationObserver,attach:function(e,t){void 0===t&&(t={});var i=this,s=new(0,J.func)((function(e){if(1!==e.length){var t=function(){i.emit("observerUpdate",e[0])};a.requestAnimationFrame?a.requestAnimationFrame(t):a.setTimeout(t,0)}else i.emit("observerUpdate",e[0])}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),i.observer.observers.push(s)},init:function(){if(h.observer&&this.params.observer){if(this.params.observeParents)for(var e=this.$el.parents(),t=0;t<e.length;t+=1)this.observer.attach(e[t]);this.observer.attach(this.$el[0],{childList:this.params.observeSlideChildren}),this.observer.attach(this.$wrapperEl[0],{attributes:!1})}},destroy:function(){this.observer.observers.forEach((function(e){e.disconnect()})),this.observer.observers=[]}},ee={name:"observer",params:{observer:!1,observeParents:!1,observeSlideChildren:!1},create:function(){d.extend(this,{observer:{init:J.init.bind(this),attach:J.attach.bind(this),destroy:J.destroy.bind(this),observers:[]}})},on:{init:function(){this.observer.init()},destroy:function(){this.observer.destroy()}}},te={update:function(e){var t=this,i=t.params,s=i.slidesPerView,a=i.slidesPerGroup,r=i.centeredSlides,n=t.params.virtual,o=n.addSlidesBefore,l=n.addSlidesAfter,h=t.virtual,p=h.from,c=h.to,u=h.slides,v=h.slidesGrid,f=h.renderSlide,m=h.offset;t.updateActiveIndex();var g,b,w,y=t.activeIndex||0;g=t.rtlTranslate?"right":t.isHorizontal()?"left":"top",r?(b=Math.floor(s/2)+a+o,w=Math.floor(s/2)+a+l):(b=s+(a-1)+o,w=a+l);var x=Math.max((y||0)-w,0),E=Math.min((y||0)+b,u.length-1),T=(t.slidesGrid[x]||0)-(t.slidesGrid[0]||0);function S(){t.updateSlides(),t.updateProgress(),t.updateSlidesClasses(),t.lazy&&t.params.lazy.enabled&&t.lazy.load()}if(d.extend(t.virtual,{from:x,to:E,offset:T,slidesGrid:t.slidesGrid}),p===x&&c===E&&!e)return t.slidesGrid!==v&&T!==m&&t.slides.css(g,T+"px"),void t.updateProgress();if(t.params.virtual.renderExternal)return t.params.virtual.renderExternal.call(t,{offset:T,from:x,to:E,slides:function(){for(var e=[],t=x;t<=E;t+=1)e.push(u[t]);return e}()}),void S();var C=[],M=[];if(e)t.$wrapperEl.find("."+t.params.slideClass).remove();else for(var P=p;P<=c;P+=1)(P<x||P>E)&&t.$wrapperEl.find("."+t.params.slideClass+'[data-swiper-slide-index="'+P+'"]').remove();for(var z=0;z<u.length;z+=1)z>=x&&z<=E&&(void 0===c||e?M.push(z):(z>c&&M.push(z),z<p&&C.push(z)));M.forEach((function(e){t.$wrapperEl.append(f(u[e],e))})),C.sort((function(e,t){return t-e})).forEach((function(e){t.$wrapperEl.prepend(f(u[e],e))})),t.$wrapperEl.children(".swiper-slide").css(g,T+"px"),S()},renderSlide:function(e,t){var i=this.params.virtual;if(i.cache&&this.virtual.cache[t])return this.virtual.cache[t];var s=i.renderSlide?n(i.renderSlide.call(this,e,t)):n('<div class="'+this.params.slideClass+'" data-swiper-slide-index="'+t+'">'+e+"</div>");return s.attr("data-swiper-slide-index")||s.attr("data-swiper-slide-index",t),i.cache&&(this.virtual.cache[t]=s),s},appendSlide:function(e){if("object"==typeof e&&"length"in e)for(var t=0;t<e.length;t+=1)e[t]&&this.virtual.slides.push(e[t]);else this.virtual.slides.push(e);this.virtual.update(!0)},prependSlide:function(e){var t=this.activeIndex,i=t+1,s=1;if(Array.isArray(e)){for(var a=0;a<e.length;a+=1)e[a]&&this.virtual.slides.unshift(e[a]);i=t+e.length,s=e.length}else this.virtual.slides.unshift(e);if(this.params.virtual.cache){var r=this.virtual.cache,n={};Object.keys(r).forEach((function(e){var t=r[e],i=t.attr("data-swiper-slide-index");i&&t.attr("data-swiper-slide-index",parseInt(i,10)+1),n[parseInt(e,10)+s]=t})),this.virtual.cache=n}this.virtual.update(!0),this.slideTo(i,0)},removeSlide:function(e){if(null!=e){var t=this.activeIndex;if(Array.isArray(e))for(var i=e.length-1;i>=0;i-=1)this.virtual.slides.splice(e[i],1),this.params.virtual.cache&&delete this.virtual.cache[e[i]],e[i]<t&&(t-=1),t=Math.max(t,0);else this.virtual.slides.splice(e,1),this.params.virtual.cache&&delete this.virtual.cache[e],e<t&&(t-=1),t=Math.max(t,0);this.virtual.update(!0),this.slideTo(t,0)}},removeAllSlides:function(){this.virtual.slides=[],this.params.virtual.cache&&(this.virtual.cache={}),this.virtual.update(!0),this.slideTo(0,0)}},ie={name:"virtual",params:{virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,addSlidesBefore:0,addSlidesAfter:0}},create:function(){d.extend(this,{virtual:{update:te.update.bind(this),appendSlide:te.appendSlide.bind(this),prependSlide:te.prependSlide.bind(this),removeSlide:te.removeSlide.bind(this),removeAllSlides:te.removeAllSlides.bind(this),renderSlide:te.renderSlide.bind(this),slides:this.params.virtual.slides,cache:{}}})},on:{beforeInit:function(){if(this.params.virtual.enabled){this.classNames.push(this.params.containerModifierClass+"virtual");var e={watchSlidesProgress:!0};d.extend(this.params,e),d.extend(this.originalParams,e),this.params.initialSlide||this.virtual.update()}},setTranslate:function(){this.params.virtual.enabled&&this.virtual.update()}}},se={handle:function(e){var t=this.rtlTranslate,s=e;s.originalEvent&&(s=s.originalEvent);var r=s.keyCode||s.charCode,n=this.params.keyboard.pageUpDown,o=n&&33===r,l=n&&34===r,d=37===r,h=39===r,p=38===r,c=40===r;if(!this.allowSlideNext&&(this.isHorizontal()&&h||this.isVertical()&&c||l))return!1;if(!this.allowSlidePrev&&(this.isHorizontal()&&d||this.isVertical()&&p||o))return!1;if(!(s.shiftKey||s.altKey||s.ctrlKey||s.metaKey||i.activeElement&&i.activeElement.nodeName&&("input"===i.activeElement.nodeName.toLowerCase()||"textarea"===i.activeElement.nodeName.toLowerCase()))){if(this.params.keyboard.onlyInViewport&&(o||l||d||h||p||c)){var u=!1;if(this.$el.parents("."+this.params.slideClass).length>0&&0===this.$el.parents("."+this.params.slideActiveClass).length)return;var v=a.innerWidth,f=a.innerHeight,m=this.$el.offset();t&&(m.left-=this.$el[0].scrollLeft);for(var g=[[m.left,m.top],[m.left+this.width,m.top],[m.left,m.top+this.height],[m.left+this.width,m.top+this.height]],b=0;b<g.length;b+=1){var w=g[b];w[0]>=0&&w[0]<=v&&w[1]>=0&&w[1]<=f&&(u=!0)}if(!u)return}this.isHorizontal()?((o||l||d||h)&&(s.preventDefault?s.preventDefault():s.returnValue=!1),((l||h)&&!t||(o||d)&&t)&&this.slideNext(),((o||d)&&!t||(l||h)&&t)&&this.slidePrev()):((o||l||p||c)&&(s.preventDefault?s.preventDefault():s.returnValue=!1),(l||c)&&this.slideNext(),(o||p)&&this.slidePrev()),this.emit("keyPress",r)}},enable:function(){this.keyboard.enabled||(n(i).on("keydown",this.keyboard.handle),this.keyboard.enabled=!0)},disable:function(){this.keyboard.enabled&&(n(i).off("keydown",this.keyboard.handle),this.keyboard.enabled=!1)}},ae={name:"keyboard",params:{keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}},create:function(){d.extend(this,{keyboard:{enabled:!1,enable:se.enable.bind(this),disable:se.disable.bind(this),handle:se.handle.bind(this)}})},on:{init:function(){this.params.keyboard.enabled&&this.keyboard.enable()},destroy:function(){this.keyboard.enabled&&this.keyboard.disable()}}},re={lastScrollTime:d.now(),lastEventBeforeSnap:void 0,recentWheelEvents:[],event:function(){return a.navigator.userAgent.indexOf("firefox")>-1?"DOMMouseScroll":function(){var e="onwheel"in i;if(!e){var t=i.createElement("div");t.setAttribute("onwheel","return;"),e="function"==typeof t.onwheel}return!e&&i.implementation&&i.implementation.hasFeature&&!0!==i.implementation.hasFeature("","")&&(e=i.implementation.hasFeature("Events.wheel","3.0")),e}()?"wheel":"mousewheel"},normalize:function(e){var t=0,i=0,s=0,a=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),s=10*t,a=10*i,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(s=e.deltaX),e.shiftKey&&!s&&(s=a,a=0),(s||a)&&e.deltaMode&&(1===e.deltaMode?(s*=40,a*=40):(s*=800,a*=800)),s&&!t&&(t=s<1?-1:1),a&&!i&&(i=a<1?-1:1),{spinX:t,spinY:i,pixelX:s,pixelY:a}},handleMouseEnter:function(){this.mouseEntered=!0},handleMouseLeave:function(){this.mouseEntered=!1},handle:function(e){var t=e,i=this,s=i.params.mousewheel;i.params.cssMode&&t.preventDefault();var a=i.$el;if("container"!==i.params.mousewheel.eventsTarged&&(a=n(i.params.mousewheel.eventsTarged)),!i.mouseEntered&&!a[0].contains(t.target)&&!s.releaseOnEdges)return!0;t.originalEvent&&(t=t.originalEvent);var r=0,o=i.rtlTranslate?-1:1,l=re.normalize(t);if(s.forceToAxis)if(i.isHorizontal()){if(!(Math.abs(l.pixelX)>Math.abs(l.pixelY)))return!0;r=-l.pixelX*o}else{if(!(Math.abs(l.pixelY)>Math.abs(l.pixelX)))return!0;r=-l.pixelY}else r=Math.abs(l.pixelX)>Math.abs(l.pixelY)?-l.pixelX*o:-l.pixelY;if(0===r)return!0;if(s.invert&&(r=-r),i.params.freeMode){var h={time:d.now(),delta:Math.abs(r),direction:Math.sign(r)},p=i.mousewheel.lastEventBeforeSnap,c=p&&h.time<p.time+500&&h.delta<=p.delta&&h.direction===p.direction;if(!c){i.mousewheel.lastEventBeforeSnap=void 0,i.params.loop&&i.loopFix();var u=i.getTranslate()+r*s.sensitivity,v=i.isBeginning,f=i.isEnd;if(u>=i.minTranslate()&&(u=i.minTranslate()),u<=i.maxTranslate()&&(u=i.maxTranslate()),i.setTransition(0),i.setTranslate(u),i.updateProgress(),i.updateActiveIndex(),i.updateSlidesClasses(),(!v&&i.isBeginning||!f&&i.isEnd)&&i.updateSlidesClasses(),i.params.freeModeSticky){clearTimeout(i.mousewheel.timeout),i.mousewheel.timeout=void 0;var m=i.mousewheel.recentWheelEvents;m.length>=15&&m.shift();var g=m.length?m[m.length-1]:void 0,b=m[0];if(m.push(h),g&&(h.delta>g.delta||h.direction!==g.direction))m.splice(0);else if(m.length>=15&&h.time-b.time<500&&b.delta-h.delta>=1&&h.delta<=6){var w=r>0?.8:.2;i.mousewheel.lastEventBeforeSnap=h,m.splice(0),i.mousewheel.timeout=d.nextTick((function(){i.slideToClosest(i.params.speed,!0,void 0,w)}),0)}i.mousewheel.timeout||(i.mousewheel.timeout=d.nextTick((function(){i.mousewheel.lastEventBeforeSnap=h,m.splice(0),i.slideToClosest(i.params.speed,!0,void 0,.5)}),500))}if(c||i.emit("scroll",t),i.params.autoplay&&i.params.autoplayDisableOnInteraction&&i.autoplay.stop(),u===i.minTranslate()||u===i.maxTranslate())return!0}}else{var y={time:d.now(),delta:Math.abs(r),direction:Math.sign(r),raw:e},x=i.mousewheel.recentWheelEvents;x.length>=2&&x.shift();var E=x.length?x[x.length-1]:void 0;if(x.push(y),E?(y.direction!==E.direction||y.delta>E.delta||y.time>E.time+150)&&i.mousewheel.animateSlider(y):i.mousewheel.animateSlider(y),i.mousewheel.releaseScroll(y))return!0}return t.preventDefault?t.preventDefault():t.returnValue=!1,!1},animateSlider:function(e){return e.delta>=6&&d.now()-this.mousewheel.lastScrollTime<60||(e.direction<0?this.isEnd&&!this.params.loop||this.animating||(this.slideNext(),this.emit("scroll",e.raw)):this.isBeginning&&!this.params.loop||this.animating||(this.slidePrev(),this.emit("scroll",e.raw)),this.mousewheel.lastScrollTime=(new a.Date).getTime(),!1)},releaseScroll:function(e){var t=this.params.mousewheel;if(e.direction<0){if(this.isEnd&&!this.params.loop&&t.releaseOnEdges)return!0}else if(this.isBeginning&&!this.params.loop&&t.releaseOnEdges)return!0;return!1},enable:function(){var e=re.event();if(this.params.cssMode)return this.wrapperEl.removeEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=n(this.params.mousewheel.eventsTarged)),t.on("mouseenter",this.mousewheel.handleMouseEnter),t.on("mouseleave",this.mousewheel.handleMouseLeave),t.on(e,this.mousewheel.handle),this.mousewheel.enabled=!0,!0},disable:function(){var e=re.event();if(this.params.cssMode)return this.wrapperEl.addEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(!this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=n(this.params.mousewheel.eventsTarged)),t.off(e,this.mousewheel.handle),this.mousewheel.enabled=!1,!0}},ne={update:function(){var e=this.params.navigation;if(!this.params.loop){var t=this.navigation,i=t.$nextEl,s=t.$prevEl;s&&s.length>0&&(this.isBeginning?s.addClass(e.disabledClass):s.removeClass(e.disabledClass),s[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass)),i&&i.length>0&&(this.isEnd?i.addClass(e.disabledClass):i.removeClass(e.disabledClass),i[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(e){e.preventDefault(),this.isBeginning&&!this.params.loop||this.slidePrev()},onNextClick:function(e){e.preventDefault(),this.isEnd&&!this.params.loop||this.slideNext()},init:function(){var e,t,i=this.params.navigation;(i.nextEl||i.prevEl)&&(i.nextEl&&(e=n(i.nextEl),this.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===this.$el.find(i.nextEl).length&&(e=this.$el.find(i.nextEl))),i.prevEl&&(t=n(i.prevEl),this.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===this.$el.find(i.prevEl).length&&(t=this.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",this.navigation.onNextClick),t&&t.length>0&&t.on("click",this.navigation.onPrevClick),d.extend(this.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}))},destroy:function(){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;t&&t.length&&(t.off("click",this.navigation.onNextClick),t.removeClass(this.params.navigation.disabledClass)),i&&i.length&&(i.off("click",this.navigation.onPrevClick),i.removeClass(this.params.navigation.disabledClass))}},oe={update:function(){var e=this.rtl,t=this.params.pagination;if(t.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var i,s=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,a=this.pagination.$el,r=this.params.loop?Math.ceil((s-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length;if(this.params.loop?((i=Math.ceil((this.activeIndex-this.loopedSlides)/this.params.slidesPerGroup))>s-1-2*this.loopedSlides&&(i-=s-2*this.loopedSlides),i>r-1&&(i-=r),i<0&&"bullets"!==this.params.paginationType&&(i=r+i)):i=void 0!==this.snapIndex?this.snapIndex:this.activeIndex||0,"bullets"===t.type&&this.pagination.bullets&&this.pagination.bullets.length>0){var o,l,d,h=this.pagination.bullets;if(t.dynamicBullets&&(this.pagination.bulletSize=h.eq(0)[this.isHorizontal()?"outerWidth":"outerHeight"](!0),a.css(this.isHorizontal()?"width":"height",this.pagination.bulletSize*(t.dynamicMainBullets+4)+"px"),t.dynamicMainBullets>1&&void 0!==this.previousIndex&&(this.pagination.dynamicBulletIndex+=i-this.previousIndex,this.pagination.dynamicBulletIndex>t.dynamicMainBullets-1?this.pagination.dynamicBulletIndex=t.dynamicMainBullets-1:this.pagination.dynamicBulletIndex<0&&(this.pagination.dynamicBulletIndex=0)),o=i-this.pagination.dynamicBulletIndex,d=((l=o+(Math.min(h.length,t.dynamicMainBullets)-1))+o)/2),h.removeClass(t.bulletActiveClass+" "+t.bulletActiveClass+"-next "+t.bulletActiveClass+"-next-next "+t.bulletActiveClass+"-prev "+t.bulletActiveClass+"-prev-prev "+t.bulletActiveClass+"-main"),a.length>1)h.each((function(e,s){var a=n(s),r=a.index();r===i&&a.addClass(t.bulletActiveClass),t.dynamicBullets&&(r>=o&&r<=l&&a.addClass(t.bulletActiveClass+"-main"),r===o&&a.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),r===l&&a.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next"))}));else{var p=h.eq(i),c=p.index();if(p.addClass(t.bulletActiveClass),t.dynamicBullets){for(var u=h.eq(o),v=h.eq(l),f=o;f<=l;f+=1)h.eq(f).addClass(t.bulletActiveClass+"-main");if(this.params.loop)if(c>=h.length-t.dynamicMainBullets){for(var m=t.dynamicMainBullets;m>=0;m-=1)h.eq(h.length-m).addClass(t.bulletActiveClass+"-main");h.eq(h.length-t.dynamicMainBullets-1).addClass(t.bulletActiveClass+"-prev")}else u.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),v.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next");else u.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),v.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next")}}if(t.dynamicBullets){var g=Math.min(h.length,t.dynamicMainBullets+4),b=(this.pagination.bulletSize*g-this.pagination.bulletSize)/2-d*this.pagination.bulletSize,w=e?"right":"left";h.css(this.isHorizontal()?w:"top",b+"px")}}if("fraction"===t.type&&(a.find("."+t.currentClass).text(t.formatFractionCurrent(i+1)),a.find("."+t.totalClass).text(t.formatFractionTotal(r))),"progressbar"===t.type){var y;y=t.progressbarOpposite?this.isHorizontal()?"vertical":"horizontal":this.isHorizontal()?"horizontal":"vertical";var x=(i+1)/r,E=1,T=1;"horizontal"===y?E=x:T=x,a.find("."+t.progressbarFillClass).transform("translate3d(0,0,0) scaleX("+E+") scaleY("+T+")").transition(this.params.speed)}"custom"===t.type&&t.renderCustom?(a.html(t.renderCustom(this,i+1,r)),this.emit("paginationRender",this,a[0])):this.emit("paginationUpdate",this,a[0]),a[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](t.lockClass)}},render:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,i=this.pagination.$el,s="";if("bullets"===e.type){for(var a=this.params.loop?Math.ceil((t-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length,r=0;r<a;r+=1)e.renderBullet?s+=e.renderBullet.call(this,r,e.bulletClass):s+="<"+e.bulletElement+' class="'+e.bulletClass+'"></'+e.bulletElement+">";i.html(s),this.pagination.bullets=i.find("."+e.bulletClass)}"fraction"===e.type&&(s=e.renderFraction?e.renderFraction.call(this,e.currentClass,e.totalClass):'<span class="'+e.currentClass+'"></span> / <span class="'+e.totalClass+'"></span>',i.html(s)),"progressbar"===e.type&&(s=e.renderProgressbar?e.renderProgressbar.call(this,e.progressbarFillClass):'<span class="'+e.progressbarFillClass+'"></span>',i.html(s)),"custom"!==e.type&&this.emit("paginationRender",this.pagination.$el[0])}},init:function(){var e=this,t=e.params.pagination;if(t.el){var i=n(t.el);0!==i.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&i.length>1&&(i=e.$el.find(t.el)),"bullets"===t.type&&t.clickable&&i.addClass(t.clickableClass),i.addClass(t.modifierClass+t.type),"bullets"===t.type&&t.dynamicBullets&&(i.addClass(""+t.modifierClass+t.type+"-dynamic"),e.pagination.dynamicBulletIndex=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&i.addClass(t.progressbarOppositeClass),t.clickable&&i.on("click","."+t.bulletClass,(function(t){t.preventDefault();var i=n(this).index()*e.params.slidesPerGroup;e.params.loop&&(i+=e.loopedSlides),e.slideTo(i)})),d.extend(e.pagination,{$el:i,el:i[0]}))}},destroy:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.pagination.$el;t.removeClass(e.hiddenClass),t.removeClass(e.modifierClass+e.type),this.pagination.bullets&&this.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&t.off("click","."+e.bulletClass)}}},le={setTranslate:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=this.rtlTranslate,i=this.progress,s=e.dragSize,a=e.trackSize,r=e.$dragEl,n=e.$el,o=this.params.scrollbar,l=s,d=(a-s)*i;t?(d=-d)>0?(l=s-d,d=0):-d+s>a&&(l=a+d):d<0?(l=s+d,d=0):d+s>a&&(l=a-d),this.isHorizontal()?(r.transform("translate3d("+d+"px, 0, 0)"),r[0].style.width=l+"px"):(r.transform("translate3d(0px, "+d+"px, 0)"),r[0].style.height=l+"px"),o.hide&&(clearTimeout(this.scrollbar.timeout),n[0].style.opacity=1,this.scrollbar.timeout=setTimeout((function(){n[0].style.opacity=0,n.transition(400)}),1e3))}},setTransition:function(e){this.params.scrollbar.el&&this.scrollbar.el&&this.scrollbar.$dragEl.transition(e)},updateSize:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=e.$dragEl,i=e.$el;t[0].style.width="",t[0].style.height="";var s,a=this.isHorizontal()?i[0].offsetWidth:i[0].offsetHeight,r=this.size/this.virtualSize,n=r*(a/this.size);s="auto"===this.params.scrollbar.dragSize?a*r:parseInt(this.params.scrollbar.dragSize,10),this.isHorizontal()?t[0].style.width=s+"px":t[0].style.height=s+"px",i[0].style.display=r>=1?"none":"",this.params.scrollbar.hide&&(i[0].style.opacity=0),d.extend(e,{trackSize:a,divider:r,moveDivider:n,dragSize:s}),e.$el[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](this.params.scrollbar.lockClass)}},getPointerPosition:function(e){return this.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY},setDragPosition:function(e){var t,i=this.scrollbar,s=this.rtlTranslate,a=i.$el,r=i.dragSize,n=i.trackSize,o=i.dragStartPos;t=(i.getPointerPosition(e)-a.offset()[this.isHorizontal()?"left":"top"]-(null!==o?o:r/2))/(n-r),t=Math.max(Math.min(t,1),0),s&&(t=1-t);var l=this.minTranslate()+(this.maxTranslate()-this.minTranslate())*t;this.updateProgress(l),this.setTranslate(l),this.updateActiveIndex(),this.updateSlidesClasses()},onDragStart:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el,r=i.$dragEl;this.scrollbar.isTouched=!0,this.scrollbar.dragStartPos=e.target===r[0]||e.target===r?i.getPointerPosition(e)-e.target.getBoundingClientRect()[this.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),s.transition(100),r.transition(100),i.setDragPosition(e),clearTimeout(this.scrollbar.dragTimeout),a.transition(0),t.hide&&a.css("opacity",1),this.params.cssMode&&this.$wrapperEl.css("scroll-snap-type","none"),this.emit("scrollbarDragStart",e)},onDragMove:function(e){var t=this.scrollbar,i=this.$wrapperEl,s=t.$el,a=t.$dragEl;this.scrollbar.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,t.setDragPosition(e),i.transition(0),s.transition(0),a.transition(0),this.emit("scrollbarDragMove",e))},onDragEnd:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el;this.scrollbar.isTouched&&(this.scrollbar.isTouched=!1,this.params.cssMode&&(this.$wrapperEl.css("scroll-snap-type",""),s.transition("")),t.hide&&(clearTimeout(this.scrollbar.dragTimeout),this.scrollbar.dragTimeout=d.nextTick((function(){a.css("opacity",0),a.transition(400)}),1e3)),this.emit("scrollbarDragEnd",e),t.snapOnRelease&&this.slideToClosest())},enableDraggable:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=e.$el[0],n=!(!h.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},o=!(!h.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};h.touch?(r.addEventListener(t.start,this.scrollbar.onDragStart,n),r.addEventListener(t.move,this.scrollbar.onDragMove,n),r.addEventListener(t.end,this.scrollbar.onDragEnd,o)):(r.addEventListener(s.start,this.scrollbar.onDragStart,n),i.addEventListener(s.move,this.scrollbar.onDragMove,n),i.addEventListener(s.end,this.scrollbar.onDragEnd,o))}},disableDraggable:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=e.$el[0],n=!(!h.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},o=!(!h.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};h.touch?(r.removeEventListener(t.start,this.scrollbar.onDragStart,n),r.removeEventListener(t.move,this.scrollbar.onDragMove,n),r.removeEventListener(t.end,this.scrollbar.onDragEnd,o)):(r.removeEventListener(s.start,this.scrollbar.onDragStart,n),i.removeEventListener(s.move,this.scrollbar.onDragMove,n),i.removeEventListener(s.end,this.scrollbar.onDragEnd,o))}},init:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.$el,i=this.params.scrollbar,s=n(i.el);this.params.uniqueNavElements&&"string"==typeof i.el&&s.length>1&&1===t.find(i.el).length&&(s=t.find(i.el));var a=s.find("."+this.params.scrollbar.dragClass);0===a.length&&(a=n('<div class="'+this.params.scrollbar.dragClass+'"></div>'),s.append(a)),d.extend(e,{$el:s,el:s[0],$dragEl:a,dragEl:a[0]}),i.draggable&&e.enableDraggable()}},destroy:function(){this.scrollbar.disableDraggable()}},de={setTransform:function(e,t){var i=this.rtl,s=n(e),a=i?-1:1,r=s.attr("data-swiper-parallax")||"0",o=s.attr("data-swiper-parallax-x"),l=s.attr("data-swiper-parallax-y"),d=s.attr("data-swiper-parallax-scale"),h=s.attr("data-swiper-parallax-opacity");if(o||l?(o=o||"0",l=l||"0"):this.isHorizontal()?(o=r,l="0"):(l=r,o="0"),o=o.indexOf("%")>=0?parseInt(o,10)*t*a+"%":o*t*a+"px",l=l.indexOf("%")>=0?parseInt(l,10)*t+"%":l*t+"px",null!=h){var p=h-(h-1)*(1-Math.abs(t));s[0].style.opacity=p}if(null==d)s.transform("translate3d("+o+", "+l+", 0px)");else{var c=d-(d-1)*(1-Math.abs(t));s.transform("translate3d("+o+", "+l+", 0px) scale("+c+")")}},setTranslate:function(){var e=this,t=e.$el,i=e.slides,s=e.progress,a=e.snapGrid;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,s)})),i.each((function(t,i){var r=i.progress;e.params.slidesPerGroup>1&&"auto"!==e.params.slidesPerView&&(r+=Math.ceil(t/2)-s*(a.length-1)),r=Math.min(Math.max(r,-1),1),n(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,r)}))}))},setTransition:function(e){void 0===e&&(e=this.params.speed),this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){var s=n(i),a=parseInt(s.attr("data-swiper-parallax-duration"),10)||e;0===e&&(a=0),s.transition(a)}))}},he={getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var t=e.targetTouches[0].pageX,i=e.targetTouches[0].pageY,s=e.targetTouches[1].pageX,a=e.targetTouches[1].pageY;return Math.sqrt(Math.pow(s-t,2)+Math.pow(a-i,2))},onGestureStart:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(i.fakeGestureTouched=!1,i.fakeGestureMoved=!1,!h.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;i.fakeGestureTouched=!0,s.scaleStart=he.getDistanceBetweenTouches(e)}s.$slideEl&&s.$slideEl.length||(s.$slideEl=n(e.target).closest("."+this.params.slideClass),0===s.$slideEl.length&&(s.$slideEl=this.slides.eq(this.activeIndex)),s.$imageEl=s.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),s.$imageWrapEl=s.$imageEl.parent("."+t.containerClass),s.maxRatio=s.$imageWrapEl.attr("data-swiper-zoom")||t.maxRatio,0!==s.$imageWrapEl.length)?(s.$imageEl&&s.$imageEl.transition(0),this.zoom.isScaling=!0):s.$imageEl=void 0},onGestureChange:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!h.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;i.fakeGestureMoved=!0,s.scaleMove=he.getDistanceBetweenTouches(e)}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=h.gestures?e.scale*i.currentScale:s.scaleMove/s.scaleStart*i.currentScale,i.scale>s.maxRatio&&(i.scale=s.maxRatio-1+Math.pow(i.scale-s.maxRatio+1,.5)),i.scale<t.minRatio&&(i.scale=t.minRatio+1-Math.pow(t.minRatio-i.scale+1,.5)),s.$imageEl.transform("translate3d(0,0,0) scale("+i.scale+")"))},onGestureEnd:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!h.gestures){if(!i.fakeGestureTouched||!i.fakeGestureMoved)return;if("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2&&!A.android)return;i.fakeGestureTouched=!1,i.fakeGestureMoved=!1}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=Math.max(Math.min(i.scale,s.maxRatio),t.minRatio),s.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale("+i.scale+")"),i.currentScale=i.scale,i.isScaling=!1,1===i.scale&&(s.$slideEl=void 0))},onTouchStart:function(e){var t=this.zoom,i=t.gesture,s=t.image;i.$imageEl&&0!==i.$imageEl.length&&(s.isTouched||(A.android&&e.cancelable&&e.preventDefault(),s.isTouched=!0,s.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))},onTouchMove:function(e){var t=this.zoom,i=t.gesture,s=t.image,a=t.velocity;if(i.$imageEl&&0!==i.$imageEl.length&&(this.allowClick=!1,s.isTouched&&i.$slideEl)){s.isMoved||(s.width=i.$imageEl[0].offsetWidth,s.height=i.$imageEl[0].offsetHeight,s.startX=d.getTranslate(i.$imageWrapEl[0],"x")||0,s.startY=d.getTranslate(i.$imageWrapEl[0],"y")||0,i.slideWidth=i.$slideEl[0].offsetWidth,i.slideHeight=i.$slideEl[0].offsetHeight,i.$imageWrapEl.transition(0),this.rtl&&(s.startX=-s.startX,s.startY=-s.startY));var r=s.width*t.scale,n=s.height*t.scale;if(!(r<i.slideWidth&&n<i.slideHeight)){if(s.minX=Math.min(i.slideWidth/2-r/2,0),s.maxX=-s.minX,s.minY=Math.min(i.slideHeight/2-n/2,0),s.maxY=-s.minY,s.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!s.isMoved&&!t.isScaling){if(this.isHorizontal()&&(Math.floor(s.minX)===Math.floor(s.startX)&&s.touchesCurrent.x<s.touchesStart.x||Math.floor(s.maxX)===Math.floor(s.startX)&&s.touchesCurrent.x>s.touchesStart.x))return void(s.isTouched=!1);if(!this.isHorizontal()&&(Math.floor(s.minY)===Math.floor(s.startY)&&s.touchesCurrent.y<s.touchesStart.y||Math.floor(s.maxY)===Math.floor(s.startY)&&s.touchesCurrent.y>s.touchesStart.y))return void(s.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),s.isMoved=!0,s.currentX=s.touchesCurrent.x-s.touchesStart.x+s.startX,s.currentY=s.touchesCurrent.y-s.touchesStart.y+s.startY,s.currentX<s.minX&&(s.currentX=s.minX+1-Math.pow(s.minX-s.currentX+1,.8)),s.currentX>s.maxX&&(s.currentX=s.maxX-1+Math.pow(s.currentX-s.maxX+1,.8)),s.currentY<s.minY&&(s.currentY=s.minY+1-Math.pow(s.minY-s.currentY+1,.8)),s.currentY>s.maxY&&(s.currentY=s.maxY-1+Math.pow(s.currentY-s.maxY+1,.8)),a.prevPositionX||(a.prevPositionX=s.touchesCurrent.x),a.prevPositionY||(a.prevPositionY=s.touchesCurrent.y),a.prevTime||(a.prevTime=Date.now()),a.x=(s.touchesCurrent.x-a.prevPositionX)/(Date.now()-a.prevTime)/2,a.y=(s.touchesCurrent.y-a.prevPositionY)/(Date.now()-a.prevTime)/2,Math.abs(s.touchesCurrent.x-a.prevPositionX)<2&&(a.x=0),Math.abs(s.touchesCurrent.y-a.prevPositionY)<2&&(a.y=0),a.prevPositionX=s.touchesCurrent.x,a.prevPositionY=s.touchesCurrent.y,a.prevTime=Date.now(),i.$imageWrapEl.transform("translate3d("+s.currentX+"px, "+s.currentY+"px,0)")}}},onTouchEnd:function(){var e=this.zoom,t=e.gesture,i=e.image,s=e.velocity;if(t.$imageEl&&0!==t.$imageEl.length){if(!i.isTouched||!i.isMoved)return i.isTouched=!1,void(i.isMoved=!1);i.isTouched=!1,i.isMoved=!1;var a=300,r=300,n=s.x*a,o=i.currentX+n,l=s.y*r,d=i.currentY+l;0!==s.x&&(a=Math.abs((o-i.currentX)/s.x)),0!==s.y&&(r=Math.abs((d-i.currentY)/s.y));var h=Math.max(a,r);i.currentX=o,i.currentY=d;var p=i.width*e.scale,c=i.height*e.scale;i.minX=Math.min(t.slideWidth/2-p/2,0),i.maxX=-i.minX,i.minY=Math.min(t.slideHeight/2-c/2,0),i.maxY=-i.minY,i.currentX=Math.max(Math.min(i.currentX,i.maxX),i.minX),i.currentY=Math.max(Math.min(i.currentY,i.maxY),i.minY),t.$imageWrapEl.transition(h).transform("translate3d("+i.currentX+"px, "+i.currentY+"px,0)")}},onTransitionEnd:function(){var e=this.zoom,t=e.gesture;t.$slideEl&&this.previousIndex!==this.activeIndex&&(t.$imageEl&&t.$imageEl.transform("translate3d(0,0,0) scale(1)"),t.$imageWrapEl&&t.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,e.currentScale=1,t.$slideEl=void 0,t.$imageEl=void 0,t.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,i,s,a,r,n,o,l,d,h,p,c,u,v,f,m,g=this.zoom,b=this.params.zoom,w=g.gesture,y=g.image;w.$slideEl||(this.params.virtual&&this.params.virtual.enabled&&this.virtual?w.$slideEl=this.$wrapperEl.children("."+this.params.slideActiveClass):w.$slideEl=this.slides.eq(this.activeIndex),w.$imageEl=w.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),w.$imageWrapEl=w.$imageEl.parent("."+b.containerClass)),w.$imageEl&&0!==w.$imageEl.length&&(w.$slideEl.addClass(""+b.zoomedSlideClass),void 0===y.touchesStart.x&&e?(t="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,i="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(t=y.touchesStart.x,i=y.touchesStart.y),g.scale=w.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,g.currentScale=w.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,e?(f=w.$slideEl[0].offsetWidth,m=w.$slideEl[0].offsetHeight,s=w.$slideEl.offset().left+f/2-t,a=w.$slideEl.offset().top+m/2-i,o=w.$imageEl[0].offsetWidth,l=w.$imageEl[0].offsetHeight,d=o*g.scale,h=l*g.scale,u=-(p=Math.min(f/2-d/2,0)),v=-(c=Math.min(m/2-h/2,0)),(r=s*g.scale)<p&&(r=p),r>u&&(r=u),(n=a*g.scale)<c&&(n=c),n>v&&(n=v)):(r=0,n=0),w.$imageWrapEl.transition(300).transform("translate3d("+r+"px, "+n+"px,0)"),w.$imageEl.transition(300).transform("translate3d(0,0,0) scale("+g.scale+")"))},out:function(){var e=this.zoom,t=this.params.zoom,i=e.gesture;i.$slideEl||(this.params.virtual&&this.params.virtual.enabled&&this.virtual?i.$slideEl=this.$wrapperEl.children("."+this.params.slideActiveClass):i.$slideEl=this.slides.eq(this.activeIndex),i.$imageEl=i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),i.$imageWrapEl=i.$imageEl.parent("."+t.containerClass)),i.$imageEl&&0!==i.$imageEl.length&&(e.scale=1,e.currentScale=1,i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),i.$slideEl.removeClass(""+t.zoomedSlideClass),i.$slideEl=void 0)},enable:function(){var e=this.zoom;if(!e.enabled){e.enabled=!0;var t=!("touchstart"!==this.touchEvents.start||!h.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!h.passiveListener||{passive:!1,capture:!0},s="."+this.params.slideClass;h.gestures?(this.$wrapperEl.on("gesturestart",s,e.onGestureStart,t),this.$wrapperEl.on("gesturechange",s,e.onGestureChange,t),this.$wrapperEl.on("gestureend",s,e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.on(this.touchEvents.start,s,e.onGestureStart,t),this.$wrapperEl.on(this.touchEvents.move,s,e.onGestureChange,i),this.$wrapperEl.on(this.touchEvents.end,s,e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.on(this.touchEvents.cancel,s,e.onGestureEnd,t)),this.$wrapperEl.on(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}},disable:function(){var e=this.zoom;if(e.enabled){this.zoom.enabled=!1;var t=!("touchstart"!==this.touchEvents.start||!h.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!h.passiveListener||{passive:!1,capture:!0},s="."+this.params.slideClass;h.gestures?(this.$wrapperEl.off("gesturestart",s,e.onGestureStart,t),this.$wrapperEl.off("gesturechange",s,e.onGestureChange,t),this.$wrapperEl.off("gestureend",s,e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.off(this.touchEvents.start,s,e.onGestureStart,t),this.$wrapperEl.off(this.touchEvents.move,s,e.onGestureChange,i),this.$wrapperEl.off(this.touchEvents.end,s,e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.off(this.touchEvents.cancel,s,e.onGestureEnd,t)),this.$wrapperEl.off(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}}},pe={loadInSlide:function(e,t){void 0===t&&(t=!0);var i=this,s=i.params.lazy;if(void 0!==e&&0!==i.slides.length){var a=i.virtual&&i.params.virtual.enabled?i.$wrapperEl.children("."+i.params.slideClass+'[data-swiper-slide-index="'+e+'"]'):i.slides.eq(e),r=a.find("."+s.elementClass+":not(."+s.loadedClass+"):not(."+s.loadingClass+")");!a.hasClass(s.elementClass)||a.hasClass(s.loadedClass)||a.hasClass(s.loadingClass)||(r=r.add(a[0])),0!==r.length&&r.each((function(e,r){var o=n(r);o.addClass(s.loadingClass);var l=o.attr("data-background"),d=o.attr("data-src"),h=o.attr("data-srcset"),p=o.attr("data-sizes"),c=o.parent("picture");i.loadImage(o[0],d||l,h,p,!1,(function(){if(null!=i&&i&&(!i||i.params)&&!i.destroyed){if(l?(o.css("background-image",'url("'+l+'")'),o.removeAttr("data-background")):(h&&(o.attr("srcset",h),o.removeAttr("data-srcset")),p&&(o.attr("sizes",p),o.removeAttr("data-sizes")),c.length&&c.children("source").each((function(e,t){var i=n(t);i.attr("data-srcset")&&(i.attr("srcset",i.attr("data-srcset")),i.removeAttr("data-srcset"))})),d&&(o.attr("src",d),o.removeAttr("data-src"))),o.addClass(s.loadedClass).removeClass(s.loadingClass),a.find("."+s.preloaderClass).remove(),i.params.loop&&t){var e=a.attr("data-swiper-slide-index");if(a.hasClass(i.params.slideDuplicateClass)){var r=i.$wrapperEl.children('[data-swiper-slide-index="'+e+'"]:not(.'+i.params.slideDuplicateClass+")");i.lazy.loadInSlide(r.index(),!1)}else{var u=i.$wrapperEl.children("."+i.params.slideDuplicateClass+'[data-swiper-slide-index="'+e+'"]');i.lazy.loadInSlide(u.index(),!1)}}i.emit("lazyImageReady",a[0],o[0]),i.params.autoHeight&&i.updateAutoHeight()}})),i.emit("lazyImageLoad",a[0],o[0])}))}},load:function(){var e=this,t=e.$wrapperEl,i=e.params,s=e.slides,a=e.activeIndex,r=e.virtual&&i.virtual.enabled,o=i.lazy,l=i.slidesPerView;function d(e){if(r){if(t.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]').length)return!0}else if(s[e])return!0;return!1}function h(e){return r?n(e).attr("data-swiper-slide-index"):n(e).index()}if("auto"===l&&(l=0),e.lazy.initialImageLoaded||(e.lazy.initialImageLoaded=!0),e.params.watchSlidesVisibility)t.children("."+i.slideVisibleClass).each((function(t,i){var s=r?n(i).attr("data-swiper-slide-index"):n(i).index();e.lazy.loadInSlide(s)}));else if(l>1)for(var p=a;p<a+l;p+=1)d(p)&&e.lazy.loadInSlide(p);else e.lazy.loadInSlide(a);if(o.loadPrevNext)if(l>1||o.loadPrevNextAmount&&o.loadPrevNextAmount>1){for(var c=o.loadPrevNextAmount,u=l,v=Math.min(a+u+Math.max(c,u),s.length),f=Math.max(a-Math.max(u,c),0),m=a+l;m<v;m+=1)d(m)&&e.lazy.loadInSlide(m);for(var g=f;g<a;g+=1)d(g)&&e.lazy.loadInSlide(g)}else{var b=t.children("."+i.slideNextClass);b.length>0&&e.lazy.loadInSlide(h(b));var w=t.children("."+i.slidePrevClass);w.length>0&&e.lazy.loadInSlide(h(w))}}},ce={LinearSpline:function(e,t){var i,s,a,r,n,o=function(e,t){for(s=-1,i=e.length;i-s>1;)e[a=i+s>>1]<=t?s=a:i=a;return i};return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(n=o(this.x,e),r=n-1,(e-this.x[r])*(this.y[n]-this.y[r])/(this.x[n]-this.x[r])+this.y[r]):0},this},getInterpolateFunction:function(e){this.controller.spline||(this.controller.spline=this.params.loop?new ce.LinearSpline(this.slidesGrid,e.slidesGrid):new ce.LinearSpline(this.snapGrid,e.snapGrid))},setTranslate:function(e,t){var i,s,a=this,r=a.controller.control;function n(e){var t=a.rtlTranslate?-a.translate:a.translate;"slide"===a.params.controller.by&&(a.controller.getInterpolateFunction(e),s=-a.controller.spline.interpolate(-t)),s&&"container"!==a.params.controller.by||(i=(e.maxTranslate()-e.minTranslate())/(a.maxTranslate()-a.minTranslate()),s=(t-a.minTranslate())*i+e.minTranslate()),a.params.controller.inverse&&(s=e.maxTranslate()-s),e.updateProgress(s),e.setTranslate(s,a),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(r))for(var o=0;o<r.length;o+=1)r[o]!==t&&r[o]instanceof j&&n(r[o]);else r instanceof j&&t!==r&&n(r)},setTransition:function(e,t){var i,s=this,a=s.controller.control;function r(t){t.setTransition(e,s),0!==e&&(t.transitionStart(),t.params.autoHeight&&d.nextTick((function(){t.updateAutoHeight()})),t.$wrapperEl.transitionEnd((function(){a&&(t.params.loop&&"slide"===s.params.controller.by&&t.loopFix(),t.transitionEnd())})))}if(Array.isArray(a))for(i=0;i<a.length;i+=1)a[i]!==t&&a[i]instanceof j&&r(a[i]);else a instanceof j&&t!==a&&r(a)}},ue={makeElFocusable:function(e){return e.attr("tabIndex","0"),e},makeElNotFocusable:function(e){return e.attr("tabIndex","-1"),e},addElRole:function(e,t){return e.attr("role",t),e},addElLabel:function(e,t){return e.attr("aria-label",t),e},disableEl:function(e){return e.attr("aria-disabled",!0),e},enableEl:function(e){return e.attr("aria-disabled",!1),e},onEnterKey:function(e){var t=this.params.a11y;if(13===e.keyCode){var i=n(e.target);this.navigation&&this.navigation.$nextEl&&i.is(this.navigation.$nextEl)&&(this.isEnd&&!this.params.loop||this.slideNext(),this.isEnd?this.a11y.notify(t.lastSlideMessage):this.a11y.notify(t.nextSlideMessage)),this.navigation&&this.navigation.$prevEl&&i.is(this.navigation.$prevEl)&&(this.isBeginning&&!this.params.loop||this.slidePrev(),this.isBeginning?this.a11y.notify(t.firstSlideMessage):this.a11y.notify(t.prevSlideMessage)),this.pagination&&i.is("."+this.params.pagination.bulletClass)&&i[0].click()}},notify:function(e){var t=this.a11y.liveRegion;0!==t.length&&(t.html(""),t.html(e))},updateNavigation:function(){if(!this.params.loop&&this.navigation){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;i&&i.length>0&&(this.isBeginning?(this.a11y.disableEl(i),this.a11y.makeElNotFocusable(i)):(this.a11y.enableEl(i),this.a11y.makeElFocusable(i))),t&&t.length>0&&(this.isEnd?(this.a11y.disableEl(t),this.a11y.makeElNotFocusable(t)):(this.a11y.enableEl(t),this.a11y.makeElFocusable(t)))}},updatePagination:function(){var e=this,t=e.params.a11y;e.pagination&&e.params.pagination.clickable&&e.pagination.bullets&&e.pagination.bullets.length&&e.pagination.bullets.each((function(i,s){var a=n(s);e.a11y.makeElFocusable(a),e.a11y.addElRole(a,"button"),e.a11y.addElLabel(a,t.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1))}))},init:function(){this.$el.append(this.a11y.liveRegion);var e,t,i=this.params.a11y;this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&(this.a11y.makeElFocusable(e),this.a11y.addElRole(e,"button"),this.a11y.addElLabel(e,i.nextSlideMessage),e.on("keydown",this.a11y.onEnterKey)),t&&(this.a11y.makeElFocusable(t),this.a11y.addElRole(t,"button"),this.a11y.addElLabel(t,i.prevSlideMessage),t.on("keydown",this.a11y.onEnterKey)),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.on("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)},destroy:function(){var e,t;this.a11y.liveRegion&&this.a11y.liveRegion.length>0&&this.a11y.liveRegion.remove(),this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&e.off("keydown",this.a11y.onEnterKey),t&&t.off("keydown",this.a11y.onEnterKey),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.off("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)}},ve={init:function(){if(this.params.history){if(!a.history||!a.history.pushState)return this.params.history.enabled=!1,void(this.params.hashNavigation.enabled=!0);var e=this.history;e.initialized=!0,e.paths=ve.getPathValues(),(e.paths.key||e.paths.value)&&(e.scrollToSlide(0,e.paths.value,this.params.runCallbacksOnInit),this.params.history.replaceState||a.addEventListener("popstate",this.history.setHistoryPopState))}},destroy:function(){this.params.history.replaceState||a.removeEventListener("popstate",this.history.setHistoryPopState)},setHistoryPopState:function(){this.history.paths=ve.getPathValues(),this.history.scrollToSlide(this.params.speed,this.history.paths.value,!1)},getPathValues:function(){var e=a.location.pathname.slice(1).split("/").filter((function(e){return""!==e})),t=e.length;return{key:e[t-2],value:e[t-1]}},setHistory:function(e,t){if(this.history.initialized&&this.params.history.enabled){var i=this.slides.eq(t),s=ve.slugify(i.attr("data-history"));a.location.pathname.includes(e)||(s=e+"/"+s);var r=a.history.state;r&&r.value===s||(this.params.history.replaceState?a.history.replaceState({value:s},null,s):a.history.pushState({value:s},null,s))}},slugify:function(e){return e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},scrollToSlide:function(e,t,i){if(t)for(var s=0,a=this.slides.length;s<a;s+=1){var r=this.slides.eq(s);if(ve.slugify(r.attr("data-history"))===t&&!r.hasClass(this.params.slideDuplicateClass)){var n=r.index();this.slideTo(n,e,i)}}else this.slideTo(0,e,i)}},fe={onHashCange:function(){this.emit("hashChange");var e=i.location.hash.replace("#","");if(e!==this.slides.eq(this.activeIndex).attr("data-hash")){var t=this.$wrapperEl.children("."+this.params.slideClass+'[data-hash="'+e+'"]').index();if(void 0===t)return;this.slideTo(t)}},setHash:function(){if(this.hashNavigation.initialized&&this.params.hashNavigation.enabled)if(this.params.hashNavigation.replaceState&&a.history&&a.history.replaceState)a.history.replaceState(null,null,"#"+this.slides.eq(this.activeIndex).attr("data-hash")||""),this.emit("hashSet");else{var e=this.slides.eq(this.activeIndex),t=e.attr("data-hash")||e.attr("data-history");i.location.hash=t||"",this.emit("hashSet")}},init:function(){if(!(!this.params.hashNavigation.enabled||this.params.history&&this.params.history.enabled)){this.hashNavigation.initialized=!0;var e=i.location.hash.replace("#","");if(e)for(var t=0,s=this.slides.length;t<s;t+=1){var r=this.slides.eq(t);if((r.attr("data-hash")||r.attr("data-history"))===e&&!r.hasClass(this.params.slideDuplicateClass)){var o=r.index();this.slideTo(o,0,this.params.runCallbacksOnInit,!0)}}this.params.hashNavigation.watchState&&n(a).on("hashchange",this.hashNavigation.onHashCange)}},destroy:function(){this.params.hashNavigation.watchState&&n(a).off("hashchange",this.hashNavigation.onHashCange)}},me={run:function(){var e=this,t=e.slides.eq(e.activeIndex),i=e.params.autoplay.delay;t.attr("data-swiper-autoplay")&&(i=t.attr("data-swiper-autoplay")||e.params.autoplay.delay),clearTimeout(e.autoplay.timeout),e.autoplay.timeout=d.nextTick((function(){e.params.autoplay.reverseDirection?e.params.loop?(e.loopFix(),e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.isBeginning?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(e.slides.length-1,e.params.speed,!0,!0),e.emit("autoplay")):(e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.params.loop?(e.loopFix(),e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")):e.isEnd?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(0,e.params.speed,!0,!0),e.emit("autoplay")):(e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")),e.params.cssMode&&e.autoplay.running&&e.autoplay.run()}),i)},start:function(){return void 0===this.autoplay.timeout&&!this.autoplay.running&&(this.autoplay.running=!0,this.emit("autoplayStart"),this.autoplay.run(),!0)},stop:function(){return!!this.autoplay.running&&void 0!==this.autoplay.timeout&&(this.autoplay.timeout&&(clearTimeout(this.autoplay.timeout),this.autoplay.timeout=void 0),this.autoplay.running=!1,this.emit("autoplayStop"),!0)},pause:function(e){this.autoplay.running&&(this.autoplay.paused||(this.autoplay.timeout&&clearTimeout(this.autoplay.timeout),this.autoplay.paused=!0,0!==e&&this.params.autoplay.waitForTransition?(this.$wrapperEl[0].addEventListener("transitionend",this.autoplay.onTransitionEnd),this.$wrapperEl[0].addEventListener("webkitTransitionEnd",this.autoplay.onTransitionEnd)):(this.autoplay.paused=!1,this.autoplay.run())))}},ge={setTranslate:function(){for(var e=this.slides,t=0;t<e.length;t+=1){var i=this.slides.eq(t),s=-i[0].swiperSlideOffset;this.params.virtualTranslate||(s-=this.translate);var a=0;this.isHorizontal()||(a=s,s=0);var r=this.params.fadeEffect.crossFade?Math.max(1-Math.abs(i[0].progress),0):1+Math.min(Math.max(i[0].progress,-1),0);i.css({opacity:r}).transform("translate3d("+s+"px, "+a+"px, 0px)")}},setTransition:function(e){var t=this,i=t.slides,s=t.$wrapperEl;if(i.transition(e),t.params.virtualTranslate&&0!==e){var a=!1;i.transitionEnd((function(){if(!a&&t&&!t.destroyed){a=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)s.trigger(e[i])}}))}}},be={setTranslate:function(){var e,t=this.$el,i=this.$wrapperEl,s=this.slides,a=this.width,r=this.height,o=this.rtlTranslate,l=this.size,d=this.params.cubeEffect,h=this.isHorizontal(),p=this.virtual&&this.params.virtual.enabled,c=0;d.shadow&&(h?(0===(e=i.find(".swiper-cube-shadow")).length&&(e=n('<div class="swiper-cube-shadow"></div>'),i.append(e)),e.css({height:a+"px"})):0===(e=t.find(".swiper-cube-shadow")).length&&(e=n('<div class="swiper-cube-shadow"></div>'),t.append(e)));for(var u=0;u<s.length;u+=1){var v=s.eq(u),f=u;p&&(f=parseInt(v.attr("data-swiper-slide-index"),10));var m=90*f,g=Math.floor(m/360);o&&(m=-m,g=Math.floor(-m/360));var b=Math.max(Math.min(v[0].progress,1),-1),w=0,y=0,x=0;f%4==0?(w=4*-g*l,x=0):(f-1)%4==0?(w=0,x=4*-g*l):(f-2)%4==0?(w=l+4*g*l,x=l):(f-3)%4==0&&(w=-l,x=3*l+4*l*g),o&&(w=-w),h||(y=w,w=0);var E="rotateX("+(h?0:-m)+"deg) rotateY("+(h?m:0)+"deg) translate3d("+w+"px, "+y+"px, "+x+"px)";if(b<=1&&b>-1&&(c=90*f+90*b,o&&(c=90*-f-90*b)),v.transform(E),d.slideShadows){var T=h?v.find(".swiper-slide-shadow-left"):v.find(".swiper-slide-shadow-top"),S=h?v.find(".swiper-slide-shadow-right"):v.find(".swiper-slide-shadow-bottom");0===T.length&&(T=n('<div class="swiper-slide-shadow-'+(h?"left":"top")+'"></div>'),v.append(T)),0===S.length&&(S=n('<div class="swiper-slide-shadow-'+(h?"right":"bottom")+'"></div>'),v.append(S)),T.length&&(T[0].style.opacity=Math.max(-b,0)),S.length&&(S[0].style.opacity=Math.max(b,0))}}if(i.css({"-webkit-transform-origin":"50% 50% -"+l/2+"px","-moz-transform-origin":"50% 50% -"+l/2+"px","-ms-transform-origin":"50% 50% -"+l/2+"px","transform-origin":"50% 50% -"+l/2+"px"}),d.shadow)if(h)e.transform("translate3d(0px, "+(a/2+d.shadowOffset)+"px, "+-a/2+"px) rotateX(90deg) rotateZ(0deg) scale("+d.shadowScale+")");else{var C=Math.abs(c)-90*Math.floor(Math.abs(c)/90),M=1.5-(Math.sin(2*C*Math.PI/360)/2+Math.cos(2*C*Math.PI/360)/2),P=d.shadowScale,z=d.shadowScale/M,k=d.shadowOffset;e.transform("scale3d("+P+", 1, "+z+") translate3d(0px, "+(r/2+k)+"px, "+-r/2/z+"px) rotateX(-90deg)")}var $=_.isSafari||_.isWebView?-l/2:0;i.transform("translate3d(0px,0,"+$+"px) rotateX("+(this.isHorizontal()?0:c)+"deg) rotateY("+(this.isHorizontal()?-c:0)+"deg)")},setTransition:function(e){var t=this.$el;this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),this.params.cubeEffect.shadow&&!this.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)}},we={setTranslate:function(){for(var e=this.slides,t=this.rtlTranslate,i=0;i<e.length;i+=1){var s=e.eq(i),a=s[0].progress;this.params.flipEffect.limitRotation&&(a=Math.max(Math.min(s[0].progress,1),-1));var r=-180*a,o=0,l=-s[0].swiperSlideOffset,d=0;if(this.isHorizontal()?t&&(r=-r):(d=l,l=0,o=-r,r=0),s[0].style.zIndex=-Math.abs(Math.round(a))+e.length,this.params.flipEffect.slideShadows){var h=this.isHorizontal()?s.find(".swiper-slide-shadow-left"):s.find(".swiper-slide-shadow-top"),p=this.isHorizontal()?s.find(".swiper-slide-shadow-right"):s.find(".swiper-slide-shadow-bottom");0===h.length&&(h=n('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"left":"top")+'"></div>'),s.append(h)),0===p.length&&(p=n('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"right":"bottom")+'"></div>'),s.append(p)),h.length&&(h[0].style.opacity=Math.max(-a,0)),p.length&&(p[0].style.opacity=Math.max(a,0))}s.transform("translate3d("+l+"px, "+d+"px, 0px) rotateX("+o+"deg) rotateY("+r+"deg)")}},setTransition:function(e){var t=this,i=t.slides,s=t.activeIndex,a=t.$wrapperEl;if(i.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.virtualTranslate&&0!==e){var r=!1;i.eq(s).transitionEnd((function(){if(!r&&t&&!t.destroyed){r=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)a.trigger(e[i])}}))}}},ye={setTranslate:function(){for(var e=this.width,t=this.height,i=this.slides,s=this.$wrapperEl,a=this.slidesSizesGrid,r=this.params.coverflowEffect,o=this.isHorizontal(),l=this.translate,d=o?e/2-l:t/2-l,p=o?r.rotate:-r.rotate,c=r.depth,u=0,v=i.length;u<v;u+=1){var f=i.eq(u),m=a[u],g=(d-f[0].swiperSlideOffset-m/2)/m*r.modifier,b=o?p*g:0,w=o?0:p*g,y=-c*Math.abs(g),x=r.stretch;"string"==typeof x&&-1!==x.indexOf("%")&&(x=parseFloat(r.stretch)/100*m);var E=o?0:x*g,T=o?x*g:0,S=1-(1-r.scale)*Math.abs(g);Math.abs(T)<.001&&(T=0),Math.abs(E)<.001&&(E=0),Math.abs(y)<.001&&(y=0),Math.abs(b)<.001&&(b=0),Math.abs(w)<.001&&(w=0),Math.abs(S)<.001&&(S=0);var C="translate3d("+T+"px,"+E+"px,"+y+"px) rotateX("+w+"deg) rotateY("+b+"deg) scale("+S+")";if(f.transform(C),f[0].style.zIndex=1-Math.abs(Math.round(g)),r.slideShadows){var M=o?f.find(".swiper-slide-shadow-left"):f.find(".swiper-slide-shadow-top"),P=o?f.find(".swiper-slide-shadow-right"):f.find(".swiper-slide-shadow-bottom");0===M.length&&(M=n('<div class="swiper-slide-shadow-'+(o?"left":"top")+'"></div>'),f.append(M)),0===P.length&&(P=n('<div class="swiper-slide-shadow-'+(o?"right":"bottom")+'"></div>'),f.append(P)),M.length&&(M[0].style.opacity=g>0?g:0),P.length&&(P[0].style.opacity=-g>0?-g:0)}}(h.pointerEvents||h.prefixedPointerEvents)&&(s[0].style.perspectiveOrigin=d+"px 50%")},setTransition:function(e){this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}},xe={init:function(){var e=this.params.thumbs,t=this.constructor;e.swiper instanceof t?(this.thumbs.swiper=e.swiper,d.extend(this.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),d.extend(this.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1})):d.isObject(e.swiper)&&(this.thumbs.swiper=new t(d.extend({},e.swiper,{watchSlidesVisibility:!0,watchSlidesProgress:!0,slideToClickedSlide:!1})),this.thumbs.swiperCreated=!0),this.thumbs.swiper.$el.addClass(this.params.thumbs.thumbsContainerClass),this.thumbs.swiper.on("tap",this.thumbs.onThumbClick)},onThumbClick:function(){var e=this.thumbs.swiper;if(e){var t=e.clickedIndex,i=e.clickedSlide;if(!(i&&n(i).hasClass(this.params.thumbs.slideThumbActiveClass)||null==t)){var s;if(s=e.params.loop?parseInt(n(e.clickedSlide).attr("data-swiper-slide-index"),10):t,this.params.loop){var a=this.activeIndex;this.slides.eq(a).hasClass(this.params.slideDuplicateClass)&&(this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft,a=this.activeIndex);var r=this.slides.eq(a).prevAll('[data-swiper-slide-index="'+s+'"]').eq(0).index(),o=this.slides.eq(a).nextAll('[data-swiper-slide-index="'+s+'"]').eq(0).index();s=void 0===r?o:void 0===o?r:o-a<a-r?o:r}this.slideTo(s)}}},update:function(e){var t=this.thumbs.swiper;if(t){var i="auto"===t.params.slidesPerView?t.slidesPerViewDynamic():t.params.slidesPerView,s=this.params.thumbs.autoScrollOffset,a=s&&!t.params.loop;if(this.realIndex!==t.realIndex||a){var r,n,o=t.activeIndex;if(t.params.loop){t.slides.eq(o).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,o=t.activeIndex);var l=t.slides.eq(o).prevAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index(),d=t.slides.eq(o).nextAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index();r=void 0===l?d:void 0===d?l:d-o==o-l?o:d-o<o-l?d:l,n=this.activeIndex>this.previousIndex?"next":"prev"}else n=(r=this.realIndex)>this.previousIndex?"next":"prev";a&&(r+="next"===n?s:-1*s),t.visibleSlidesIndexes&&t.visibleSlidesIndexes.indexOf(r)<0&&(t.params.centeredSlides?r=r>o?r-Math.floor(i/2)+1:r+Math.floor(i/2)-1:r>o&&(r=r-i+1),t.slideTo(r,e?0:void 0))}var h=1,p=this.params.thumbs.slideThumbActiveClass;if(this.params.slidesPerView>1&&!this.params.centeredSlides&&(h=this.params.slidesPerView),this.params.thumbs.multipleActiveThumbs||(h=1),h=Math.floor(h),t.slides.removeClass(p),t.params.loop||t.params.virtual&&t.params.virtual.enabled)for(var c=0;c<h;c+=1)t.$wrapperEl.children('[data-swiper-slide-index="'+(this.realIndex+c)+'"]').addClass(p);else for(var u=0;u<h;u+=1)t.slides.eq(this.realIndex+u).addClass(p)}}},Ee=[K,U,Z,Q,ee,ie,ae,{name:"mousewheel",params:{mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarged:"container"}},create:function(){d.extend(this,{mousewheel:{enabled:!1,enable:re.enable.bind(this),disable:re.disable.bind(this),handle:re.handle.bind(this),handleMouseEnter:re.handleMouseEnter.bind(this),handleMouseLeave:re.handleMouseLeave.bind(this),animateSlider:re.animateSlider.bind(this),releaseScroll:re.releaseScroll.bind(this),lastScrollTime:d.now(),lastEventBeforeSnap:void 0,recentWheelEvents:[]}})},on:{init:function(){!this.params.mousewheel.enabled&&this.params.cssMode&&this.mousewheel.disable(),this.params.mousewheel.enabled&&this.mousewheel.enable()},destroy:function(){this.params.cssMode&&this.mousewheel.enable(),this.mousewheel.enabled&&this.mousewheel.disable()}}},{name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){d.extend(this,{navigation:{init:ne.init.bind(this),update:ne.update.bind(this),destroy:ne.destroy.bind(this),onNextClick:ne.onNextClick.bind(this),onPrevClick:ne.onPrevClick.bind(this)}})},on:{init:function(){this.navigation.init(),this.navigation.update()},toEdge:function(){this.navigation.update()},fromEdge:function(){this.navigation.update()},destroy:function(){this.navigation.destroy()},click:function(e){var t,i=this.navigation,s=i.$nextEl,a=i.$prevEl;!this.params.navigation.hideOnClick||n(e.target).is(a)||n(e.target).is(s)||(s?t=s.hasClass(this.params.navigation.hiddenClass):a&&(t=a.hasClass(this.params.navigation.hiddenClass)),!0===t?this.emit("navigationShow",this):this.emit("navigationHide",this),s&&s.toggleClass(this.params.navigation.hiddenClass),a&&a.toggleClass(this.params.navigation.hiddenClass))}}},{name:"pagination",params:{pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:function(e){return e},formatFractionTotal:function(e){return e},bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",modifierClass:"swiper-pagination-",currentClass:"swiper-pagination-current",totalClass:"swiper-pagination-total",hiddenClass:"swiper-pagination-hidden",progressbarFillClass:"swiper-pagination-progressbar-fill",progressbarOppositeClass:"swiper-pagination-progressbar-opposite",clickableClass:"swiper-pagination-clickable",lockClass:"swiper-pagination-lock"}},create:function(){d.extend(this,{pagination:{init:oe.init.bind(this),render:oe.render.bind(this),update:oe.update.bind(this),destroy:oe.destroy.bind(this),dynamicBulletIndex:0}})},on:{init:function(){this.pagination.init(),this.pagination.render(),this.pagination.update()},activeIndexChange:function(){(this.params.loop||void 0===this.snapIndex)&&this.pagination.update()},snapIndexChange:function(){this.params.loop||this.pagination.update()},slidesLengthChange:function(){this.params.loop&&(this.pagination.render(),this.pagination.update())},snapGridLengthChange:function(){this.params.loop||(this.pagination.render(),this.pagination.update())},destroy:function(){this.pagination.destroy()},click:function(e){this.params.pagination.el&&this.params.pagination.hideOnClick&&this.pagination.$el.length>0&&!n(e.target).hasClass(this.params.pagination.bulletClass)&&(!0===this.pagination.$el.hasClass(this.params.pagination.hiddenClass)?this.emit("paginationShow",this):this.emit("paginationHide",this),this.pagination.$el.toggleClass(this.params.pagination.hiddenClass))}}},{name:"scrollbar",params:{scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}},create:function(){d.extend(this,{scrollbar:{init:le.init.bind(this),destroy:le.destroy.bind(this),updateSize:le.updateSize.bind(this),setTranslate:le.setTranslate.bind(this),setTransition:le.setTransition.bind(this),enableDraggable:le.enableDraggable.bind(this),disableDraggable:le.disableDraggable.bind(this),setDragPosition:le.setDragPosition.bind(this),getPointerPosition:le.getPointerPosition.bind(this),onDragStart:le.onDragStart.bind(this),onDragMove:le.onDragMove.bind(this),onDragEnd:le.onDragEnd.bind(this),isTouched:!1,timeout:null,dragTimeout:null}})},on:{init:function(){this.scrollbar.init(),this.scrollbar.updateSize(),this.scrollbar.setTranslate()},update:function(){this.scrollbar.updateSize()},resize:function(){this.scrollbar.updateSize()},observerUpdate:function(){this.scrollbar.updateSize()},setTranslate:function(){this.scrollbar.setTranslate()},setTransition:function(e){this.scrollbar.setTransition(e)},destroy:function(){this.scrollbar.destroy()}}},{name:"parallax",params:{parallax:{enabled:!1}},create:function(){d.extend(this,{parallax:{setTransform:de.setTransform.bind(this),setTranslate:de.setTranslate.bind(this),setTransition:de.setTransition.bind(this)}})},on:{beforeInit:function(){this.params.parallax.enabled&&(this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},init:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTranslate:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTransition:function(e){this.params.parallax.enabled&&this.parallax.setTransition(e)}}},{name:"zoom",params:{zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}},create:function(){var e=this,t={enabled:!1,scale:1,currentScale:1,isScaling:!1,gesture:{$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},image:{isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},velocity:{x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0}};"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach((function(i){t[i]=he[i].bind(e)})),d.extend(e,{zoom:t});var i=1;Object.defineProperty(e.zoom,"scale",{get:function(){return i},set:function(t){if(i!==t){var s=e.zoom.gesture.$imageEl?e.zoom.gesture.$imageEl[0]:void 0,a=e.zoom.gesture.$slideEl?e.zoom.gesture.$slideEl[0]:void 0;e.emit("zoomChange",t,s,a)}i=t}})},on:{init:function(){this.params.zoom.enabled&&this.zoom.enable()},destroy:function(){this.zoom.disable()},touchStart:function(e){this.zoom.enabled&&this.zoom.onTouchStart(e)},touchEnd:function(e){this.zoom.enabled&&this.zoom.onTouchEnd(e)},doubleTap:function(e){this.params.zoom.enabled&&this.zoom.enabled&&this.params.zoom.toggle&&this.zoom.toggle(e)},transitionEnd:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.zoom.onTransitionEnd()},slideChange:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.params.cssMode&&this.zoom.onTransitionEnd()}}},{name:"lazy",params:{lazy:{enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}},create:function(){d.extend(this,{lazy:{initialImageLoaded:!1,load:pe.load.bind(this),loadInSlide:pe.loadInSlide.bind(this)}})},on:{beforeInit:function(){this.params.lazy.enabled&&this.params.preloadImages&&(this.params.preloadImages=!1)},init:function(){this.params.lazy.enabled&&!this.params.loop&&0===this.params.initialSlide&&this.lazy.load()},scroll:function(){this.params.freeMode&&!this.params.freeModeSticky&&this.lazy.load()},resize:function(){this.params.lazy.enabled&&this.lazy.load()},scrollbarDragMove:function(){this.params.lazy.enabled&&this.lazy.load()},transitionStart:function(){this.params.lazy.enabled&&(this.params.lazy.loadOnTransitionStart||!this.params.lazy.loadOnTransitionStart&&!this.lazy.initialImageLoaded)&&this.lazy.load()},transitionEnd:function(){this.params.lazy.enabled&&!this.params.lazy.loadOnTransitionStart&&this.lazy.load()},slideChange:function(){this.params.lazy.enabled&&this.params.cssMode&&this.lazy.load()}}},{name:"controller",params:{controller:{control:void 0,inverse:!1,by:"slide"}},create:function(){d.extend(this,{controller:{control:this.params.controller.control,getInterpolateFunction:ce.getInterpolateFunction.bind(this),setTranslate:ce.setTranslate.bind(this),setTransition:ce.setTransition.bind(this)}})},on:{update:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},resize:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},observerUpdate:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},setTranslate:function(e,t){this.controller.control&&this.controller.setTranslate(e,t)},setTransition:function(e,t){this.controller.control&&this.controller.setTransition(e,t)}}},{name:"a11y",params:{a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}"}},create:function(){var e=this;d.extend(e,{a11y:{liveRegion:n('<span class="'+e.params.a11y.notificationClass+'" aria-live="assertive" aria-atomic="true"></span>')}}),Object.keys(ue).forEach((function(t){e.a11y[t]=ue[t].bind(e)}))},on:{init:function(){this.params.a11y.enabled&&(this.a11y.init(),this.a11y.updateNavigation())},toEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},fromEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},paginationUpdate:function(){this.params.a11y.enabled&&this.a11y.updatePagination()},destroy:function(){this.params.a11y.enabled&&this.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,replaceState:!1,key:"slides"}},create:function(){d.extend(this,{history:{init:ve.init.bind(this),setHistory:ve.setHistory.bind(this),setHistoryPopState:ve.setHistoryPopState.bind(this),scrollToSlide:ve.scrollToSlide.bind(this),destroy:ve.destroy.bind(this)}})},on:{init:function(){this.params.history.enabled&&this.history.init()},destroy:function(){this.params.history.enabled&&this.history.destroy()},transitionEnd:function(){this.history.initialized&&this.history.setHistory(this.params.history.key,this.activeIndex)},slideChange:function(){this.history.initialized&&this.params.cssMode&&this.history.setHistory(this.params.history.key,this.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){d.extend(this,{hashNavigation:{initialized:!1,init:fe.init.bind(this),destroy:fe.destroy.bind(this),setHash:fe.setHash.bind(this),onHashCange:fe.onHashCange.bind(this)}})},on:{init:function(){this.params.hashNavigation.enabled&&this.hashNavigation.init()},destroy:function(){this.params.hashNavigation.enabled&&this.hashNavigation.destroy()},transitionEnd:function(){this.hashNavigation.initialized&&this.hashNavigation.setHash()},slideChange:function(){this.hashNavigation.initialized&&this.params.cssMode&&this.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1}},create:function(){var e=this;d.extend(e,{autoplay:{running:!1,paused:!1,run:me.run.bind(e),start:me.start.bind(e),stop:me.stop.bind(e),pause:me.pause.bind(e),onVisibilityChange:function(){"hidden"===document.visibilityState&&e.autoplay.running&&e.autoplay.pause(),"visible"===document.visibilityState&&e.autoplay.paused&&(e.autoplay.run(),e.autoplay.paused=!1)},onTransitionEnd:function(t){e&&!e.destroyed&&e.$wrapperEl&&t.target===this&&(e.$wrapperEl[0].removeEventListener("transitionend",e.autoplay.onTransitionEnd),e.$wrapperEl[0].removeEventListener("webkitTransitionEnd",e.autoplay.onTransitionEnd),e.autoplay.paused=!1,e.autoplay.running?e.autoplay.run():e.autoplay.stop())}}})},on:{init:function(){this.params.autoplay.enabled&&(this.autoplay.start(),document.addEventListener("visibilitychange",this.autoplay.onVisibilityChange))},beforeTransitionStart:function(e,t){this.autoplay.running&&(t||!this.params.autoplay.disableOnInteraction?this.autoplay.pause(e):this.autoplay.stop())},sliderFirstMove:function(){this.autoplay.running&&(this.params.autoplay.disableOnInteraction?this.autoplay.stop():this.autoplay.pause())},touchEnd:function(){this.params.cssMode&&this.autoplay.paused&&!this.params.autoplay.disableOnInteraction&&this.autoplay.run()},destroy:function(){this.autoplay.running&&this.autoplay.stop(),document.removeEventListener("visibilitychange",this.autoplay.onVisibilityChange)}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){d.extend(this,{fadeEffect:{setTranslate:ge.setTranslate.bind(this),setTransition:ge.setTransition.bind(this)}})},on:{beforeInit:function(){if("fade"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"fade");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"fade"===this.params.effect&&this.fadeEffect.setTranslate()},setTransition:function(e){"fade"===this.params.effect&&this.fadeEffect.setTransition(e)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){d.extend(this,{cubeEffect:{setTranslate:be.setTranslate.bind(this),setTransition:be.setTransition.bind(this)}})},on:{beforeInit:function(){if("cube"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"cube"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"cube"===this.params.effect&&this.cubeEffect.setTranslate()},setTransition:function(e){"cube"===this.params.effect&&this.cubeEffect.setTransition(e)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){d.extend(this,{flipEffect:{setTranslate:we.setTranslate.bind(this),setTransition:we.setTransition.bind(this)}})},on:{beforeInit:function(){if("flip"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"flip"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"flip"===this.params.effect&&this.flipEffect.setTranslate()},setTransition:function(e){"flip"===this.params.effect&&this.flipEffect.setTransition(e)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}},create:function(){d.extend(this,{coverflowEffect:{setTranslate:ye.setTranslate.bind(this),setTransition:ye.setTransition.bind(this)}})},on:{beforeInit:function(){"coverflow"===this.params.effect&&(this.classNames.push(this.params.containerModifierClass+"coverflow"),this.classNames.push(this.params.containerModifierClass+"3d"),this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},setTranslate:function(){"coverflow"===this.params.effect&&this.coverflowEffect.setTranslate()},setTransition:function(e){"coverflow"===this.params.effect&&this.coverflowEffect.setTransition(e)}}},{name:"thumbs",params:{thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){d.extend(this,{thumbs:{swiper:null,init:xe.init.bind(this),update:xe.update.bind(this),onThumbClick:xe.onThumbClick.bind(this)}})},on:{beforeInit:function(){var e=this.params.thumbs;e&&e.swiper&&(this.thumbs.init(),this.thumbs.update(!0))},slideChange:function(){this.thumbs.swiper&&this.thumbs.update()},update:function(){this.thumbs.swiper&&this.thumbs.update()},resize:function(){this.thumbs.swiper&&this.thumbs.update()},observerUpdate:function(){this.thumbs.swiper&&this.thumbs.update()},setTransition:function(e){var t=this.thumbs.swiper;t&&t.setTransition(e)},beforeDestroy:function(){var e=this.thumbs.swiper;e&&this.thumbs.swiperCreated&&e&&e.destroy()}}}];return void 0===j.use&&(j.use=j.Class.use,j.installModule=j.Class.installModule),j.use(Ee),j}));
 
includes/class-twae-free-main.php ADDED
@@ -0,0 +1,160 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit; // Exit if accessed directly.
4
+ }
5
+
6
+ /**
7
+ * Plugin class.
8
+ *
9
+ * The main class that initiates and runs the addon.
10
+ *
11
+ * @since 1.0.0
12
+ */
13
+ final class TWAE_Free_Main {
14
+
15
+
16
+ /**
17
+ * Minimum PHP Version
18
+ *
19
+ * @since 1.0.0
20
+ * @var string Minimum PHP version required to run the addon.
21
+ */
22
+ const MINIMUM_PHP_VERSION = '5.6';
23
+
24
+ /**
25
+ * Instance
26
+ *
27
+ * @since 1.0.0
28
+ * @access private
29
+ * @static
30
+ * @var \Elementor_Test_Addon\Plugin The single instance of the class.
31
+ */
32
+ private static $_instance = null;
33
+
34
+ /**
35
+ * Instance
36
+ *
37
+ * Ensures only one instance of the class is loaded or can be loaded.
38
+ *
39
+ * @since 1.0.0
40
+ * @access public
41
+ * @static
42
+ * @return \Elementor_Test_Addon\Plugin An instance of the class.
43
+ */
44
+ public static function instance() {
45
+
46
+ if ( is_null( self::$_instance ) ) {
47
+ self::$_instance = new self();
48
+ }
49
+ return self::$_instance;
50
+
51
+ }
52
+
53
+ /**
54
+ * Constructor
55
+ *
56
+ * Perform some compatibility checks to make sure basic requirements are meet.
57
+ * If all compatibility checks pass, initialize the functionality.
58
+ *
59
+ * @since 1.0.0
60
+ * @access public
61
+ */
62
+ public function __construct() {
63
+
64
+ if ( $this->is_compatible() ) {
65
+ add_action( 'elementor/init', array( $this, 'init' ) );
66
+ // Add a custom category for panel widgets
67
+ add_action( 'elementor/init', array( $this, 'register_timeline_category' ) );
68
+ }
69
+
70
+ }
71
+ public function register_timeline_category() {
72
+
73
+ \Elementor\Plugin::$instance->elements_manager->add_category(
74
+ 'twae', // the name of the category
75
+ array(
76
+ 'title' => esc_html__( 'Timeline Widgets', 'twae' ),
77
+ 'icon' => 'fa fa-header', // default icon
78
+ ),
79
+ 1 // position
80
+ );
81
+ }
82
+
83
+ /**
84
+ * Compatibility Checks
85
+ *
86
+ * Checks whether the site meets the addon requirement.
87
+ *
88
+ * @since 1.0.0
89
+ * @access public
90
+ */
91
+ public function is_compatible() {
92
+
93
+ // Check for required PHP version
94
+ if ( version_compare( PHP_VERSION, self::MINIMUM_PHP_VERSION, '<' ) ) {
95
+ add_action( 'admin_notices', array( $this, 'admin_notice_minimum_php_version' ) );
96
+ return false;
97
+ }
98
+
99
+ return true;
100
+
101
+ }
102
+ /**
103
+ * Admin notice
104
+ *
105
+ * Warning when the site doesn't have a minimum required PHP version.
106
+ *
107
+ * @since 1.0.0
108
+ * @access public
109
+ */
110
+ public function admin_notice_minimum_php_version() {
111
+
112
+ if ( isset( $_GET['activate'] ) ) {
113
+ unset( $_GET['activate'] );
114
+ }
115
+
116
+ $message = sprintf(
117
+ /* translators: 1: Plugin name 2: PHP 3: Required PHP version */
118
+ esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'twae' ),
119
+ '<strong>' . esc_html__( 'Timeline Widget Pro For Elementor', 'twae' ) . '</strong>',
120
+ '<strong>' . esc_html__( 'PHP', 'twae' ) . '</strong>',
121
+ self::MINIMUM_PHP_VERSION
122
+ );
123
+
124
+ printf( '<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message );
125
+
126
+ }
127
+
128
+ /**
129
+ * Initialize
130
+ *
131
+ * Load the addons functionality only after Elementor is initialized.
132
+ *
133
+ * Fired by `elementor/init` action hook.
134
+ *
135
+ * @since 1.0.0
136
+ * @access public
137
+ */
138
+ public function init() {
139
+ add_action( 'elementor/widgets/register', array( $this, 'register_widgets' ) );
140
+ }
141
+
142
+ /**
143
+ * Register Widgets
144
+ *
145
+ * Load widgets files and register new Elementor widgets.
146
+ *
147
+ * Fired by `elementor/widgets/register` action hook.
148
+ *
149
+ * @param \Elementor\Widgets_Manager $widgets_manager Elementor widgets manager.
150
+ */
151
+ public function register_widgets( $widgets_manager ) {
152
+ require_once TWAE_PATH . 'widgets/twae-widget.php';
153
+ $widgets_manager->register( new TWAE_Widget() );
154
+
155
+
156
+ }
157
+
158
+
159
+
160
+ }
includes/class-twae.php CHANGED
@@ -30,7 +30,7 @@ class TWAE_WidgetClass {
30
  * @access public
31
  */
32
  public function __construct() {
33
- //add_filter( 'elementor/editor/localize_settings', [ $this, 'twae_localize_settings' ] );
34
  $this->twae_add_actions();
35
  add_action( 'elementor/editor/after_enqueue_styles', [ $this, 'twae_editor_styles' ] );
36
 
@@ -41,9 +41,9 @@ class TWAE_WidgetClass {
41
  'twae-editor-styles',
42
  TWAE_URL . 'assets/css/twae-editor.css',array());
43
 
44
- /* wp_enqueue_script(
45
  'twae-promotional-js',
46
- TWAE_URL . 'assets/js/twae-promotional.js',array()); */
47
  }
48
 
49
  public function twae_localize_settings($config)
@@ -58,15 +58,17 @@ class TWAE_WidgetClass {
58
  [
59
  'name' => 'twae-post-timeline',
60
  'title' => __('Post Timeline', 'twae'),
 
61
  'icon' => 'twae-pro eicon-time-line',
62
  'categories' => '["twae"]',
63
  ],
64
- [
65
  'name' => 'twae-process-timeline',
66
  'title' => __('Process Timeline', 'twae'),
 
67
  'icon' => 'twae-pro fa fa-sitemap',
68
  'categories' => '["twae"]',
69
- ],
70
  ]);
71
 
72
  $config['promotionWidgets'] = $combine_array;
30
  * @access public
31
  */
32
  public function __construct() {
33
+ add_filter( 'elementor/editor/localize_settings', [ $this, 'twae_localize_settings' ] );
34
  $this->twae_add_actions();
35
  add_action( 'elementor/editor/after_enqueue_styles', [ $this, 'twae_editor_styles' ] );
36
 
41
  'twae-editor-styles',
42
  TWAE_URL . 'assets/css/twae-editor.css',array());
43
 
44
+ /*wp_enqueue_script(
45
  'twae-promotional-js',
46
+ TWAE_URL . 'assets/js/twae-promotional.js',array()); */
47
  }
48
 
49
  public function twae_localize_settings($config)
58
  [
59
  'name' => 'twae-post-timeline',
60
  'title' => __('Post Timeline', 'twae'),
61
+ 'description'=>'it is testing fine here',
62
  'icon' => 'twae-pro eicon-time-line',
63
  'categories' => '["twae"]',
64
  ],
65
+ /* [
66
  'name' => 'twae-process-timeline',
67
  'title' => __('Process Timeline', 'twae'),
68
+ 'description'=>'it is testing fine here',
69
  'icon' => 'twae-pro fa fa-sitemap',
70
  'categories' => '["twae"]',
71
+ ], */
72
  ]);
73
 
74
  $config['promotionWidgets'] = $combine_array;
includes/twae-functions.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ //get icons
4
+ function twae_get_icons($icon_setting){
5
+ if(isset($icon_setting)){
6
+ ob_start();
7
+ \Elementor\Icons_Manager::render_icon( $icon_setting, [ 'aria-hidden' => 'true' ] );
8
+ $render_icon = ob_get_contents();
9
+ ob_end_clean();
10
+ return $render_icon;
11
+ }else{
12
+ return '<i class="far fa-clock"></i>';
13
+ }
14
+ }
15
+
readme.txt CHANGED
@@ -1,52 +1,52 @@
1
- === Elementor Timeline Widget Addon ===
2
  Contributors:narinder-singh,satindersingh,coolplugins
3
  Donate link: https://paypal.me/CoolPlugins/10USD/
4
  Tags:timeline,elementor,elementor timeline,elementor addon,elementor widgets,addons,roadmap,steps,event,history
5
- Requires at least:4.6
6
- Tested up to:6.0
7
  Requires PHP:5.6
8
- Stable tag:trunk
9
  License:GPLv2 or later
10
  License URI:http://www.gnu.org/licenses/gpl-2.0.html
11
 
12
  Elementor timeline widget addon will showcase your company history or life story in a vertical or horizontal timeline layout.
13
 
14
  == Description ==
15
- ### Vertical & Horizontal Timeline For Elementor
16
 
17
- Showcase your story or company history in precise and elegant way using powerful and advance **Timeline Widget Addon for Elementor**.
18
 
19
- Using this elementor addon you can create a beautiful timeline with a few clicks. It supports 3 timeline layouts:-
20
 
21
- * Vertical Timeline
 
22
  * Horizontal Timeline
23
- * One Sided Timeline (Vertical)
24
 
25
- These layouts also support advance settings and you can easily manage colors, icons, images and content inside your timeline story.
26
 
27
- **[⭐ View Demo](https://cooltimeline.com/timeline-widget-demo)** | **[⭐ Buy PRO](https://coolplugins.net/product/elementor-timeline-widget-pro-addon/?utm_source=wp_plugin_page)**
28
 
29
  https://youtu.be/YGpTusgTQJc
30
 
31
- It is really important to let your audience know about the history of your brand especially when you are promoting it through a website.Our plugin will help you to hightlight events and stories precise way.
32
 
33
- You can show history/future stories, events, appointments and many other cool things using Timeline Widgets plugin.
34
 
35
  ### 🌟 Here are all areas where you can use this plugin:-
36
 
 
37
  * Represent your company history.
38
  * Showcase tutorial/process steps in timeline format.
39
  * Create a program timeline.
40
  * Timeline is best way to represent history.
41
- * Create events / appointments timeline.
42
  * Job stories / achievements timeline.
43
  * Personal story timeline.
44
  * Work experience timeline
45
  * Step-by-step guide
46
  * Events Timeline
47
- * Product Roadmap &
48
  * Brand Story
49
- * History Timeline
50
 
51
  ### 🌟 Timeline Widget Features
52
 
@@ -54,17 +54,18 @@ You can show history/future stories, events, appointments and many other cool th
54
  * Easily manage timeline colors and add icons inside timeline.
55
  * Add story date/year or custom text as per your requirements.
56
  * Manage typography of story title, description and other fonts.
57
- * Add image inside your timeline story.
58
- * Support Elementor Inline editing feature.You can directly customize story title,description and date on Vertical Timeline layout.
59
 
60
- It is an **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)** Addon. In order to use this elementor addon you must have to install **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)**.
61
 
62
  ### 🌟 Timeline Widget PRO Features
63
 
64
- * **15+ Timeline Designs**
65
- Create beautiful vertical & horizontal timeline designs.
66
  * **Post Timeline**
67
  Show your blog posts in a timeline layout anywhere on the website.
 
 
68
  * **Animation Effect**
69
  It has 15+ animation effects, fade-in, flip-up, zoom, etc.
70
  * **Colors & Typography**
@@ -81,10 +82,10 @@ It is an **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)**
81
 
82
  ### Check our Timeline plugins demos
83
  <ul>
84
- <li><strong>Cool Timeline [Free]</strong>- <a href="https://free.cooltimeline.com" target="_blank">Cool Timeline Free Demo</a></li>
85
- <li><strong>Cool Timeline Pro [Pro]</strong>- <a href="https://cooltimeline.com/demo/" target="_blank">Cool Timeline PRO Demo</a></li>
86
- <li><strong>Timeline Block For Gutenberg [Free]</strong>- <a href="https://wordpress.org/plugins/timeline-block/" target="_blank">Check It | <a href="https://free.cooltimeline.com/cool-timeline-instant-builder/">View Demo</a></a></li>
87
- <li><strong>Timeline Builder PRO [PRO]</strong>- <a href="https://cooltimeline.com/timeline-builder-pro-demo/">View Demo</a> </li>
88
  </ul>
89
 
90
  **📌 Cool Timeline - #1 Timeline Plugin (200000+ Downloads)**
@@ -97,19 +98,20 @@ Cool Timeline is a responsive WordPress timeline plugin based on WordPress post-
97
 
98
  Cool Timeline automatically showcase timeline stories post-type posts in any ASC or DESC order, based on the year and date of stories.
99
 
100
- **[⭐ Cool Timeline Pro Demo](https://cooltimeline.com/demo/) | [⭐ Cool Timeline Free Demo](https://free.cooltimeline.com)**
101
 
102
  You can show your stories, events, appointments, concerts, future & history happenings by using **Cool Timeline plugin** on your website.
103
 
104
 
105
  ### 😎 Who's Behind?
106
 
107
- This addon has been developed by [Cool Timeline](https://cooltimeline.com) plugin developers. **[Cool Plugins](https://coolplugins.net)**, A team of experienced WordPress plugin developers.
108
 
109
  * 7+ years WordPress plugin development experience.
110
  * 20+ free and premium WordPress plugins released.
111
- * 400000+ plugins downloads.
112
- * 70K+ active websites are using our plugins.
 
113
  == Installation ==
114
  1. Install **Elementor Timeline Widget Addon** from the WordPress.org repository or by uploading plugin-zip unzipped folder to the **/wp-content/plugins** directory.
115
  You must also install **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)** free plugin if you want to use this addon.
@@ -117,82 +119,109 @@ This addon has been developed by [Cool Timeline](https://cooltimeline.com) plugi
117
  3. After plugin activation, you can find the Timeline Widget in the Elementor Widget Section.
118
 
119
  == Screenshots ==
120
- 1. Elementor Timeline Widget Addon Preview
121
- 2. Elementor Timeline Widget Addon Horizontal Timeline Preview
122
- 3. Elementor Timeline Widget Addon Element Preview
 
 
 
 
 
 
 
 
 
123
 
124
  == Changelog ==
125
- <strong>Version 1.3.5 | 09/05/2022</strong>
 
126
  <pre>
127
- Fixed:Image size bug
128
- Improvements : Settings panel
 
 
 
 
 
 
129
  </pre>
130
- <strong>Version 1.3.4 | 11/01/2022</strong>
 
131
  <pre>
132
- Fixed: Swiper issues
133
  Fixed: compatibility issues with Elementor 3.5.2
134
- Improvements : Minor code
135
  </pre>
136
 
137
- <strong>Version 1.3.3 | 15/12/2021</strong>
138
  <pre>
139
- Fixed:Compatibility issues with Elementor Latest version(3.5.2)
140
- Improved: minor fixes
141
  </pre>
142
- <strong>Version 1.3.2 | 21/10/2021</strong>
 
143
  <pre>
144
- New: Released PRO version
145
- Tweaks:Textual changes
146
- Improved: minor fixes
147
  </pre>
148
- <strong>Version 1.3.1 | 20/10/2021</strong>
 
149
  <pre>
150
- Improved: tested Upto Elementor version 3.4.6
151
- Improved: minor textual changes
152
  </pre>
153
- <strong>Version 1.3 | 23/04/2021</strong>
 
154
  <pre>
155
- New:- Added Hide/Show option for Border
156
- Fixed:-PHP Deprecated: Elementor\Scheme_Typography & Elementor\Scheme_Color
157
- Improved:Settings panel
158
- Improved:code flow
159
  Improved: JS code
160
- Improved:- Horizontal Timeline Responsive
161
- Improved:- Tested upto 5.7
162
  </pre>
 
163
  <strong>Version 1.2.2 | 10 DEC 2020</strong>
164
  <pre>
165
- Fixed:-Fixed RTL support issues in horizontal layout
166
- Fixed:- Tested upto 5.6
167
  </pre>
168
- <strong>Version 1.2.1 | 19 SEPT 2020</strong>
 
169
  <pre>
170
- Fixed:-Fixed compatibility issues with Elementor 2.9 or lower version.
171
  </pre>
172
- <strong>Version 1.2 | 11 SEPT 2020</strong>
 
173
  <pre>
174
- New:- Integrated Inline editing in Vertical timeline.
175
- New:- Integrated deactivation feedback form
176
  Fixed: Horizontal timeline breaking page layout issue
177
- Fixed:- Icon Background Color issue.
178
  </pre>
 
179
  <strong>Version 1.1.3 | 26 AUG 2020</strong>
180
  <pre>
181
- Fixed:- Compatibility issue with elementor version 3.0.1
182
- Fixed: Style issues
183
  </pre>
 
184
  <strong>Version 1.1.2 | 21 AUG 2020</strong>
185
  <pre>
186
- Fixed: Conflict with Image Carousel widget
187
- Improved: Layout based load assets
188
  </pre>
 
189
  <strong>Version 1.1.1 | 17 AUG 2020</strong>
190
  <pre>
191
- Fixed: Minor Bug fixes
192
- Fixed:Compatibility issues with WordPress 5.5
193
- Improved:assets loading conditions
194
- Improved: JS improvements
195
  </pre>
 
196
  <strong>Version 1.1 | 07 JUL 2020</strong>
197
  <pre>
198
  New: Horizontal timeline layout added.
1
+ === Timeline Widget For Elementor (Elementor Timeline, Vertical & Horizontal Timeline) ===
2
  Contributors:narinder-singh,satindersingh,coolplugins
3
  Donate link: https://paypal.me/CoolPlugins/10USD/
4
  Tags:timeline,elementor,elementor timeline,elementor addon,elementor widgets,addons,roadmap,steps,event,history
5
+ Requires at least:4.8
6
+ Tested up to:6.1
7
  Requires PHP:5.6
8
+ Stable tag:1.4
9
  License:GPLv2 or later
10
  License URI:http://www.gnu.org/licenses/gpl-2.0.html
11
 
12
  Elementor timeline widget addon will showcase your company history or life story in a vertical or horizontal timeline layout.
13
 
14
  == Description ==
15
+ ### Elementor Timeline - Vertical & Horizontal Timeline
16
 
17
+ Showcase your life story or company history in an awesome timeline layout using powerful and advance **Timeline Widget for Elementor**.
18
 
19
+ Using this **elementor timeline** addon you can create a beautiful timeline with a few clicks in 3 timeline layouts:-
20
 
21
+ * Vertical Timeline (Right / Left)
22
+ * Vertical Sided Timeline (Right Only)
23
  * Horizontal Timeline
 
24
 
25
+ These layouts also support advance styles and settings to manage colors, icons, images and content inside your timeline story.
26
 
27
+ **[⭐ View Demo](https://cooltimeline.com/demo/elementor-timeline/free/?utm_source=twae_plugin&utm_medium=plugin_link&utm_campaign=twae_plugin_page)** | **[⭐ Buy PRO](https://coolplugins.net/product/elementor-timeline-widget-pro-addon/?utm_source=wp_plugin_page)**
28
 
29
  https://youtu.be/YGpTusgTQJc
30
 
 
31
 
32
+ It is really important to let your audience to know about your brand history. Our timeline plugin will help you to hightlight your company history or life story. You can show history/future stories, events, appointments and many other cool things using this timeline widget.
33
 
34
  ### 🌟 Here are all areas where you can use this plugin:-
35
 
36
+ * History Timeline
37
  * Represent your company history.
38
  * Showcase tutorial/process steps in timeline format.
39
  * Create a program timeline.
40
  * Timeline is best way to represent history.
41
+ * Create events timeline.
42
  * Job stories / achievements timeline.
43
  * Personal story timeline.
44
  * Work experience timeline
45
  * Step-by-step guide
46
  * Events Timeline
47
+ * Product Roadmap
48
  * Brand Story
49
+ * Roadmap
50
 
51
  ### 🌟 Timeline Widget Features
52
 
54
  * Easily manage timeline colors and add icons inside timeline.
55
  * Add story date/year or custom text as per your requirements.
56
  * Manage typography of story title, description and other fonts.
57
+ * Add image inside your timeline story.
 
58
 
59
+ It is an **[Elementor Website Builder](https://wordpress.org/plugins/elementor/)** Addon. In order to use this elementor addon you must have to install **[Elementor Website Builder](https://wordpress.org/plugins/elementor/)**.
60
 
61
  ### 🌟 Timeline Widget PRO Features
62
 
63
+ * **Preset Styles**
64
+ One click setup a beautiful timeline - elegant, minimal, classic & more styles..
65
  * **Post Timeline**
66
  Show your blog posts in a timeline layout anywhere on the website.
67
+ * **Advance Style Settings**
68
+ Design your timeline with an advance style settings
69
  * **Animation Effect**
70
  It has 15+ animation effects, fade-in, flip-up, zoom, etc.
71
  * **Colors & Typography**
82
 
83
  ### Check our Timeline plugins demos
84
  <ul>
85
+ <li><strong>Cool Timeline [Free]</strong>- <a href="https://cooltimeline.com/demo/?utm_source=twae_plugin&utm_medium=plugin_link&utm_campaign=twae_plugin_page" target="_blank">Cool Timeline Free Demo</a></li>
86
+ <li><strong>Cool Timeline Pro [Pro]</strong>- <a href="https://cooltimeline.com/demo/?utm_source=twae_plugin&utm_medium=plugin_link&utm_campaign=twae_plugin_page" target="_blank">Cool Timeline PRO Demo</a></li>
87
+ <li><strong>Timeline Block For Gutenberg [Free]</strong>- <a href="https://wordpress.org/plugins/timeline-block/" target="_blank">Check It | <a href="https://cooltimeline.com/demo/?utm_source=twae_plugin&utm_medium=plugin_link&utm_campaign=twae_plugin_page#timeline-block">View Demo</a></a></li>
88
+
89
  </ul>
90
 
91
  **📌 Cool Timeline - #1 Timeline Plugin (200000+ Downloads)**
98
 
99
  Cool Timeline automatically showcase timeline stories post-type posts in any ASC or DESC order, based on the year and date of stories.
100
 
101
+ **[⭐ Cool Timeline Pro Demo](https://cooltimeline.com/demo/?utm_source=twae_plugin&utm_medium=plugin_link&utm_campaign=twae_plugin_page) | [⭐ Cool Timeline Free Demo](https://cooltimeline.com/demo/?utm_source=twae_plugin&utm_medium=plugin_link&utm_campaign=twae_plugin_page)**
102
 
103
  You can show your stories, events, appointments, concerts, future & history happenings by using **Cool Timeline plugin** on your website.
104
 
105
 
106
  ### 😎 Who's Behind?
107
 
108
+ This addon has been developed by [Cool Timeline](https://cooltimeline.com/?utm_source=twae_plugin&utm_medium=plugin_link&utm_campaign=twae_plugin_page) plugin developers. **[Cool Plugins](https://coolplugins.net)**, A team of experienced WordPress plugin developers.
109
 
110
  * 7+ years WordPress plugin development experience.
111
  * 20+ free and premium WordPress plugins released.
112
+ * 1M+ plugins downloads.
113
+ * 100K+ active websites are using our plugins.
114
+
115
  == Installation ==
116
  1. Install **Elementor Timeline Widget Addon** from the WordPress.org repository or by uploading plugin-zip unzipped folder to the **/wp-content/plugins** directory.
117
  You must also install **[Elementor Page Builder](https://wordpress.org/plugins/elementor/)** free plugin if you want to use this addon.
119
  3. After plugin activation, you can find the Timeline Widget in the Elementor Widget Section.
120
 
121
  == Screenshots ==
122
+ 1. Timeline Widget Demo Preview
123
+ 2. Timeline Widget Horizontal Timeline configuration
124
+ 3. Timeline Widget Vertical both side/ One sided Layout Preview
125
+ 4. Add New Story Settings Preview.
126
+ 5. Style Settings Preview
127
+
128
+ == Frequently Asked Questions ==
129
+ **Can I use this plugin without Elementor?**
130
+ No. You cannot use without Elementor since it’s an addon for Elementor.
131
+
132
+ **Does it work with Elementor Pro?**
133
+ Yes, it will work with Elementor Pro version.
134
 
135
  == Changelog ==
136
+
137
+ <strong>Version 1.4 | 18 AUG 2022</strong>
138
  <pre>
139
+ Major Update: It is a major update with overall code and style improvements.
140
+ Added: Story content alignment setting.
141
+ Added: Icon and label position setting.
142
+ Added: Icon text color setting.
143
+ Added: Border width and color settings.
144
+ Added: Title and description bottom margin setting.
145
+ Improved: Premium features visibility inside free plugin.
146
+ Tested upto: Elementor v3.7.1(free) & v3.7.3(pro)
147
  </pre>
148
+
149
+ <strong>Version 1.3.4 | 11 JAN 2022</strong>
150
  <pre>
151
+ Fixed: Swiper issues.
152
  Fixed: compatibility issues with Elementor 3.5.2
153
+ Improvements : Minor code fixes.
154
  </pre>
155
 
156
+ <strong>Version 1.3.3 | 15 DEC 2021</strong>
157
  <pre>
158
+ Fixed: Compatibility issues with Elementor Latest version(3.5.2)
159
+ Improved: Minor fixes.
160
  </pre>
161
+
162
+ <strong>Version 1.3.2 | 21 OCT 2021</strong>
163
  <pre>
164
+ New: Released PRO version.
165
+ Tweaks: Textual changes.
166
+ Improved: Minor fixes.
167
  </pre>
168
+
169
+ <strong>Version 1.3.1 | 20 OCT 2021</strong>
170
  <pre>
171
+ Improved: Tested Upto Elementor version 3.4.6
172
+ Improved: Minor textual changes.
173
  </pre>
174
+
175
+ <strong>Version 1.3 | 23 APR 2021</strong>
176
  <pre>
177
+ New: Added Hide/Show option for Border
178
+ Fixed: PHP Deprecated: Elementor\Scheme_Typography & Elementor\Scheme_Color
179
+ Improved: Settings panel
180
+ Improved: code flow
181
  Improved: JS code
182
+ Improved: Horizontal Timeline Responsive
183
+ Improved: Tested upto 5.7
184
  </pre>
185
+
186
  <strong>Version 1.2.2 | 10 DEC 2020</strong>
187
  <pre>
188
+ Fixed: Fixed RTL support issues in horizontal layout
189
+ Fixed: Tested upto 5.6
190
  </pre>
191
+
192
+ <strong>Version 1.2.1 | 19 SEP 2020</strong>
193
  <pre>
194
+ Fixed: Fixed compatibility issues with Elementor 2.9 or lower version.
195
  </pre>
196
+
197
+ <strong>Version 1.2 | 11 SEP 2020</strong>
198
  <pre>
199
+ New: Integrated Inline editing in Vertical timeline.
200
+ New: Integrated deactivation feedback form
201
  Fixed: Horizontal timeline breaking page layout issue
202
+ Fixed: Icon Background Color issue.
203
  </pre>
204
+
205
  <strong>Version 1.1.3 | 26 AUG 2020</strong>
206
  <pre>
207
+ Fixed: Compatibility issue with elementor version 3.0.1
208
+ Fixed: Style issues.
209
  </pre>
210
+
211
  <strong>Version 1.1.2 | 21 AUG 2020</strong>
212
  <pre>
213
+ Fixed: Conflict with Image Carousel widget.
214
+ Improved: Layout based load assets.
215
  </pre>
216
+
217
  <strong>Version 1.1.1 | 17 AUG 2020</strong>
218
  <pre>
219
+ Fixed: Minor Bug fixes.
220
+ Fixed: Compatibility issues with WordPress 5.5
221
+ Improved: Assets loading conditions.
222
+ Improved: JS improvements.
223
  </pre>
224
+
225
  <strong>Version 1.1 | 07 JUL 2020</strong>
226
  <pre>
227
  New: Horizontal timeline layout added.
timeline-widget-addon-for-elementor.php CHANGED
@@ -1,14 +1,14 @@
1
  <?php
2
  /**
3
- * Plugin Name: Timeline Widget Addon For Elementor
4
- * Description: Timeline Widget Addon For Elementor create a beautiful timeline in page and post.
5
  * Plugin URI: https://coolplugins.net
6
- * Version: 1.3.5
7
  * Author: Cool Plugins
8
  * Author URI: https://coolplugins.net/
9
  * Text Domain: twae
10
- * Elementor tested up to:3.6.5
11
- * Elementor Pro tested up to:3.6.5
12
  */
13
 
14
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
@@ -17,11 +17,11 @@ if (defined('TWAE_VERSION')) {
17
  return;
18
  }
19
 
20
- define('TWAE_VERSION', '1.3.5');
21
  define('TWAE_FILE', __FILE__);
22
  define('TWAE_PATH', plugin_dir_path(TWAE_FILE));
23
  define('TWAE_URL', plugin_dir_url(TWAE_FILE));
24
- define('TWAE_BUY_PRO_LINK','https://bit.ly/elementor_timeline_pro');
25
 
26
  define('TWAE_VIEW_DEMO','https://cooltimeline.com/elementor-timeline-widget-pro-demo/');
27
 
@@ -66,6 +66,7 @@ final class Timeline_Widget_Addon
66
  {
67
  //Load the plugin after Elementor (and other plugins) are loaded.
68
  add_action( 'plugins_loaded', array($this, 'twae_plugins_loaded') );
 
69
  }
70
 
71
 
@@ -79,25 +80,38 @@ final class Timeline_Widget_Addon
79
  add_action( 'admin_notices', array($this, 'twae_fail_to_load') );
80
  return;
81
  }
82
-
83
  load_plugin_textdomain('twae', false, TWAE_FILE . 'languages');
84
-
85
 
86
  // Require the main plugin file
87
- require( __DIR__ . '/includes/class-twae.php' );
88
  if( is_admin() ){
89
  /*** Plugin review notice file */
90
- require_once(__DIR__ . '/includes/twae-feedback-notice.php');
91
  new TWAEFeedbackNotice();
92
-
93
- require_once(__DIR__ . '/feedback/twae-admin-feedback-form.php');
94
-
95
  }
96
-
97
-
 
 
98
  } // end of ctla_loaded()
99
 
100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  function twae_fail_to_load() {
102
 
103
  if (!is_plugin_active( 'elementor/elementor.php' ) ) : ?>
@@ -113,7 +127,7 @@ final class Timeline_Widget_Addon
113
  */
114
  public static function twae_activate()
115
  {
116
- update_option("twae-v",TWAE_VERSION);
117
  update_option("twae-type","FREE");
118
  update_option("twae-installDate",date('Y-m-d h:i:s') );
119
  }
1
  <?php
2
  /**
3
+ * Plugin Name: Timeline Widget For Elementor
4
+ * Description: Best timeline widget for Elementor page builder to showcase your personal or business stories in beautiful vertical or horizontal timeline layouts. <strong>[Elementor Addon]</strong>
5
  * Plugin URI: https://coolplugins.net
6
+ * Version: 1.4
7
  * Author: Cool Plugins
8
  * Author URI: https://coolplugins.net/
9
  * Text Domain: twae
10
+ * Elementor tested up to: 3.8
11
+ * Elementor Pro tested up to: 3.8
12
  */
13
 
14
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
17
  return;
18
  }
19
 
20
+ define('TWAE_VERSION', '1.4');
21
  define('TWAE_FILE', __FILE__);
22
  define('TWAE_PATH', plugin_dir_path(TWAE_FILE));
23
  define('TWAE_URL', plugin_dir_url(TWAE_FILE));
24
+ define('TWAE_BUY_PRO_LINK','https://coolplugins.net/product/elementor-timeline-widget-pro-addon/?utm_source=twae_plugin_inside');
25
 
26
  define('TWAE_VIEW_DEMO','https://cooltimeline.com/elementor-timeline-widget-pro-demo/');
27
 
66
  {
67
  //Load the plugin after Elementor (and other plugins) are loaded.
68
  add_action( 'plugins_loaded', array($this, 'twae_plugins_loaded') );
69
+ add_action( 'plugins_loaded', array($this, 'twae_load_addon') );
70
  }
71
 
72
 
80
  add_action( 'admin_notices', array($this, 'twae_fail_to_load') );
81
  return;
82
  }
 
83
  load_plugin_textdomain('twae', false, TWAE_FILE . 'languages');
 
84
 
85
  // Require the main plugin file
86
+ // require( __DIR__ . '/includes/class-twae.php' );
87
  if( is_admin() ){
88
  /*** Plugin review notice file */
89
+ require_once(__DIR__ . '/admin/twae-feedback-notice.php');
90
  new TWAEFeedbackNotice();
91
+ require_once(__DIR__ . '/admin/feedback/twae-admin-feedback-form.php');
92
+ require_once(__DIR__ . '/admin/admin-notices.php');
 
93
  }
94
+
95
+ if(is_admin()){
96
+ add_action( 'admin_init',array($this,'twae_show_upgrade_notice') );
97
+ }
98
  } // end of ctla_loaded()
99
 
100
 
101
+ function twae_load_addon() {
102
+ // Load plugin file
103
+ require_once( TWAE_PATH . '/includes/class-twae-free-main.php' );
104
+ // Run the plugin
105
+ TWAE_Free_Main::instance();
106
+
107
+ }
108
+
109
+ public function twae_show_upgrade_notice(){
110
+ if (get_option('twae-v')!=false) {
111
+ twae_free_create_admin_notice( array('id'=>'twae-upgrade-notices','message'=>'<strong>Major Update Notice!</strong> Please update your timeline widget settings if you face any style issue after an update of <strong>Timeline Widget for Elementor</strong>.') );
112
+ }
113
+ }
114
+
115
  function twae_fail_to_load() {
116
 
117
  if (!is_plugin_active( 'elementor/elementor.php' ) ) : ?>
127
  */
128
  public static function twae_activate()
129
  {
130
+ update_option("twae-free-v",TWAE_VERSION);
131
  update_option("twae-type","FREE");
132
  update_option("twae-installDate",date('Y-m-d h:i:s') );
133
  }
widgets/editor-layouts/horizontal-template.php CHANGED
@@ -1,6 +1,26 @@
1
- <div id="twae-horizontal-wrapper" class="twae-wrapper twae-horizontal swiper-container" dir="<?php echo $dir ?>" data-slidestoshow = "{{{sidesToShow}}}" data-autoplay="{{{autoplay}}}">
2
- <div class="twae-horizontal-timeline swiper-wrapper">
3
- <#
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  _.each( settings.twae_list, function( item, index ) {
5
  var timeline_image = {
6
  id: item.twae_image.id,
@@ -10,68 +30,65 @@
10
  model: view.getEditModel()
11
  };
12
  var image_url = elementor.imagesManager.getImageUrl( timeline_image );
13
-
14
  var year_key = view.getRepeaterSettingKey( 'twae_year', 'twae_list',index ),
15
  date_label_key = view.getRepeaterSettingKey( 'twae_date_label', 'twae_list',index ),
16
  extra_label_key = view.getRepeaterSettingKey( 'twae_extra_label', 'twae_list',index ),
17
  title_key = view.getRepeaterSettingKey( 'twae_story_title', 'twae_list',index ),
18
  description_key = view.getRepeaterSettingKey( 'twae_description', 'twae_list',index );
19
 
20
- view.addRenderAttribute( year_key, {'class': 'twae-year-label twae-year'} );
21
- view.addRenderAttribute( date_label_key, {'class': 'twae-label'} );
22
- view.addRenderAttribute( extra_label_key, {'class': 'twae-extra-label'} );
23
- view.addRenderAttribute( title_key, {'class': 'twae-title'});
24
- view.addRenderAttribute( description_key, {'class': 'twae-description'} );
25
-
26
- view.addInlineEditingAttributes( year_key, 'none' );
27
- view.addInlineEditingAttributes( date_label_key, 'none' );
28
- view.addInlineEditingAttributes( extra_label_key, 'none' );
29
- view.addInlineEditingAttributes( title_key, 'none' );
30
- view.addInlineEditingAttributes( description_key, 'advanced' );
31
-
32
- var twaeiconHTML = elementor.helpers.renderIcon( view, item.twae_story_icon, { 'aria-hidden': true }, 'i' , 'object' );
33
-
34
-
35
-
36
  #>
37
- <div class="swiper-slide {{{sidesHeight}}}">
38
-
39
- <#
40
- if(item.twae_show_year_label == 'yes'){
 
41
  #>
42
- <div class="twae-year-container">
43
- <span {{{ view.getRenderAttributeString( year_key ) }}}>{{{ item.twae_year }}}</span>
44
  </div>
45
- <#
46
- }
47
- #>
48
- <div class="twae-label-extra-label"><div>
49
- <span {{{ view.getRenderAttributeString( date_label_key ) }}} >{{{ item.twae_date_label }}}</span>
50
- <span {{{ view.getRenderAttributeString( extra_label_key ) }}} >{{{ item.twae_extra_label }}}</span>
51
- </div></div>
 
 
 
 
 
 
52
  <div class="twae-icon">
53
- <# if ( twaeiconHTML && twaeiconHTML.rendered ) { #>
54
- {{{ twaeiconHTML.value }}}
 
 
55
  <# } else { #>
56
- <i class="{{ item.twae_story_icon.value }}" aria-hidden="true"></i>
 
 
 
 
57
  <# } #>
58
-
59
- </div>
60
- <div class="twae-story-info {{{ no_border }}}">
61
- <div class="twae-timeline-img"><img src="{{{ image_url }}}" /></div>
62
- <span {{{ view.getRenderAttributeString( title_key ) }}}>{{{ item.twae_story_title}}}</span>
63
- <div {{{ view.getRenderAttributeString( description_key ) }}} >{{{ item.twae_description }}}</div>
 
64
  </div>
65
  </div>
66
- <#
67
- });
68
- #>
69
- </div>
70
  <!-- Add Pagination -->
71
- <div class="twae-pagination"></div>
72
  <!-- Add Arrows -->
73
-
74
- <div class="twae-button-prev twae-icon-left-open-big"></div>
75
- <div class="twae-button-next twae-icon-right-open-big"></div>
 
76
  </div>
77
 
1
+ <#
2
+ var widgetId=elementorCommon.helpers.getUniqueId();
3
+ var slideToShow=settings.twae_slides_to_show;
4
+ var slideHeight=settings.twae_slides_height;
5
+
6
+ if(settings.twae_icon_position.size >= 1 && settings.twae_icon_position.size < 40){
7
+ twae_icon_position='twae-position-40-minus';
8
+ }else if(settings.twae_icon_position.size > 50 && settings.twae_icon_position.size <= 60){
9
+ twae_icon_position='twae-position-50-60';
10
+ }else if(settings.twae_icon_position.size > 60){
11
+ twae_icon_position='twae-position-60-plus';
12
+ }else{
13
+ twae_icon_position='twae-position-40-50';
14
+ }
15
+
16
+
17
+ #>
18
+ <div id="twae-wrapper-{{{widgetId}}}" class="twae-wrapper twae-horizontal-timeline" >
19
+ <div class="twae-wrapper-inside">
20
+ <div class="twae-slider-container swiper-container" data-dir="<?php echo $dir ?>" data-slidestoshow = "{{{slideToShow}}}" data-autoplay="{{{autoplay}}}" >
21
+
22
+ <div class="twae-slider-wrapper swiper-wrapper {{{slideHeight}}}">
23
+ <#
24
  _.each( settings.twae_list, function( item, index ) {
25
  var timeline_image = {
26
  id: item.twae_image.id,
30
  model: view.getEditModel()
31
  };
32
  var image_url = elementor.imagesManager.getImageUrl( timeline_image );
33
+
34
  var year_key = view.getRepeaterSettingKey( 'twae_year', 'twae_list',index ),
35
  date_label_key = view.getRepeaterSettingKey( 'twae_date_label', 'twae_list',index ),
36
  extra_label_key = view.getRepeaterSettingKey( 'twae_extra_label', 'twae_list',index ),
37
  title_key = view.getRepeaterSettingKey( 'twae_story_title', 'twae_list',index ),
38
  description_key = view.getRepeaterSettingKey( 'twae_description', 'twae_list',index );
39
 
40
+ var iconType = item.twae_icon_type!=="undefined"?item.twae_icon_type:'icon';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  #>
42
+
43
+ <div class="swiper-slide twae-repeater-item twae-story {{{twae_icon_position}}}">
44
+ <div class="twae-story-line"></div>
45
+ <#
46
+ if(item.twae_show_year_label == 'yes'){
47
  #>
48
+ <div class="twae-year twae-year-container">
49
+ <div class="twae-year-label twae-year-text" >{{{ item.twae_year }}}</div>
50
  </div>
51
+ <# }#>
52
+
53
+ <div class="twae-labels">
54
+ <div class="twae-label-big" >{{{ item.twae_date_label }}}</div>
55
+
56
+ <# if(extra_label_key!=="undefined")
57
+ { #>
58
+ <div class="twae-label-small">{{{ item.twae_extra_label }}}</div>
59
+ <# } #>
60
+
61
+ </div>
62
+ <div class="twae-arrow" ></div>
63
+ <# if (iconType =='icon' ) { #>
64
  <div class="twae-icon">
65
+ <#
66
+ twae_iconHTML = elementor.helpers.renderIcon( view, item.twae_story_icon, { 'aria-hidden': true }, 'i' , 'object' );
67
+ if (twae_iconHTML.rendered ) { #>
68
+ {{{ twae_iconHTML.value }}}
69
  <# } else { #>
70
+ <i aria-hidden="true" class="far fa-clock"></i>
71
+ <# } #>
72
+ </div>
73
+ <# }else{ #>
74
+ <div class="twae-icondot"></div>
75
  <# } #>
76
+
77
+ <div class="twae-content">
78
+ <# if( item.twae_media == 'image' && image_url!=''){ #>
79
+ <div class="twae-media {{{timeline_image.size}}}"><img src="{{{ image_url }}}" /></div>
80
+ <# } #>
81
+ <div class="twae-title">{{{ item.twae_story_title}}}</div>
82
+ <div class="twae-description">{{{ item.twae_description }}}</div>
83
  </div>
84
  </div>
85
+ <# }); #>
86
+ </div></div></div>
 
 
87
  <!-- Add Pagination -->
 
88
  <!-- Add Arrows -->
89
+ <div class="twae-button-prev"><i class="fas fa-chevron-left"></i></div>
90
+ <div class="twae-button-next"><i class="fas fa-chevron-right"></i></div>
91
+ <div class="twae-h-line"></div>
92
+ <div class="twae-line-fill"></div>
93
  </div>
94
 
widgets/editor-layouts/vertical-template.php CHANGED
@@ -1,14 +1,14 @@
1
  <#
 
2
  var countItem = 1;
3
- var timeline_layout = '';
4
- var timeline_layout_wrapper = 'twae-centered';
5
  if(settings.twae_layout == 'one-sided'){
6
- var timeline_layout = "twae-one-sided-timeline";
7
- var timeline_layout_wrapper = 'twae-one-sided-wrapper';
8
  }
9
  #>
10
- <div class="twae-vertical twae-wrapper {{{ timeline_layout_wrapper }}}">
11
- <div class="twae-timeline-centered twae-timeline-sm twae-line {{{ timeline_layout }}}">
 
12
  <#
13
  _.each( settings.twae_list, function( item, index ) {
14
  var timeline_image = {
@@ -19,69 +19,79 @@
19
  model: view.getEditModel()
20
  };
21
  var image_url = elementor.imagesManager.getImageUrl( timeline_image );
22
-
23
- var year_key = view.getRepeaterSettingKey( 'twae_year', 'twae_list',index ),
24
  date_label_key = view.getRepeaterSettingKey( 'twae_date_label', 'twae_list',index ),
25
  extra_label_key = view.getRepeaterSettingKey( 'twae_extra_label', 'twae_list',index ),
26
  title_key = view.getRepeaterSettingKey( 'twae_story_title', 'twae_list',index ),
27
  description_key = view.getRepeaterSettingKey( 'twae_description', 'twae_list',index );
28
 
29
- view.addRenderAttribute( year_key, {'class': 'twae-year-label twae-year'} );
30
- view.addRenderAttribute( date_label_key, {'class': 'twae-label'} );
31
- view.addRenderAttribute( extra_label_key, {'class': 'twae-extra-label'} );
 
32
  view.addRenderAttribute( title_key, {'class': 'twae-title'});
33
  view.addRenderAttribute( description_key, {'class': 'twae-description'} );
34
 
35
- view.addInlineEditingAttributes( year_key, 'none' );
36
  view.addInlineEditingAttributes( date_label_key, 'none' );
37
  view.addInlineEditingAttributes( extra_label_key, 'none' );
38
  view.addInlineEditingAttributes( title_key, 'none' );
39
  view.addInlineEditingAttributes( description_key, 'advanced' );
40
-
41
-
42
-
43
- if(item.twae_show_year_label == 'yes'){
44
- #>
45
- <span class="twae-year-container">
46
- <span {{{ view.getRenderAttributeString( year_key ) }}} >{{{ item.twae_year }}}</span>
47
- </span>
48
- <#
49
- }
50
- var story_alignment = "twae-right-aligned";
51
  if(settings.twae_layout == 'centered'){
52
-
53
  if ( countItem % 2 == 0) {
54
- var story_alignment = "twae-left-aligned";
55
  }
56
  }
57
- twaeiconHTML = elementor.helpers.renderIcon( view, item.twae_story_icon, { 'aria-hidden': true }, 'i' , 'object' ),
58
-
59
-
 
 
 
60
  #>
61
- <article class="twae-timeline-entry {{{ story_alignment }}}">
62
- <div class="twae-timeline-entry-inner">
63
- <div class="twae-label-extra-label">
64
- <span {{{ view.getRenderAttributeString( date_label_key ) }}} >{{{ item.twae_date_label }}}</span>
65
- <span {{{ view.getRenderAttributeString( extra_label_key ) }}} >{{{ item.twae_extra_label }}}</span>
 
 
 
 
 
 
 
66
  </div>
67
- <div class="twae-icon">
68
- <# if ( twaeiconHTML && twaeiconHTML.rendered ) { #>
69
- {{{ twaeiconHTML.value }}}
70
- <# } else { #>
71
- <i class="{{ item.twae_story_icon.value }}" aria-hidden="true"></i>
 
 
 
 
 
 
 
72
  <# } #>
73
-
74
- </div>
75
- <div class="twae-data-container {{{ no_border }}}">
76
- <span {{{ view.getRenderAttributeString( title_key ) }}} >{{{ item.twae_story_title}}}</span>
77
- <div class="twae-timeline-img"><img src="{{{ image_url }}}" /></div>
 
 
78
  <div {{{ view.getRenderAttributeString( description_key ) }}} >{{{ item.twae_description }}}</div>
79
  </div>
80
- </div>
81
- </article>
82
  <#
83
  countItem = countItem+1;
84
  });
85
  #>
86
  </div>
87
- </div>
 
1
  <#
2
+ var widgetId=elementorCommon.helpers.getUniqueId();
3
  var countItem = 1;
4
+ var timeline_layout_wrapper = 'twae-both-sided';
 
5
  if(settings.twae_layout == 'one-sided'){
6
+ var timeline_layout_wrapper = 'twae-vertical-right';
 
7
  }
8
  #>
9
+ <div id="twae-wrapper-{{{widgetId}}}" class="twae-vertical twae-wrapper {{{ timeline_layout_wrapper }}}" >
10
+ <div class="twae-start"></div>
11
+ <div class="twae-timeline">
12
  <#
13
  _.each( settings.twae_list, function( item, index ) {
14
  var timeline_image = {
19
  model: view.getEditModel()
20
  };
21
  var image_url = elementor.imagesManager.getImageUrl( timeline_image );
 
 
22
  date_label_key = view.getRepeaterSettingKey( 'twae_date_label', 'twae_list',index ),
23
  extra_label_key = view.getRepeaterSettingKey( 'twae_extra_label', 'twae_list',index ),
24
  title_key = view.getRepeaterSettingKey( 'twae_story_title', 'twae_list',index ),
25
  description_key = view.getRepeaterSettingKey( 'twae_description', 'twae_list',index );
26
 
27
+ var iconType = item.twae_icon_type!=="undefined"?item.twae_icon_type:'icon';
28
+
29
+ view.addRenderAttribute( date_label_key, {'class': 'twae-label-big'} );
30
+ view.addRenderAttribute( extra_label_key, {'class': 'twae-label-small'} );
31
  view.addRenderAttribute( title_key, {'class': 'twae-title'});
32
  view.addRenderAttribute( description_key, {'class': 'twae-description'} );
33
 
34
+
35
  view.addInlineEditingAttributes( date_label_key, 'none' );
36
  view.addInlineEditingAttributes( extra_label_key, 'none' );
37
  view.addInlineEditingAttributes( title_key, 'none' );
38
  view.addInlineEditingAttributes( description_key, 'advanced' );
39
+
40
+ var story_id=item['_id'];
41
+ var story_alignment = "twae-story-right";
 
 
 
 
 
 
 
 
42
  if(settings.twae_layout == 'centered'){
 
43
  if ( countItem % 2 == 0) {
44
+ var story_alignment = "twae-story-left";
45
  }
46
  }
47
+ var iconCls='';
48
+ if (iconType=="dot" ) {
49
+ iconCls='twae-story-no-icon';
50
+ }else{
51
+ iconCls='twae-story-icon';
52
+ }
53
  #>
54
+
55
+ <#
56
+ if(item.twae_show_year_label == 'yes'){
57
+ #>
58
+ <div class="twae-year twae-year-container">
59
+ <div class="twae-year-label twae-year-text" >{{{ item.twae_year }}}</div>
60
+ </div>
61
+ <# }#>
62
+ <div id="story-{{{story_id}}}" class="twae-story twae-repeater-item {{{ story_alignment }}} {{{ iconCls}}}">
63
+ <div class="twae-labels">
64
+ <div {{{ view.getRenderAttributeString( date_label_key ) }}} >{{{ item.twae_date_label }}}</div>
65
+ <div {{{ view.getRenderAttributeString( extra_label_key ) }}} >{{{ item.twae_extra_label }}}</div>
66
  </div>
67
+ <# if (iconType =='dot' ) { #>
68
+ <div class="twae-icondot"></div>
69
+ <# }else{ #>
70
+ <div class="twae-icon">
71
+ <#
72
+ twae_iconHTML = elementor.helpers.renderIcon( view, item.twae_story_icon, { 'aria-hidden': true }, 'i' , 'object' );
73
+ if (twae_iconHTML.rendered ) { #>
74
+ {{{ twae_iconHTML.value }}}
75
+ <# } else { #>
76
+ <i aria-hidden="true" class="far fa-clock"></i>
77
+ <# } #>
78
+ </div>
79
  <# } #>
80
+
81
+ <div class="twae-arrow"></div>
82
+ <div class="twae-content">
83
+ <div {{{ view.getRenderAttributeString( title_key ) }}} >{{{ item.twae_story_title}}}</div>
84
+ <# if( item.twae_media == 'image' && image_url!=''){ #>
85
+ <div class="twae-media {{{timeline_image.size}}}"><img src="{{{ image_url }}}" /></div>
86
+ <# } #>
87
  <div {{{ view.getRenderAttributeString( description_key ) }}} >{{{ item.twae_description }}}</div>
88
  </div>
89
+
90
+ </div>
91
  <#
92
  countItem = countItem+1;
93
  });
94
  #>
95
  </div>
96
+ <div class="twae-end"></div>
97
+ </div>
widgets/frontend-layouts/twae-centered-timeline.php DELETED
@@ -1,82 +0,0 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
- echo '
4
- <div class="twae-vertical twae-wrapper '.esc_attr($timeline_layout_wrapper).'">
5
- <div class="twae-timeline-centered twae-timeline-sm twae-line '.esc_attr($timeline_layout).'">';
6
- if(is_array($data)){
7
- foreach($data as $index=>$content){
8
- $left_aligned = "twae-right-aligned";
9
- if($layout == 'centered'){
10
- if($countItem % 2 == 0){
11
- $left_aligned = "twae-left-aligned";
12
- }
13
- }
14
- $timeline_description = $content['twae_description'];
15
- $show_year_label = esc_html($content['twae_show_year_label']);
16
- $timeline_year = esc_html($content['twae_year']);
17
- $story_date_label = esc_html($content['twae_date_label']);
18
- $story_extra_label = esc_html($content['twae_extra_label']);
19
- $timeline_story_title = esc_html($content['twae_story_title']);
20
- $story_icon = $content['twae_story_icon']['value'];
21
- $thumbnail_size = $content['twae_thumbnail_size'];
22
-
23
- $title_key = $this->get_repeater_setting_key( 'twae_story_title', 'twae_list', $index );
24
- $year_key = $this->get_repeater_setting_key( 'twae_year', 'twae_list', $index );
25
- $date_label_key = $this->get_repeater_setting_key( 'twae_date_label', 'twae_list', $index );
26
- $extra_label_key = $this->get_repeater_setting_key( 'twae_extra_label', 'twae_list', $index );
27
- $description_key = $this->get_repeater_setting_key( 'twae_description', 'twae_list', $index );
28
-
29
- $this->add_inline_editing_attributes( $title_key, 'none' );
30
- $this->add_inline_editing_attributes( $year_key, 'none' );
31
- $this->add_inline_editing_attributes( $date_label_key, 'none' );
32
- $this->add_inline_editing_attributes( $extra_label_key, 'none' );
33
- $this->add_inline_editing_attributes( $description_key, 'advanced' );
34
-
35
- $this->add_render_attribute( $title_key, ['class'=> 'twae-title']);
36
- $this->add_render_attribute( $year_key, ['class'=> 'twae-year-label twae-year']);
37
- $this->add_render_attribute( $date_label_key, ['class'=> 'twae-label']);
38
- $this->add_render_attribute( $extra_label_key, ['class'=> 'twae-extra-label']);
39
- $this->add_render_attribute( $description_key, ['class'=> 'twae-description']);
40
- $image ='';
41
- if($content['twae_image']['id']!=""){
42
- if($thumbnail_size =='custom'){
43
- $thumbnail_custom_dimension = $content['twae_thumbnail_custom_dimension'];
44
-
45
- $custom_size = array ( $thumbnail_custom_dimension['width'],$thumbnail_custom_dimension['height']);
46
- $image= wp_get_attachment_image($content['twae_image']['id'], $custom_size , true);
47
-
48
- }
49
- else{
50
- $image= wp_get_attachment_image($content['twae_image']['id'],$thumbnail_size, true);
51
- }
52
-
53
- }else if($content['twae_image']['url']!=""){
54
- $image = '<img src="'.$content['twae_image']['url'].'"></img>';
55
- }
56
-
57
- if($show_year_label == 'yes'){
58
- echo '<span class="twae-year-container">
59
- <span '.$this->get_render_attribute_string( $year_key ).'>'.$timeline_year.'</span>
60
- </span>';
61
- }
62
-
63
- echo '<article class="twae-timeline-entry '.esc_attr($left_aligned).'">
64
- <div class="twae-timeline-entry-inner">
65
- <div class="twae-label-extra-label">
66
- <span '.$this->get_render_attribute_string( $date_label_key).'>'.$story_date_label.'</span>
67
- <span '.$this->get_render_attribute_string( $extra_label_key ).'>'.$story_extra_label.'</span>
68
- </div>
69
- <div class="twae-icon">';
70
- \Elementor\Icons_Manager::render_icon( $content['twae_story_icon'], [ 'aria-hidden' => 'true' ] );
71
- echo'</div>
72
- <div class="twae-data-container '.$no_border.'">
73
- <span '.$this->get_render_attribute_string( $title_key ).'>'.$timeline_story_title.'</span>
74
- <div class="twae-timeline-img">'.$image.'</div>
75
- <div '.$this->get_render_attribute_string( $description_key ).'>'.$timeline_description.'</div>
76
- </div>
77
- </div>
78
- </article>';
79
- $countItem = $countItem +1;
80
- }
81
- }
82
- echo'</div></div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
widgets/frontend-layouts/twae-horizontal-timeline.php CHANGED
@@ -1,84 +1,145 @@
1
  <?php
2
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
 
4
- $sidesToShow = isset($settings['twae_slides_to_show'])
5
- && !empty($settings['twae_slides_to_show'])?$settings['twae_slides_to_show']:2;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
- echo '<div id="twae-horizontal-wrapper" class="twae-wrapper twae-horizontal swiper-container" dir="'.$dir.'" data-slidestoshow = "'.esc_attr($sidesToShow).'" data-autoplay="'.esc_attr($autoplay).'">
8
- <div class="twae-horizontal-timeline swiper-wrapper">';
9
  if(is_array($data)){
10
  foreach($data as $index=>$content){
11
 
 
12
  $timeline_description = $content['twae_description'];
13
- $show_year_label = esc_html($content['twae_show_year_label']);
14
- $timeline_year = esc_html($content['twae_year']);
15
- $story_date_label = esc_html($content['twae_date_label']);
16
- $story_extra_label = esc_html($content['twae_extra_label']);
17
- $timeline_story_title = esc_html($content['twae_story_title']);
18
- $story_icon = $content['twae_story_icon']['value'];
19
- $thumbnail_size = $content['twae_thumbnail_size'];
20
-
21
  $title_key = $this->get_repeater_setting_key( 'twae_story_title', 'twae_list', $index );
22
- $year_key = $this->get_repeater_setting_key( 'twae_year', 'twae_list', $index );
23
  $date_label_key = $this->get_repeater_setting_key( 'twae_date_label', 'twae_list', $index );
24
  $extra_label_key = $this->get_repeater_setting_key( 'twae_extra_label', 'twae_list', $index );
25
  $description_key = $this->get_repeater_setting_key( 'twae_description', 'twae_list', $index );
26
-
27
- $this->add_inline_editing_attributes( $title_key, 'none' );
28
- $this->add_inline_editing_attributes( $year_key, 'none' );
29
- $this->add_inline_editing_attributes( $date_label_key, 'none' );
30
- $this->add_inline_editing_attributes( $extra_label_key, 'none' );
31
- $this->add_inline_editing_attributes( $description_key, 'advanced' );
32
-
33
- $this->add_render_attribute( $title_key, ['class'=> 'twae-title']);
34
- $this->add_render_attribute( $year_key, ['class'=> 'twae-year-label twae-year']);
35
- $this->add_render_attribute( $date_label_key, ['class'=> 'twae-label']);
36
- $this->add_render_attribute( $extra_label_key, ['class'=> 'twae-extra-label']);
37
- $this->add_render_attribute( $description_key, ['class'=> 'twae-description']);
38
  $image ='';
39
  if($content['twae_image']['id']!=""){
40
- if($thumbnail_size =='custom'){
41
  $thumbnail_custom_dimension = $content['twae_thumbnail_custom_dimension'];
42
  $custom_size = array ( $thumbnail_custom_dimension['width'],$thumbnail_custom_dimension['height']);
43
- $image= wp_get_attachment_image($content['twae_image']['id'], $custom_size , true);
44
  }
45
  else{
46
- $image= wp_get_attachment_image($content['twae_image']['id'],$thumbnail_size, true);
47
  }
48
-
49
  }else if($content['twae_image']['url']!=""){
50
- $image = '<img src="'.esc_url($content['twae_image']['url']).'"></img>';
51
  }
52
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
 
54
- echo '<div class="swiper-slide '.esc_attr($sidesHeight).'">';
 
 
55
  if($show_year_label == 'yes'){
56
- echo '<div class="twae-year-container">
57
- <span '.$this->get_render_attribute_string( $year_key ).' >'.$timeline_year.'</span>
58
- </div>';
59
- }
60
- echo '<div class="twae-label-extra-label"><div>
61
- <span '.$this->get_render_attribute_string( $date_label_key ).' >'.$story_date_label.'</span>
62
- <span '.$this->get_render_attribute_string( $extra_label_key ).' >'.$story_extra_label.'</span>
63
- </div></div>
64
- <div class="twae-icon">';
65
- \Elementor\Icons_Manager::render_icon( $content['twae_story_icon'], [ 'aria-hidden' => 'true' ] );
66
- echo'</div>';
67
- echo '<div class="twae-story-info '.$no_border.'">
68
- <div class="twae-timeline-img">'.$image.'</div>
69
- <span '.$this->get_render_attribute_string( $title_key ).'>'.$timeline_story_title.'</span>
70
- <div '.$this->get_render_attribute_string( $description_key ).'>'.$timeline_description.'</div>
 
71
  </div>
72
- </div>';
73
  }
74
  }
75
- echo ' </div>
76
- <!-- Add Pagination -->
77
- <div class="twae-pagination"></div>
78
- <!-- Add Arrows -->
79
- <div class="twae-button-prev twae-icon-left-open-big"></div>
80
- <div class="twae-button-next twae-icon-right-open-big"></div>
81
- </div>';
82
 
83
 
84
 
1
  <?php
2
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
 
4
+ $widget_id = $this->get_id();
5
+
6
+ $sidesToShow = isset( $settings['twae_slides_to_show']) && !empty($settings['twae_slides_to_show']) ? $settings['twae_slides_to_show'] : 2;
7
+ $sidesHeight=isset($settings['twae_slides_height'])?$settings['twae_slides_height']:'no-height';
8
+
9
+ $autoplay= isset($settings['twae_autoplay'])?$settings['twae_autoplay']:'false';
10
+
11
+ $connector_html='<div class="twae-arrow"></div>';
12
+
13
+ //Horizontal Icon Position
14
+ if($settings['twae_icon_position']['size'] < 40 && $settings['twae_icon_position']['size'] >= 1){
15
+ $twae_icon_position = 'twae-position-40-minus';
16
+ }elseif($settings['twae_icon_position']['size'] > 50 && $settings['twae_icon_position']['size'] <= 60){
17
+ $twae_icon_position = 'twae-position-50-60';
18
+ }elseif($settings['twae_icon_position']['size'] > 60 && $settings['twae_icon_position']['size'] <= 100){
19
+ $twae_icon_position = 'twae-position-60-plus';
20
+ }else{
21
+ $twae_icon_position = 'twae-position-40-50';
22
+ }
23
+
24
+ $this->add_render_attribute(
25
+ 'twae-wrapper',
26
+ [
27
+ 'id' => 'twae-wrapper-'.$widget_id,
28
+ 'class' => ['twae-wrapper',$timeline_layout_wrapper]
29
+ ]);
30
+
31
+ $this->add_render_attribute(
32
+ 'twae-slider-container',
33
+ [
34
+ 'id' => 'twae-slider-container-'.$widget_id,
35
+ 'data-dir'=>$dir,
36
+ 'data-slidestoshow'=>$sidesToShow,
37
+ 'data-autoplay'=>$autoplay,
38
+ 'class' => ['twae-slider-container','swiper-container']
39
+ ]);
40
+
41
+
42
+
43
+ //Default Style
44
+ echo '<!-- ========= Timeline Widget Addon For Elementor '.TWAE_VERSION.' ========= -->
45
+ <div '.$this->get_render_attribute_string( 'twae-wrapper' ).'>
46
+ <div class="twae-wrapper-inside">
47
+ <div '.$this->get_render_attribute_string( 'twae-slider-container' ).'>
48
+ <div class="twae-slider-wrapper swiper-wrapper '.esc_attr($sidesHeight).'">';
49
 
 
 
50
  if(is_array($data)){
51
  foreach($data as $index=>$content){
52
 
53
+ $story_id=$content['_id'];
54
  $timeline_description = $content['twae_description'];
55
+ $show_year_label = isset($content['twae_show_year_label'])?$content['twae_show_year_label']:'';
56
+ $timeline_year =isset($content['twae_year'])?$content['twae_year']:'';
57
+ $timeline_story_title =$content['twae_story_title'];
58
+ $icon_type = isset($content['twae_icon_type'])?$content['twae_icon_type']:'icon';
59
+
 
 
 
60
  $title_key = $this->get_repeater_setting_key( 'twae_story_title', 'twae_list', $index );
61
+
62
  $date_label_key = $this->get_repeater_setting_key( 'twae_date_label', 'twae_list', $index );
63
  $extra_label_key = $this->get_repeater_setting_key( 'twae_extra_label', 'twae_list', $index );
64
  $description_key = $this->get_repeater_setting_key( 'twae_description', 'twae_list', $index );
65
+ $image_size = $content['twae_thumbnail_size'];
66
+ $thumbnail_size = $content['twae_thumbnail_size'];
 
 
 
 
 
 
 
 
 
 
67
  $image ='';
68
  if($content['twae_image']['id']!=""){
69
+ if($image_size =='custom'){
70
  $thumbnail_custom_dimension = $content['twae_thumbnail_custom_dimension'];
71
  $custom_size = array ( $thumbnail_custom_dimension['width'],$thumbnail_custom_dimension['height']);
72
+ $image= wp_get_attachment_image($content['twae_image']['id'], $custom_size);
73
  }
74
  else{
75
+ $image= wp_get_attachment_image($content['twae_image']['id'],$image_size);
76
  }
 
77
  }else if($content['twae_image']['url']!=""){
78
+ $image = '<img src="'.esc_url($content['twae_image']['url']).'" alt="'.esc_attr($timeline_story_title).'">';
79
  }
80
+ $article_key='twae-article-'.$story_id;
81
+ $repeator_item_key='elementor-repeater-item-'.$story_id;
82
+ $icon_cls = '';
83
+ $icon_html = '';
84
+
85
+ $date_label_html ='<div class="twae-label-big">'.$content['twae_date_label'].'</div>';
86
+ $sub_label_html = '';
87
+
88
+ if(!empty($content['twae_extra_label'])){
89
+ $sub_label_html .='<div class="twae-label-small">'.$content['twae_extra_label'].'</div>';
90
+ }
91
+
92
+ if($icon_type=='dot'){
93
+ $icon_cls = 'twae-story-no-icon';
94
+ $icon_html.='<div class="twae-icondot"></div>';
95
+ }else{
96
+ $icon_cls = 'twae-story-icon';
97
+ $icon_html.='<div class="twae-icon">';
98
+ if(isset($content['twae_story_icon'])){
99
+ $icon_html.= twae_get_icons($content['twae_story_icon']);
100
+ }else{
101
+ $icon_html.='<i aria-hidden="true" class="far fa-clock"></i>';
102
+ }
103
+ $icon_html.='</div>';
104
+ }
105
+ $this->add_render_attribute(
106
+ $article_key,
107
+ [
108
+ 'id' =>$article_key,
109
+ 'class' => [ 'twae-repeater-item','twae-story','swiper-slide',$icon_cls,$twae_icon_position],
110
+ ]);
111
 
112
+
113
+ echo '<div '.$this->get_render_attribute_string($article_key).'>';
114
+ echo '<div class="twae-story-line"></div>';
115
  if($show_year_label == 'yes'){
116
+ echo '<div class="twae-year twae-year-container story-year-' . esc_attr($story_id) . '">
117
+ <div class="twae-year-label twae-year-text" >'.esc_html($timeline_year).'</div>
118
+ </div>';
119
+ }
120
+
121
+ echo '<div class="twae-labels">
122
+ '.$date_label_html.$sub_label_html.'
123
+ </div>';
124
+ echo $connector_html;
125
+ echo $icon_html;
126
+ echo '<div class="twae-content">';
127
+ if($content['twae_image']['url']!="" && $content['twae_media']=="image"){
128
+ echo '<div class="twae-media '.esc_attr($image_size).'">'.$image.'</div>';
129
+ }
130
+ echo '<div class="twae-title">'.esc_html($timeline_story_title).'</div>
131
+ <div class="twae-description">'.wp_kses_post($timeline_description).'</div>
132
  </div>
133
+ </div>';
134
  }
135
  }
136
+ echo '</div></div></div>';
137
+ echo ' <!-- Add Arrows -->
138
+ <div class="twae-button-prev"><i class="fas fa-chevron-left"></i></div>
139
+ <div class="twae-button-next"><i class="fas fa-chevron-right"></i></div>
140
+ <div class="twae-h-line"></div>
141
+ <div class="twae-line-fill"></div>
142
+ </div>';
143
 
144
 
145
 
widgets/frontend-layouts/twae-vertical-timeline.php ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
+ $widget_id = $this->get_id();
4
+ $title_tag='div';
5
+ $connector_html='<div class="twae-arrow"></div>';
6
+
7
+ $this->add_render_attribute(
8
+ 'twae-wrapper',
9
+ [
10
+ 'id' => 'twae-wrapper-'.$widget_id,
11
+ 'class' => [ 'twae-vertical','twae-wrapper ',$timeline_layout_wrapper,$timeline_style],
12
+ ]);
13
+
14
+ $this->add_render_attribute(
15
+ 'twae-timeline',
16
+ [
17
+ 'id' =>'twea-timeline-'.$widget_id,
18
+ 'class' => ['twae-timeline'],
19
+ ]);
20
+
21
+ echo '<!-- ========= Timeline Widget Addon For Elementor '.TWAE_VERSION.' ========= -->
22
+ <div '.$this->get_render_attribute_string( 'twae-wrapper' ).'>
23
+ <div class="twae-start"></div>
24
+ <div '.$this->get_render_attribute_string( 'twae-timeline' ).' >';
25
+
26
+
27
+ if(is_array($data)){
28
+ foreach($data as $index=>$content){
29
+ $story_alignment = "twae-story-right";
30
+ if($layout == 'centered'){
31
+ if($countItem % 2 == 0){
32
+ $story_alignment = "twae-story-left";
33
+ }
34
+ }
35
+
36
+ $story_id=$content['_id'];
37
+ $timeline_description = $content['twae_description'];
38
+ $show_year_label = $content['twae_show_year_label'];
39
+ $timeline_year =$content['twae_year'];
40
+ $image ='';
41
+ $icon_cls = '';
42
+ $icon_html = '';
43
+
44
+ $story_date_label = $content['twae_date_label'];
45
+ $story_extra_label =isset($content['twae_extra_label'])?$content['twae_extra_label']:'';
46
+
47
+ $timeline_story_title =$content['twae_story_title'];
48
+
49
+ $icon_type = isset($content['twae_icon_type'])?$content['twae_icon_type']:'icon';
50
+ $image_size = $content['twae_thumbnail_size'];
51
+
52
+ $title_key = $this->get_repeater_setting_key( 'twae_story_title', 'twae_list', $index );
53
+
54
+ $date_label_key = $this->get_repeater_setting_key( 'twae_date_label', 'twae_list', $index );
55
+ $extra_label_key = $this->get_repeater_setting_key( 'twae_extra_label', 'twae_list', $index );
56
+ $description_key = $this->get_repeater_setting_key( 'twae_description', 'twae_list', $index );
57
+
58
+ $this->add_inline_editing_attributes( $title_key, 'none' );
59
+ $this->add_inline_editing_attributes( $date_label_key, 'none' );
60
+ $this->add_inline_editing_attributes( $extra_label_key, 'none' );
61
+ $this->add_inline_editing_attributes( $description_key, 'advanced' );
62
+
63
+ $this->add_render_attribute( $title_key, ['class'=> 'twae-title']);
64
+
65
+ $this->add_render_attribute( $date_label_key, ['class'=> 'twae-label-big']);
66
+ $this->add_render_attribute( $extra_label_key, ['class'=> 'twae-label-small']);
67
+ $this->add_render_attribute( $description_key, ['class'=> 'twae-description']);
68
+
69
+ $article_key='twae-article-'.$story_id;
70
+ $repeator_item_key='elementor-repeater-item-'.$story_id;
71
+ $year_label_html ='';
72
+
73
+ if(isset($content['twae_show_year_label'])&& $content['twae_show_year_label'] == 'yes'){
74
+ $year_label_html .='<div class="twae-year twae-year-container story-year-' . esc_attr($story_id) . '">
75
+ <div class="twae-year-label twae-year-text">'.$timeline_year.'</div>
76
+ </div>';
77
+ }
78
+
79
+ $date_label_html ='<div '.$this->get_render_attribute_string( $date_label_key).'>'.$content['twae_date_label'].'</div>';
80
+
81
+ $sub_label_html = '';
82
+ if( $content['twae_extra_label']!=''){
83
+ $sub_label_html .='<div '.$this->get_render_attribute_string( $extra_label_key ).'>'.$content['twae_extra_label'].'</div>';
84
+ }
85
+
86
+ if($icon_type=='dot'){
87
+ $icon_cls = 'twae-story-no-icon';
88
+ $icon_html.='<div class="twae-icondot"></div>';
89
+ }else{
90
+ $icon_cls = 'twae-story-icon';
91
+ $icon_html.='<div class="twae-icon">';
92
+ if(isset($content['twae_story_icon'])){
93
+ $icon_html.= twae_get_icons($content['twae_story_icon']);
94
+ }else{
95
+ $icon_html.='<i aria-hidden="true" class="far fa-clock"></i>';
96
+ }
97
+ $icon_html.='</div>';
98
+ }
99
+
100
+ if($content['twae_image']['id']!=""){
101
+ if($image_size =='custom'){
102
+ $thumbnail_custom_dimension = $content['twae_thumbnail_custom_dimension'];
103
+ $custom_size = array ( $thumbnail_custom_dimension['width'],$thumbnail_custom_dimension['height']);
104
+ $image= wp_get_attachment_image($content['twae_image']['id'], $custom_size );
105
+ }
106
+ else{
107
+ $image= wp_get_attachment_image($content['twae_image']['id'],$image_size);
108
+ }
109
+ }else if($content['twae_image']['url']!=""){
110
+ $image = '<img src="'.esc_url($content['twae_image']['url']).'">';
111
+ }
112
+
113
+
114
+ $this->add_render_attribute(
115
+ $article_key,
116
+ [
117
+ 'id' =>'story-'.$story_id,
118
+ 'class' => ['twae-story', 'twae-repeater-item', $story_alignment,$icon_cls
119
+ ]
120
+ ]);
121
+
122
+ // all other vertical layouts.
123
+ echo $year_label_html;
124
+ echo '<div '.$this->get_render_attribute_string( $article_key ).'>
125
+ <div class="twae-labels" >';
126
+ echo $date_label_html;
127
+ echo $sub_label_html;
128
+ echo'</div>';
129
+ echo $icon_html;
130
+ echo $connector_html;
131
+ echo '<div class="twae-content">';
132
+
133
+ echo '<div '.$this->get_render_attribute_string( $title_key ).'>'.esc_html($timeline_story_title).'</div>';
134
+ if($content['twae_image']['url']!="" && $content['twae_media']=="image"){
135
+ echo '<div class="twae-media '.esc_attr($image_size).'">'. $image.'</div>';
136
+ }
137
+ echo '<div '.$this->get_render_attribute_string( $description_key ).'>'.wp_kses_post($timeline_description).'</div>
138
+ </div>
139
+ </div>';
140
+ $countItem = $countItem +1;
141
+ }
142
+ }
143
+ echo'</div>
144
+ <div class="twae-end"></div>
145
+ </div>';
widgets/twae-centered-timeline.php DELETED
@@ -1,65 +0,0 @@
1
- <?php
2
- echo '
3
- <div class="twae-wrapper '.$timeline_layout_wrapper.'">
4
- <div class="twae-timeline-centered twae-timeline-sm twae-line '.$timeline_layout.'">';
5
- foreach($data as $index=>$content){
6
-
7
- $left_aligned = "twae-right-aligned";
8
- if($layout == 'centered'){
9
- if($countItem % 2 == 0){
10
- $left_aligned = "twae-left-aligned";
11
- }
12
- }
13
- $timeline_description = $content['twae_description'];
14
- $show_year_label = $content['twae_show_year_label'];
15
- $timeline_year = $content['twae_year'];
16
- $story_date_label = $content['twae_date_label'];
17
- $story_extra_label = $content['twae_extra_label'];
18
- $timeline_story_title = $content['twae_story_title'];
19
- $story_icon = $content['twae_story_icon']['value'];
20
- $thumbnail_size = $content['twae_thumbnail_size'];
21
- $thumbnail_custom_dimension = $content['twae_thumbnail_custom_dimension'];
22
-
23
- if($content['twae_image']['id']!=""){
24
- if($thumbnail_size =='custom'){
25
- $custom_size = array ( $thumbnail_custom_dimension['width'],$thumbnail_custom_dimension['height']);
26
- $image= wp_get_attachment_image($content['twae_image']['id'], $custom_size , true);
27
-
28
- }
29
- else{
30
- $image= wp_get_attachment_image($content['twae_image']['id'],$thumbnail_size, true);
31
- }
32
- $image = '<div class="twae-timeline-img">'.$image.'</div>';
33
- }else if($content['twae_image']['url']!=""){
34
- $image = '<div class="twae-timeline-img"><img src="'.$content['twae_image']['url'].'"></img></div>';
35
- }
36
- else{
37
- $image ='';
38
- }
39
-
40
- if($show_year_label == 'yes'){
41
- echo '<span class="twae-year-container">
42
- <span class="twae-year-label twae-year">'.$timeline_year.'</span>
43
- </span>';
44
- }
45
-
46
- echo '<article class="twae-timeline-entry '.$left_aligned.'">
47
- <div class="twae-timeline-entry-inner">
48
- <time class="twae-label-extra-label">
49
- <span class="twae-label">'.$story_date_label.'</span>
50
- <span class="twae-extra-label">'.$story_extra_label.'</span>
51
- </time>
52
- <div class="twae-bg-orange twae-icon">';
53
- \Elementor\Icons_Manager::render_icon( $content['twae_story_icon'], [ 'aria-hidden' => 'true' ] );
54
- echo'</div>
55
- <div class="twae-bg-orange twae-data-container">
56
- <span class="twae-title">'.$timeline_story_title.'</span>
57
- '.$image.'
58
- <div class="twae-description">'.$timeline_description.'</div>
59
- </div>
60
- </div>
61
- </article>';
62
- $countItem = $countItem +1;
63
- }
64
- echo'</div>
65
- </div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
widgets/twae-widget.php CHANGED
@@ -13,18 +13,34 @@ use Elementor\Group_Control_Typography;
13
  class TWAE_Widget extends \Elementor\Widget_Base {
14
 
15
  public function __construct($data = [], $args = null) {
 
16
  parent::__construct($data, $args);
17
- wp_register_style( 'twae-centered-css', TWAE_URL . 'assets/css/twae-centered-timeline.min.css', array(),TWAE_VERSION,'all');
18
- wp_register_style( 'twae-horizontal-css', TWAE_URL . 'assets/css/twae-horizontal-styles.min.css', array(),TWAE_VERSION,'all');
19
- wp_register_style( 'twae-fontello-css', TWAE_URL . 'assets/css/twae-fontello.css', array(),TWAE_VERSION,'all');
20
- wp_register_style( 'twae-color-typography', TWAE_URL . 'assets/css/twae-colors-typography.min.css', array(),TWAE_VERSION,'all');
21
- wp_register_style( 'font-awesome-5-all', ELEMENTOR_ASSETS_URL . 'lib/font-awesome/css/all.min.css', array(),TWAE_VERSION,'all');//load elementor fontawesome
 
 
 
 
 
 
 
 
 
 
 
 
22
  wp_register_script( 'twae-horizontal-js', TWAE_URL . 'assets/js/twae-horizontal.min.js',[ 'elementor-frontend','jquery' ],TWAE_VERSION, true );
23
- }
24
-
25
-
26
 
27
- public function get_script_depends() {
 
 
 
 
 
 
28
  if (\Elementor\Plugin::$instance->editor->is_edit_mode() || \Elementor\Plugin::$instance->preview->is_preview_mode()) {
29
  return [ 'twae-horizontal-js' ];
30
  }
@@ -34,25 +50,27 @@ class TWAE_Widget extends \Elementor\Widget_Base {
34
  return [ 'twae-horizontal-js' ];
35
  }else{
36
  return [];
37
- }
38
- }
 
39
 
40
- public function get_style_depends() {
41
 
 
42
  if (\Elementor\Plugin::$instance->editor->is_edit_mode() || \Elementor\Plugin::$instance->preview->is_preview_mode()) {
43
- return [ 'twae-centered-css','twae-horizontal-css','twae-fontello-css','twae-color-typography','font-awesome-5-all' ];
44
  }
45
  $settings = $this->get_settings_for_display();
46
  $layout = $settings['twae_layout'];
47
- $styles = ['twae-fontello-css','font-awesome-5-all'];
48
  if($layout == 'horizontal'){
49
- array_push($styles, 'twae-horizontal-css');
50
  }else{
51
- array_push($styles, 'twae-centered-css');
52
  }
53
- array_push($styles, 'twae-color-typography');
54
  return $styles ;
55
- }
 
56
 
57
  public function get_name() {
58
  return 'timeline-widget-addon';
@@ -69,839 +87,1460 @@ class TWAE_Widget extends \Elementor\Widget_Base {
69
  public function get_categories() {
70
  return [ 'twae' ];
71
  }
72
-
73
- function story_content_settings(){
 
 
74
  $this->start_controls_section(
75
- 'twae_content_section',
76
- [
77
- 'label' => __( 'Timeline Stories', 'twae' ),
78
- 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
79
- ]
80
- );
81
-
82
- $repeater = new \Elementor\Repeater();
83
-
84
- $repeater->start_controls_tabs(
85
- 'twae_story_tabs'
86
  );
87
-
88
- $repeater->start_controls_tab(
89
- 'twae_content_tab',
90
- [
91
- 'label' => __( 'Content', 'twae' ),
92
- ]
 
 
 
 
 
 
 
93
  );
94
-
95
-
96
-
97
- $repeater->add_control(
98
- 'twae_date_label',
99
- [
100
- 'label' => __( 'Primary Label', 'twae' ),
101
- 'type' => \Elementor\Controls_Manager::TEXT,
102
- 'default' => '01 Jan 2020',
103
- ]
104
- );
105
-
106
- $repeater->add_control(
107
- 'twae_extra_label',
108
- [
109
- 'label' => __( 'Sub Label', 'twae' ),
110
- 'type' => \Elementor\Controls_Manager::TEXT,
111
- 'default' => 'Sub Label',
112
- ]
113
- );
114
-
115
- $repeater->add_control(
116
- 'twae_story_title',
117
  [
118
- 'label' => __( 'Timeline Story Title', 'twae' ),
119
- 'type' => \Elementor\Controls_Manager::TEXT,
120
- 'default' => 'Timeline Story',
121
- 'label_block' => true,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  ]
123
  );
124
-
125
- $repeater->add_control(
126
- 'twae_image',
127
  [
128
- 'label' => __( 'Choose Image', 'twae' ),
129
- 'type' => \Elementor\Controls_Manager::MEDIA,
130
- 'description' => __('Image Size will not work with default image','twae'),
131
- 'default' => [
132
- 'url' => \Elementor\Utils::get_placeholder_image_src(),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  ],
134
  ]
135
  );
136
-
137
-
138
- $repeater->add_control(
139
- 'twae_description',
140
  [
141
- 'label' => __( 'Description', 'twae' ),
142
- 'type' => \Elementor\Controls_Manager::WYSIWYG,
143
- 'default' => 'Add Description Here',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  ]
145
  );
146
-
147
 
148
- $repeater->end_controls_tab();
149
-
150
- $repeater->start_controls_tab(
151
- 'twae_advanced_tab',
152
  [
153
- 'label' => __( 'Advanced Settings', 'twae' ),
 
 
 
 
 
154
  ]
155
  );
156
-
157
- $repeater->add_control(
158
- 'twae_show_year_label',
159
  [
160
- 'label' => __( 'Highlighted Label/Year', 'twae' ),
161
- 'type' => \Elementor\Controls_Manager::SWITCHER,
162
- 'label_on' => __( 'Show', 'twae' ),
163
- 'label_off' => __( 'Hide', 'twae' ),
164
- 'return_value' => 'yes',
165
- 'default' => 'no',
 
 
 
 
 
 
 
 
166
  ]
167
  );
168
-
169
- $repeater->add_control(
170
- 'twae_year',
171
  [
172
- 'label' => __( 'Label Text', 'twae' ),
173
- 'type' => \Elementor\Controls_Manager::TEXT,
174
- 'default' => '2020',
 
 
 
 
175
  'condition' => [
176
- 'twae_show_year_label' => [
177
- 'yes'
178
  ],
179
  ]
180
-
181
- ]
182
- );
183
-
184
- $repeater->add_group_control(
185
- Group_Control_Image_Size::get_type(),
186
- [
187
-
188
- 'name' => 'twae_thumbnail', // Usage: `{name}_size` and `{name}_custom_dimension`, in this case `thumbnail_size` and `thumbnail_custom_dimension`.
189
- 'separator' => 'none',
190
- 'default' => 'large',
191
-
192
  ]
193
- );
194
-
195
- $repeater->add_control(
196
- 'twae_image_size_notice',
197
- [
198
- 'label' => __( 'Image Size will not work with default image', 'twae' ),
199
- 'type' => \Elementor\Controls_Manager::HEADING,
200
- 'separator' => 'none',
201
- ]
202
- );
203
-
204
- $repeater->add_control(
205
- 'twae_story_icon',
206
  [
207
- 'label' => __( 'Icon', 'twae' ),
208
- 'type' => \Elementor\Controls_Manager::ICONS,
209
- 'default' => [
210
- 'value' => 'fab fa-amazon',
211
- 'library' => 'solid',
 
 
212
  ],
 
 
 
213
  ]
214
  );
215
-
216
- $repeater->add_control(
217
- 'twae_pro_options',
218
  [
219
- 'label' => __('','twae'),
 
220
  'type' => \Elementor\Controls_Manager::RAW_HTML,
221
- 'raw' => '
222
- <strong>'.__('Timeline Widget Addon','twae'). '</strong>
223
- <a href="'.TWAE_BUY_PRO_LINK.'" target="_blank"><span class="twae-pro-label">'.__('Pro','twae').'</a></span>',
224
- 'content_classes' => 'twae_pro_options',
225
- 'separator' => 'before',
 
226
  ]
227
  );
228
-
229
- $repeater->add_control(
230
- 'twae_pro_content',
231
  [
232
  'label' => '',
233
  'label_block' => true,
234
  'type' => \Elementor\Controls_Manager::RAW_HTML,
235
- 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'"><img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/slideshow-images.png"></a></br>
236
- <a target="_blank" href="'.TWAE_BUY_PRO_LINK.'"><img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/story-custom-colors.png"></a>',
 
237
  'content_classes' => 'twae_pro_content',
 
 
 
 
238
  ]
239
  );
 
 
 
 
 
 
 
 
 
 
 
 
240
 
241
- $repeater->end_controls_tab();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
242
 
243
- $repeater->end_controls_tabs();
 
 
 
 
 
 
 
 
 
244
 
245
- $this->add_control(
246
- 'twae_list',
247
- [
248
-
249
- 'label' => __( 'Content', 'twae' ),
250
- 'type' => \Elementor\Controls_Manager::REPEATER,
251
- 'fields' => $repeater->get_controls(),
252
- 'default' => [
253
- [
254
- 'twae_story_title' => __( 'Amazon Founded', 'twae' ),
255
- 'twae_description' => __('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Erat enim res aperta. Ne discipulum abducam, times. Primum quid tu dicis breve? An haec ab eo non dicuntur?','twae'),
256
- 'twae_year' => __('1994','twae'),
257
- 'twae_date_label' => __('Jul 1994','twae'),
258
- 'twae_extra_label' => __('Amazon History','twae'),
259
- 'twae_image' =>[
260
- 'url' => TWAE_URL . 'assets/images/amazon-1.png',
261
- 'id' => '',
262
- ],
263
- ],
264
- [
265
- 'twae_story_title' => __( 'Amazon Prime Services', 'twae' ),
266
- 'twae_description' => __('Aliter homines, aliter philosophos loqui putas oportere? Sin aliud quid voles, postea. Mihi enim satis est, ipsis non satis. Negat enim summo bono afferre incrementum diem. Quod ea non occurrentia fingunt, vincunt Aristonem.','twae'),
267
- 'twae_year' => __('2005','twae'),
268
- 'twae_date_label' => __('Feb 2005','twae'),
269
- 'twae_extra_label' => __('Amazon History','twae'),
270
- 'twae_image' =>[
271
- 'url' => TWAE_URL . 'assets/images/amazon-2.png',
272
- 'id' => '',
273
- ],
274
-
275
- ],
276
- [
277
- 'twae_story_title' => __( 'Amazon Announced Amazon Fresh Pickup', 'twae' ),
278
- 'twae_description' => __('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.','twae'),
279
- 'twae_year' => __('2007','twae'),
280
- 'twae_date_label' => __('Aug 2007','twae'),
281
- 'twae_extra_label' => __('Amazon History','twae'),
282
- 'twae_image' =>[
283
- 'url' => TWAE_URL . 'assets/images/amazon-3.png',
284
- 'id' => '',
285
- ],
286
- ],
287
- ],
288
- 'title_field' => '{{{ twae_story_title }}}',
289
- ]
290
- );
291
 
292
- $this->end_controls_section();
 
293
 
 
294
 
 
 
 
 
 
 
 
 
 
 
 
 
 
295
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
296
  }
297
- protected function register_controls() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
298
 
299
- $this->story_content_settings();
 
 
 
300
  $this->start_controls_section(
301
- 'twae_layout_section',
302
  [
303
- 'label' => __( 'Layout Settings', 'twae' ),
304
  'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
305
  ]
306
  );
307
-
308
- $this->add_control(
309
- 'twae_layout',
 
 
 
 
 
 
 
310
  [
311
- 'label' => __( 'Layout', 'twae' ),
312
- 'type' => \Elementor\Controls_Manager::SELECT,
313
- 'default' => 'centered',
314
- 'options'=>[
315
- 'centered'=>'Both Sided',
316
- 'one-sided'=>'One Sided',
317
- 'horizontal'=>'Horizontal',
318
- ],
319
- 'default' => 'centered',
320
  ]
321
  );
322
-
323
- $this->add_control(
324
- 'twae_style_option',
325
  [
326
- 'label' => __('','twae'),
327
- 'type' => \Elementor\Controls_Manager::RAW_HTML,
328
- 'raw' => '<span class="twae-option-label">'.__('Style','twae').'</span><a href="'.TWAE_BUY_PRO_LINK.'" target="_blank"><span class="twae-pro-label">'.__('Pro','twae').'</span></a>
329
- <select name="twae_style" disabled>
330
- <option value="style-1">Classic</option>
331
- </select>',
332
- 'content_classes' => 'twae_style_option',
333
  ]
334
  );
335
-
336
- $this->add_control(
337
- 'twae_slides_to_show',
338
  [
339
- 'label' => __( 'Slides To Show', 'twae' ),
340
  'type' => \Elementor\Controls_Manager::TEXT,
341
- 'default' => '2',
342
  'condition' => [
343
- 'twae_layout' => [
344
- 'horizontal'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
345
  ],
346
- ]
 
 
 
 
 
 
 
 
 
 
347
  ]
348
  );
349
-
350
- $this->add_control(
351
- 'twae_slides_height',
352
  [
353
- 'label' => __( 'Equal Height Slides', 'twae' ),
354
- 'description' => __('Make all slides the same height based on the tallest slide','twae'),
355
- 'type' => \Elementor\Controls_Manager::SELECT,
356
- 'default' => 'no-height',
357
- 'options'=>[
358
- 'auto-height'=>'Yes',
359
- 'no-height'=>'No',
360
  ],
361
  'condition' => [
362
- 'twae_layout' => [
363
- 'horizontal'
364
  ],
365
  ]
 
366
  ]
367
  );
368
-
369
- $this->add_control(
370
- 'twae_autoplay',
371
  [
372
- 'label' => __( 'Autoplay', 'twae' ),
373
- 'type' => \Elementor\Controls_Manager::SELECT,
374
- 'default' => 'false',
375
- 'options'=>[
376
- 'true'=>'True',
377
- 'false'=>'False',
378
- ],
379
  'condition' => [
380
- 'twae_layout' => [
381
- 'horizontal'
382
  ],
383
  ]
384
  ]
385
  );
386
-
387
- $this->end_controls_section();
388
-
389
- $this->start_controls_section(
390
- 'twae_Basic_styles_section',
391
  [
392
- 'label' => __( 'Color & Typography Settings', 'twae' ),
393
- 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
 
 
 
 
 
 
 
 
 
394
  ]
395
  );
396
-
397
-
398
- $this->add_control(
399
- 'twae_label_section',
400
  [
401
- 'label' => __( 'Primary Label', 'plugin-name' ),
402
- 'type' => \Elementor\Controls_Manager::HEADING,
403
- 'separator' => 'before',
 
 
 
 
 
 
 
 
404
  ]
405
  );
406
-
407
- $this->add_control(
408
- 'twae_date_label_color',
409
  [
410
- 'label' => __( 'Color', 'twae' ),
411
- 'type' => Controls_Manager::COLOR,
412
- 'scheme' => [
413
- 'type' => Elementor\Core\Schemes\Color::get_type(),
414
- 'value' => Elementor\Core\Schemes\Color::COLOR_1,
415
- ],
416
- 'selectors' => [
417
- '{{WRAPPER}} .twae-wrapper span.twae-label' => 'color: {{twae_date_label_color}}',
418
- ],
419
- //'default' => '#23A455',
420
  ]
421
  );
 
 
422
 
423
- $this->add_group_control(
424
- Group_Control_Typography::get_type(),
 
425
  [
426
- 'name' => 'twae_label_typography',
427
- 'label' => __( 'Typography', 'twae' ),
428
- 'selector' => '{{WRAPPER}} .twae-wrapper span.twae-label',
429
  ]
430
  );
431
-
432
- /*---- Sub Label ----*/
433
- $this->add_control(
434
- 'twae_sub_label_section',
435
- [
436
- 'label' => __( 'Sub Label', 'twae' ),
437
- 'type' => \Elementor\Controls_Manager::HEADING,
438
- 'separator' => 'before',
439
- ]
440
- );
441
-
442
- $this->add_control(
443
- 'twae_extra_label_color',
444
- [
445
- 'label' => __( 'Color', 'twae' ),
446
- 'type' => Controls_Manager::COLOR,
447
- 'scheme' => [
448
- 'type' => Elementor\Core\Schemes\Color::get_type(),
449
- 'value' => Elementor\Core\Schemes\Color::COLOR_3,
450
- ],
451
- 'selectors' => [
452
- '{{WRAPPER}} .twae-wrapper span.twae-extra-label' => 'color: {{twae_extra_label_color}}',
453
  ],
454
- //'default' => '#7A7A7A',
455
- ]
456
- );
457
-
458
- $this->add_group_control(
459
- Group_Control_Typography::get_type(),
460
- [
461
- 'name' => 'twae_extra_label_typography',
462
- 'label' => __( 'Typography', 'twae' ),
463
- 'selector' => '{{WRAPPER}} .twae-wrapper span.twae-extra-label',
464
- ]
465
- );
466
-
467
- $this->add_control(
468
- 'twae_title_section',
469
- [
470
- 'label' => __( 'Title', 'plugin-name' ),
471
- 'type' => \Elementor\Controls_Manager::HEADING,
472
- 'separator' => 'before',
473
- ]
474
- );
475
-
476
- /*---- Story Title ----*/
477
- $this->add_control(
478
- 'twae_story_title_color',
479
- [
480
- 'label' => __( 'Color', 'twae' ),
481
- 'type' => Controls_Manager::COLOR,
482
- 'scheme' => [
483
- 'type' => Elementor\Core\Schemes\Color::get_type(),
484
- 'value' => Elementor\Core\Schemes\Color::COLOR_1,
485
  ],
486
- 'selectors' => [
487
- '{{WRAPPER}} .twae-wrapper .twae-data-container span.twae-title' => 'color: {{twae_story_title_color}}',
488
- '{{WRAPPER}} .twae-horizontal span.twae-title' => 'color: {{twae_story_title_color}}',
489
  ],
490
- //'default' => '#23A455',
491
- ]
492
- );
493
-
494
- $this->add_group_control(
495
- Group_Control_Typography::get_type(),
496
- [
497
- 'name' => 'twae_title_typography',
498
- 'label' => __( 'Typography', 'twae' ),
499
- 'selector' => '{{WRAPPER}} .twae-wrapper span.twae-title',
500
- ]
501
- );
502
- $this->add_control(
503
- 'twae_description_section',
504
- [
505
- 'label' => __( 'Description', 'twae' ),
506
- 'type' => \Elementor\Controls_Manager::HEADING,
507
- 'separator' => 'before',
508
  ]
509
  );
510
-
511
- $this->add_control(
512
- 'twae_description_color',
513
  [
514
- 'label' => __( 'Color', 'twae' ),
515
- 'type' => Controls_Manager::COLOR,
516
- 'scheme' => [
517
- 'type' => Elementor\Core\Schemes\Color::get_type(),
518
- 'value' => Elementor\Core\Schemes\Color::COLOR_3,
519
  ],
520
- 'selectors' => [
521
- '{{WRAPPER}} .twae-wrapper .twae-description' => 'color: {{twae_description_color}}',
522
  ],
523
- //'default' => '#333333',
524
  ]
525
  );
526
-
527
- $this->add_group_control(
528
- Group_Control_Typography::get_type(),
529
  [
530
- 'name' => 'twae_description_typography',
531
- 'label' => __( 'Typography', 'twae' ),
532
- 'selector' => '{{WRAPPER}} .twae-wrapper .twae-description',
 
 
 
 
 
 
533
  ]
534
  );
535
-
536
- $this->add_control(
537
- 'twae_story_bgcolor_section',
538
  [
539
- 'label' => __( 'Story Background', 'twae' ),
540
- 'type' => \Elementor\Controls_Manager::HEADING,
541
- 'separator' => 'before',
 
 
 
 
 
 
542
  ]
543
  );
544
-
545
- $this->add_control(
546
- 'twae_story_bgcolor',
547
  [
548
- 'label' => __( 'Background Color', 'twae' ),
549
- 'type' => Controls_Manager::COLOR,
550
- 'selectors' => [
551
- '{{WRAPPER}} .twae-wrapper .twae-data-container' => 'background-color: {{twae_story_bgcolor}}',
552
- '{{WRAPPER}} .twae-wrapper .twae-icon' => 'color: {{twae_story_bgcolor}}',
553
- '{{WRAPPER}} .twae-horizontal .twae-story-info' => 'background-color: {{twae_story_bgcolor}}',
554
-
555
- '{{WRAPPER}} .twae-horizontal .twae-story-info.twae-no-border' => 'border-color: {{twae_story_bgcolor}}',
556
- '{{WRAPPER}} .twae-horizontal .twae-story-info.twae-no-border:before' => 'border-bottom-color: {{twae_story_bgcolor}}',
557
- '{{WRAPPER}} .twae-wrapper .twae-data-container.twae-no-border:after' => 'border-right-color: {{twae_story_bgcolor}}',
558
- '{{WRAPPER}} .twae-wrapper .twae-right-aligned .twae-data-container.twae-no-border' => 'border-left-color: {{twae_story_bgcolor}}',
559
- 'body[data-elementor-device-mode=desktop] {{WRAPPER}} .twae-wrapper .twae-left-aligned .twae-data-container.twae-no-border,
560
- body[data-elementor-device-mode=tablet] {{WRAPPER}} .twae-wrapper .twae-left-aligned .twae-data-container.twae-no-border' => 'border-right-color: {{twae_story_bgcolor}}',
561
- 'body[data-elementor-device-mode=mobile] {{WRAPPER}} .twae-wrapper .twae-left-aligned .twae-data-container.twae-no-border' => 'border-left-color: {{twae_story_bgcolor}}',
562
-
563
- ],
564
- //'default' => '#fff9ed',
565
-
566
  ]
567
  );
 
 
568
 
569
- $this->end_controls_section();
570
-
571
- $this->start_controls_section(
572
- 'twae_extra_styles_section',
573
  [
574
- 'label' => __( 'More Settings', 'twae' ),
575
- 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
576
  ]
577
  );
578
-
579
- $this->add_control(
580
- 'twae_middle_line_section',
581
  [
582
- 'label' => __( 'Middle Line', 'twae' ),
583
- 'type' => \Elementor\Controls_Manager::HEADING,
 
 
 
584
  'separator' => 'before',
585
  ]
586
  );
 
 
 
 
 
587
 
 
588
  $this->add_control(
589
- 'twae_line_color',
590
- [
591
- 'label' => __( 'Line Color', 'twae' ),
592
- 'type' => Controls_Manager::COLOR,
593
- 'selectors' => [
594
- '{{WRAPPER}} .twae-wrapper .twae-line::before' => 'background-color: {{twae_line_color}}',
595
- '{{WRAPPER}} .twae-wrapper .twae-timeline-centered .twae-icon' => 'border-color: {{twae_line_color}}',
596
- '{{WRAPPER}} .twae-wrapper .twae-timeline-centered .twae-year' => 'border-color: {{twae_line_color}}',
597
- '{{WRAPPER}} .twae-wrapper:before' => 'background-color: {{twae_line_color}}',
598
- '{{WRAPPER}} .twae-wrapper:after' => 'background-color: {{twae_line_color}}',
599
- '{{WRAPPER}} .twae-horizontal .twae-pagination.swiper-pagination-progressbar' => 'background-color: {{twae_line_color}}',
600
- '{{WRAPPER}} .twae-horizontal .twae-button-prev' => 'color: {{twae_line_color}}',
601
- '{{WRAPPER}} .twae-horizontal .twae-button-next' => 'color: {{twae_line_color}}',
602
- ],
603
- //'default' => '#D6D6D6',
604
- ]
605
- );
606
- /*---- Year Label ----*/
607
- $this->add_control(
608
- 'twae_year_label_section',
609
- [
610
- 'label' => __( 'Highlighted Label/Year
611
- ', 'plugin-name' ),
612
- 'type' => \Elementor\Controls_Manager::HEADING,
613
- 'separator' => 'before',
614
- ]
615
- );
616
-
617
- $this->add_control(
618
- 'twae_year_label_color',
619
- [
620
- 'label' => __( 'Color', 'twae' ),
621
- 'type' => Controls_Manager::COLOR,
622
- 'selectors' => [
623
- '{{WRAPPER}} .twae-wrapper .twae-year' => 'color: {{twae_year_label_color}}',
624
- ],
625
- //'default' => '#ffffff',
626
- ]
627
- );
628
-
629
- $this->add_control(
630
- 'twae_year_label_bgcolor',
631
- [
632
- 'label' => __( 'Background Color', 'twae' ),
633
- 'type' => Controls_Manager::COLOR,
634
- 'selectors' => [
635
- '{{WRAPPER}} .twae-wrapper .twae-year' => 'background-color: {{twae_year_label_bgcolor}}',
636
- ],
637
- //'default' => '#54595F',
638
- ]
639
- );
640
-
641
- $this->add_group_control(
642
- Group_Control_Typography::get_type(),
643
- [
644
- 'name' => 'twae_year_typography',
645
- 'label' => __( 'Typography', 'twae' ),
646
- 'selector' => '{{WRAPPER}} .twae-wrapper .twae-year',
647
- ]
648
- );
649
-
650
-
651
-
652
- $this->add_control(
653
- 'twae_icon_section',
654
- [
655
- 'label' => __( 'Icon/Icon placeholder', 'twae' ),
656
- 'type' => \Elementor\Controls_Manager::HEADING,
657
- 'separator' => 'before',
658
- ]
659
- );
660
-
661
- $this->add_control(
662
- 'twae_icon_bgcolor',
663
- [
664
- 'label' => __( 'Background Color', 'twae' ),
665
- 'type' => Controls_Manager::COLOR,
666
- 'scheme' => [
667
- 'type' => Elementor\Core\Schemes\Color::get_type(),
668
- 'value' => Elementor\Core\Schemes\Color::COLOR_1,
669
- ],
670
- 'selectors' => [
671
- '{{WRAPPER}} .twae-wrapper .twae-icon' => 'background-color: {{twae_icon_bgcolor}}',
672
- '{{WRAPPER}} .twae-horizontal .twae-story-info' => 'border-color: {{twae_icon_bgcolor}}',
673
- '{{WRAPPER}} .twae-horizontal .twae-story-info:before' => 'border-bottom-color: {{twae_icon_bgcolor}}',
674
- '{{WRAPPER}} .twae-wrapper .twae-data-container:after' => 'border-right-color: {{twae_icon_bgcolor}}',
675
- '{{WRAPPER}} .twae-wrapper .twae-right-aligned .twae-data-container' => 'border-left-color: {{twae_icon_bgcolor}}',
676
- 'body[data-elementor-device-mode=desktop] {{WRAPPER}} .twae-wrapper .twae-left-aligned .twae-data-container,
677
- body[data-elementor-device-mode=tablet] {{WRAPPER}} .twae-wrapper .twae-left-aligned .twae-data-container' => 'border-right-color: {{twae_icon_bgcolor}}',
678
- 'body[data-elementor-device-mode=mobile] {{WRAPPER}} .twae-wrapper .twae-left-aligned .twae-data-container' => 'border-left-color: {{twae_icon_bgcolor}}',
679
- ],
680
- //'default' => '#23A455',
681
- ]
682
- );
683
-
684
-
685
- /*---- Icon ----*/
686
- $this->add_control(
687
- 'twae_icon_styles_section',
688
- [
689
- 'label' => __( 'Icon', 'twae' ),
690
- 'type' => \Elementor\Controls_Manager::HEADING,
691
- 'separator' => 'before',
692
- ]
693
- );
694
-
695
- $this->add_control(
696
- 'twae_icon_size',
697
- [
698
- 'label' => __( 'Icon Size', 'twae' ),
699
- 'type' => Controls_Manager::SLIDER,
700
- 'range' => [
701
- 'px' => [
702
- 'min' => 12,
703
- 'max' => 36,
704
  ],
 
705
  ],
706
- 'selectors' => [
707
- '{{WRAPPER}} .twae-wrapper .twae-icon i' => 'font-size: {{SIZE}}{{UNIT}}',
 
 
 
 
 
 
 
 
 
708
  ],
709
- //'default' => '.75rem',
710
- ]
711
- );
712
-
713
- $this->add_control(
714
- 'twae_icon_padding',
715
- [
716
- 'label' => __( 'Icon Padding', 'twae' ),
717
- 'type' => Controls_Manager::DIMENSIONS,
718
- 'size_units' => [ 'px', '%', 'em' ],
719
- 'selectors' => [
720
- '{{WRAPPER}} .twae-wrapper .twae-icon' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
721
  ],
722
- ]
723
- );
724
-
725
- /*---- Icon ----*/
726
- $this->add_control(
727
- 'twae_border_section',
728
- [
729
- 'label' => __( 'Border', 'twae' ),
730
- 'type' => \Elementor\Controls_Manager::HEADING,
731
- 'separator' => 'before',
732
- ]
733
- );
734
-
735
- $this->add_control(
736
- 'twae_border',
737
- [
738
- 'label' => __( 'Border', 'twae' ),
739
- 'type' => \Elementor\Controls_Manager::SWITCHER,
740
- 'label_on' => __( 'Show', 'your-plugin' ),
741
- 'label_off' => __( 'Hide', 'your-plugin' ),
742
- 'return_value' => 'yes',
743
- 'default' => 'yes',
744
- ]
745
- );
746
-
747
- $this->end_controls_section();
748
-
749
-
750
-
751
- $this->start_controls_section(
752
- 'twae_advanced_section',
753
- [
754
- 'label' => __( 'Advanced Settings', 'twae' ),
755
- 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
756
  ]
757
  );
758
 
759
- $this->add_control(
760
- 'twae_animation_option',
761
- [
762
- 'label' => __('','twae'),
763
- 'type' => \Elementor\Controls_Manager::RAW_HTML,
764
- 'raw' => __('Animation','twae').' <a target="_blank" href="'.TWAE_BUY_PRO_LINK.'"><span class="twae-pro-label">'.__('Pro','twae').'</span></a><select name="twae_animation" disabled>
765
- <option value="style-1">Fade</option>
766
- </select>',
767
- 'content_classes' => 'twae_animation_option',
768
- ]
769
- );
770
 
771
- /* $this->add_control(
772
- 'twae_image_size_notice',
773
- [
774
- 'label' => __( 'Pro version more features', 'twae' ),
775
- 'type' => \Elementor\Controls_Manager::HEADING,
776
- 'separator' => 'none',
777
- ]
778
- );
779
-
780
- $this->add_control(
781
- 'twae_pro_features_1',
782
- [
783
- 'label' => __( '', 'plugin-name' ),
784
- 'type' => \Elementor\Controls_Manager::RAW_HTML,
785
- 'raw' => '<div class="twae-pro-features"><ul>
786
- <li>3 styles in each layout( Both Sided, One Sided, Horizontal )</li>
787
- <li>Images Slideshow/Video</li>
788
- <li>Animation Effects</li>
789
- <li>Custom text or image as icon</li>
790
- <li>Custom Color for each Timeline Story</li>
791
- <li>Icons enable/disable option</li>
792
- <li>Post Timeline( Timeline of blog posts )</li>
793
- <li>Pagination( for Post Timeline )</li>
794
- </ul></br>
795
- <a href="https://cooltimeline.com/elementor-timeline-widget-pro-demo/">'.__('View Demo','twae').'</a>
796
- </div>',
797
- 'content_classes' => 'twae-pro-features-list',
798
- ]
799
- ); */
800
-
801
-
802
- $this->end_controls_section();
803
-
804
- $this->start_controls_section(
805
- 'twae_pro_feature_section',
806
- [
807
- 'label' => __( 'Pro Features', 'twae' ),
808
- 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
809
- ]
810
- );
811
-
812
- $this->add_control(
813
- 'twae_pro_features',
814
- [
815
- 'label' => __( '', 'plugin-name' ),
816
- 'type' => \Elementor\Controls_Manager::RAW_HTML,
817
- 'raw' => '
818
- <style>.twae-pro-features ul li p {
819
- padding: 5px;
820
- }</style>
821
- <div class="twae-pro-features"><ul>
822
- <li><strong>15+ Timeline Designs</strong>
823
- <p>Create beautiful vertical & horizontal timeline designs.</p>
824
- </li>
825
- <li><strong>Post Timeline</strong>
826
- <p>Show your blog posts in a timeline layout anywhere on the website.</p>
827
- </li>
828
- <li><strong>Animation Effect</strong>
829
- <p>It has 15+ animation effects, fade-in, flip-up, zoom, etc.</p>
830
- </li>
831
- <li><strong>Colors & Typography</strong>
832
- <p>Use the advanced settings option to manage text size and colors.</p>
833
- </li>
834
- <li><strong>Custom Color Story</strong>
835
- <p>Easily apply different colors to each story in a timeline.</p>
836
- </li>
837
-
838
- <li><strong>Image / Video / Slideshow</strong>
839
- <p>Add image, video, or slideshow image.</p>
840
- </li>
841
- <li><strong>Ajax Load More</strong>
842
- <p>Load stories with page scroll via ajax pagination.</p>
843
- </li>
844
-
845
- <li><strong>Icons in Timeline</strong>
846
- <p>Font Awesome icon, custom text, or image as timeline Icon.</p>
847
- </li>
848
- </ul></br>
849
- <a target="_blank" href="'.TWAE_VIEW_DEMO.'">'.__('View Demo','twae').'</a> |
850
- <a style="padding:6px;" class="elementor-button elementor-button-success" href="'.TWAE_BUY_PRO_LINK.'" target="_blank"> Buy PRO</a>
851
- </div>',
852
- 'content_classes' => 'twae-pro-features-list',
853
- ]
854
  );
855
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
856
  $this->end_controls_section();
857
 
858
  }
859
 
860
- // for frontend
861
- protected function render() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
862
 
863
- $settings = $this->get_settings_for_display();
864
- $data = $settings['twae_list'];
865
- $layout = $settings['twae_layout'];
866
- $autoplay = $settings['twae_autoplay'];
867
- $sidesHeight = $settings['twae_slides_height'];
868
- $border = $settings['twae_border'];
869
- $no_border = '';
870
- if($border !='yes'){
871
- $no_border = 'twae-no-border';
872
- }
873
-
874
- $isRTL = is_rtl();
875
- $dir = '';
876
- if($isRTL){
877
- $dir = 'rtl';
878
- }
879
 
880
- $timeline_layout_wrapper = "twae-centered";
881
- $timeline_layout = '';
882
- if($layout == 'one-sided'){
883
- $timeline_layout = "twae-one-sided-timeline";
884
- $timeline_layout_wrapper = "twae-one-sided-wrapper";
885
- }
886
 
887
- $countItem = 1;
888
- if($layout == 'horizontal'){
889
- $timeline_layout = "twae-horizontal-timeline";
890
- $timeline_layout_wrapper = "twae-horizontal-wrapper";
891
- require TWAE_PATH . 'widgets/frontend-layouts/twae-horizontal-timeline.php';
892
-
893
-
894
- }else{
895
- require TWAE_PATH . 'widgets/frontend-layouts/twae-centered-timeline.php';
896
- }
897
-
898
-
899
- }
900
 
901
  // for live editor
902
  protected function content_template() {
903
-
904
- ?>
905
  <#
906
  if( settings.twae_list ) {
907
 
@@ -947,7 +1586,10 @@ class TWAE_Widget extends \Elementor\Widget_Base {
947
 
948
  }
949
 
 
 
 
950
  }
951
 
952
- \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new TWAE_Widget() );
953
 
13
  class TWAE_Widget extends \Elementor\Widget_Base {
14
 
15
  public function __construct($data = [], $args = null) {
16
+
17
  parent::__construct($data, $args);
18
+ // run hook on page save and update status
19
+ add_action( 'elementor/editor/after_save', array( $this, 'twae_update_migration_status' ), 10, 2 );
20
+
21
+
22
+ $min_v=true;
23
+ $ext='.css';
24
+ if($min_v==true){
25
+ $ext='.min.css';
26
+ }
27
+ wp_register_style( 'twae-vertical-timeline', TWAE_URL . 'assets/css/twae-vertical-timeline'.$ext, array(),TWAE_VERSION,'all');
28
+
29
+ wp_register_style( 'twae-common-styles', TWAE_URL . 'assets/css/twae-common-styles'.$ext, array(),TWAE_VERSION,'all');
30
+
31
+ wp_register_style( 'twae-horizontal-timeline', TWAE_URL . 'assets/css/twae-horizontal-timeline'.$ext, array(),TWAE_VERSION,'all');
32
+
33
+
34
+ wp_register_style( 'font-awesome-5-all', ELEMENTOR_ASSETS_URL . 'lib/font-awesome/css/all'.$ext, array(),TWAE_VERSION,'all');//load elementor fontawesome
35
  wp_register_script( 'twae-horizontal-js', TWAE_URL . 'assets/js/twae-horizontal.min.js',[ 'elementor-frontend','jquery' ],TWAE_VERSION, true );
 
 
 
36
 
37
+ //load helper functions
38
+
39
+ require_once( TWAE_PATH . '/includes/twae-functions.php' );
40
+
41
+ }
42
+
43
+ public function get_script_depends() {
44
  if (\Elementor\Plugin::$instance->editor->is_edit_mode() || \Elementor\Plugin::$instance->preview->is_preview_mode()) {
45
  return [ 'twae-horizontal-js' ];
46
  }
50
  return [ 'twae-horizontal-js' ];
51
  }else{
52
  return [];
53
+ }
54
+ return [ 'twae-horizontal-js' ];
55
+ }
56
 
57
+ public function get_style_depends() {
58
 
59
+ return [ 'twae-vertical-timeline','twae-common-styles','twae-horizontal-timeline','font-awesome-5-all' ];
60
  if (\Elementor\Plugin::$instance->editor->is_edit_mode() || \Elementor\Plugin::$instance->preview->is_preview_mode()) {
61
+ return [ 'twae-vertical-timeline','twae-common-styles','twae-horizontal-timeline','font-awesome-5-all' ];
62
  }
63
  $settings = $this->get_settings_for_display();
64
  $layout = $settings['twae_layout'];
65
+ $styles = ['font-awesome-5-all','twae-common-styles'];
66
  if($layout == 'horizontal'){
67
+ array_push($styles, 'twae-horizontal-timeline');
68
  }else{
69
+ array_push($styles, 'twae-vertical-timeline');
70
  }
 
71
  return $styles ;
72
+
73
+ }
74
 
75
  public function get_name() {
76
  return 'timeline-widget-addon';
87
  public function get_categories() {
88
  return [ 'twae' ];
89
  }
90
+ protected function register_controls() {
91
+ $this->content_controls();
92
+
93
+ /* ----------------------------- Layout Settings ---------------------------- */
94
  $this->start_controls_section(
95
+ 'twae_layout_section',
96
+ array(
97
+ 'label' => __( 'Layout Settings', 'twae1' ),
98
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
99
+ )
 
 
 
 
 
 
100
  );
101
+ // Select Layout
102
+ $this->add_control(
103
+ 'twae_layout',
104
+ array(
105
+ 'label' => __( 'Layout', 'twae1' ),
106
+ 'type' => \Elementor\Controls_Manager::SELECT,
107
+ 'default' => 'centered',
108
+ 'options' => array(
109
+ 'centered' => 'Vertical (Right / Left)',
110
+ 'one-sided' => 'Vertical (Right Only)',
111
+ 'horizontal' => 'Horizontal',
112
+ ),
113
+ )
114
  );
115
+ //Story Content Alignment
116
+ $this->add_control(
117
+ 'content-alignment',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  [
119
+ 'label' => esc_html__( 'Content Alignment', 'twae' ),
120
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
121
+ 'options' => [
122
+ 'left' => [
123
+ 'title' => esc_html__( 'Left', 'twae' ),
124
+ 'icon' => 'eicon-text-align-left',
125
+ ],
126
+ 'center' => [
127
+ 'title' => esc_html__( 'Center', 'twae' ),
128
+ 'icon' => 'eicon-text-align-center',
129
+ ],
130
+ 'right' => [
131
+ 'title' => esc_html__( 'Right', 'twae' ),
132
+ 'icon' => 'eicon-text-align-right',
133
+ ],
134
+ ],
135
+ 'toggle' => true,
136
+ 'selectors' => [
137
+ '{{WRAPPER}} .twae-wrapper' => '--tw-cbx-text-align: {{VALUE}};',
138
+ ],
139
  ]
140
  );
141
+ //Story Content Alternate Alignment
142
+ $this->add_control(
143
+ 'content-alignment_alternate',
144
  [
145
+ 'label' => esc_html__( 'Content Alignment (Left)', 'twae' ),
146
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
147
+ 'options' => [
148
+ 'left' => [
149
+ 'title' => esc_html__( 'Left', 'twae' ),
150
+ 'icon' => 'eicon-text-align-left',
151
+ ],
152
+ 'center' => [
153
+ 'title' => esc_html__( 'Center', 'twae' ),
154
+ 'icon' => 'eicon-text-align-center',
155
+ ],
156
+ 'right' => [
157
+ 'title' => esc_html__( 'Right', 'twae' ),
158
+ 'icon' => 'eicon-text-align-right',
159
+ ],
160
+ ],
161
+ 'default' => 'right',
162
+ 'toggle' => true,
163
+ 'selectors' => [
164
+ '{{WRAPPER}} .twae-wrapper' => '--tw-cbx-text-align-alternate: {{VALUE}};',
165
+ ],
166
+ 'condition' => [
167
+ 'twae_layout' => [
168
+ 'centered'
169
+ ],
170
  ],
171
  ]
172
  );
173
+ //Icon Box Position
174
+ $this->add_responsive_control(
175
+ 'twae_icon_position',
 
176
  [
177
+ 'label' => __( 'Icon / Labels Position', 'twae1' ),
178
+ 'type' => \Elementor\Controls_Manager::SLIDER,
179
+ 'render_type'=>'template',
180
+ 'range' => [
181
+ 'px' => [
182
+ 'min' => 1,
183
+ 'max' => 100,
184
+ 'step'=> 2,
185
+ ],
186
+ ],
187
+ 'devices' => [ 'desktop', 'tablet', 'mobile' ],
188
+ 'selectors' => [
189
+ '{{WRAPPER}} .twae-wrapper' => '--tw-ibx-position: {{SIZE}};',
190
+ ],
191
+ /*'condition' => [
192
+ 'twae_layout' => [
193
+ 'centered','one-sided'
194
+ ],
195
+ ],*/
196
  ]
197
  );
 
198
 
199
+ //Horizontal Slides Settings
200
+ $this->add_control(
201
+ 'twae_horizontal_slides',
 
202
  [
203
+ 'label' => esc_html__( '🔶 Horizontal Slides', 'twae1' ),
204
+ 'type' => \Elementor\Controls_Manager::HEADING,
205
+ 'separator' => 'before',
206
+ 'condition' => [
207
+ 'twae_layout' => 'horizontal',
208
+ ]
209
  ]
210
  );
211
+ //Slides to Show
212
+ $this->add_control(
213
+ 'twae_slides_to_show',
214
  [
215
+ 'label' => esc_html__( 'Slides To Show', 'twea1' ),
216
+ 'type' => \Elementor\Controls_Manager::SELECT,
217
+ 'default' => 2,
218
+ 'options' => [
219
+ 1 => esc_html__( '1 Slide', 'twae1' ),
220
+ 2 => esc_html__( '2 Slides', 'twae1' ),
221
+ 3 => esc_html__( '3 Slides', 'twae1' ),
222
+ 4 => esc_html__( '4 Slides', 'twae1' ),
223
+ 5=> esc_html__( '5 Slides', 'twae1' ),
224
+ 6=> esc_html__( '6 Slides', 'twae1' )
225
+ ],
226
+ 'condition' => [
227
+ 'twae_layout' => 'horizontal'
228
+ ]
229
  ]
230
  );
231
+ //Horizontal Slides Autoplay
232
+ $this->add_control(
233
+ 'twae_autoplay',
234
  [
235
+ 'label' => __( 'Autoplay', 'twae1' ),
236
+ 'type' => \Elementor\Controls_Manager::SELECT,
237
+ 'default' => 'false',
238
+ 'options'=>[
239
+ 'true'=>'True',
240
+ 'false'=>'False',
241
+ ],
242
  'condition' => [
243
+ 'twae_layout' => [
244
+ 'horizontal'
245
  ],
246
  ]
 
 
 
 
 
 
 
 
 
 
 
 
247
  ]
248
+ );
249
+ //Horizontal Equal Height Slides
250
+ $this->add_control(
251
+ 'twae_slides_height',
 
 
 
 
 
 
 
 
 
252
  [
253
+ 'label' => __( 'Slides Height', 'twae1' ),
254
+ 'description' => __('Make all slides the same height based on the tallest slide','twae1'),
255
+ 'type' => \Elementor\Controls_Manager::SELECT,
256
+ 'default' => 'no-height',
257
+ 'options'=>[
258
+ 'auto-height'=>'Equal Height',
259
+ 'no-height'=>'Auto',
260
  ],
261
+ 'condition' => [
262
+ 'twae_layout' => 'horizontal'
263
+ ]
264
  ]
265
  );
266
+ //Horizontal Layout [PRO]
267
+ $this->add_control(
268
+ 'pro_layout_horizontal_settings',
269
  [
270
+ 'label' => '',
271
+ 'label_block' => true,
272
  'type' => \Elementor\Controls_Manager::RAW_HTML,
273
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
274
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/layout-h-settings.png"></a>',
275
+ 'content_classes' => 'twae_pro_content',
276
+ 'condition' => [
277
+ 'twae_layout' => 'horizontal'
278
+ ]
279
  ]
280
  );
281
+ //Vertical Layout [PRO]
282
+ $this->add_control(
283
+ 'pro_layout_settings',
284
  [
285
  'label' => '',
286
  'label_block' => true,
287
  'type' => \Elementor\Controls_Manager::RAW_HTML,
288
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
289
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/layout-settings.png">
290
+ </a>',
291
  'content_classes' => 'twae_pro_content',
292
+ 'separator' => 'before',
293
+ 'condition' => [
294
+ 'twae_layout!' => 'horizontal'
295
+ ]
296
  ]
297
  );
298
+
299
+ //Layout Section End
300
+ $this->end_controls_section();
301
+ $this->twae_line_settings();
302
+ $this->story_icon_style_settings();
303
+ $this->story_yld_settings();
304
+ $this->twae_cbox_settings();
305
+ $this->twae_storycontent_settings();
306
+ $this->story_pro_style_settings();
307
+ }
308
+ // for frontend
309
+ protected function render() {
310
 
311
+ $settings = $this->get_settings_for_display();
312
+ $layout = $settings['twae_layout'];
313
+ $data = $settings['twae_list'];
314
+ $compatibility_styles = '';
315
+ $story_styles = '';
316
+ $timeline_style = '';
317
+ $timeline_layout = '';
318
+ global $post;
319
+ $post_id=$post->ID;
320
+ $widget_id = $this->get_id();
321
+ $countItem = 1;
322
+ $isRTL = is_rtl();
323
+ $dir = '';
324
+ if($isRTL){
325
+ $dir = 'rtl';
326
+ }
327
 
328
+ // run code only for old users
329
+ if ( get_option( 'twae-v' ) != false ) {
330
+ global $post;
331
+ $post_id = $post->ID;
332
+ // delete_post_meta($post_id, 'twae_style_migration');
333
+ if ( ! get_post_meta( $post_id, 'twae_style_migration', true ) ) {
334
+ update_post_meta( $post_id, 'twae_exists', 'yes' );
335
+ $compatibility_styles .= $this->older_v_compatibility( $post_id, $settings, $timeline_style );
336
+ }
337
+ }
338
 
339
+
340
+ if($layout == 'horizontal'){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
341
 
342
+ $timeline_layout_wrapper = 'twae-horizontal-timeline';
343
+
344
 
345
+ require TWAE_PATH . 'widgets/frontend-layouts/twae-horizontal-timeline.php';
346
 
347
+ }else{
348
+ $timeline_layout_wrapper = 'twae-both-sided';
349
+ if ( $layout == 'one-sided' ) {
350
+ $timeline_layout_wrapper = 'twae-vertical-right';
351
+ }
352
+ require TWAE_PATH . 'widgets/frontend-layouts/twae-vertical-timeline.php';
353
+ }
354
+
355
+ $compatibility_styles .= $story_styles;
356
+ echo '<style type="text/css">' . $compatibility_styles . '</style>';
357
+
358
+
359
+ }
360
 
361
+
362
+
363
+ /**
364
+ * update some settings when user saves Elementor data.
365
+ *
366
+ * @since 1.0.0
367
+ * @param int $post_id The ID of the post.
368
+ * @param array $editor_data The editor data.
369
+ */
370
+ function twae_update_migration_status( $post_id, $editor_data ) {
371
+
372
+ if ( get_option( 'twae-v' ) != false ) {
373
+ if ( get_post_meta( $post_id, 'twae_exists', true ) ) {
374
+ update_post_meta( $post_id, 'twae_style_migration', 'done' );
375
+ update_option( 'twae-migration-status', 'done' );
376
+ return;
377
+ }
378
+ }
379
  }
380
+ // compatibility for < 1.3 versions
381
+ function older_v_compatibility( $post_id, $settings, $timeline_style ) {
382
+ $custom_styles = '';
383
+ $widgetID = '.elementor-' . $post_id . ' .elementor-element.elementor-element-' . $this->get_id();
384
+ $selector = $widgetID . ' .twae-wrapper';
385
+ $typo_index = '_typography';
386
+ $custom_styles .=$selector.'.twae-vertical .twae-story{margin-bottom:60px!important}';
387
+
388
+ if ( isset( $settings['twae_story_title_color'] ) && $settings['twae_story_title_color'] != '' ) {
389
+ $custom_styles .= $selector . '{--tw-cbx-title-color:' . $settings['twae_story_title_color'] . ';}';
390
+ }
391
+ if ( isset( $settings['twae_date_label_color'] ) && $settings['twae_date_label_color'] != '' ) {
392
+ $custom_styles .= $selector . '{--tw-lbl-big-color:' . $settings['twae_date_label_color'] . ';}';
393
+ }
394
+ if ( isset( $settings['twae_extra_label_color'] ) && $settings['twae_extra_label_color'] != '' ) {
395
+ $custom_styles .= $selector . '{--tw-lbl-small-color:' . $settings['twae_extra_label_color'] . ';}';
396
+ }
397
+
398
+ if ( isset( $settings['twae_description_color'] ) && $settings['twae_description_color'] != '' ) {
399
+ $custom_styles .= $selector . '{--tw-cbx-des-color:' . $settings['twae_description_color'] . ';}';
400
+ }
401
+ if ( isset( $settings['twae_icon_bgcolor'] ) && $settings['twae_icon_bgcolor'] != '' ) {
402
+ $custom_styles .= $selector . '{--tw-ibx-bg:' . $settings['twae_icon_bgcolor'] . ';}';
403
+ }
404
+ if ( isset( $settings['twae_year_label_color'] ) && $settings['twae_year_label_color'] != '' ) {
405
+ $custom_styles .= $selector . '{--tw-ybx-text-color:' . $settings['twae_year_label_color'] . '}';
406
+ }
407
+ if ( isset( $settings['twae_year_label_bgcolor'] ) && $settings['twae_year_label_bgcolor'] != '' ) {
408
+ $custom_styles .= $selector . '{--tw-ybx-bg:' . $settings['twae_year_label_bgcolor'] . '}';
409
+ $custom_styles .= $selector . ' .twae-year{background:none!important;}';
410
+ }
411
+ if ( isset( $settings['twae_story_bgcolor'] ) && $settings['twae_story_bgcolor'] != '' ) {
412
+ $custom_styles .= $selector . '{--tw-cbx-bg:' . $settings['twae_story_bgcolor'] . '}';
413
+ }
414
+ if ( isset( $settings['twae_line_color'] ) && $settings['twae_line_color'] != '' ) {
415
+ $custom_styles .= $selector . '{--tw-line-bg:' . $settings['twae_line_color'] . '}';
416
+ }
417
+ if ( isset($settings['twae_border']) && $settings['twae_border']==""){
418
+ $custom_styles .= $selector . '{
419
+ --tw-cbx-bd-top-width: 0px;
420
+ --tw-cbx-bd-right-width: 0px;
421
+ --tw-cbx-bd-bottom-width: 0px;
422
+ --tw-cbx-bd-left-width:0px;
423
+ }';
424
+ }
425
+
426
+ $title_key = 'twae_title_typography';
427
+ if ( isset( $settings[ $title_key . $typo_index ] ) &&
428
+ $settings[ $title_key . $typo_index ] == 'custom' ) {
429
+ $title_styles = $this->get_typography_settings( $title_key, $settings );
430
+ $custom_styles .= $widgetID . ' .twae-title{' . $title_styles . '}';
431
+ }
432
+ $label_key = 'twae_label_typography';
433
+ if ( isset( $settings[ $label_key . $typo_index ] ) &&
434
+ $settings[ $label_key . $typo_index ] == 'custom' ) {
435
+ $label_styles = $this->get_typography_settings( $label_key, $settings );
436
+ $custom_styles .= $widgetID . ' .twae-label-big{' . $label_styles . '}';
437
+ if(isset($settings[ $label_key.'_font_size' ]['size'])){
438
+ $custom_styles .= $widgetID.' .twae-wrapper{--tw-lbl-big-size:' . $settings[ $label_key.'_font_size' ]['size'] .''. $settings[ $label_key.'_font_size' ]['unit'] . '}';
439
+ }
440
+ }
441
+ $sub_label_key = 'twae_extra_label_typography';
442
+ if ( isset( $settings[ $sub_label_key . $typo_index ] ) &&
443
+ $settings[ $sub_label_key . $typo_index ] == 'custom' ) {
444
+ $sublabel_styles = $this->get_typography_settings( $sub_label_key, $settings );
445
+ $custom_styles .= $widgetID . ' .twae-label-small{' . $sublabel_styles . '}';
446
+ if(isset($settings[ $sub_label_key.'_font_size' ]['size'])){
447
+ $custom_styles .= $widgetID . ' .twae-wrapper{--tw-lbl-small-size:' . $settings[ $sub_label_key.'_font_size' ]['size'] .''. $settings[ $sub_label_key.'_font_size' ]['unit'] . '}';
448
+ }
449
+ }
450
+ $desc_key = 'twae_description_typography';
451
+ if ( isset( $settings[ $desc_key . $typo_index ] ) &&
452
+ $settings[ $desc_key . $typo_index ] == 'custom' ) {
453
+ $desc_styles = $this->get_typography_settings( $desc_key, $settings );
454
+ $custom_styles .= $widgetID . ' .twae-description{' . $desc_styles . '}';
455
+ }
456
+ $year_key = 'twae_year_typography';
457
+ if ( isset( $settings[ $year_key . $typo_index ] ) &&
458
+ $settings[ $year_key . $typo_index ] == 'custom' ) {
459
+ $desc_styles = $this->get_typography_settings( $year_key, $settings );
460
+ $custom_styles .= $widgetID . '.twae-year{' . $desc_styles . '}';
461
+ }
462
+ if ( ! empty( $custom_styles ) ) {
463
+ return $custom_styles;
464
+
465
+ } else {
466
+ return false;
467
+ }
468
+ }
469
+
470
+ // get an older version style settings
471
+ function get_typography_settings( $key, $all_settings ) {
472
+ $fields = array(
473
+ 'font_family',
474
+ 'font_size',
475
+ 'font_weight',
476
+ 'text_transform',
477
+ 'font_style',
478
+ 'text_decoration',
479
+ 'line_height',
480
+ 'letter_spacing',
481
+ 'word_spacing',
482
+ );
483
+ $field_css = '';
484
+ foreach ( $fields as $field ) {
485
+ $index = $key . '_' . $field;
486
+ $attribute = str_replace( '_', '-', $field );
487
+ if ( isset( $all_settings[ $index ] ) && $all_settings[ $index ] !== '' ) {
488
+ if ( is_array( $all_settings[ $index ] ) ) {
489
+ if ( $all_settings[ $index ]['size'] !== '' ) {
490
+ $unit = $all_settings[ $index ]['unit'];
491
+ $size = $all_settings[ $index ]['size'];
492
+ $field_css .= $attribute . ':' . $size . $unit . ';';
493
+ }
494
+ } else {
495
+ $field_css .= $attribute . ':' . $all_settings[ $index ] . ';';
496
+ }
497
+ }
498
+ }
499
+ return $field_css;
500
+ }
501
+
502
 
503
+
504
+ /* --------------------------- Add Story Repeater --------------------------- */
505
+ function content_controls(){
506
+ //Add Timeline Stories Section
507
  $this->start_controls_section(
508
+ 'twae_content_section',
509
  [
510
+ 'label' => __( 'Timeline Stories', 'twae1' ),
511
  'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
512
  ]
513
  );
514
+ //Story Repeater
515
+ $repeater = new \Elementor\Repeater();
516
+ //Story Tabs - START
517
+ $repeater->start_controls_tabs(
518
+ 'twae_story_tabs'
519
+ );
520
+
521
+ //Story Tab - Content - START
522
+ $repeater->start_controls_tab(
523
+ 'twae_content_tab',
524
  [
525
+ 'label' => __( 'Content', 'twae1' ),
 
 
 
 
 
 
 
 
526
  ]
527
  );
528
+ //Story Year / Label Show/Hide
529
+ $repeater->add_control(
530
+ 'twae_show_year_label',
531
  [
532
+ 'label' => __( 'Year / Label (Top)', 'twae1' ),
533
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
534
+ 'label_on' => __( 'Show', 'twae1' ),
535
+ 'label_off' => __( 'Hide', 'twae1' ),
536
+ 'return_value' => 'yes',
537
+ 'default' => 'no',
538
+ 'separator' => 'before',
539
  ]
540
  );
541
+ //Story Year / Label Text
542
+ $repeater->add_control(
543
+ 'twae_year',
544
  [
545
+ 'label' => __( 'Year / Label Text', 'twae1' ),
546
  'type' => \Elementor\Controls_Manager::TEXT,
547
+ 'default' => '2022',
548
  'condition' => [
549
+ 'twae_show_year_label' => [
550
+ 'yes'
551
+ ],
552
+ ]
553
+ ]
554
+ );
555
+ //Story Label / Date
556
+ $repeater->add_control(
557
+ 'twae_date_label',
558
+ [
559
+ 'label' => __( 'Label / Date', 'twae1' ),
560
+ 'type' => \Elementor\Controls_Manager::TEXT,
561
+ 'default' => 'March 30',
562
+ ]
563
+ );
564
+ //Story Sub Label Text
565
+ $repeater->add_control(
566
+ 'twae_extra_label',
567
+ [
568
+ 'label' => __( 'Sub Label', 'twae1' ),
569
+ 'type' => \Elementor\Controls_Manager::TEXT,
570
+ 'default' => 'Sub Label',
571
+ ]
572
+ );
573
+ //Story Title
574
+ $repeater->add_control(
575
+ 'twae_story_title',
576
+ [
577
+ 'label' => __( 'Title', 'twae1' ),
578
+ 'type' => \Elementor\Controls_Manager::TEXT,
579
+ 'default' => 'Add Title Here',
580
+ 'label_block' => true,
581
+ 'separator' => 'before',
582
+ ]
583
+ );
584
+ //Story Media
585
+ $repeater->add_control(
586
+ 'twae_media',
587
+ [
588
+ 'label' => __( 'Choose Media', 'twae1' ),
589
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
590
+ 'separator' => 'before',
591
+ 'options' => [
592
+ 'image' => [
593
+ 'title' => __( 'Image', 'twae1' ),
594
+ 'icon' => 'fa fa-image',
595
  ],
596
+ 'video' => [
597
+ 'title' => __( 'Video', 'twae1' ),
598
+ 'icon' => 'fa fa-video',
599
+ ],
600
+ 'slideshow' => [
601
+ 'title' => __( 'Slideshow', 'twae1' ),
602
+ 'icon' => 'fa fa-images',
603
+ ],
604
+ ],
605
+ 'default' => 'image',
606
+ 'toggle' => true,
607
  ]
608
  );
609
+ //Story Media - Image
610
+ $repeater->add_control(
611
+ 'twae_image',
612
  [
613
+ 'label' => __( 'Choose Image', 'twae1' ),
614
+ 'type' => \Elementor\Controls_Manager::MEDIA,
615
+ 'description' => __('Image Size will not work with default image','twae1'),
616
+ 'default' => [
617
+ 'url' => \Elementor\Utils::get_placeholder_image_src(),
 
 
618
  ],
619
  'condition' => [
620
+ 'twae_media' => [
621
+ 'image'
622
  ],
623
  ]
624
+
625
  ]
626
  );
627
+ //Story Media - Image Size
628
+ $repeater->add_group_control(
629
+ Group_Control_Image_Size::get_type(),
630
  [
631
+ 'name' => 'twae_thumbnail', // Usage: `{name}_size` and `{name}_custom_dimension`, in this case `thumbnail_size` and `thumbnail_custom_dimension`.
632
+ 'separator' => 'none',
633
+ 'default' => 'large',
634
+ 'description' => __('Image Size will not work with dummy image.','twae1'),
635
+ 'exclude' => ['custom'],
 
 
636
  'condition' => [
637
+ 'twae_media' => [
638
+ 'image'
639
  ],
640
  ]
641
  ]
642
  );
643
+ //Story Media - Slideshow [PRO]
644
+ $repeater->add_control(
645
+ 'twae_pro_slideshow',
 
 
646
  [
647
+ 'label' => '',
648
+ 'label_block' => true,
649
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
650
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
651
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/slideshow-settings.png"></a>',
652
+ 'content_classes' => 'twae_pro_content',
653
+ 'condition' => [
654
+ 'twae_media' => [
655
+ 'slideshow'
656
+ ],
657
+ ]
658
  ]
659
  );
660
+ //Story Media - Youtube [PRO]
661
+ $repeater->add_control(
662
+ 'twae_pro_yt',
 
663
  [
664
+ 'label' => '',
665
+ 'label_block' => true,
666
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
667
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
668
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/youtube-settings.png"></a>',
669
+ 'content_classes' => 'twae_pro_content',
670
+ 'condition' => [
671
+ 'twae_media' => [
672
+ 'video'
673
+ ],
674
+ ]
675
  ]
676
  );
677
+ //Story Description
678
+ $repeater->add_control(
679
+ 'twae_description',
680
  [
681
+ 'label' => __( 'Description', 'twae1' ),
682
+ 'type' => \Elementor\Controls_Manager::WYSIWYG,
683
+ 'default' => 'Add Description Here',
684
+ 'separator' => 'before',
 
 
 
 
 
 
685
  ]
686
  );
687
+ //Story Tab - Content - END
688
+ $repeater->end_controls_tab();
689
 
690
+ //Story Tab - Advanced - START
691
+ $repeater->start_controls_tab(
692
+ 'twae_advanced_tab',
693
  [
694
+ 'label' => __( 'Advanced', 'twae1' ),
 
 
695
  ]
696
  );
697
+ //Story Icon Type
698
+ $repeater->add_control(
699
+ 'twae_icon_type',
700
+ [
701
+ 'label' => __( 'Icon Type', 'twae1' ),
702
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
703
+ 'separator' => 'before',
704
+ 'options' => [
705
+ 'icon' => [
706
+ 'title' => __( 'Icon', 'twae1' ),
707
+ 'icon' => 'fab fa-font-awesome',
 
 
 
 
 
 
 
 
 
 
 
708
  ],
709
+ 'customtext' => [
710
+ 'title' => __( 'Text', 'twae1' ),
711
+ 'icon' => 'fa fa-list-ol',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
712
  ],
713
+ 'image' => [
714
+ 'title' => __( 'Image', 'twae1' ),
715
+ 'icon' => 'fa fa-images',
716
  ],
717
+ 'dot' => [
718
+ 'title' => __( 'Dot', 'twae1' ),
719
+ 'icon' => 'eicon-circle',
720
+ ]
721
+ ],
722
+ 'toggle' => false,
723
+ 'default'=>'icon'
 
 
 
 
 
 
 
 
 
 
 
724
  ]
725
  );
726
+ //Story FontAwesome Icon
727
+ $repeater->add_control(
728
+ 'twae_story_icon',
729
  [
730
+ 'label' => __( 'FontAwesome Icon', 'twae1' ),
731
+ 'type' => \Elementor\Controls_Manager::ICONS,
732
+ 'default' => [
733
+ 'value' => 'far fa-clock',
734
+ 'library' => 'solid'
735
  ],
736
+ 'condition' => [
737
+ 'twae_icon_type' => ['icon']
738
  ],
 
739
  ]
740
  );
741
+ //Story Image Icon [PRO]
742
+ $repeater->add_control(
743
+ 'twae_pro_content_img',
744
  [
745
+ 'label' => '',
746
+ 'label_block' => true,
747
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
748
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
749
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/icon-image-settings.png"></a>',
750
+ 'content_classes' => 'twae_pro_content',
751
+ 'condition' => [
752
+ 'twae_icon_type' => [ 'image']
753
+ ],
754
  ]
755
  );
756
+ //Story Text Icon [PRO]
757
+ $repeater->add_control(
758
+ 'twae_pro_content_text',
759
  [
760
+ 'label' => '',
761
+ 'label_block' => true,
762
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
763
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
764
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/icon-text-settings.png"></a>',
765
+ 'content_classes' => 'twae_pro_content',
766
+ 'condition' => [
767
+ 'twae_icon_type' => [ 'customtext']
768
+ ],
769
  ]
770
  );
771
+ //Story Button [PRO]
772
+ $repeater->add_control(
773
+ 'twae_pro_readmore',
774
  [
775
+ 'label' => '',
776
+ 'label_block' => true,
777
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
778
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
779
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/button-settings.png"></a>',
780
+ 'content_classes' => 'twae_pro_content',
781
+ 'separator' => 'before',
 
 
 
 
 
 
 
 
 
 
 
782
  ]
783
  );
784
+ //Story Tab - Advanced - END
785
+ $repeater->end_controls_tab();
786
 
787
+ //Story Tab - Colors - START
788
+ $repeater->start_controls_tab(
789
+ 'twae_style_tab',
 
790
  [
791
+ 'label' => __( 'Colors', 'twae1' ),
 
792
  ]
793
  );
794
+ //Story Colors [PRO]
795
+ $repeater->add_control(
796
+ 'twae_pro_story_style',
797
  [
798
+ 'label' => '',
799
+ 'label_block' => true,
800
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
801
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'"><img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/single-color-settings.png"></a>',
802
+ 'content_classes' => 'twae_pro_content',
803
  'separator' => 'before',
804
  ]
805
  );
806
+ //Story Tab - Colors - END
807
+ $repeater->end_controls_tab();
808
+
809
+ //Story Tabs - END
810
+ $repeater->end_controls_tabs();
811
 
812
+ //Story Dummy Content
813
  $this->add_control(
814
+ 'twae_list',
815
+ [
816
+ 'label' => __( 'Content', 'twae1' ),
817
+ 'type' => \Elementor\Controls_Manager::REPEATER,
818
+ 'fields' => $repeater->get_controls(),
819
+ 'default' => [
820
+ [
821
+ 'twae_story_title' => __( 'Amazon is born', 'twae1' ),
822
+ 'twae_description' => __('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Erat enim res aperta. Ne discipulum abducam, times. Primum quid tu dicis breve? An haec ab eo non dicuntur?','twae1'),
823
+ 'twae_year' => __('1994','twae1'),
824
+ 'twae_date_label' => __('July 5','twae1'),
825
+ 'twae_extra_label' => __('Introduced','twae1'),
826
+ 'twae_image' =>[
827
+ 'url' => TWAE_URL . 'assets/images/amazon1.jpg',
828
+ 'id' => '',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
829
  ],
830
+ 'twae_video_url' => '',
831
  ],
832
+ [
833
+ 'twae_story_title' => __( 'Amazon Prime debuts', 'twae1' ),
834
+ 'twae_description' => __('Aliter homines, aliter philosophos loqui putas oportere? Sin aliud quid voles, postea. Mihi enim satis est, ipsis non satis. Negat enim summo bono afferre incrementum diem. Quod ea non occurrentia fingunt, vincunt Aristonem.','twae1'),
835
+ 'twae_year' => __('2005','twae1'),
836
+ 'twae_date_label' => __('February 2','twae1'),
837
+ 'twae_extra_label' => __('Expanded','twae1'),
838
+ 'twae_image' =>[
839
+ 'url' => TWAE_URL . 'assets/images/amazon2.jpg',
840
+ 'id' => '',
841
+ ],
842
+ 'twae_video_url' => '',
843
  ],
844
+ [
845
+ 'twae_story_title' => __( 'Amazon acquires Audible', 'twae1' ),
846
+ 'twae_description' => __('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.','twae1'),
847
+ 'twae_year' => __('2008','twae1'),
848
+ 'twae_date_label' => __('January 31','twae1'),
849
+ 'twae_extra_label' => __('Expanded','twae1'),
850
+ 'twae_image' =>[
851
+ 'url' => TWAE_URL . 'assets/images/amazon3.png',
852
+ 'id' => '',
853
+ ],
854
+ 'twae_video_url' => '',
 
855
  ],
856
+ ],
857
+ 'title_field' => '{{{ twae_story_title }}}',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
858
  ]
859
  );
860
 
861
+ //Add Timeline Stories Section - END
862
+ $this->end_controls_section();
863
+ }
 
 
 
 
 
 
 
 
864
 
865
+ /* ------------------------------ Line Settings ----------------------------- */
866
+ function twae_line_settings() {
867
+ // Line Section Start
868
+ $this->start_controls_section(
869
+ 'twae_line_section',
870
+ array(
871
+ 'label' => __( '📍 Line Settings', 'twae' ),
872
+ 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
873
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
874
  );
875
+ // Line Color
876
+ $this->add_control(
877
+ 'twae_line_color',
878
+ array(
879
+ 'label' => __( 'Line Color', 'twae' ),
880
+ 'type' => Controls_Manager::COLOR,
881
+ 'selectors' => array(
882
+ '{{WRAPPER}} .twae-wrapper, {{WRAPPER}} .twae-navigationBar' => '--tw-line-bg: {{VALUE}}',
883
+ ),
884
+ )
885
+ );
886
+ $this->add_control(
887
+ 'pro_line_settings',
888
+ [
889
+ 'label' => '',
890
+ 'label_block' => true,
891
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
892
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
893
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/line-style.png"></a>',
894
+ 'content_classes' => 'twae_pro_content',
895
+ ]
896
+ );
897
+ // Line Section End
898
  $this->end_controls_section();
899
 
900
  }
901
 
902
+ /* ---------------- Content Settings - Title/Img/Desc/Button ---------------- */
903
+ function twae_storycontent_settings() {
904
+ // Content Section Start
905
+ $this->start_controls_section(
906
+ 'twae_storycontent_section',
907
+ array(
908
+ 'label' => __( '#️⃣ Title / Desc ', 'twae1' ),
909
+ 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
910
+ )
911
+ );
912
+ //Title Section
913
+ $this->add_control(
914
+ 'twae_title_section',
915
+ [
916
+ 'label' => __( '🔶 Title', 'twae1' ),
917
+ 'type' => \Elementor\Controls_Manager::HEADING,
918
+ ]
919
+ );
920
+
921
+ // Title Color
922
+ $this->add_control(
923
+ 'twae_story_title_color',
924
+ array(
925
+ 'label' => __( 'Color', 'twae1' ),
926
+ 'type' => Controls_Manager::COLOR,
927
+ 'separator' => 'before',
928
+ /*
929
+ 'scheme' => [
930
+ 'type' => Elementor\Core\Schemes\Color::get_type(),
931
+ 'value' => Elementor\Core\Schemes\Color::COLOR_1,
932
+ ],*/
933
+ 'selectors' => array(
934
+ '{{WRAPPER}} .twae-wrapper' => '--tw-cbx-title-color: {{VALUE}}',
935
+ ),
936
+ )
937
+ );
938
+
939
+ // Title Typography
940
+ $this->add_group_control(
941
+ Group_Control_Typography::get_type(),
942
+ array(
943
+ 'name' => 'twae_title_typography',
944
+ 'label' => __( 'Typography', 'twae1' ),
945
+ 'selector' => '{{WRAPPER}} .twae-title, .twae-popup .twae-title',
946
+ 'frontend_available' => true,
947
+ //'exclude' => array( 'line_height' ),
948
+ )
949
+ );
950
+
951
+ // Title Bottom Margin
952
+ $this->add_responsive_control(
953
+ 'twae_story_title_margin',
954
+ array(
955
+ 'type' => \Elementor\Controls_Manager::SLIDER,
956
+ 'label' => esc_html__( 'Bottom Spacing', 'twae' ),
957
+ 'range' => array(
958
+ 'px' => array(
959
+ 'min' => 0,
960
+ 'max' => 200,
961
+ 'step' => 1,
962
+ ),
963
+ ),
964
+ 'selectors' => array(
965
+ '{{WRAPPER}} .twae-wrapper' => '--tw-cbx-title-margin: 0 0 {{SIZE}}{{UNIT}} 0',
966
+ ),
967
+ )
968
+ );
969
+
970
+ // Description Section
971
+ $this->add_control(
972
+ 'twae_description_section',
973
+ array(
974
+ 'label' => __( '🔶 Description', 'twae1' ),
975
+ 'type' => \Elementor\Controls_Manager::HEADING,
976
+ 'separator' => 'before',
977
+ )
978
+ );
979
+ // Description Color
980
+ $this->add_control(
981
+ 'twae_description_color',
982
+ array(
983
+ 'label' => __( 'Color', 'twae1' ),
984
+ 'type' => \Elementor\Controls_Manager::COLOR,
985
+ 'separator' => 'before',
986
+ 'selectors' => array(
987
+ '{{WRAPPER}} .twae-wrapper' => '--tw-cbx-des-color: {{VALUE}}',
988
+ ),
989
+ )
990
+ );
991
+
992
+ // Description Typo
993
+ $this->add_group_control(
994
+ Group_Control_Typography::get_type(),
995
+ array(
996
+ 'name' => 'twae_description_typography',
997
+ 'label' => __( 'Typography', 'twae1' ),
998
+ 'selector' => '{{WRAPPER}} .twae-description, {{WRAPPER}} .twae-button a, .twae-popup .twae-description',
999
+ //'exclude' => array( 'line_height' ),
1000
+ )
1001
+ );
1002
+
1003
+ // Description Bottom Margin
1004
+ $this->add_responsive_control(
1005
+ 'space_between_story_desc',
1006
+ array(
1007
+ 'type' => \Elementor\Controls_Manager::SLIDER,
1008
+ 'label' => esc_html__( 'Bottom Spacing', 'twae' ),
1009
+ 'range' => array(
1010
+ 'px' => array(
1011
+ 'min' => 0,
1012
+ 'max' => 100,
1013
+ ),
1014
+ ),
1015
+ 'devices' => array( 'desktop', 'tablet', 'mobile' ),
1016
+ 'selectors' => array(
1017
+ '{{WRAPPER}} .twae-wrapper' => '--tw-cbx-des-margin: 0 0 {{SIZE}}{{UNIT}} 0',
1018
+ ),
1019
+ )
1020
+ );
1021
+
1022
+ // Content Section End
1023
+ $this->end_controls_section();
1024
+ }
1025
+ /* ------------- Content Settings - Title/Img/Desc/Button - END ------------- */
1026
+
1027
+
1028
+ /* ------------------------------- Content Box ------------------------------ */
1029
+ function twae_cbox_settings(){
1030
+ // Content Box Section Start
1031
+ $this->start_controls_section(
1032
+ 'twae_cbox_section',
1033
+ array(
1034
+ 'label' => __( '🔳 Content Background / Border', 'twae1' ),
1035
+ 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
1036
+ )
1037
+ );
1038
+ // Content Box Padding
1039
+ $this->add_control(
1040
+ 'twae_cbox_padding',
1041
+ array(
1042
+ 'label' => __( 'Padding', 'twae1' ),
1043
+ 'type' => Controls_Manager::DIMENSIONS,
1044
+ 'size_units' => array( 'px' ),
1045
+ 'selectors' => array(
1046
+ '{{WRAPPER}} .twae-wrapper' =>
1047
+ '--tw-cbx-padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1048
+ ),
1049
+ )
1050
+ );
1051
+ // Content Box Bottom Margin
1052
+ $this->add_responsive_control(
1053
+ 'twae_space_between',
1054
+ array(
1055
+ 'type' => \Elementor\Controls_Manager::SLIDER,
1056
+ 'label' => esc_html__( 'Bottom Spacing', 'twae' ),
1057
+ 'default' => array(
1058
+ 'size' => '60',
1059
+ 'unit' => 'px',
1060
+ ),
1061
+ 'range' => array(
1062
+ 'px' => array(
1063
+ 'min' => 0,
1064
+ 'max' => 200,
1065
+ 'step' => 1,
1066
+ ),
1067
+ ),
1068
+ 'selectors' => array(
1069
+ '{{WRAPPER}} .twae-wrapper' => '--tw-cbx-bottom-margin: {{SIZE}}{{UNIT}}',
1070
+ ),
1071
+ )
1072
+ );
1073
+ // Content Box Background
1074
+ $this->add_control(
1075
+ 'twae_cbox_background',
1076
+ array(
1077
+ 'label' => __( '🔶 Content Box Background', 'twae1' ),
1078
+ 'type' => \Elementor\Controls_Manager::HEADING,
1079
+ 'separator' => 'before',
1080
+ )
1081
+ );
1082
+ // Content Box Background Tabs
1083
+ $this->start_controls_tabs(
1084
+ 'twae_cbox_background_tabs',
1085
+ array(
1086
+ 'separator' => 'before',
1087
+ )
1088
+ );
1089
+ // Content Box Background Normal Tab
1090
+ $this->start_controls_tab(
1091
+ 'twae_cbox_background_normal',
1092
+ array(
1093
+ 'label' => esc_html__( 'Normal', 'twae1' ),
1094
+ )
1095
+ );
1096
+ // Content Box Background Type Normal
1097
+ $this->add_control(
1098
+ 'twae_cbox_background_type',
1099
+ array(
1100
+ 'label' => esc_html__( 'Background Type', 'twae' ),
1101
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
1102
+ 'default' => 'simple',
1103
+ 'options' => array(
1104
+ 'simple' => array(
1105
+ 'title' => esc_html__( 'Simple', 'twae' ),
1106
+ 'icon' => 'eicon-paint-brush',
1107
+ ),
1108
+ 'gradient' => array(
1109
+ 'title' => esc_html__( 'Gradient', 'twae' ),
1110
+ 'icon' => 'eicon-barcode',
1111
+ ),
1112
+ 'multicolor' => array(
1113
+ 'title' => esc_html__( 'Multi Color', 'twae' ),
1114
+ 'icon' => 'eicon-plus-square',
1115
+ ),
1116
+ ),
1117
+ 'toggle' => false,
1118
+ )
1119
+ );
1120
+ // Content Box Background Color1 Normal
1121
+ $this->add_control(
1122
+ 'twae_story_bgcolor',
1123
+ array(
1124
+ 'label' => esc_html__( 'Background Color', 'twae' ),
1125
+ 'type' => \Elementor\Controls_Manager::COLOR,
1126
+ 'selectors' => array(
1127
+ '{{WRAPPER}} .twae-wrapper, .elementor-page .twae-popup .twae-popup-content' => '--tw-cbx-bg: {{VALUE}}',
1128
+ ),
1129
+ 'condition' => array(
1130
+ 'twae_cbox_background_type' => array( 'simple' ),
1131
+ ),
1132
+ )
1133
+ );
1134
+ // Content Box Background Gradient [PRO]
1135
+ $this->add_control(
1136
+ 'twae_story_bgcolor_gradient_pro',
1137
+ [
1138
+ 'label' => '',
1139
+ 'label_block' => true,
1140
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
1141
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
1142
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/gradient-bg-style.png"></a>',
1143
+ 'content_classes' => 'twae_pro_content',
1144
+ 'condition' => array(
1145
+ 'twae_cbox_background_type' => array( 'gradient' ),
1146
+ ),
1147
+ ]
1148
+ );
1149
+ // Content Box Background Multicolor [PRO]
1150
+ $this->add_control(
1151
+ 'twae_story_bgcolor_multicolor_pro',
1152
+ [
1153
+ 'label' => '',
1154
+ 'label_block' => true,
1155
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
1156
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
1157
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/multi-bg-style.png"></a>',
1158
+ 'content_classes' => 'twae_pro_content',
1159
+ 'condition' => array(
1160
+ 'twae_cbox_background_type' => array( 'multicolor' ),
1161
+ ),
1162
+ ]
1163
+ );
1164
+ $this->end_controls_tab();
1165
+ // Content Box Background Hover Tab
1166
+ $this->start_controls_tab(
1167
+ 'twae_cbox_background_hover',
1168
+ array(
1169
+ 'label' => esc_html__( 'Hover', 'twae1' ),
1170
+ )
1171
+ );
1172
+ // Content Box Background Hover [PRO]
1173
+ $this->add_control(
1174
+ 'twae_story_bgcolor_hover_pro',
1175
+ [
1176
+ 'label' => '',
1177
+ 'label_block' => true,
1178
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
1179
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
1180
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/bg-hover-style.png"></a>',
1181
+ 'content_classes' => 'twae_pro_content',
1182
+ ]
1183
+ );
1184
+ $this->end_controls_tab();
1185
+ // Content Box Background Tabs END
1186
+ $this->end_controls_tabs();
1187
+ $this->add_control(
1188
+ 'twae_cbox_border',
1189
+ array(
1190
+ 'label' => __( '🔶 Content Box Border', 'twae1' ),
1191
+ 'type' => \Elementor\Controls_Manager::HEADING,
1192
+ 'separator' => 'before',
1193
+ )
1194
+ );
1195
+ // Content Box Border Color
1196
+ $this->add_control(
1197
+ 'twae_cbox_border_color',
1198
+ array(
1199
+ 'label' => esc_html__( 'Border Color', 'twae' ),
1200
+ 'type' => \Elementor\Controls_Manager::COLOR,
1201
+ 'selectors' => array(
1202
+ '{{WRAPPER}} .twae-wrapper' => '--tw-cbx-bd-color: {{VALUE}}',
1203
+ ),
1204
+ 'separator' => 'before',
1205
+ )
1206
+ );
1207
+ // Content Box Border Width
1208
+ $this->add_control(
1209
+ 'twae_cbox_border_width',
1210
+ array(
1211
+ 'label' => __( 'Border Width', 'twae1' ),
1212
+ 'type' => Controls_Manager::DIMENSIONS,
1213
+ 'size_units' => array( 'px' ),
1214
+ 'selectors' => array(
1215
+ '{{WRAPPER}} .twae-wrapper' =>
1216
+ '--tw-cbx-bd-top-width: {{TOP}}{{UNIT}};
1217
+ --tw-cbx-bd-right-width: {{RIGHT}}{{UNIT}};
1218
+ --tw-cbx-bd-bottom-width: {{BOTTOM}}{{UNIT}};
1219
+ --tw-cbx-bd-left-width: {{LEFT}}{{UNIT}};',
1220
+ )
1221
+
1222
+ )
1223
+ );
1224
+ // Content Box Border Styles [PRO]
1225
+ $this->add_control(
1226
+ 'pro_cbox_settings',
1227
+ [
1228
+ 'label' => '',
1229
+ 'label_block' => true,
1230
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
1231
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'"><img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/border-style.png"></a>',
1232
+ 'content_classes' => 'twae_pro_content',
1233
+ ]
1234
+ );
1235
+
1236
+ $this->end_controls_section();
1237
+ }
1238
+ /* ---------------------------- Content Box - END --------------------------- */
1239
+
1240
+
1241
+ /* ---------------------------- Icon Box Settings --------------------------- */
1242
+ public function story_icon_style_settings() {
1243
+ // Icon Box Section
1244
+ $this->start_controls_section(
1245
+ 'twae_icon_section',
1246
+ array(
1247
+ 'label' => __( '🔵 Icon Box / Dot', 'twae1' ),
1248
+ 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
1249
+ )
1250
+ );
1251
+ //Icon Box BG Color
1252
+ $this->add_control(
1253
+ 'twae_icon_bgcolor',
1254
+ [
1255
+ 'label' => __( 'Icon / Dot Background', 'twae1' ),
1256
+ 'type' => Controls_Manager::COLOR,
1257
+ 'selectors' => [
1258
+ '{{WRAPPER}} .twae-wrapper, {{WRAPPER}} .twae-navigationBar' => '--tw-ibx-bg: {{VALUE}}',
1259
+ ],
1260
+ ]
1261
+ );
1262
+ // Icon Box Color
1263
+ $this->add_control(
1264
+ 'twae_icon_color',
1265
+ [
1266
+ 'label' => __( 'Icon / Text Color', 'twae1' ),
1267
+ 'type' => \Elementor\Controls_Manager::COLOR,
1268
+ 'selectors' => [
1269
+ '{{WRAPPER}} .twae-wrapper, {{WRAPPER}} .twae-navigationBar' => '--tw-ibx-color: {{VALUE}}',
1270
+ ]
1271
+ ]
1272
+ );
1273
+ // Icon Styles [PRO]
1274
+ $this->add_control(
1275
+ 'pro_icon_settings',
1276
+ [
1277
+ 'label' => '',
1278
+ 'label_block' => true,
1279
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
1280
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'"><img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/icon-box-style.png"></a>',
1281
+ 'content_classes' => 'twae_pro_content',
1282
+ ]
1283
+ );
1284
+ //Icon Box Section - END
1285
+ $this->end_controls_section();
1286
+ }
1287
+ /* ------------------------- Icon Box Settings - END ------------------------ */
1288
+
1289
+ /* ------------------------------- Pro Styles ------------------------------- */
1290
+ public function story_pro_style_settings() {
1291
+ // Image Styles - [PRO]
1292
+ $this->start_controls_section(
1293
+ 'twae_image_section',
1294
+ array(
1295
+ 'label' => __( '📺 Image / Media - PRO', 'twae1' ),
1296
+ 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
1297
+ )
1298
+ );
1299
+ $this->add_control(
1300
+ 'pro_image_settings',
1301
+ [
1302
+ 'label' => '',
1303
+ 'label_block' => true,
1304
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
1305
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
1306
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/image-style.png"></a>',
1307
+ 'content_classes' => 'twae_pro_content',
1308
+ ]
1309
+ );
1310
+ $this->end_controls_section();
1311
+ // Button Styles - [PRO]
1312
+ $this->start_controls_section(
1313
+ 'twae_button_section',
1314
+ array(
1315
+ 'label' => __( '🅱 Button (Read More) - PRO', 'twae1' ),
1316
+ 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
1317
+ )
1318
+ );
1319
+ $this->add_control(
1320
+ 'pro_button_settings',
1321
+ [
1322
+ 'label' => '',
1323
+ 'label_block' => true,
1324
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
1325
+ 'raw' => '<a target="_blank" href="'.TWAE_BUY_PRO_LINK.'">
1326
+ <img class="twae-screenshots" src="'.TWAE_URL . 'assets/images/pro/button-style.png"></a>',
1327
+ 'content_classes' => 'twae_pro_content',
1328
+ ]
1329
+ );
1330
+ $this->end_controls_section();
1331
+ }
1332
+ /* ---------------------------- Pro Styles - END ---------------------------- */
1333
+
1334
+ /* ---------------------- Year / Labels / Date Settings --------------------- */
1335
+ public function story_yld_settings() {
1336
+ // Year / Labels / Date Section
1337
+ $this->start_controls_section(
1338
+ 'twae_yld_section',
1339
+ array(
1340
+ 'label' => __( '📢 Labels / Date / Year Box', 'twae1' ),
1341
+ 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
1342
+ )
1343
+ );
1344
+ // Date / Labels
1345
+ $this->add_control(
1346
+ 'twae_yld_labels',
1347
+ array(
1348
+ 'label' => __( '🔶 Label / Sub Label / Date', 'twae1' ),
1349
+ 'type' => \Elementor\Controls_Manager::HEADING,
1350
+ )
1351
+ );
1352
+
1353
+ // Primary Label Color
1354
+ $this->add_control(
1355
+ 'twae_date_label_color',
1356
+ array(
1357
+ 'label' => __( 'Label Color', 'twae1' ),
1358
+ 'type' => Controls_Manager::COLOR,
1359
+ 'selectors' => array(
1360
+ '{{WRAPPER}} .twae-wrapper' => '--tw-lbl-big-color: {{VALUE}}',
1361
+ ),
1362
+ 'separator' => 'before',
1363
+ )
1364
+ );
1365
+ // Primary Label Typo
1366
+ $this->add_group_control(
1367
+ Group_Control_Typography::get_type(),
1368
+ array(
1369
+ 'name' => 'twae_label_typography',
1370
+ 'label' => __( 'Label Typography', 'twae1' ),
1371
+ 'selector' => '{{WRAPPER}} .twae-label-big,{{WRAPPER}} .twae_icon_text',
1372
+ 'exclude' => array( 'line_height', 'font_size', 'letter_spacing', 'word_spacing' ),
1373
+ )
1374
+ );
1375
+ // Primary Label Size
1376
+ $this->add_responsive_control(
1377
+ 'twae_yld_label_size',
1378
+ array(
1379
+ 'type' => \Elementor\Controls_Manager::SLIDER,
1380
+ 'label' => esc_html__( 'Label Size', 'twae' ),
1381
+ 'range' => array(
1382
+ 'px' => array(
1383
+ 'min' => 8,
1384
+ 'max' => 64,
1385
+ ),
1386
+ ),
1387
+ 'devices' => array( 'desktop', 'tablet', 'mobile' ),
1388
+ 'default' => array(
1389
+ 'size' => 22,
1390
+ 'unit' => 'px',
1391
+ ),
1392
+ 'tablet_default' => array(
1393
+ 'size' => 20,
1394
+ 'unit' => 'px',
1395
+ ),
1396
+ 'mobile_default' => array(
1397
+ 'size' => 18,
1398
+ 'unit' => 'px',
1399
+ ),
1400
+ 'selectors' => array(
1401
+ '{{WRAPPER}} .twae-wrapper' => '--tw-lbl-big-size: {{SIZE}}{{UNIT}};',
1402
+ ),
1403
+ )
1404
+ );
1405
+ // Sub Label Color
1406
+ $this->add_control(
1407
+ 'twae_extra_label_color',
1408
+ array(
1409
+ 'label' => __( 'Sub Label Color', 'twae1' ),
1410
+ 'type' => Controls_Manager::COLOR,
1411
+ 'selectors' => array(
1412
+ '{{WRAPPER}} .twae-wrapper' => '--tw-lbl-small-color: {{VALUE}}',
1413
+ ),
1414
+ 'separator' => 'before',
1415
+ )
1416
+ );
1417
+ // Sub Label Typo
1418
+ $this->add_group_control(
1419
+ Group_Control_Typography::get_type(),
1420
+ array(
1421
+ 'name' => 'twae_extra_label_typography',
1422
+ 'label' => __( 'Sub Label Typography', 'twae1' ),
1423
+ 'selector' => '{{WRAPPER}} .twae-label-small',
1424
+ 'exclude' => array( 'line_height', 'font_size', 'letter_spacing', 'word_spacing' ),
1425
+ )
1426
+ );
1427
+ // Sub Label Size
1428
+ $this->add_responsive_control(
1429
+ 'twae_yld_sublabel_size',
1430
+ array(
1431
+ 'type' => \Elementor\Controls_Manager::SLIDER,
1432
+ 'label' => esc_html__( 'Sub Label Size', 'twae' ),
1433
+ 'range' => array(
1434
+ 'px' => array(
1435
+ 'min' => 8,
1436
+ 'max' => 64,
1437
+ ),
1438
+ ),
1439
+ 'devices' => array( 'desktop', 'tablet', 'mobile' ),
1440
+ 'default' => array(
1441
+ 'size' => 16,
1442
+ 'unit' => 'px',
1443
+ ),
1444
+ 'tablet_default' => array(
1445
+ 'size' => 14,
1446
+ 'unit' => 'px',
1447
+ ),
1448
+ 'mobile_default' => array(
1449
+ 'size' => 14,
1450
+ 'unit' => 'px',
1451
+ ),
1452
+ 'selectors' => array(
1453
+ '{{WRAPPER}} .twae-wrapper' => '--tw-lbl-small-size: {{SIZE}}{{UNIT}};',
1454
+ ),
1455
+ )
1456
+ );
1457
+ // Year Box
1458
+ $this->add_control(
1459
+ 'twae_year_label_section',
1460
+ array(
1461
+ 'label' => __( '🔶 Year/Label (On Line)', 'twae1' ),
1462
+ 'type' => \Elementor\Controls_Manager::HEADING,
1463
+ 'separator' => 'before',
1464
+ )
1465
+ );
1466
+ // Year Box Font Color
1467
+ $this->add_control(
1468
+ 'twae_year_label_color',
1469
+ array(
1470
+ 'label' => __( 'Color', 'twae1' ),
1471
+ 'type' => Controls_Manager::COLOR,
1472
+ 'separator' => 'before',
1473
+ 'selectors' => array(
1474
+ '{{WRAPPER}} .twae-wrapper, {{WRAPPER}} .twae-navigationBar' => '--tw-ybx-text-color: {{VALUE}}',
1475
+ ),
1476
+
1477
+ )
1478
+ );
1479
+ // Year Box BG Color
1480
+ $this->add_control(
1481
+ 'twae_year_label_bgcolor',
1482
+ array(
1483
+ 'label' => __( 'Background Color', 'twae1' ),
1484
+ 'type' => Controls_Manager::COLOR,
1485
+ 'selectors' => array(
1486
+ '{{WRAPPER}} .twae-wrapper, {{WRAPPER}} .twae-navigationBar' => '--tw-ybx-bg: {{VALUE}}',
1487
+ ),
1488
+ )
1489
+ );
1490
+ // Year Box Typo
1491
+ $this->add_group_control(
1492
+ Group_Control_Typography::get_type(),
1493
+ array(
1494
+ 'name' => 'twae_year_typography_new',
1495
+ 'label' => __( 'Typography', 'twae1' ),
1496
+ 'exclude' => array( 'line_height' ),
1497
+ 'selector' => '{{WRAPPER}} .twae-year-text',
1498
+ )
1499
+ );
1500
+
1501
+ // Year Box Size
1502
+ $this->add_responsive_control(
1503
+ 'twae_year_size',
1504
+ array(
1505
+ 'type' => \Elementor\Controls_Manager::SLIDER,
1506
+ 'label' => esc_html__( 'Year Box Size', 'twae' ),
1507
+ 'range' => array(
1508
+ 'px' => array(
1509
+ 'min' => 36,
1510
+ 'max' => 128,
1511
+ ),
1512
+ ),
1513
+ 'devices' => array( 'desktop', 'tablet', 'mobile' ),
1514
+ 'default' => array(
1515
+ 'size' =>80,
1516
+ 'unit' => 'px',
1517
+ ),
1518
+ 'tablet_default' => array(
1519
+ 'size' =>80,
1520
+ 'unit' => 'px',
1521
+ ),
1522
+ 'mobile_default' => array(
1523
+ 'size' =>60,
1524
+ 'unit' => 'px',
1525
+ ),
1526
+ 'selectors' => array(
1527
+ '{{WRAPPER}} .twae-wrapper' => '--tw-ybx-size: {{SIZE}}{{UNIT}};',
1528
+ ),
1529
+ )
1530
+ );
1531
+ // Year / Labels / Date Section - END
1532
+ $this->end_controls_section();
1533
+ }
1534
 
1535
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1536
 
1537
+
1538
+ /* ------------------------ Content Box Settings - END ------------------------ */
 
 
 
 
1539
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1540
 
1541
  // for live editor
1542
  protected function content_template() {
1543
+ ?>
 
1544
  <#
1545
  if( settings.twae_list ) {
1546
 
1586
 
1587
  }
1588
 
1589
+
1590
+
1591
+
1592
  }
1593
 
1594
+
1595
 
widgets/workspace.code-workspace ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "folders": [
3
+ {
4
+ "path": "..\\..\\timeline-widget-pro-addon-for-elementor"
5
+ },
6
+ {
7
+ "path": ".."
8
+ },
9
+ {
10
+ "path": "..\\..\\..\\..\\..\\..\\..\\learnelementor\\app\\public\\wp-content\\plugins\\elementor-test-addon"
11
+ },
12
+ {
13
+ "path": "..\\..\\..\\..\\..\\..\\..\\learnelementor\\app\\public\\wp-content\\plugins\\list-widget"
14
+ }
15
+ ],
16
+ "settings": {}
17
+ }