Carousel, Slider, Gallery by WP Carousel – Image Carousel & Photo Gallery, Post Carousel & Post Grid, Product Carousel & Product Grid for WooCommerce - Version 2.4.11

Version Description

Sept 19, 2022 = * Improved: Migrated from Slick to Swiper for carousel layout. * Fix: Navigation icon issue at Gutenberg edit page with Astra theme.

Download this release

Release Info

Developer rubel_miah
Plugin Icon 128x128 Carousel, Slider, Gallery by WP Carousel – Image Carousel & Photo Gallery, Post Carousel & Post Grid, Product Carousel & Product Grid for WooCommerce
Version 2.4.11
Comparing to
See all releases

Code changes from version 2.4.10 to 2.4.11

Files changed (37) hide show
  1. admin/GutenbergBlock/class-wp-carousel-free-gutenberg-block-init.php +7 -7
  2. admin/class-wp-carousel-free-admin.php +3 -3
  3. admin/class-wp-carousel-free-elementor-block.php +2 -2
  4. admin/views/help.php +4 -4
  5. admin/views/metabox-config.php +3 -3
  6. admin/views/notices/class-wp-carousel-free-promotion.php +1 -1
  7. admin/views/option-config.php +4 -4
  8. admin/views/premium.php +2 -2
  9. admin/views/sp-framework/assets/js/preview.js +0 -19
  10. admin/views/sp-framework/assets/js/preview.min.js +0 -1
  11. admin/views/sp-framework/classes/setup.class.php +1 -1
  12. includes/class-wp-carosuel-free-updates.php +1 -0
  13. includes/class-wp-carousel-free-shortcode.php +5 -4
  14. includes/updates/update-2.4.11.php +30 -0
  15. languages/wp-carousel-free.pot +0 -0
  16. public/WPCF_Helper.php +26 -0
  17. public/class-wp-carousel-free-public.php +7 -7
  18. public/css/slick.css +0 -124
  19. public/css/slick.min.css +0 -1
  20. public/css/swiper-bundle.min.css +13 -0
  21. public/css/wp-carousel-free-public.css +50 -85
  22. public/css/wp-carousel-free-public.min.css +1 -1
  23. public/dynamic-style.php +25 -11
  24. public/js/preloader.js +1 -1
  25. public/js/preloader.min.js +1 -1
  26. public/js/slick.js +0 -3037
  27. public/js/slick.min.js +0 -18
  28. public/js/swiper-bundle.min.js +13 -0
  29. public/js/wp-carousel-free-public.js +61 -7
  30. public/js/wp-carousel-free-public.min.js +1 -1
  31. public/shortcode-deprecated.php +5 -4
  32. public/templates/carousel.php +13 -1
  33. public/templates/loop/image-type.php +5 -7
  34. public/templates/loop/post-type/thumbnails.php +5 -8
  35. public/templates/loop/product-type/image.php +2 -6
  36. readme.txt +34 -30
  37. wp-carousel-free.php +4 -4
admin/GutenbergBlock/class-wp-carousel-free-gutenberg-block-init.php CHANGED
@@ -53,8 +53,8 @@ if ( ! class_exists( 'WP_Carousel_Free_Gutenberg_Block_Init' ) ) {
53
  /**
54
  * Register block editor css file enqueue for backend.
55
  */
56
- if ( wpcf_get_option( 'wpcp_enqueue_slick_css', true ) ) {
57
- wp_enqueue_style( 'wpcf-slick', WPCAROUSELF_URL . 'public/css/slick' . $this->suffix . '.css', array(), WPCAROUSELF_VERSION, 'all' );
58
  }
59
  if ( wpcf_get_option( 'wpcp_enqueue_fa_css', true ) ) {
60
  wp_enqueue_style( 'wp-carousel-free-fontawesome', WPCAROUSELF_URL . 'public/css/font-awesome.min.css', array(), WPCAROUSELF_VERSION, 'all' );
@@ -98,11 +98,11 @@ if ( ! class_exists( 'WP_Carousel_Free_Gutenberg_Block_Init' ) ) {
98
  * Register block editor js file enqueue for backend.
99
  */
100
  wp_register_script( 'wpcp-preloader', WPCAROUSELF_URL . 'public/js/preloader' . $this->suffix . '.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
101
- wp_register_script( 'wpcf-slick', WPCAROUSELF_URL . 'public/js/slick' . $this->suffix . '.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
102
- wp_register_script( 'wpcf-slick-config', WPCAROUSELF_URL . 'public/js/wp-carousel-free-public' . $this->suffix . '.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
103
 
104
  wp_localize_script(
105
- 'wpcf-slick-config',
106
  'sp_wp_carousel_free',
107
  array(
108
  'url' => WPCAROUSELF_URL,
@@ -147,8 +147,8 @@ if ( ! class_exists( 'WP_Carousel_Free_Gutenberg_Block_Init' ) ) {
147
  // Enqueue blocks.editor.build.js in the editor only.
148
  'editor_script' => array(
149
  'wpcp-preloader',
150
- 'wpcf-slick',
151
- 'wpcf-slick-config',
152
  ),
153
  // Enqueue blocks.editor.build.css in the editor only.
154
  'editor_style' => array(),
53
  /**
54
  * Register block editor css file enqueue for backend.
55
  */
56
+ if ( wpcf_get_option( 'wpcp_enqueue_swiper_css', true ) ) {
57
+ wp_enqueue_style( 'wpcf-swiper', WPCAROUSELF_URL . 'public/css/swiper-bundle.min.css', array(), WPCAROUSELF_VERSION, 'all' );
58
  }
59
  if ( wpcf_get_option( 'wpcp_enqueue_fa_css', true ) ) {
60
  wp_enqueue_style( 'wp-carousel-free-fontawesome', WPCAROUSELF_URL . 'public/css/font-awesome.min.css', array(), WPCAROUSELF_VERSION, 'all' );
98
  * Register block editor js file enqueue for backend.
99
  */
100
  wp_register_script( 'wpcp-preloader', WPCAROUSELF_URL . 'public/js/preloader' . $this->suffix . '.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
101
+ wp_register_script( 'wpcf-swiper', WPCAROUSELF_URL . 'public/js/swiper-bundle.min.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
102
+ wp_register_script( 'wpcf-swiper-config', WPCAROUSELF_URL . 'public/js/wp-carousel-free-public' . $this->suffix . '.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
103
 
104
  wp_localize_script(
105
+ 'wpcf-swiper-config',
106
  'sp_wp_carousel_free',
107
  array(
108
  'url' => WPCAROUSELF_URL,
147
  // Enqueue blocks.editor.build.js in the editor only.
148
  'editor_script' => array(
149
  'wpcp-preloader',
150
+ 'wpcf-swiper',
151
+ 'wpcf-swiper-config',
152
  ),
153
  // Enqueue blocks.editor.build.css in the editor only.
154
  'editor_style' => array(),
admin/class-wp-carousel-free-admin.php CHANGED
@@ -146,7 +146,7 @@ class WP_Carousel_Free_Admin {
146
 
147
  array_unshift( $links, $ui_links );
148
 
149
- $links['go_pro'] = sprintf( '<a target="_blank" href="%1$s" style="color: #35b747; font-weight: 700;">Go Pro!</a>', 'https://shapedplugin.com/wp-carousel/?ref=1' );
150
  }
151
 
152
  return $links;
@@ -172,7 +172,7 @@ class WP_Carousel_Free_Admin {
172
  public function plugin_row_meta( $plugin_meta, $plugin_file ) {
173
  if ( WPCAROUSELF_BASENAME === $plugin_file ) {
174
  $row_meta = array(
175
- 'docs' => '<a href="https://wordpresscarousel.com" aria-label="' . esc_attr( __( 'Live Demo', 'wp-carousel-free' ) ) . '" target="_blank">' . __( 'Live Demo', 'wp-carousel-free' ) . '</a>',
176
  'ideo' => '<a href="https://docs.shapedplugin.com/docs/wordpress-carousel/introduction/" aria-label="' . esc_attr( __( 'View WP Carousel Video Tutorials', 'wp-carousel-free' ) ) . '" target="_blank">' . __( 'Docs & Video Tutorials', 'wp-carousel-free' ) . '</a>',
177
  );
178
 
@@ -193,7 +193,7 @@ class WP_Carousel_Free_Admin {
193
  $screen = get_current_screen();
194
  if ( 'sp_wp_carousel' === get_post_type() || 'sp_wp_carousel_page_wpcp_settings' === $screen->id || 'sp_wp_carousel_page_wpcp_help' === $screen->id ) {
195
  $url = 'https://wordpress.org/support/plugin/wp-carousel-free/reviews/?filter=5#new-post';
196
- $text = sprintf( 'If you like <strong>WordPress Carousel</strong>, please leave us a <a href="%s" target="_blank">&#9733;&#9733;&#9733;&#9733;&#9733;</a> rating. Your Review is very important to us as it helps us to grow more. ', $url );
197
  }
198
 
199
  return $text;
146
 
147
  array_unshift( $links, $ui_links );
148
 
149
+ $links['go_pro'] = sprintf( '<a target="_blank" href="%1$s" style="color: #35b747; font-weight: 700;">Go Pro!</a>', 'https://shapedplugin.com/wp-carousel/pricing/?ref=1' );
150
  }
151
 
152
  return $links;
172
  public function plugin_row_meta( $plugin_meta, $plugin_file ) {
173
  if ( WPCAROUSELF_BASENAME === $plugin_file ) {
174
  $row_meta = array(
175
+ 'docs' => '<a href="https://shapedplugin.com/wp-carousel/wp-carousel-free-demo/" aria-label="' . esc_attr( __( 'Live Demo', 'wp-carousel-free' ) ) . '" target="_blank">' . __( 'Live Demo', 'wp-carousel-free' ) . '</a>',
176
  'ideo' => '<a href="https://docs.shapedplugin.com/docs/wordpress-carousel/introduction/" aria-label="' . esc_attr( __( 'View WP Carousel Video Tutorials', 'wp-carousel-free' ) ) . '" target="_blank">' . __( 'Docs & Video Tutorials', 'wp-carousel-free' ) . '</a>',
177
  );
178
 
193
  $screen = get_current_screen();
194
  if ( 'sp_wp_carousel' === get_post_type() || 'sp_wp_carousel_page_wpcp_settings' === $screen->id || 'sp_wp_carousel_page_wpcp_help' === $screen->id ) {
195
  $url = 'https://wordpress.org/support/plugin/wp-carousel-free/reviews/?filter=5#new-post';
196
+ $text = sprintf( 'If you like <strong>WP Carousel</strong>, please leave us a <a href="%s" target="_blank">&#9733;&#9733;&#9733;&#9733;&#9733;</a> rating. Your Review is very important to us as it helps us to grow more. ', $url );
197
  }
198
 
199
  return $text;
admin/class-wp-carousel-free-elementor-block.php CHANGED
@@ -84,8 +84,8 @@ class Wp_Carousel_Free_Element_Shortcode_Block {
84
  * between the defined hooks and the functions defined in this
85
  * class.
86
  */
87
- wp_enqueue_script( 'wpcf-slick', WPCAROUSELF_URL . 'public/js/slick' . $this->suffix . '.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
88
- wp_enqueue_script( 'wpcf-slick-config', WPCAROUSELF_URL . 'public/js/wp-carousel-free-public' . $this->suffix . '.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
89
  }
90
 
91
  /**
84
  * between the defined hooks and the functions defined in this
85
  * class.
86
  */
87
+ wp_enqueue_script( 'wpcf-swiper', WPCAROUSELF_URL . 'public/js/swiper-bundle.min.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
88
+ wp_enqueue_script( 'wpcf-swiper-config', WPCAROUSELF_URL . 'public/js/wp-carousel-free-public' . $this->suffix . '.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
89
  }
90
 
91
  /**
admin/views/help.php CHANGED
@@ -101,8 +101,8 @@ class WP_Carousel_Free_Help {
101
  <div class="upgrade-img">
102
  <img src="<?php echo esc_url( WPCAROUSELF_URL ) . 'admin/img/images/wpcp-Icon.svg'; ?>" alt="">
103
  </div>
104
- <h2>Upgrade To Unleash the Power of WordPress Carousel Pro</h2>
105
- <p>Get the most out of WordPress Carousel by upgrading to unlock all of its powerful features. With WordPress Carousel Pro, you can unlock amazing features like:</p>
106
  </div>
107
  <div class="upgrade-info">
108
  <div class="container">
@@ -163,12 +163,12 @@ class WP_Carousel_Free_Help {
163
  <img src="<?php echo esc_url( WPCAROUSELF_URL ) . 'admin/img/images/wp-carousel-pro.svg'; ?>" alt="">
164
  </div>
165
  <div class="pro-text">
166
- <h2>Upgrade To WordPress Carousel Pro Today!</h2>
167
  <p>Start creating beautiful WordPress carousels in minutes.</p>
168
  </div>
169
  </div>
170
  <div class="pro-btn">
171
- <a href="https://shapedplugin.com/wp-carousel/?ref=1" target="_blank">Upgrade To Pro Now</a>
172
  </div>
173
  </div>
174
  </div>
101
  <div class="upgrade-img">
102
  <img src="<?php echo esc_url( WPCAROUSELF_URL ) . 'admin/img/images/wpcp-Icon.svg'; ?>" alt="">
103
  </div>
104
+ <h2>Upgrade To Unleash the Power of WP Carousel Pro</h2>
105
+ <p>Get the most out of WordPress Carousel by upgrading to unlock all of its powerful features. With WP Carousel Pro, you can unlock amazing features like:</p>
106
  </div>
107
  <div class="upgrade-info">
108
  <div class="container">
163
  <img src="<?php echo esc_url( WPCAROUSELF_URL ) . 'admin/img/images/wp-carousel-pro.svg'; ?>" alt="">
164
  </div>
165
  <div class="pro-text">
166
+ <h2>Upgrade To WP Carousel Pro Today!</h2>
167
  <p>Start creating beautiful WordPress carousels in minutes.</p>
168
  </div>
169
  </div>
170
  <div class="pro-btn">
171
+ <a href="https://shapedplugin.com/wp-carousel/pricing/?ref=1" target="_blank">Upgrade To Pro Now</a>
172
  </div>
173
  </div>
174
  </div>
admin/views/metabox-config.php CHANGED
@@ -480,7 +480,7 @@ SP_WPCF::createSection(
480
  'type' => 'image_select',
481
  'title' => __( 'Content Position', 'wp-carousel-free' ),
482
  'subtitle' => __( 'Select a position for the title, content, meta etc.', 'wp-carousel-free' ),
483
- 'desc' => __( 'To unlock the more amazing Content Positions and Settings, <a href="https://shapedplugin.com/wp-carousel/?ref=1" target="_blank"><b>Upgrade To Pro</b></a>!', 'wp-carousel-free' ),
484
  'options' => array(
485
  'bottom' => array(
486
  'image' => plugin_dir_url( __DIR__ ) . 'img/bottom.svg',
@@ -855,7 +855,7 @@ SP_WPCF::createSection(
855
  array(
856
  'type' => 'notice',
857
  'style' => 'normal',
858
- 'content' => __( 'To unlock the following <strong>28+ amazing Lightbox</strong> options, <a href="https://shapedplugin.com/wp-carousel/?ref=1" target="_blank"><b>Upgrade To Pro!</b></a>', 'wp-carousel-free' ),
859
  ),
860
  array(
861
  'id' => 'l_box_icon_style',
@@ -1486,7 +1486,7 @@ SP_WPCF::createSection(
1486
  array(
1487
  'type' => 'notice',
1488
  'style' => 'normal',
1489
- 'content' => __( 'To unlock These Typography (940+ Google Fonts) options, <a href="https://shapedplugin.com/wp-carousel/?ref=1" target="_blank"><b>Upgrade To Pro!</b></a>', 'wp-carousel-free' ),
1490
  ),
1491
  array(
1492
  'id' => 'section_title_font_load',
480
  'type' => 'image_select',
481
  'title' => __( 'Content Position', 'wp-carousel-free' ),
482
  'subtitle' => __( 'Select a position for the title, content, meta etc.', 'wp-carousel-free' ),
483
+ 'desc' => __( 'To unlock the more amazing Content Positions and Settings, <a href="https://shapedplugin.com/wp-carousel/pricing/?ref=1" target="_blank"><b>Upgrade To Pro</b></a>!', 'wp-carousel-free' ),
484
  'options' => array(
485
  'bottom' => array(
486
  'image' => plugin_dir_url( __DIR__ ) . 'img/bottom.svg',
855
  array(
856
  'type' => 'notice',
857
  'style' => 'normal',
858
+ 'content' => __( 'To unlock the following <strong>28+ amazing Lightbox</strong> options, <a href="https://shapedplugin.com/wp-carousel/pricing/?ref=1" target="_blank"><b>Upgrade To Pro!</b></a>', 'wp-carousel-free' ),
859
  ),
860
  array(
861
  'id' => 'l_box_icon_style',
1486
  array(
1487
  'type' => 'notice',
1488
  'style' => 'normal',
1489
+ 'content' => __( 'To unlock These Typography (940+ Google Fonts) options, <a href="https://shapedplugin.com/wp-carousel/pricing/?ref=1" target="_blank"><b>Upgrade To Pro!</b></a>', 'wp-carousel-free' ),
1490
  ),
1491
  array(
1492
  'id' => 'section_title_font_load',
admin/views/notices/class-wp-carousel-free-promotion.php CHANGED
@@ -38,7 +38,7 @@ class WP_Carousel_Free_Promotion {
38
  'key' => 'black-friday-2020',
39
  'start_date' => '2020-11-24 14:00:00 EST',
40
  'end_date' => '2020-11-30 23:59:00 EST',
41
- 'title' => 'Enjoy Black Friday Deals <strong>30% OFF</strong> on <strong>WordPress Carousel Pro!</strong>',
42
  'content' => ' Discount Code: <strong>BF2020</strong>',
43
  'link' => 'https://shapedplugin.com/plugin/wordpress-carousel-pro/?utm_source=wordpress-wpcf&utm_medium=get-it-now&utm_campaign=BlackFriday2020',
44
  ),
38
  'key' => 'black-friday-2020',
39
  'start_date' => '2020-11-24 14:00:00 EST',
40
  'end_date' => '2020-11-30 23:59:00 EST',
41
+ 'title' => 'Enjoy Black Friday Deals <strong>30% OFF</strong> on <strong>WP Carousel Pro!</strong>',
42
  'content' => ' Discount Code: <strong>BF2020</strong>',
43
  'link' => 'https://shapedplugin.com/plugin/wordpress-carousel-pro/?utm_source=wordpress-wpcf&utm_medium=get-it-now&utm_campaign=BlackFriday2020',
44
  ),
admin/views/option-config.php CHANGED
@@ -63,9 +63,9 @@ SP_WPCF::createSection(
63
  'content' => __( 'Styles', 'wp-carousel-free' ),
64
  ),
65
  array(
66
- 'id' => 'wpcp_enqueue_slick_css',
67
  'type' => 'switcher',
68
- 'title' => __( 'Slick CSS', 'wp-carousel-free' ),
69
  'text_on' => __( 'Enqueue', 'wp-carousel-free' ),
70
  'text_off' => __( 'Dequeue', 'wp-carousel-free' ),
71
  'text_width' => 95,
@@ -85,9 +85,9 @@ SP_WPCF::createSection(
85
  'content' => __( 'Scripts', 'wp-carousel-free' ),
86
  ),
87
  array(
88
- 'id' => 'wpcp_slick_js',
89
  'type' => 'switcher',
90
- 'title' => __( 'Slick JS', 'wp-carousel-free' ),
91
  'text_on' => __( 'Enqueue', 'wp-carousel-free' ),
92
  'text_off' => __( 'Dequeue', 'wp-carousel-free' ),
93
  'text_width' => 95,
63
  'content' => __( 'Styles', 'wp-carousel-free' ),
64
  ),
65
  array(
66
+ 'id' => 'wpcp_enqueue_swiper_css',
67
  'type' => 'switcher',
68
+ 'title' => __( 'Swiper CSS', 'wp-carousel-free' ),
69
  'text_on' => __( 'Enqueue', 'wp-carousel-free' ),
70
  'text_off' => __( 'Dequeue', 'wp-carousel-free' ),
71
  'text_width' => 95,
85
  'content' => __( 'Scripts', 'wp-carousel-free' ),
86
  ),
87
  array(
88
+ 'id' => 'wpcp_swiper_js',
89
  'type' => 'switcher',
90
+ 'title' => __( 'Swiper JS', 'wp-carousel-free' ),
91
  'text_on' => __( 'Enqueue', 'wp-carousel-free' ),
92
  'text_off' => __( 'Dequeue', 'wp-carousel-free' ),
93
  'text_width' => 95,
admin/views/premium.php CHANGED
@@ -23,10 +23,10 @@ class WP_Carousel_Free_Upgrade {
23
  * @return void
24
  */
25
  public function upgrade_admin_menu() {
26
- $landing_page = 'https://shapedplugin.com/wp-carousel/?ref=1';
27
  add_submenu_page(
28
  'edit.php?post_type=sp_wp_carousel',
29
- __( 'WordPress Carousel', 'logo-carousel-free' ),
30
  '<span class="sp-go-pro-icon"></span>Go Pro',
31
  'manage_options',
32
  $landing_page
23
  * @return void
24
  */
25
  public function upgrade_admin_menu() {
26
+ $landing_page = 'https://shapedplugin.com/wp-carousel/pricing/?ref=1';
27
  add_submenu_page(
28
  'edit.php?post_type=sp_wp_carousel',
29
+ __( 'WP Carousel', 'wp-carousel-free' ),
30
  '<span class="sp-go-pro-icon"></span>Go Pro',
31
  'manage_options',
32
  $landing_page
admin/views/sp-framework/assets/js/preview.js DELETED
@@ -1,19 +0,0 @@
1
- (function ($) {
2
- 'use strict';
3
- jQuery('body').find('.wpcp-carousel-section.wpcp-standard').each(function () {
4
-
5
- var carousel_id = $(this).attr('id');
6
- var _this = $(this);
7
-
8
- if (jQuery().slick) {
9
-
10
- jQuery('#' + carousel_id).slick({
11
- prevArrow: '<div class="slick-prev"><i class="fa fa-angle-left"></i></div>',
12
- nextArrow: '<div class="slick-next"><i class="fa fa-angle-right"></i></div>',
13
- });
14
- $(window).on('resize orientationchange', function () {
15
- wpSlick.slick('resize');
16
- });
17
- }
18
- });
19
- })(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/sp-framework/assets/js/preview.min.js DELETED
@@ -1 +0,0 @@
1
- !function($){"use strict";jQuery("body").find(".wpcp-carousel-section.wpcp-standard").each((function(){var carousel_id=$(this).attr("id"),_this=$(this);jQuery().slick&&(jQuery("#"+carousel_id).slick({prevArrow:'<div class="slick-prev"><i class="fa fa-angle-left"></i></div>',nextArrow:'<div class="slick-next"><i class="fa fa-angle-right"></i></div>'}),$(window).on("resize orientationchange",(function(){wpSlick.slick("resize")})))}))}(jQuery);
 
admin/views/sp-framework/classes/setup.class.php CHANGED
@@ -474,7 +474,7 @@ if ( ! class_exists( 'SP_WPCF' ) ) {
474
  'wpcf',
475
  'wpcf_vars',
476
  array(
477
- 'previewJS' => self::include_plugin_url( 'assets/js/preview' . $min . '.js' ),
478
  'color_palette' => apply_filters( 'wpcf_color_palette', array() ),
479
  'i18n' => array(
480
  'confirm' => esc_html__( 'Are you sure?', 'wp-carousel-free' ),
474
  'wpcf',
475
  'wpcf_vars',
476
  array(
477
+ 'previewJS' => WPCAROUSELF_URL . 'public/js/wp-carousel-free-public.min.js',
478
  'color_palette' => apply_filters( 'wpcf_color_palette', array() ),
479
  'i18n' => array(
480
  'confirm' => esc_html__( 'Are you sure?', 'wp-carousel-free' ),
includes/class-wp-carosuel-free-updates.php CHANGED
@@ -29,6 +29,7 @@ class WP_Carousel_Free_Updates {
29
  private static $updates = array(
30
  '2.1.7' => 'updates/update-2.1.7.php',
31
  '2.4.7' => 'updates/update-2.4.7.php',
 
32
  );
33
 
34
  /**
29
  private static $updates = array(
30
  '2.1.7' => 'updates/update-2.1.7.php',
31
  '2.4.7' => 'updates/update-2.4.7.php',
32
+ '2.4.11' => 'updates/update-2.4.11.php',
33
  );
34
 
35
  /**
includes/class-wp-carousel-free-shortcode.php CHANGED
@@ -155,12 +155,13 @@ class WP_Carousel_Free_Shortcode {
155
  $swipetoslide = $is_swipetoslide ? 'true' : 'false';
156
  $rtl = ( 'ltr' === $carousel_direction ) ? 'true' : 'false';
157
  $carousel_classes .= ' wpcp-standard';
158
- $wpcp_slick_options = 'data-slick=\'{ "accessibility":true, "arrows":' . $arrows . ', "autoplay":' . $auto_play . ', "autoplaySpeed":' . $autoplay_speed . ', "dots":' . $dots . ', "infinite":' . $infinite . ', "speed":' . $speed . ', "pauseOnHover":' . $pause_on_hover . ', "slidesToShow":' . $column_lg_desktop . ', "responsive":[ { "breakpoint":' . $desktop_size . ', "settings": { "slidesToShow":' . $column_desktop . ' } }, { "breakpoint":' . $laptop_size . ', "settings":{ "slidesToShow":' . $column_sm_desktop . ' } }, { "breakpoint":' . $tablet_size . ', "settings": { "slidesToShow":' . $column_tablet . ' } }, {"breakpoint":' . $mobile_size . ', "settings":{ "slidesToShow":' . $column_mobile . ', "arrows": ' . $arrows_mobile . ', "dots": ' . $dots_mobile . ' } } ], "rtl":' . $rtl . ', "lazyLoad": "' . $lazy_load_image . '", "swipe": ' . $swipe . ', "draggable": ' . $draggable . ', "swipeToSlide":' . $swipetoslide . ' }\' ';
 
159
  // Carousel Configurations.
160
- if ( wpcf_get_option( 'wpcp_slick_js', true ) ) {
161
- wp_enqueue_script( 'wpcf-slick' );
162
  }
163
- wp_enqueue_script( 'wpcf-slick-config' );
164
  ob_start();
165
  include WPCAROUSELF_PATH . '/public/templates/carousel.php';
166
  $html = ob_get_contents();
155
  $swipetoslide = $is_swipetoslide ? 'true' : 'false';
156
  $rtl = ( 'ltr' === $carousel_direction ) ? 'true' : 'false';
157
  $carousel_classes .= ' wpcp-standard';
158
+ $wpcp_swiper_options = 'data-swiper=\'{ "accessibility":true, "arrows":' . $arrows . ', "autoplay":' . $auto_play . ', "autoplaySpeed":' . $autoplay_speed . ', "dots":' . $dots . ', "infinite":' . $infinite . ', "speed":' . $speed . ', "pauseOnHover":' . $pause_on_hover . ',
159
+ "slidesToShow":{"lg_desktop":' . $column_lg_desktop . ', "desktop": ' . $column_desktop . ', "laptop": ' . $column_sm_desktop . ', "tablet": ' . $column_tablet . ', "mobile": ' . $column_mobile . '}, "responsive":{"desktop":' . $desktop_size . ', "laptop": ' . $laptop_size . ', "tablet": ' . $tablet_size . ', "mobile": ' . $mobile_size . '}, "rtl":' . $rtl . ', "lazyLoad": "' . $lazy_load_image . '", "swipe": ' . $swipe . ', "draggable": ' . $draggable . ', "swipeToSlide":' . $swipetoslide . ' }\' ';
160
  // Carousel Configurations.
161
+ if ( wpcf_get_option( 'wpcp_swiper_js', true ) ) {
162
+ wp_enqueue_script( 'wpcf-swiper' );
163
  }
164
+ wp_enqueue_script( 'wpcf-swiper-config' );
165
  ob_start();
166
  include WPCAROUSELF_PATH . '/public/templates/carousel.php';
167
  $html = ob_get_contents();
includes/updates/update-2.4.11.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Update options for the version 2.4.11
4
+ *
5
+ * @link https://shapedplugin.com
6
+ * @since 2.4.11
7
+ *
8
+ * @package WP_Carousel_Free
9
+ * @subpackage WP_Carousel_Free/includes/updates
10
+ */
11
+
12
+ /**
13
+ * Update version.
14
+ */
15
+ update_option( 'wp_carousel_free_version', '2.4.11' );
16
+ update_option( 'wp_carousel_free_db_version', '2.4.11' );
17
+
18
+ /**
19
+ * Update new Setting options along with old options.
20
+ */
21
+ $existing_options = get_option( 'sp_wpcp_settings', true );
22
+
23
+ $new_options = array(
24
+ 'wpcp_enqueue_swiper_css' => true,
25
+ 'wpcp_swiper_js' => true,
26
+ );
27
+
28
+ $all_options = array_merge( $existing_options, $new_options );
29
+
30
+ $plugin_options = update_option( 'sp_wpcp_settings', $all_options );
languages/wp-carousel-free.pot CHANGED
File without changes
public/WPCF_Helper.php CHANGED
@@ -124,6 +124,28 @@ if ( ! class_exists( 'WPCF_Helper' ) ) {
124
  echo apply_filters( 'sp_wpcp_section_title', ob_get_clean() );
125
  }
126
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
  /**
128
  * Preloader
129
  *
@@ -172,6 +194,10 @@ if ( ! class_exists( 'WPCF_Helper' ) ) {
172
  $grid_column = "wpcpro-col-xs-$column_mobile wpcpro-col-sm-$column_tablet wpcpro-col-md-$column_sm_desktop wpcpro-col-lg-$column_desktop wpcpro-col-xl-$column_lg_desktop";
173
  }
174
 
 
 
 
 
175
  if ( 'product-carousel' === $carousel_type ) {
176
  $show_product_name = $shortcode_data['wpcp_product_name'];
177
  $show_product_price = $shortcode_data['wpcp_product_price'];
124
  echo apply_filters( 'sp_wpcp_section_title', ob_get_clean() );
125
  }
126
  }
127
+
128
+ /**
129
+ * Image tag of the single item.
130
+ *
131
+ * @param boolean $lazy_load_image true or false.
132
+ * @param string $wpcp_layout layout types.
133
+ * @param string $img_url image main url.
134
+ * @param string $title_attr image title attr.
135
+ * @param string $width image width.
136
+ * @param string $height image height.
137
+ * @param string $alt_text image alt text.
138
+ * @param string $lazy_img_url lazy load image.
139
+ * @return string
140
+ */
141
+ public static function get_item_image( $lazy_load_image, $wpcp_layout, $img_url, $title_attr, $width, $height, $alt_text, $lazy_img_url ) {
142
+ if ( 'false' !== $lazy_load_image && 'carousel' === $wpcp_layout ) {
143
+ $image = sprintf( '<img class="wcp-lazy swiper-lazy" data-src="%1$s" src="%6$s" %2$s alt="%3$s" width="%4$s" height="%5$s">', $img_url, $title_attr, $alt_text, $width, $height, $lazy_img_url );
144
+ } else {
145
+ $image = sprintf( '<img class="skip-lazy" src="%1$s"%2$s alt="%3$s" width="%4$s" height="%5$s">', $img_url, $title_attr, $alt_text, $width, $height );
146
+ }
147
+ return $image;
148
+ }
149
  /**
150
  * Preloader
151
  *
194
  $grid_column = "wpcpro-col-xs-$column_mobile wpcpro-col-sm-$column_tablet wpcpro-col-md-$column_sm_desktop wpcpro-col-lg-$column_desktop wpcpro-col-xl-$column_lg_desktop";
195
  }
196
 
197
+ if ( 'carousel' === $wpcp_layout ) {
198
+ $grid_column = 'swiper-slide';
199
+ }
200
+
201
  if ( 'product-carousel' === $carousel_type ) {
202
  $show_product_name = $shortcode_data['wpcp_product_name'];
203
  $show_product_price = $shortcode_data['wpcp_product_price'];
public/class-wp-carousel-free-public.php CHANGED
@@ -58,8 +58,8 @@ class WP_Carousel_Free_Public {
58
  * @return void
59
  */
60
  public function enqueue_styles() {
61
- if ( wpcf_get_option( 'wpcp_enqueue_slick_css', true ) ) {
62
- wp_enqueue_style( 'wpcf-slick', WPCAROUSELF_URL . 'public/css/slick' . $this->suffix . '.css', array(), $this->version, 'all' );
63
  }
64
  if ( wpcf_get_option( 'wpcp_enqueue_fa_css', true ) ) {
65
  wp_enqueue_style( $this->plugin_name . '-fontawesome', WPCAROUSELF_URL . 'public/css/font-awesome.min.css', array(), $this->version, 'all' );
@@ -92,8 +92,8 @@ class WP_Carousel_Free_Public {
92
  */
93
  public function enqueue_scripts() {
94
  wp_register_script( 'wpcp-preloader', WPCAROUSELF_URL . 'public/js/preloader' . $this->suffix . '.js', array( 'jquery' ), $this->version, true );
95
- wp_register_script( 'wpcf-slick', WPCAROUSELF_URL . 'public/js/slick' . $this->suffix . '.js', array( 'jquery' ), $this->version, true );
96
- wp_register_script( 'wpcf-slick-config', WPCAROUSELF_URL . 'public/js/wp-carousel-free-public' . $this->suffix . '.js', array( 'jquery' ), $this->version, true );
97
  }
98
 
99
  /**
@@ -107,8 +107,8 @@ class WP_Carousel_Free_Public {
107
  $the_current_post_type = $current_screen->post_type;
108
  if ( 'sp_wp_carousel' === $the_current_post_type ) {
109
  // Enqueue css file.
110
- if ( wpcf_get_option( 'wpcp_enqueue_slick_css', true ) ) {
111
- wp_enqueue_style( 'wpcf-slick', WPCAROUSELF_URL . 'public/css/slick' . $this->suffix . '.css', array(), $this->version, 'all' );
112
  }
113
  if ( wpcf_get_option( 'wpcp_enqueue_fa_css', true ) ) {
114
  wp_enqueue_style( $this->plugin_name . '-fontawesome', WPCAROUSELF_URL . 'public/css/font-awesome.min.css', array(), $this->version, 'all' );
@@ -116,7 +116,7 @@ class WP_Carousel_Free_Public {
116
  wp_enqueue_style( $this->plugin_name, WPCAROUSELF_URL . 'public/css/wp-carousel-free-public' . $this->suffix . '.css', array(), $this->version, 'all' );
117
 
118
  // Enqueue js file.
119
- wp_enqueue_script( 'wpcf-slick', WPCAROUSELF_URL . 'public/js/slick' . $this->suffix . '.js', array( 'jquery' ), $this->version, true );
120
  }
121
  }
122
  }
58
  * @return void
59
  */
60
  public function enqueue_styles() {
61
+ if ( wpcf_get_option( 'wpcp_enqueue_swiper_css', true ) ) {
62
+ wp_enqueue_style( 'wpcf-swiper', WPCAROUSELF_URL . 'public/css/swiper-bundle.min.css', array(), $this->version, 'all' );
63
  }
64
  if ( wpcf_get_option( 'wpcp_enqueue_fa_css', true ) ) {
65
  wp_enqueue_style( $this->plugin_name . '-fontawesome', WPCAROUSELF_URL . 'public/css/font-awesome.min.css', array(), $this->version, 'all' );
92
  */
93
  public function enqueue_scripts() {
94
  wp_register_script( 'wpcp-preloader', WPCAROUSELF_URL . 'public/js/preloader' . $this->suffix . '.js', array( 'jquery' ), $this->version, true );
95
+ wp_register_script( 'wpcf-swiper', WPCAROUSELF_URL . 'public/js/swiper-bundle.min.js', array( 'jquery' ), $this->version, true );
96
+ wp_register_script( 'wpcf-swiper-config', WPCAROUSELF_URL . 'public/js/wp-carousel-free-public' . $this->suffix . '.js', array( 'jquery' ), $this->version, true );
97
  }
98
 
99
  /**
107
  $the_current_post_type = $current_screen->post_type;
108
  if ( 'sp_wp_carousel' === $the_current_post_type ) {
109
  // Enqueue css file.
110
+ if ( wpcf_get_option( 'wpcp_enqueue_swiper_css', true ) ) {
111
+ wp_enqueue_style( 'wpcf-swiper', WPCAROUSELF_URL . 'public/css/swiper-bundle.min.css', array(), $this->version, 'all' );
112
  }
113
  if ( wpcf_get_option( 'wpcp_enqueue_fa_css', true ) ) {
114
  wp_enqueue_style( $this->plugin_name . '-fontawesome', WPCAROUSELF_URL . 'public/css/font-awesome.min.css', array(), $this->version, 'all' );
116
  wp_enqueue_style( $this->plugin_name, WPCAROUSELF_URL . 'public/css/wp-carousel-free-public' . $this->suffix . '.css', array(), $this->version, 'all' );
117
 
118
  // Enqueue js file.
119
+ wp_enqueue_script( 'wpcf-swiper', WPCAROUSELF_URL . 'public/js/swiper-bundle.min.js', array( 'jquery' ), $this->version, true );
120
  }
121
  }
122
  }
public/css/slick.css DELETED
@@ -1,124 +0,0 @@
1
- /* Slider */
2
- .slick-slider
3
- {
4
- position: relative;
5
-
6
- display: block;
7
- box-sizing: border-box;
8
-
9
- -webkit-user-select: none;
10
- -moz-user-select: none;
11
- -ms-user-select: none;
12
- user-select: none;
13
-
14
- -webkit-touch-callout: none;
15
- -khtml-user-select: none;
16
- -ms-touch-action: pan-y;
17
- touch-action: pan-y;
18
- -webkit-tap-highlight-color: transparent;
19
- }
20
-
21
- .slick-list
22
- {
23
- position: relative;
24
-
25
- display: block;
26
- overflow: hidden;
27
-
28
- margin: 0;
29
- padding: 0;
30
- }
31
- .slick-list:focus
32
- {
33
- outline: none;
34
- }
35
- .slick-list.dragging
36
- {
37
- cursor: pointer;
38
- cursor: hand;
39
- }
40
-
41
- .slick-slider .slick-track,
42
- .slick-slider .slick-list
43
- {
44
- -webkit-transform: translate3d(0, 0, 0);
45
- -moz-transform: translate3d(0, 0, 0);
46
- -ms-transform: translate3d(0, 0, 0);
47
- -o-transform: translate3d(0, 0, 0);
48
- transform: translate3d(0, 0, 0);
49
- }
50
-
51
- .slick-track
52
- {
53
- position: relative;
54
- top: 0;
55
- left: 0;
56
-
57
- display: block;
58
- margin-left: auto;
59
- margin-right: auto;
60
- }
61
- .slick-track:before,
62
- .slick-track:after
63
- {
64
- display: table;
65
-
66
- content: '';
67
- }
68
- .slick-track:after
69
- {
70
- clear: both;
71
- }
72
- .slick-loading .slick-track
73
- {
74
- visibility: hidden;
75
- }
76
-
77
- .slick-slide
78
- {
79
- display: none;
80
- float: left;
81
-
82
- height: 100%;
83
- min-height: 1px;
84
- }
85
- [dir='rtl'] .slick-slide
86
- {
87
- float: right;
88
- }
89
- .slick-slide img
90
- {
91
- display: block;
92
- }
93
- .slick-slide.slick-loading img
94
- {
95
- display: none;
96
- }
97
- .slick-slide.dragging img
98
- {
99
- pointer-events: none;
100
- }
101
- .slick-initialized .slick-slide
102
- {
103
- display: block;
104
- }
105
- .slick-loading .slick-slide
106
- {
107
- visibility: hidden;
108
- }
109
- .slick-vertical .slick-slide
110
- {
111
- display: block;
112
-
113
- height: auto;
114
-
115
- border: 1px solid transparent;
116
- }
117
- .slick-arrow.slick-hidden {
118
- display: none;
119
- }
120
-
121
- /* Slick Theme */
122
- .slick-loading .slick-list {
123
- background: #fff url('./spinner.svg') center center no-repeat;
124
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
public/css/slick.min.css DELETED
@@ -1 +0,0 @@
1
- .slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.slick-loading .slick-list{background:#fff url(./spinner.svg) center center no-repeat}
 
public/css/swiper-bundle.min.css ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Swiper 8.3.2
3
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
4
+ * https://swiperjs.com
5
+ *
6
+ * Copyright 2014-2022 Vladimir Kharlampidi
7
+ *
8
+ * Released under the MIT License
9
+ *
10
+ * Released on: July 26, 2022
11
+ */
12
+
13
+ @font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
public/css/wp-carousel-free-public.css CHANGED
@@ -11,10 +11,11 @@
11
  display: none;
12
  }
13
 
14
- .wpcp-carousel-section.wpcp-standard.slick-initialized:not(.wpcp-preloader) {
15
  display: block;
16
  }
17
 
 
18
  .wpcp-carousel-wrapper {
19
  position: relative;
20
  }
@@ -42,7 +43,7 @@
42
  margin-bottom: 0;
43
  }
44
 
45
- .wpcp-carousel-section.wpcp-standard .slick-list,
46
  .wpcp-carousel-section.wpcp-standard {
47
  overflow: hidden;
48
  }
@@ -52,13 +53,12 @@
52
  padding-right: 2px;
53
  }
54
 
55
- .wpcp-carousel-section.wpcp-standard.slick-initialized {
56
- position: relative;
57
  }
58
 
59
  .wpcp-carousel-section .wpcp-single-item {
60
  overflow: hidden;
61
- display: inline-block;
62
  vertical-align: middle;
63
  float: none;
64
  max-width: 100%;
@@ -107,21 +107,6 @@
107
  outline: none;
108
  }
109
 
110
- .wpcp-carousel-section .slick-slide:focus {
111
- outline: none;
112
- }
113
-
114
- .wpcp-carousel-section.slick-initialized .slick-slide {
115
- margin-right: 20px;
116
- float: none;
117
- display: inline-block;
118
- vertical-align: middle;
119
- }
120
-
121
- .wpcp-carousel-section .slick-list {
122
- margin-right: -20px;
123
- }
124
-
125
  .wpcp-carousel-section a,
126
  .wpcp-carousel-section a:hover,
127
  .wpcp-carousel-section .wpcp-all-captions a {
@@ -337,25 +322,25 @@
337
  /*--------------------------------------------------------------
338
  ## Carousel Navigation
339
  --------------------------------------------------------------*/
340
- .wpcp-carousel-section .slick-prev:before,
341
- .wpcp-carousel-section .slick-next:before,
342
- .wpcp-carousel-section .slick-prev:after,
343
- .wpcp-carousel-section .slick-next:after {
344
  display: none;
345
  }
346
 
347
- .wpcp-carousel-section .slick-prev {
348
  left: 0;
349
  right: auto;
350
  }
351
 
352
- .wpcp-carousel-section .slick-next {
353
  right: 0;
354
  left: auto;
355
  }
356
 
357
- .wpcp-carousel-section .slick-prev,
358
- .wpcp-carousel-section .slick-next {
359
  width: 30px;
360
  height: 30px;
361
  line-height: 30px;
@@ -374,63 +359,54 @@
374
  }
375
 
376
  .wpcp-carousel-section.nav-vertical-center {
377
- padding: 0 25px;
378
  }
379
 
380
- .wpcp-carousel-section .slick-prev i,
381
- .wpcp-carousel-section .slick-next i,
382
- .wpcp-carousel-section .slick-prev,
383
- .wpcp-carousel-section .slick-next {
384
  line-height: 28px;
385
  font-family: fontawesome;
386
  color: #000;
387
  }
388
 
389
- .wpcp-carousel-section.nav-vertical-center .slick-next,
390
- .wpcp-carousel-section.nav-vertical-center .slick-prev {
391
  top: 50%;
392
  }
393
 
394
- .wpcp-carousel-section.nav-vertical-center .slick-prev {
395
- left: 0;
396
  right: auto;
397
  text-align: left;
398
  }
399
 
400
- .wpcp-carousel-section.nav-vertical-center .slick-next,
401
- .wpcp-carousel-section.nav-vertical-center .slick-prev {
402
  margin-top: -15px;
403
  }
404
 
405
- .wpcp-carousel-section.nav-vertical-center.slick-dotted .slick-next,
406
- .wpcp-carousel-section.nav-vertical-center.slick-dotted .slick-prev {
407
  margin-top: -35px;
408
  }
409
 
410
- .wpcp-carousel-section.nav-vertical-center .slick-next {
411
- right: 0;
412
  text-align: right;
 
413
  }
414
 
415
  /*--------------------------------------------------------------
416
  ## Carousel Pagination Dots
417
  --------------------------------------------------------------*/
418
- .wpcp-carousel-section ul.slick-dots {
419
- list-style: none;
420
- padding: 0 !important;
421
- margin: 0;
422
- text-align: center;
423
- margin-top: 18px;
424
- position: relative;
425
- bottom: 0px;
426
  }
427
 
428
- .wpcp-carousel-section ul.slick-dots li {
429
- display: inline;
430
- margin: 0;
431
- }
432
-
433
- .wpcp-carousel-section ul.slick-dots li button {
434
  background-color: #cccccc;
435
  border: 0 solid;
436
  border-radius: 50%;
@@ -442,21 +418,7 @@
442
  width: 12px;
443
  height: 12px;
444
  cursor: pointer;
445
- display: initial;
446
- }
447
-
448
- .wpcp-carousel-section ul.slick-dots,
449
- .wpcp-carousel-section ul.slick-dots li,
450
- .wpcp-carousel-section ul.slick-dots li button {
451
- line-height: 1 !important;
452
- }
453
-
454
- .wpcp-carousel-section ul.slick-dots li button:focus {
455
- outline: none;
456
- }
457
-
458
- .wpcp-carousel-section ul.slick-dots li.slick-active button {
459
- background-color: #666;
460
  }
461
 
462
  /* Gallery CSS */
@@ -477,7 +439,19 @@
477
  margin-left: -10px;
478
  }
479
 
480
- /* Pagination */
 
 
 
 
 
 
 
 
 
 
 
 
481
  /* Pagination css */
482
  .wpcpro-post-pagination .ajax-page-numbers,
483
  .wpcpro-post-pagination .page-numbers {
@@ -530,17 +504,8 @@ html[dir="rtl"] .wpcp-single-item {
530
 
531
  .wpcp-carousel-section .wpcp-slide-image {
532
  font-size: 0;
 
533
  }
534
-
535
- .wpcp-standard:not(.slick-initialized) {
536
- display: flex;
537
- justify-content: space-between;
538
- padding: 0;
539
- margin-left: -20px;
540
- }
541
-
542
- .wpcp-standard:not(.slick-initialized)>div:not(.slick-slide) {
543
- width: calc(100% / 4);
544
- min-width: calc(100% / 4);
545
- padding-left: 20px;
546
  }
11
  display: none;
12
  }
13
 
14
+ .wpcp-carousel-section.wpcp-standard.swiper-initialized:not(.wpcp-preloader) {
15
  display: block;
16
  }
17
 
18
+ .wpcp-carousel-wrapper .wpcp-carousel-content-wrapper,
19
  .wpcp-carousel-wrapper {
20
  position: relative;
21
  }
43
  margin-bottom: 0;
44
  }
45
 
46
+ /* .wpcp-carousel-section.wpcp-standard .slick-list, */
47
  .wpcp-carousel-section.wpcp-standard {
48
  overflow: hidden;
49
  }
53
  padding-right: 2px;
54
  }
55
 
56
+ .wpcp-carousel-section .swiper-wrapper {
57
+ align-items: center;
58
  }
59
 
60
  .wpcp-carousel-section .wpcp-single-item {
61
  overflow: hidden;
 
62
  vertical-align: middle;
63
  float: none;
64
  max-width: 100%;
107
  outline: none;
108
  }
109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  .wpcp-carousel-section a,
111
  .wpcp-carousel-section a:hover,
112
  .wpcp-carousel-section .wpcp-all-captions a {
322
  /*--------------------------------------------------------------
323
  ## Carousel Navigation
324
  --------------------------------------------------------------*/
325
+ .wpcp-carousel-section .swiper-button-prev:before,
326
+ .wpcp-carousel-section .swiper-button-next:before,
327
+ .wpcp-carousel-section .swiper-button-prev:after,
328
+ .wpcp-carousel-section .swiper-button-next:after {
329
  display: none;
330
  }
331
 
332
+ .wpcp-carousel-section .swiper-button-prev {
333
  left: 0;
334
  right: auto;
335
  }
336
 
337
+ .wpcp-carousel-section .swiper-button-next {
338
  right: 0;
339
  left: auto;
340
  }
341
 
342
+ .wpcp-carousel-section .swiper-button-prev,
343
+ .wpcp-carousel-section .swiper-button-next {
344
  width: 30px;
345
  height: 30px;
346
  line-height: 30px;
359
  }
360
 
361
  .wpcp-carousel-section.nav-vertical-center {
362
+ margin: 0 25px;
363
  }
364
 
365
+ .wpcp-carousel-section .swiper-button-prev i,
366
+ .wpcp-carousel-section .swiper-button-next i,
367
+ .wpcp-carousel-section .swiper-button-prev,
368
+ .wpcp-carousel-section .swiper-button-next {
369
  line-height: 28px;
370
  font-family: fontawesome;
371
  color: #000;
372
  }
373
 
374
+ .wpcp-carousel-section.nav-vertical-center .swiper-button-next,
375
+ .wpcp-carousel-section.nav-vertical-center .swiper-button-prev {
376
  top: 50%;
377
  }
378
 
379
+ .wpcp-carousel-section.nav-vertical-center .swiper-button-prev {
380
+ left: -5px;
381
  right: auto;
382
  text-align: left;
383
  }
384
 
385
+ .wpcp-carousel-section.nav-vertical-center .swiper-button-next,
386
+ .wpcp-carousel-section.nav-vertical-center .swiper-button-prev {
387
  margin-top: -15px;
388
  }
389
 
390
+ .wpcp-carousel-section.nav-vertical-center .swiper-pagination ~ .swiper-button-next,
391
+ .wpcp-carousel-section.nav-vertical-center .swiper-pagination ~ .swiper-button-prev {
392
  margin-top: -35px;
393
  }
394
 
395
+ .wpcp-carousel-section.nav-vertical-center .swiper-button-next {
396
+ right: -5px;
397
  text-align: right;
398
+ left: auto;
399
  }
400
 
401
  /*--------------------------------------------------------------
402
  ## Carousel Pagination Dots
403
  --------------------------------------------------------------*/
404
+ .wpcp-carousel-section .wpcp-swiper-dots {
405
+ position: inherit;
406
+ margin-top: 10px;
 
 
 
 
 
407
  }
408
 
409
+ .wpcp-carousel-section .wpcp-swiper-dots .swiper-pagination-bullet {
 
 
 
 
 
410
  background-color: #cccccc;
411
  border: 0 solid;
412
  border-radius: 50%;
418
  width: 12px;
419
  height: 12px;
420
  cursor: pointer;
421
+ opacity: 1;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
422
  }
423
 
424
  /* Gallery CSS */
439
  margin-left: -10px;
440
  }
441
 
442
+ /* .wpcp-standard .wpcp-gallery-wrapper {
443
+ display: flex;
444
+ justify-content: space-between;
445
+ padding: 0;
446
+ margin-left: -20px;
447
+ }
448
+
449
+ .wpcp-standard .wpcp-gallery-wrapper {
450
+ width: calc(100% / 4);
451
+ min-width: calc(100% / 4);
452
+ padding-left: 20px;
453
+ } */
454
+
455
  /* Pagination css */
456
  .wpcpro-post-pagination .ajax-page-numbers,
457
  .wpcpro-post-pagination .page-numbers {
504
 
505
  .wpcp-carousel-section .wpcp-slide-image {
506
  font-size: 0;
507
+ text-align: center;
508
  }
509
+ .wpcp-carousel-section i.fa {
510
+ font-style: normal;
 
 
 
 
 
 
 
 
 
 
511
  }
public/css/wp-carousel-free-public.min.css CHANGED
@@ -1 +1 @@
1
- .wpcp-carousel-wrapper *{word-break:break-word;word-wrap:break-word;box-sizing:border-box}.wpcp-carousel-section.wpcp-standard:not(.wpcp-preloader){display:none}.wpcp-carousel-section.wpcp-standard.slick-initialized:not(.wpcp-preloader){display:block}.wpcp-carousel-wrapper{position:relative}.wpcp-carousel-section.wpcp-preloader{opacity:0}.wpcp-carousel-preloader{position:absolute;left:0;top:0;height:100%;width:100%;text-align:center;display:flex;align-items:center;justify-content:center}.sp-wpcp-wrapper{margin-bottom:0}.wpcp-carousel-section.wpcp-standard,.wpcp-carousel-section.wpcp-standard .slick-list{overflow:hidden}.wpcp-carousel-section.wpcp-standard{overflow:hidden;padding-right:2px}.wpcp-carousel-section.wpcp-standard.slick-initialized{position:relative}.wpcp-carousel-section .wpcp-single-item{overflow:hidden;display:inline-block;vertical-align:middle;float:none;max-width:100%}.wpcp-all-captions li{list-style:none;margin:0}.wpcp-carousel-section p,.wpcp-carousel-section ul,.wpcp-image-carousel .wpcp-single-item .wpcp-all-captions h2{margin:0}.wpcp-carousel-section.wpcp-video-carousel .wpcp-single-item .wpcp-slide-image{position:relative}.wpcp-carousel-section.wpcp-content-carousel .wpcp-single-item{padding-left:15px;padding-right:15px}.wpcp-carousel-section .wpcp-single-item img[data-lazy]{width:32px}.wpcp-carousel-section .wpcp-single-item img{margin:0 auto;max-width:100%;height:auto;box-shadow:none}.wpcp-carousel-section.wpcp-image-carousel .wpcp-single-item .wpcp-all-captions{padding:10px 20px 15px}.wpcp-carousel-section .wpcp-single-item .wpcp-all-captions .wpcp-image-description{margin:6px 0 0}.wpcp-carousel-section .wpcp-single-item .wpcp-slide-image a:focus{outline:0}.wpcp-carousel-section .slick-slide:focus{outline:0}.wpcp-carousel-section.slick-initialized .slick-slide{margin-right:20px;float:none;display:inline-block;vertical-align:middle}.wpcp-carousel-section .slick-list{margin-right:-20px}.wpcp-carousel-section .wpcp-all-captions a,.wpcp-carousel-section a,.wpcp-carousel-section a:hover{text-decoration:none}.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions{padding:15px 20px 0;overflow:hidden}#poststuff h2,.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions h2{font-size:16px;font-weight:600;margin:0 0 10px}.wpcp-single-item h2 a{color:#444;text-decoration:none}.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions .post-categories{margin:0 0 7px;padding:0;display:block}.wpcp-post-carousel .wpcp-all-captions p{margin-bottom:15px}.wpcp_readmore{border:1px solid;display:inline-block;background:#22afba;margin:0 0 14px;line-height:32px;padding:5px 14px;font-weight:600}.wpcp_readmore,.wpcp_readmore:focus,.wpcp_readmore:hover{color:#fff}.wpcp-single-item .wpcp-all-captions .wpcp-post-meta{margin:0 0 20px;padding:0}.wpcp-post-carousel .wpcp-post-meta li{display:inline-block;margin-right:5px}.wpcp-post-carousel .wpcp-post-meta li:last-child{margin-right:0}.wpcp-post-meta li,.wpcp-post-meta li a{color:#999}.wpcp-carousel-section.detail-on-right .wpcp-single-item .wpcp-all-captions,.wpcp-carousel-section.detail-on-right .wpcp-single-item .wpcp-slide-image{float:left;width:50%;box-sizing:border-box}.wpcp-carousel-section.detail-with-overlay .wpcp-all-captions{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;height:100%}.wpcp-carousel-section.detail-with-overlay.overlay-lower .wpcp-all-captions{top:auto;display:block;height:auto}.wpcp-carousel-section.detail-with-overlay.overlay-on-hover .wpcp-all-captions{visibility:hidden;opacity:0;transition:visibility .3s linear,opacity .3s linear}.wpcp-carousel-section.detail-with-overlay.overlay-on-hover .wpcp-single-item:hover .wpcp-all-captions{visibility:visible;opacity:1}.wpcp-carousel-section.detail-with-overlay .wpcp-single-item{position:relative}.wpcp-carousel-section .wpcp-single-item:focus{outline:0}.wpcp-product-carousel .wpcp-single-item .wpcp-all-captions{padding:15px 20px 0;overflow:hidden;text-align:center}.wpcp-product-carousel .wpcp-single-item .wpcp-product-title{margin:0;font-size:16px;line-height:23px;font-weight:600}.wpcp-product-price{margin-top:5px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-cart-button{margin-top:12px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-cart-button a.button{background:#ebebeb;color:#545454;border:1px solid #d1d1d1;font-weight:500;padding:0 20px;line-height:38px;display:inline-block;font-size:14px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button a.add_to_cart_button.added{display:none}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button .added_to_cart{font-size:100%;margin:0;line-height:38px;cursor:pointer;position:relative;text-decoration:none;overflow:visible;padding:0 20px;font-weight:600;border-radius:3px;left:auto;color:#515151;background-color:#ebe9eb;border:0;display:inline-block;background-image:none;box-shadow:none;text-shadow:none;border:1px solid}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button a.button:hover{background:#3f3f3f;border-color:#d1d1d1;color:#fff}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button .wc-forward::after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:400;line-height:1;vertical-align:-.125em;font:normal normal normal 14px/1 FontAwesome;font-weight:900;line-height:inherit;vertical-align:baseline;content:"\f178";margin-left:.5407911001em}.wpcp-carousel-section .woocommerce-product-rating .star-rating{margin:4px auto;float:none}.wpcp-product-price span{font-weight:700;font-size:14px}.wpcp-carousel-section .slick-next:after,.wpcp-carousel-section .slick-next:before,.wpcp-carousel-section .slick-prev:after,.wpcp-carousel-section .slick-prev:before{display:none}.wpcp-carousel-section .slick-prev{left:0;right:auto}.wpcp-carousel-section .slick-next{right:0;left:auto}.wpcp-carousel-section .slick-next,.wpcp-carousel-section .slick-prev{width:30px;height:30px;line-height:30px;position:absolute;z-index:22;left:auto;top:auto;font-size:30px;-webkit-transition:ease all .3s;-moz-transition:ease all .3s;-ms-transition:ease all .3s;-o-transition:ease all .3s;transition:ease all .3s;margin-top:-15px;cursor:pointer}.wpcp-carousel-section.nav-vertical-center{padding:0 25px}.wpcp-carousel-section .slick-next,.wpcp-carousel-section .slick-next i,.wpcp-carousel-section .slick-prev,.wpcp-carousel-section .slick-prev i{line-height:28px;font-family:fontawesome;color:#000}.wpcp-carousel-section.nav-vertical-center .slick-next,.wpcp-carousel-section.nav-vertical-center .slick-prev{top:50%}.wpcp-carousel-section.nav-vertical-center .slick-prev{left:0;right:auto;text-align:left}.wpcp-carousel-section.nav-vertical-center .slick-next,.wpcp-carousel-section.nav-vertical-center .slick-prev{margin-top:-15px}.wpcp-carousel-section.nav-vertical-center.slick-dotted .slick-next,.wpcp-carousel-section.nav-vertical-center.slick-dotted .slick-prev{margin-top:-35px}.wpcp-carousel-section.nav-vertical-center .slick-next{right:0;text-align:right}.wpcp-carousel-section ul.slick-dots{list-style:none;padding:0!important;margin:0;text-align:center;margin-top:18px;position:relative;bottom:0}.wpcp-carousel-section ul.slick-dots li{display:inline;margin:0}.wpcp-carousel-section ul.slick-dots li button{background-color:#ccc;border:0 solid;border-radius:50%;font-size:0;margin:3px;overflow:hidden;padding:0;text-indent:-999px;width:12px;height:12px;cursor:pointer;display:initial}.wpcp-carousel-section ul.slick-dots,.wpcp-carousel-section ul.slick-dots li,.wpcp-carousel-section ul.slick-dots li button{line-height:1!important}.wpcp-carousel-section ul.slick-dots li button:focus{outline:0}.wpcp-carousel-section ul.slick-dots li.slick-active button{background-color:#666}.wpcpro-row.no-gutters>[class*=wpcpro-col-]{padding-right:0;padding-left:0}.wpcpro-row>[class*=wpcpro-col-]{padding:0 10px;padding-bottom:20px}.wpcpro-row{display:flex;flex-wrap:wrap;margin-right:-10px;margin-left:-10px}.wpcpro-post-pagination .ajax-page-numbers,.wpcpro-post-pagination .page-numbers{background:#fff;color:#5e5e5e;border:2px solid #bbb;width:38px;height:38px;line-height:38px;font-size:16px;text-align:center;display:inline-block;margin-right:4px;text-decoration:none;font-weight:700;border-radius:3px;-webkit-transition:all .33s;transition:all .33s;-webkit-box-sizing:content-box;box-sizing:content-box}.wpcpro-post-pagination .ajax-page-numbers.current,.wpcpro-post-pagination .page-numbers.current{cursor:auto;color:#fff;background:#178087;border-color:#178087}.wpcpro-post-pagination-number{margin-top:20px}.wpcpro-post-pagination a.page-numbers:hover,.wpcpro-post-pagination span.current,.wpcpro-post-pagination span:hover{color:#fff;background:#178087;border-color:#178087}.wpcp-single-item{direction:ltr}html[dir=rtl] .wpcp-single-item{direction:rtl}.wpcp-carousel-section .wpcp-slide-image{font-size:0}.wpcp-standard:not(.slick-initialized){display:flex;justify-content:space-between;padding:0;margin-left:-20px}.wpcp-standard:not(.slick-initialized)>div:not(.slick-slide){width:calc(100% / 4);min-width:calc(100% / 4);padding-left:20px}
1
+ .wpcp-carousel-wrapper *{word-break:break-word;word-wrap:break-word;box-sizing:border-box}.wpcp-carousel-section.wpcp-standard:not(.wpcp-preloader){display:none}.wpcp-carousel-section.wpcp-standard.swiper-initialized:not(.wpcp-preloader){display:block}.wpcp-carousel-wrapper,.wpcp-carousel-wrapper .wpcp-carousel-content-wrapper{position:relative}.wpcp-carousel-section.wpcp-preloader{opacity:0}.wpcp-carousel-preloader{position:absolute;left:0;top:0;height:100%;width:100%;text-align:center;display:flex;align-items:center;justify-content:center}.sp-wpcp-wrapper{margin-bottom:0}.wpcp-carousel-section.wpcp-standard{overflow:hidden}.wpcp-carousel-section.wpcp-standard{overflow:hidden;padding-right:2px}.wpcp-carousel-section .swiper-wrapper{align-items:center}.wpcp-carousel-section .wpcp-single-item{overflow:hidden;vertical-align:middle;float:none;max-width:100%}.wpcp-all-captions li{list-style:none;margin:0}.wpcp-carousel-section p,.wpcp-carousel-section ul,.wpcp-image-carousel .wpcp-single-item .wpcp-all-captions h2{margin:0}.wpcp-carousel-section.wpcp-video-carousel .wpcp-single-item .wpcp-slide-image{position:relative}.wpcp-carousel-section.wpcp-content-carousel .wpcp-single-item{padding-left:15px;padding-right:15px}.wpcp-carousel-section .wpcp-single-item img[data-lazy]{width:32px}.wpcp-carousel-section .wpcp-single-item img{margin:0 auto;max-width:100%;height:auto;box-shadow:none}.wpcp-carousel-section.wpcp-image-carousel .wpcp-single-item .wpcp-all-captions{padding:10px 20px 15px}.wpcp-carousel-section .wpcp-single-item .wpcp-all-captions .wpcp-image-description{margin:6px 0 0}.wpcp-carousel-section .wpcp-single-item .wpcp-slide-image a:focus{outline:0}.wpcp-carousel-section .wpcp-all-captions a,.wpcp-carousel-section a,.wpcp-carousel-section a:hover{text-decoration:none}.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions{padding:15px 20px 0;overflow:hidden}#poststuff h2,.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions h2{font-size:16px;font-weight:600;margin:0 0 10px}.wpcp-single-item h2 a{color:#444;text-decoration:none}.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions .post-categories{margin:0 0 7px;padding:0;display:block}.wpcp-post-carousel .wpcp-all-captions p{margin-bottom:15px}.wpcp_readmore{border:1px solid;display:inline-block;background:#22afba;margin:0 0 14px;line-height:32px;padding:5px 14px;font-weight:600}.wpcp_readmore,.wpcp_readmore:focus,.wpcp_readmore:hover{color:#fff}.wpcp-single-item .wpcp-all-captions .wpcp-post-meta{margin:0 0 20px;padding:0}.wpcp-post-carousel .wpcp-post-meta li{display:inline-block;margin-right:5px}.wpcp-post-carousel .wpcp-post-meta li:last-child{margin-right:0}.wpcp-post-meta li,.wpcp-post-meta li a{color:#999}.wpcp-carousel-section.detail-on-right .wpcp-single-item .wpcp-all-captions,.wpcp-carousel-section.detail-on-right .wpcp-single-item .wpcp-slide-image{float:left;width:50%;box-sizing:border-box}.wpcp-carousel-section.detail-with-overlay .wpcp-all-captions{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;height:100%}.wpcp-carousel-section.detail-with-overlay.overlay-lower .wpcp-all-captions{top:auto;display:block;height:auto}.wpcp-carousel-section.detail-with-overlay.overlay-on-hover .wpcp-all-captions{visibility:hidden;opacity:0;transition:visibility .3s linear,opacity .3s linear}.wpcp-carousel-section.detail-with-overlay.overlay-on-hover .wpcp-single-item:hover .wpcp-all-captions{visibility:visible;opacity:1}.wpcp-carousel-section.detail-with-overlay .wpcp-single-item{position:relative}.wpcp-carousel-section .wpcp-single-item:focus{outline:0}.wpcp-product-carousel .wpcp-single-item .wpcp-all-captions{padding:15px 20px 0;overflow:hidden;text-align:center}.wpcp-product-carousel .wpcp-single-item .wpcp-product-title{margin:0;font-size:16px;line-height:23px;font-weight:600}.wpcp-product-price{margin-top:5px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-cart-button{margin-top:12px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-cart-button a.button{background:#ebebeb;color:#545454;border:1px solid #d1d1d1;font-weight:500;padding:0 20px;line-height:38px;display:inline-block;font-size:14px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button a.add_to_cart_button.added{display:none}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button .added_to_cart{font-size:100%;margin:0;line-height:38px;cursor:pointer;position:relative;text-decoration:none;overflow:visible;padding:0 20px;font-weight:600;border-radius:3px;left:auto;color:#515151;background-color:#ebe9eb;border:0;display:inline-block;background-image:none;box-shadow:none;text-shadow:none;border:1px solid}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button a.button:hover{background:#3f3f3f;border-color:#d1d1d1;color:#fff}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button .wc-forward::after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:400;line-height:1;vertical-align:-.125em;font:normal normal normal 14px/1 FontAwesome;font-weight:900;line-height:inherit;vertical-align:baseline;content:"\f178";margin-left:.5407911001em}.wpcp-carousel-section .woocommerce-product-rating .star-rating{margin:4px auto;float:none}.wpcp-product-price span{font-weight:700;font-size:14px}.wpcp-carousel-section .swiper-button-next:after,.wpcp-carousel-section .swiper-button-next:before,.wpcp-carousel-section .swiper-button-prev:after,.wpcp-carousel-section .swiper-button-prev:before{display:none}.wpcp-carousel-section .swiper-button-prev{left:0;right:auto}.wpcp-carousel-section .swiper-button-next{right:0;left:auto}.wpcp-carousel-section .swiper-button-next,.wpcp-carousel-section .swiper-button-prev{width:30px;height:30px;line-height:30px;position:absolute;z-index:22;left:auto;top:auto;font-size:30px;-webkit-transition:ease all .3s;-moz-transition:ease all .3s;-ms-transition:ease all .3s;-o-transition:ease all .3s;transition:ease all .3s;margin-top:-15px;cursor:pointer}.wpcp-carousel-section.nav-vertical-center{margin:0 25px}.wpcp-carousel-section .swiper-button-next,.wpcp-carousel-section .swiper-button-next i,.wpcp-carousel-section .swiper-button-prev,.wpcp-carousel-section .swiper-button-prev i{line-height:28px;font-family:fontawesome;color:#000}.wpcp-carousel-section.nav-vertical-center .swiper-button-next,.wpcp-carousel-section.nav-vertical-center .swiper-button-prev{top:50%}.wpcp-carousel-section.nav-vertical-center .swiper-button-prev{left:-5px;right:auto;text-align:left}.wpcp-carousel-section.nav-vertical-center .swiper-button-next,.wpcp-carousel-section.nav-vertical-center .swiper-button-prev{margin-top:-15px}.wpcp-carousel-section.nav-vertical-center .swiper-pagination~.swiper-button-next,.wpcp-carousel-section.nav-vertical-center .swiper-pagination~.swiper-button-prev{margin-top:-35px}.wpcp-carousel-section.nav-vertical-center .swiper-button-next{right:-5px;text-align:right;left:auto}.wpcp-carousel-section .wpcp-swiper-dots{position:inherit;margin-top:10px}.wpcp-carousel-section .wpcp-swiper-dots .swiper-pagination-bullet{background-color:#ccc;border:0 solid;border-radius:50%;font-size:0;margin:3px;overflow:hidden;padding:0;text-indent:-999px;width:12px;height:12px;cursor:pointer;opacity:1}.wpcpro-row.no-gutters>[class*=wpcpro-col-]{padding-right:0;padding-left:0}.wpcpro-row>[class*=wpcpro-col-]{padding:0 10px;padding-bottom:20px}.wpcpro-row{display:flex;flex-wrap:wrap;margin-right:-10px;margin-left:-10px}.wpcpro-post-pagination .ajax-page-numbers,.wpcpro-post-pagination .page-numbers{background:#fff;color:#5e5e5e;border:2px solid #bbb;width:38px;height:38px;line-height:38px;font-size:16px;text-align:center;display:inline-block;margin-right:4px;text-decoration:none;font-weight:700;border-radius:3px;-webkit-transition:all .33s;transition:all .33s;-webkit-box-sizing:content-box;box-sizing:content-box}.wpcpro-post-pagination .ajax-page-numbers.current,.wpcpro-post-pagination .page-numbers.current{cursor:auto;color:#fff;background:#178087;border-color:#178087}.wpcpro-post-pagination-number{margin-top:20px}.wpcpro-post-pagination a.page-numbers:hover,.wpcpro-post-pagination span.current,.wpcpro-post-pagination span:hover{color:#fff;background:#178087;border-color:#178087}.wpcp-single-item{direction:ltr}html[dir=rtl] .wpcp-single-item{direction:rtl}.wpcp-carousel-section .wpcp-slide-image{font-size:0;text-align:center}.wpcp-carousel-section i.fa{font-style:normal}
public/dynamic-style.php CHANGED
@@ -55,36 +55,45 @@ if ( 'hide' !== $wpcp_arrows ) {
55
  $wpcp_nav_color = isset( $shortcode_data['wpcp_nav_colors']['color1'] ) ? $shortcode_data['wpcp_nav_colors']['color1'] : '#aaa';
56
  $wpcp_nav_hover_color = isset( $shortcode_data['wpcp_nav_colors']['color2'] ) ? $shortcode_data['wpcp_nav_colors']['color2'] : '#fff';
57
  $nav_dynamic_style .= '
58
- #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .slick-prev,
59
- #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .slick-next,
60
- #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .slick-prev:hover,
61
- #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .slick-next:hover {
62
  background: none;
63
  border: none;
64
  font-size: 30px;
65
  }
66
- #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .slick-prev i,
67
- #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .slick-next i {
68
  color: ' . $wpcp_nav_color . ';
69
  }
70
- #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .slick-prev i:hover,
71
- #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .slick-next i:hover {
72
  color: ' . $wpcp_nav_hover_color . ';
73
  }';
74
  }
 
75
  $pagination_dynamic_style = '';
76
  if ( 'hide' !== $wpcp_dots ) {
77
  $wpcp_dot_color = isset( $shortcode_data['wpcp_pagination_color']['color1'] ) ? $shortcode_data['wpcp_pagination_color']['color1'] : '#ccc';
78
  $wpcp_dot_active_color = isset( $shortcode_data['wpcp_pagination_color']['color2'] ) ? $shortcode_data['wpcp_pagination_color']['color2'] : '#52b3d9';
79
  $pagination_dynamic_style = '
80
- #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' ul.slick-dots li button {
81
  background-color: ' . $wpcp_dot_color . ';
82
  }
83
- #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' ul.slick-dots li.slick-active button {
84
  background-color: ' . $wpcp_dot_active_color . ';
85
  }
86
  ';
87
  }
 
 
 
 
 
 
 
 
88
 
89
  /**
90
  * The Dynamic Style CSS.
@@ -104,13 +113,18 @@ if ( 'hide' === $wpcp_arrows ) {
104
  $the_wpcf_dynamic_css .= '
105
  #sp-wp-carousel-free-id-' . $post_id . '.nav-vertical-center {
106
  padding: 0;
 
107
  }';
108
  }
109
- if ( 'show' !== $wpcp_arrows ) {
110
  $the_wpcf_dynamic_css .= '
111
  @media screen and (max-width: 479px) {
112
  #sp-wp-carousel-free-id-' . $post_id . '.nav-vertical-center {
113
  padding: 0;
 
 
 
 
114
  }
115
  }';
116
  }
55
  $wpcp_nav_color = isset( $shortcode_data['wpcp_nav_colors']['color1'] ) ? $shortcode_data['wpcp_nav_colors']['color1'] : '#aaa';
56
  $wpcp_nav_hover_color = isset( $shortcode_data['wpcp_nav_colors']['color2'] ) ? $shortcode_data['wpcp_nav_colors']['color2'] : '#fff';
57
  $nav_dynamic_style .= '
58
+ #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .swiper-button-prev,
59
+ #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .swiper-button-next,
60
+ #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .swiper-button-prev:hover,
61
+ #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .swiper-button-next:hover {
62
  background: none;
63
  border: none;
64
  font-size: 30px;
65
  }
66
+ #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .swiper-button-prev i,
67
+ #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .swiper-button-next i {
68
  color: ' . $wpcp_nav_color . ';
69
  }
70
+ #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .swiper-button-prev i:hover,
71
+ #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .swiper-button-next i:hover {
72
  color: ' . $wpcp_nav_hover_color . ';
73
  }';
74
  }
75
+
76
  $pagination_dynamic_style = '';
77
  if ( 'hide' !== $wpcp_dots ) {
78
  $wpcp_dot_color = isset( $shortcode_data['wpcp_pagination_color']['color1'] ) ? $shortcode_data['wpcp_pagination_color']['color1'] : '#ccc';
79
  $wpcp_dot_active_color = isset( $shortcode_data['wpcp_pagination_color']['color2'] ) ? $shortcode_data['wpcp_pagination_color']['color2'] : '#52b3d9';
80
  $pagination_dynamic_style = '
81
+ #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .wpcp-swiper-dots .swiper-pagination-bullet {
82
  background-color: ' . $wpcp_dot_color . ';
83
  }
84
+ #sp-wp-carousel-free-id-' . $post_id . '.sp-wpcp-' . $post_id . ' .wpcp-swiper-dots .swiper-pagination-bullet.swiper-pagination-bullet-active {
85
  background-color: ' . $wpcp_dot_active_color . ';
86
  }
87
  ';
88
  }
89
+ if ( 'hide_mobile' === $wpcp_dots ) {
90
+ $the_wpcf_dynamic_css .= '
91
+ @media screen and (max-width: 479px) {
92
+ #sp-wp-carousel-free-id-' . $post_id . '.nav-vertical-center .wpcp-next-button,#sp-wp-carousel-free-id-' . $post_id . ' .wpcp-swiper-dots {
93
+ display: none;
94
+ }
95
+ }';
96
+ }
97
 
98
  /**
99
  * The Dynamic Style CSS.
113
  $the_wpcf_dynamic_css .= '
114
  #sp-wp-carousel-free-id-' . $post_id . '.nav-vertical-center {
115
  padding: 0;
116
+ margin:0;
117
  }';
118
  }
119
+ if ( 'hide_mobile' === $wpcp_arrows ) {
120
  $the_wpcf_dynamic_css .= '
121
  @media screen and (max-width: 479px) {
122
  #sp-wp-carousel-free-id-' . $post_id . '.nav-vertical-center {
123
  padding: 0;
124
+ margin:0;
125
+ }
126
+ #sp-wp-carousel-free-id-' . $post_id . '.nav-vertical-center .wpcp-next-button,#sp-wp-carousel-free-id-' . $post_id . '.nav-vertical-center .wpcp-prev-button {
127
+ display: none;
128
  }
129
  }';
130
  }
public/js/preloader.js CHANGED
@@ -2,7 +2,7 @@
2
  'use strict'
3
  jQuery('body').find('.wpcp-carousel-section.wpcp-preloader').each(function () {
4
  var carousel_id = $(this).attr('id'),
5
- parents_class = jQuery('#' + carousel_id).parent('.wpcp-carousel-wrapper'),
6
  parents_siblings_id = parents_class.find('.wpcp-carousel-preloader').attr('id');
7
  jQuery(window).on('load', function() {
8
  jQuery('#' + parents_siblings_id).animate({ opacity: 0 }, 600).remove();
2
  'use strict'
3
  jQuery('body').find('.wpcp-carousel-section.wpcp-preloader').each(function () {
4
  var carousel_id = $(this).attr('id'),
5
+ parents_class = jQuery('#' + carousel_id).parents('.wpcp-carousel-wrapper'),
6
  parents_siblings_id = parents_class.find('.wpcp-carousel-preloader').attr('id');
7
  jQuery(window).on('load', function() {
8
  jQuery('#' + parents_siblings_id).animate({ opacity: 0 }, 600).remove();
public/js/preloader.min.js CHANGED
@@ -1 +1 @@
1
- !function($){"use strict";jQuery("body").find(".wpcp-carousel-section.wpcp-preloader").each((function(){var carousel_id=$(this).attr("id"),parents_class,parents_siblings_id=jQuery("#"+carousel_id).parent(".wpcp-carousel-wrapper").find(".wpcp-carousel-preloader").attr("id");jQuery(window).on("load",(function(){jQuery("#"+parents_siblings_id).animate({opacity:0},600).remove(),jQuery("#"+carousel_id).animate({opacity:1},600)}))}))}(jQuery);
1
+ !function($){"use strict";jQuery("body").find(".wpcp-carousel-section.wpcp-preloader").each((function(){var carousel_id=$(this).attr("id"),parents_class,parents_siblings_id=jQuery("#"+carousel_id).parents(".wpcp-carousel-wrapper").find(".wpcp-carousel-preloader").attr("id");jQuery(window).on("load",(function(){jQuery("#"+parents_siblings_id).animate({opacity:0},600).remove(),jQuery("#"+carousel_id).animate({opacity:1},600)}))}))}(jQuery);
public/js/slick.js DELETED
@@ -1,3037 +0,0 @@
1
- /*
2
- _ _ _ _
3
- ___| (_) ___| | __ (_)___
4
- / __| | |/ __| |/ / | / __|
5
- \__ \ | | (__| < _ | \__ \
6
- |___/_|_|\___|_|\_(_)/ |___/
7
- |__/
8
-
9
- Version: 1.9.0
10
- Author: Ken Wheeler
11
- Website: http://kenwheeler.github.io
12
- Docs: http://kenwheeler.github.io/slick
13
- Repo: http://github.com/kenwheeler/slick
14
- Issues: http://github.com/kenwheeler/slick/issues
15
-
16
- */
17
- /* global window, document, define, jQuery, setInterval, clearInterval */
18
- ;(function(factory) {
19
- 'use strict';
20
- if (typeof define === 'function' && define.amd) {
21
- define(['jquery'], factory);
22
- } else if (typeof exports !== 'undefined') {
23
- module.exports = factory(require('jquery'));
24
- } else {
25
- factory(jQuery);
26
- }
27
-
28
- }(function($) {
29
- 'use strict';
30
- var Slick = window.Slick || {};
31
-
32
- Slick = (function() {
33
-
34
- var instanceUid = 0;
35
-
36
- function Slick(element, settings) {
37
-
38
- var _ = this, dataSettings;
39
-
40
- _.defaults = {
41
- accessibility: true,
42
- adaptiveHeight: false,
43
- appendArrows: $(element),
44
- appendDots: $(element),
45
- arrows: true,
46
- asNavFor: null,
47
- prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
48
- nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
49
- autoplay: false,
50
- autoplaySpeed: 3000,
51
- centerMode: false,
52
- centerPadding: '50px',
53
- cssEase: 'ease',
54
- customPaging: function(slider, i) {
55
- return $('<button type="button" />').text(i + 1);
56
- },
57
- dots: false,
58
- dotsClass: 'slick-dots',
59
- draggable: true,
60
- easing: 'linear',
61
- edgeFriction: 0.35,
62
- fade: false,
63
- focusOnSelect: false,
64
- focusOnChange: false,
65
- infinite: true,
66
- initialSlide: 0,
67
- lazyLoad: 'ondemand',
68
- mobileFirst: false,
69
- pauseOnHover: true,
70
- pauseOnFocus: true,
71
- pauseOnDotsHover: false,
72
- respondTo: 'window',
73
- responsive: null,
74
- rows: 1,
75
- rtl: false,
76
- slide: '',
77
- slidesPerRow: 1,
78
- slidesToShow: 1,
79
- slidesToScroll: 1,
80
- speed: 500,
81
- swipe: true,
82
- swipeToSlide: false,
83
- touchMove: true,
84
- touchThreshold: 5,
85
- useCSS: true,
86
- useTransform: true,
87
- variableWidth: false,
88
- vertical: false,
89
- verticalSwiping: false,
90
- waitForAnimate: true,
91
- zIndex: 1000
92
- };
93
-
94
- _.initials = {
95
- animating: false,
96
- dragging: false,
97
- autoPlayTimer: null,
98
- currentDirection: 0,
99
- currentLeft: null,
100
- currentSlide: 0,
101
- direction: 1,
102
- $dots: null,
103
- listWidth: null,
104
- listHeight: null,
105
- loadIndex: 0,
106
- $nextArrow: null,
107
- $prevArrow: null,
108
- scrolling: false,
109
- slideCount: null,
110
- slideWidth: null,
111
- $slideTrack: null,
112
- $slides: null,
113
- sliding: false,
114
- slideOffset: 0,
115
- swipeLeft: null,
116
- swiping: false,
117
- $list: null,
118
- touchObject: {},
119
- transformsEnabled: false,
120
- unslicked: false
121
- };
122
-
123
- $.extend(_, _.initials);
124
-
125
- _.activeBreakpoint = null;
126
- _.animType = null;
127
- _.animProp = null;
128
- _.breakpoints = [];
129
- _.breakpointSettings = [];
130
- _.cssTransitions = false;
131
- _.focussed = false;
132
- _.interrupted = false;
133
- _.hidden = 'hidden';
134
- _.paused = true;
135
- _.positionProp = null;
136
- _.respondTo = null;
137
- _.rowCount = 1;
138
- _.shouldClick = true;
139
- _.$slider = $(element);
140
- _.$slidesCache = null;
141
- _.transformType = null;
142
- _.transitionType = null;
143
- _.visibilityChange = 'visibilitychange';
144
- _.windowWidth = 0;
145
- _.windowTimer = null;
146
-
147
- dataSettings = $(element).data('slick') || {};
148
-
149
- _.options = $.extend({}, _.defaults, settings, dataSettings);
150
-
151
- _.currentSlide = _.options.initialSlide;
152
-
153
- _.originalSettings = _.options;
154
-
155
- if (typeof document.mozHidden !== 'undefined') {
156
- _.hidden = 'mozHidden';
157
- _.visibilityChange = 'mozvisibilitychange';
158
- } else if (typeof document.webkitHidden !== 'undefined') {
159
- _.hidden = 'webkitHidden';
160
- _.visibilityChange = 'webkitvisibilitychange';
161
- }
162
-
163
- _.autoPlay = $.proxy(_.autoPlay, _);
164
- _.autoPlayClear = $.proxy(_.autoPlayClear, _);
165
- _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
166
- _.changeSlide = $.proxy(_.changeSlide, _);
167
- _.clickHandler = $.proxy(_.clickHandler, _);
168
- _.selectHandler = $.proxy(_.selectHandler, _);
169
- _.setPosition = $.proxy(_.setPosition, _);
170
- _.swipeHandler = $.proxy(_.swipeHandler, _);
171
- _.dragHandler = $.proxy(_.dragHandler, _);
172
- _.keyHandler = $.proxy(_.keyHandler, _);
173
-
174
- _.instanceUid = instanceUid++;
175
-
176
- // A simple way to check for HTML strings
177
- // Strict HTML recognition (must start with <)
178
- // Extracted from jQuery v1.11 source
179
- _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/;
180
-
181
-
182
- _.registerBreakpoints();
183
- _.init(true);
184
-
185
- }
186
-
187
- return Slick;
188
-
189
- }());
190
-
191
- Slick.prototype.activateADA = function() {
192
- var _ = this;
193
-
194
- _.$slideTrack.find('.slick-active').attr({
195
- 'aria-hidden': 'false'
196
- }).find('a, input, button, select').attr({
197
- 'tabindex': '0'
198
- });
199
-
200
- };
201
-
202
- Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {
203
-
204
- var _ = this;
205
-
206
- if (typeof(index) === 'boolean') {
207
- addBefore = index;
208
- index = null;
209
- } else if (index < 0 || (index >= _.slideCount)) {
210
- return false;
211
- }
212
-
213
- _.unload();
214
-
215
- if (typeof(index) === 'number') {
216
- if (index === 0 && _.$slides.length === 0) {
217
- $(markup).appendTo(_.$slideTrack);
218
- } else if (addBefore) {
219
- $(markup).insertBefore(_.$slides.eq(index));
220
- } else {
221
- $(markup).insertAfter(_.$slides.eq(index));
222
- }
223
- } else {
224
- if (addBefore === true) {
225
- $(markup).prependTo(_.$slideTrack);
226
- } else {
227
- $(markup).appendTo(_.$slideTrack);
228
- }
229
- }
230
-
231
- _.$slides = _.$slideTrack.children(this.options.slide);
232
-
233
- _.$slideTrack.children(this.options.slide).detach();
234
-
235
- _.$slideTrack.append(_.$slides);
236
-
237
- _.$slides.each(function(index, element) {
238
- $(element).attr('data-slick-index', index);
239
- });
240
-
241
- _.$slidesCache = _.$slides;
242
-
243
- _.reinit();
244
-
245
- };
246
-
247
- Slick.prototype.animateHeight = function() {
248
- var _ = this;
249
- if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
250
- var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
251
- _.$list.animate({
252
- height: targetHeight
253
- }, _.options.speed);
254
- }
255
- };
256
-
257
- Slick.prototype.animateSlide = function(targetLeft, callback) {
258
-
259
- var animProps = {},
260
- _ = this;
261
-
262
- _.animateHeight();
263
-
264
- if (_.options.rtl === true && _.options.vertical === false) {
265
- targetLeft = -targetLeft;
266
- }
267
- if (_.transformsEnabled === false) {
268
- if (_.options.vertical === false) {
269
- _.$slideTrack.animate({
270
- left: targetLeft
271
- }, _.options.speed, _.options.easing, callback);
272
- } else {
273
- _.$slideTrack.animate({
274
- top: targetLeft
275
- }, _.options.speed, _.options.easing, callback);
276
- }
277
-
278
- } else {
279
-
280
- if (_.cssTransitions === false) {
281
- if (_.options.rtl === true) {
282
- _.currentLeft = -(_.currentLeft);
283
- }
284
- $({
285
- animStart: _.currentLeft
286
- }).animate({
287
- animStart: targetLeft
288
- }, {
289
- duration: _.options.speed,
290
- easing: _.options.easing,
291
- step: function(now) {
292
- now = Math.ceil(now);
293
- if (_.options.vertical === false) {
294
- animProps[_.animType] = 'translate(' +
295
- now + 'px, 0px)';
296
- _.$slideTrack.css(animProps);
297
- } else {
298
- animProps[_.animType] = 'translate(0px,' +
299
- now + 'px)';
300
- _.$slideTrack.css(animProps);
301
- }
302
- },
303
- complete: function() {
304
- if (callback) {
305
- callback.call();
306
- }
307
- }
308
- });
309
-
310
- } else {
311
-
312
- _.applyTransition();
313
- targetLeft = Math.ceil(targetLeft);
314
-
315
- if (_.options.vertical === false) {
316
- animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';
317
- } else {
318
- animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';
319
- }
320
- _.$slideTrack.css(animProps);
321
-
322
- if (callback) {
323
- setTimeout(function() {
324
-
325
- _.disableTransition();
326
-
327
- callback.call();
328
- }, _.options.speed);
329
- }
330
-
331
- }
332
-
333
- }
334
-
335
- };
336
-
337
- Slick.prototype.getNavTarget = function() {
338
-
339
- var _ = this,
340
- asNavFor = _.options.asNavFor;
341
-
342
- if ( asNavFor && asNavFor !== null ) {
343
- asNavFor = $(asNavFor).not(_.$slider);
344
- }
345
-
346
- return asNavFor;
347
-
348
- };
349
-
350
- Slick.prototype.asNavFor = function(index) {
351
-
352
- var _ = this,
353
- asNavFor = _.getNavTarget();
354
-
355
- if ( asNavFor !== null && typeof asNavFor === 'object' ) {
356
- asNavFor.each(function() {
357
- var target = $(this).slick('getSlick');
358
- if(!target.unslicked) {
359
- target.slideHandler(index, true);
360
- }
361
- });
362
- }
363
-
364
- };
365
-
366
- Slick.prototype.applyTransition = function(slide) {
367
-
368
- var _ = this,
369
- transition = {};
370
-
371
- if (_.options.fade === false) {
372
- transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;
373
- } else {
374
- transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;
375
- }
376
-
377
- if (_.options.fade === false) {
378
- _.$slideTrack.css(transition);
379
- } else {
380
- _.$slides.eq(slide).css(transition);
381
- }
382
-
383
- };
384
-
385
- Slick.prototype.autoPlay = function() {
386
-
387
- var _ = this;
388
-
389
- _.autoPlayClear();
390
-
391
- if ( _.slideCount > _.options.slidesToShow ) {
392
- _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed );
393
- }
394
-
395
- };
396
-
397
- Slick.prototype.autoPlayClear = function() {
398
-
399
- var _ = this;
400
-
401
- if (_.autoPlayTimer) {
402
- clearInterval(_.autoPlayTimer);
403
- }
404
-
405
- };
406
-
407
- Slick.prototype.autoPlayIterator = function() {
408
-
409
- var _ = this,
410
- slideTo = _.currentSlide + _.options.slidesToScroll;
411
-
412
- if ( !_.paused && !_.interrupted && !_.focussed ) {
413
-
414
- if ( _.options.infinite === false ) {
415
-
416
- if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) {
417
- _.direction = 0;
418
- }
419
-
420
- else if ( _.direction === 0 ) {
421
-
422
- slideTo = _.currentSlide - _.options.slidesToScroll;
423
-
424
- if ( _.currentSlide - 1 === 0 ) {
425
- _.direction = 1;
426
- }
427
-
428
- }
429
-
430
- }
431
-
432
- _.slideHandler( slideTo );
433
-
434
- }
435
-
436
- };
437
-
438
- Slick.prototype.buildArrows = function() {
439
-
440
- var _ = this;
441
-
442
- if (_.options.arrows === true ) {
443
-
444
- _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');
445
- _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');
446
-
447
- if( _.slideCount > _.options.slidesToShow ) {
448
-
449
- _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
450
- _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
451
-
452
- if (_.htmlExpr.test(_.options.prevArrow)) {
453
- _.$prevArrow.prependTo(_.options.appendArrows);
454
- }
455
-
456
- if (_.htmlExpr.test(_.options.nextArrow)) {
457
- _.$nextArrow.appendTo(_.options.appendArrows);
458
- }
459
-
460
- if (_.options.infinite !== true) {
461
- _.$prevArrow
462
- .addClass('slick-disabled')
463
- .attr('aria-disabled', 'true');
464
- }
465
-
466
- } else {
467
-
468
- _.$prevArrow.add( _.$nextArrow )
469
-
470
- .addClass('slick-hidden')
471
- .attr({
472
- 'aria-disabled': 'true',
473
- 'tabindex': '-1'
474
- });
475
-
476
- }
477
-
478
- }
479
-
480
- };
481
-
482
- Slick.prototype.buildDots = function() {
483
-
484
- var _ = this,
485
- i, dot;
486
-
487
- if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
488
-
489
- _.$slider.addClass('slick-dotted');
490
-
491
- dot = $('<ul />').addClass(_.options.dotsClass);
492
-
493
- for (i = 0; i <= _.getDotCount(); i += 1) {
494
- dot.append($('<li />').append(_.options.customPaging.call(this, _, i)));
495
- }
496
-
497
- _.$dots = dot.appendTo(_.options.appendDots);
498
-
499
- _.$dots.find('li').first().addClass('slick-active');
500
-
501
- }
502
-
503
- };
504
-
505
- Slick.prototype.buildOut = function() {
506
-
507
- var _ = this;
508
-
509
- _.$slides =
510
- _.$slider
511
- .children( _.options.slide + ':not(.slick-cloned)')
512
- .addClass('slick-slide');
513
-
514
- _.slideCount = _.$slides.length;
515
-
516
- _.$slides.each(function(index, element) {
517
- $(element)
518
- .attr('data-slick-index', index)
519
- .data('originalStyling', $(element).attr('style') || '');
520
- });
521
-
522
- _.$slider.addClass('slick-slider');
523
-
524
- _.$slideTrack = (_.slideCount === 0) ?
525
- $('<div class="slick-track"/>').appendTo(_.$slider) :
526
- _.$slides.wrapAll('<div class="slick-track"/>').parent();
527
-
528
- _.$list = _.$slideTrack.wrap(
529
- '<div class="slick-list"/>').parent();
530
- _.$slideTrack.css('opacity', 0);
531
-
532
- if (_.options.centerMode === true || _.options.swipeToSlide === true) {
533
- _.options.slidesToScroll = 1;
534
- }
535
-
536
- $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');
537
-
538
- _.setupInfinite();
539
-
540
- _.buildArrows();
541
-
542
- _.buildDots();
543
-
544
- _.updateDots();
545
-
546
-
547
- _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
548
-
549
- if (_.options.draggable === true) {
550
- _.$list.addClass('draggable');
551
- }
552
-
553
- };
554
-
555
- Slick.prototype.buildRows = function() {
556
-
557
- var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;
558
-
559
- newSlides = document.createDocumentFragment();
560
- originalSlides = _.$slider.children();
561
-
562
- if(_.options.rows > 0) {
563
-
564
- slidesPerSection = _.options.slidesPerRow * _.options.rows;
565
- numOfSlides = Math.ceil(
566
- originalSlides.length / slidesPerSection
567
- );
568
-
569
- for(a = 0; a < numOfSlides; a++){
570
- var slide = document.createElement('div');
571
- for(b = 0; b < _.options.rows; b++) {
572
- var row = document.createElement('div');
573
- for(c = 0; c < _.options.slidesPerRow; c++) {
574
- var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));
575
- if (originalSlides.get(target)) {
576
- row.appendChild(originalSlides.get(target));
577
- }
578
- }
579
- slide.appendChild(row);
580
- }
581
- newSlides.appendChild(slide);
582
- }
583
-
584
- _.$slider.empty().append(newSlides);
585
- _.$slider.children().children().children()
586
- .css({
587
- 'width':(100 / _.options.slidesPerRow) + '%',
588
- 'display': 'inline-block'
589
- });
590
-
591
- }
592
-
593
- };
594
-
595
- Slick.prototype.checkResponsive = function(initial, forceUpdate) {
596
-
597
- var _ = this,
598
- breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;
599
- var sliderWidth = _.$slider.width();
600
- var windowWidth = window.innerWidth || $(window).width();
601
-
602
- if (_.respondTo === 'window') {
603
- respondToWidth = windowWidth;
604
- } else if (_.respondTo === 'slider') {
605
- respondToWidth = sliderWidth;
606
- } else if (_.respondTo === 'min') {
607
- respondToWidth = Math.min(windowWidth, sliderWidth);
608
- }
609
-
610
- if ( _.options.responsive &&
611
- _.options.responsive.length &&
612
- _.options.responsive !== null) {
613
-
614
- targetBreakpoint = null;
615
-
616
- for (breakpoint in _.breakpoints) {
617
- if (_.breakpoints.hasOwnProperty(breakpoint)) {
618
- if (_.originalSettings.mobileFirst === false) {
619
- if (respondToWidth < _.breakpoints[breakpoint]) {
620
- targetBreakpoint = _.breakpoints[breakpoint];
621
- }
622
- } else {
623
- if (respondToWidth > _.breakpoints[breakpoint]) {
624
- targetBreakpoint = _.breakpoints[breakpoint];
625
- }
626
- }
627
- }
628
- }
629
-
630
- if (targetBreakpoint !== null) {
631
- if (_.activeBreakpoint !== null) {
632
- if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {
633
- _.activeBreakpoint =
634
- targetBreakpoint;
635
- if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
636
- _.unslick(targetBreakpoint);
637
- } else {
638
- _.options = $.extend({}, _.originalSettings,
639
- _.breakpointSettings[
640
- targetBreakpoint]);
641
- if (initial === true) {
642
- _.currentSlide = _.options.initialSlide;
643
- }
644
- _.refresh(initial);
645
- }
646
- triggerBreakpoint = targetBreakpoint;
647
- }
648
- } else {
649
- _.activeBreakpoint = targetBreakpoint;
650
- if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
651
- _.unslick(targetBreakpoint);
652
- } else {
653
- _.options = $.extend({}, _.originalSettings,
654
- _.breakpointSettings[
655
- targetBreakpoint]);
656
- if (initial === true) {
657
- _.currentSlide = _.options.initialSlide;
658
- }
659
- _.refresh(initial);
660
- }
661
- triggerBreakpoint = targetBreakpoint;
662
- }
663
- } else {
664
- if (_.activeBreakpoint !== null) {
665
- _.activeBreakpoint = null;
666
- _.options = _.originalSettings;
667
- if (initial === true) {
668
- _.currentSlide = _.options.initialSlide;
669
- }
670
- _.refresh(initial);
671
- triggerBreakpoint = targetBreakpoint;
672
- }
673
- }
674
-
675
- // only trigger breakpoints during an actual break. not on initialize.
676
- if( !initial && triggerBreakpoint !== false ) {
677
- _.$slider.trigger('breakpoint', [_, triggerBreakpoint]);
678
- }
679
- }
680
-
681
- };
682
-
683
- Slick.prototype.changeSlide = function(event, dontAnimate) {
684
-
685
- var _ = this,
686
- $target = $(event.currentTarget),
687
- indexOffset, slideOffset, unevenOffset;
688
-
689
- // If target is a link, prevent default action.
690
- if($target.is('a')) {
691
- event.preventDefault();
692
- }
693
-
694
- // If target is not the <li> element (ie: a child), find the <li>.
695
- if(!$target.is('li')) {
696
- $target = $target.closest('li');
697
- }
698
-
699
- unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);
700
- indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;
701
-
702
- switch (event.data.message) {
703
-
704
- case 'previous':
705
- slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
706
- if (_.slideCount > _.options.slidesToShow) {
707
- _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
708
- }
709
- break;
710
-
711
- case 'next':
712
- slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
713
- if (_.slideCount > _.options.slidesToShow) {
714
- _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
715
- }
716
- break;
717
-
718
- case 'index':
719
- var index = event.data.index === 0 ? 0 :
720
- event.data.index || $target.index() * _.options.slidesToScroll;
721
-
722
- _.slideHandler(_.checkNavigable(index), false, dontAnimate);
723
- $target.children().trigger('focus');
724
- break;
725
-
726
- default:
727
- return;
728
- }
729
-
730
- };
731
-
732
- Slick.prototype.checkNavigable = function(index) {
733
-
734
- var _ = this,
735
- navigables, prevNavigable;
736
-
737
- navigables = _.getNavigableIndexes();
738
- prevNavigable = 0;
739
- if (index > navigables[navigables.length - 1]) {
740
- index = navigables[navigables.length - 1];
741
- } else {
742
- for (var n in navigables) {
743
- if (index < navigables[n]) {
744
- index = prevNavigable;
745
- break;
746
- }
747
- prevNavigable = navigables[n];
748
- }
749
- }
750
-
751
- return index;
752
- };
753
-
754
- Slick.prototype.cleanUpEvents = function() {
755
-
756
- var _ = this;
757
-
758
- if (_.options.dots && _.$dots !== null) {
759
-
760
- $('li', _.$dots)
761
- .off('click.slick', _.changeSlide)
762
- .off('mouseenter.slick', $.proxy(_.interrupt, _, true))
763
- .off('mouseleave.slick', $.proxy(_.interrupt, _, false));
764
-
765
- if (_.options.accessibility === true) {
766
- _.$dots.off('keydown.slick', _.keyHandler);
767
- }
768
- }
769
-
770
- _.$slider.off('focus.slick blur.slick');
771
-
772
- if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
773
- _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);
774
- _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);
775
-
776
- if (_.options.accessibility === true) {
777
- _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler);
778
- _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler);
779
- }
780
- }
781
-
782
- _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);
783
- _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);
784
- _.$list.off('touchend.slick mouseup.slick', _.swipeHandler);
785
- _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);
786
-
787
- _.$list.off('click.slick', _.clickHandler);
788
-
789
- $(document).off(_.visibilityChange, _.visibility);
790
-
791
- _.cleanUpSlideEvents();
792
-
793
- if (_.options.accessibility === true) {
794
- _.$list.off('keydown.slick', _.keyHandler);
795
- }
796
-
797
- if (_.options.focusOnSelect === true) {
798
- $(_.$slideTrack).children().off('click.slick', _.selectHandler);
799
- }
800
-
801
- $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);
802
-
803
- $(window).off('resize.slick.slick-' + _.instanceUid, _.resize);
804
-
805
- $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);
806
-
807
- $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);
808
-
809
- };
810
-
811
- Slick.prototype.cleanUpSlideEvents = function() {
812
-
813
- var _ = this;
814
-
815
- _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true));
816
- _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false));
817
-
818
- };
819
-
820
- Slick.prototype.cleanUpRows = function() {
821
-
822
- var _ = this, originalSlides;
823
-
824
- if(_.options.rows > 0) {
825
- originalSlides = _.$slides.children().children();
826
- // originalSlides.removeAttr('style'); // ShapedPlugin (was removing inline style in mobile view.)
827
- _.$slider.empty().append(originalSlides);
828
- }
829
-
830
- };
831
-
832
- Slick.prototype.clickHandler = function(event) {
833
-
834
- var _ = this;
835
-
836
- if (_.shouldClick === false) {
837
- event.stopImmediatePropagation();
838
- event.stopPropagation();
839
- event.preventDefault();
840
- }
841
-
842
- };
843
-
844
- Slick.prototype.destroy = function(refresh) {
845
-
846
- var _ = this;
847
-
848
- _.autoPlayClear();
849
-
850
- _.touchObject = {};
851
-
852
- _.cleanUpEvents();
853
-
854
- $('.slick-cloned', _.$slider).detach();
855
-
856
- if (_.$dots) {
857
- _.$dots.remove();
858
- }
859
-
860
- if ( _.$prevArrow && _.$prevArrow.length ) {
861
-
862
- _.$prevArrow
863
- .removeClass('slick-disabled slick-arrow slick-hidden')
864
- .removeAttr('aria-hidden aria-disabled tabindex')
865
- .css('display','');
866
-
867
- if ( _.htmlExpr.test( _.options.prevArrow )) {
868
- _.$prevArrow.remove();
869
- }
870
- }
871
-
872
- if ( _.$nextArrow && _.$nextArrow.length ) {
873
-
874
- _.$nextArrow
875
- .removeClass('slick-disabled slick-arrow slick-hidden')
876
- .removeAttr('aria-hidden aria-disabled tabindex')
877
- .css('display','');
878
-
879
- if ( _.htmlExpr.test( _.options.nextArrow )) {
880
- _.$nextArrow.remove();
881
- }
882
- }
883
-
884
-
885
- if (_.$slides) {
886
-
887
- _.$slides
888
- .removeClass('slick-slide slick-active slick-center slick-visible slick-current')
889
- .removeAttr('aria-hidden')
890
- .removeAttr('data-slick-index')
891
- .each(function(){
892
- $(this).attr('style', $(this).data('originalStyling'));
893
- });
894
-
895
- _.$slideTrack.children(this.options.slide).detach();
896
-
897
- _.$slideTrack.detach();
898
-
899
- _.$list.detach();
900
-
901
- _.$slider.append(_.$slides);
902
- }
903
-
904
- _.cleanUpRows();
905
-
906
- _.$slider.removeClass('slick-slider');
907
- _.$slider.removeClass('slick-initialized');
908
- _.$slider.removeClass('slick-dotted');
909
-
910
- _.unslicked = true;
911
-
912
- if(!refresh) {
913
- _.$slider.trigger('destroy', [_]);
914
- }
915
-
916
- };
917
-
918
- Slick.prototype.disableTransition = function(slide) {
919
-
920
- var _ = this,
921
- transition = {};
922
-
923
- transition[_.transitionType] = '';
924
-
925
- if (_.options.fade === false) {
926
- _.$slideTrack.css(transition);
927
- } else {
928
- _.$slides.eq(slide).css(transition);
929
- }
930
-
931
- };
932
-
933
- Slick.prototype.fadeSlide = function(slideIndex, callback) {
934
-
935
- var _ = this;
936
-
937
- if (_.cssTransitions === false) {
938
-
939
- _.$slides.eq(slideIndex).css({
940
- zIndex: _.options.zIndex
941
- });
942
-
943
- _.$slides.eq(slideIndex).animate({
944
- opacity: 1
945
- }, _.options.speed, _.options.easing, callback);
946
-
947
- } else {
948
-
949
- _.applyTransition(slideIndex);
950
-
951
- _.$slides.eq(slideIndex).css({
952
- opacity: 1,
953
- zIndex: _.options.zIndex
954
- });
955
-
956
- if (callback) {
957
- setTimeout(function() {
958
-
959
- _.disableTransition(slideIndex);
960
-
961
- callback.call();
962
- }, _.options.speed);
963
- }
964
-
965
- }
966
-
967
- };
968
-
969
- Slick.prototype.fadeSlideOut = function(slideIndex) {
970
-
971
- var _ = this;
972
-
973
- if (_.cssTransitions === false) {
974
-
975
- _.$slides.eq(slideIndex).animate({
976
- opacity: 0,
977
- zIndex: _.options.zIndex - 2
978
- }, _.options.speed, _.options.easing);
979
-
980
- } else {
981
-
982
- _.applyTransition(slideIndex);
983
-
984
- _.$slides.eq(slideIndex).css({
985
- opacity: 0,
986
- zIndex: _.options.zIndex - 2
987
- });
988
-
989
- }
990
-
991
- };
992
-
993
- Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {
994
-
995
- var _ = this;
996
-
997
- if (filter !== null) {
998
-
999
- _.$slidesCache = _.$slides;
1000
-
1001
- _.unload();
1002
-
1003
- _.$slideTrack.children(this.options.slide).detach();
1004
-
1005
- _.$slidesCache.filter(filter).appendTo(_.$slideTrack);
1006
-
1007
- _.reinit();
1008
-
1009
- }
1010
-
1011
- };
1012
-
1013
- Slick.prototype.focusHandler = function() {
1014
-
1015
- var _ = this;
1016
-
1017
- // If any child element receives focus within the slider we need to pause the autoplay
1018
- _.$slider
1019
- .off('focus.slick blur.slick')
1020
- .on(
1021
- 'focus.slick',
1022
- '*',
1023
- function(event) {
1024
- var $sf = $(this);
1025
-
1026
- setTimeout(function() {
1027
- if( _.options.pauseOnFocus ) {
1028
- if ($sf.is(':focus')) {
1029
- _.focussed = true;
1030
- _.autoPlay();
1031
- }
1032
- }
1033
- }, 0);
1034
- }
1035
- ).on(
1036
- 'blur.slick',
1037
- '*',
1038
- function(event) {
1039
- var $sf = $(this);
1040
-
1041
- // When a blur occurs on any elements within the slider we become unfocused
1042
- if( _.options.pauseOnFocus ) {
1043
- _.focussed = false;
1044
- _.autoPlay();
1045
- }
1046
- }
1047
- );
1048
- };
1049
-
1050
- Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {
1051
-
1052
- var _ = this;
1053
- return _.currentSlide;
1054
-
1055
- };
1056
-
1057
- Slick.prototype.getDotCount = function() {
1058
-
1059
- var _ = this;
1060
-
1061
- var breakPoint = 0;
1062
- var counter = 0;
1063
- var pagerQty = 0;
1064
-
1065
- if (_.options.infinite === true) {
1066
- if (_.slideCount <= _.options.slidesToShow) {
1067
- ++pagerQty;
1068
- } else {
1069
- while (breakPoint < _.slideCount) {
1070
- ++pagerQty;
1071
- breakPoint = counter + _.options.slidesToScroll;
1072
- counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1073
- }
1074
- }
1075
- } else if (_.options.centerMode === true) {
1076
- pagerQty = _.slideCount;
1077
- } else if(!_.options.asNavFor) {
1078
- pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll);
1079
- }else {
1080
- while (breakPoint < _.slideCount) {
1081
- ++pagerQty;
1082
- breakPoint = counter + _.options.slidesToScroll;
1083
- counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1084
- }
1085
- }
1086
-
1087
- return pagerQty - 1;
1088
-
1089
- };
1090
-
1091
- Slick.prototype.getLeft = function(slideIndex) {
1092
-
1093
- var _ = this,
1094
- targetLeft,
1095
- verticalHeight,
1096
- verticalOffset = 0,
1097
- targetSlide,
1098
- coef;
1099
-
1100
- _.slideOffset = 0;
1101
- verticalHeight = _.$slides.first().outerHeight(true);
1102
-
1103
- if (_.options.infinite === true) {
1104
- if (_.slideCount > _.options.slidesToShow) {
1105
- _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;
1106
- coef = -1
1107
-
1108
- if (_.options.vertical === true && _.options.centerMode === true) {
1109
- if (_.options.slidesToShow === 2) {
1110
- coef = -1.5;
1111
- } else if (_.options.slidesToShow === 1) {
1112
- coef = -2
1113
- }
1114
- }
1115
- verticalOffset = (verticalHeight * _.options.slidesToShow) * coef;
1116
- }
1117
- if (_.slideCount % _.options.slidesToScroll !== 0) {
1118
- if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
1119
- if (slideIndex > _.slideCount) {
1120
- _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1;
1121
- verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
1122
- } else {
1123
- _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
1124
- verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
1125
- }
1126
- }
1127
- }
1128
- } else {
1129
- if (slideIndex + _.options.slidesToShow > _.slideCount) {
1130
- _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;
1131
- verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;
1132
- }
1133
- }
1134
-
1135
- if (_.slideCount <= _.options.slidesToShow) {
1136
- _.slideOffset = 0;
1137
- verticalOffset = 0;
1138
- }
1139
-
1140
- if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) {
1141
- _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2);
1142
- } else if (_.options.centerMode === true && _.options.infinite === true) {
1143
- _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
1144
- } else if (_.options.centerMode === true) {
1145
- _.slideOffset = 0;
1146
- _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);
1147
- }
1148
-
1149
- if (_.options.vertical === false) {
1150
- targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;
1151
- } else {
1152
- targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;
1153
- }
1154
-
1155
- if (_.options.variableWidth === true) {
1156
-
1157
- if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
1158
- targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
1159
- } else {
1160
- targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);
1161
- }
1162
-
1163
- if (_.options.rtl === true) {
1164
- if (targetSlide[0]) {
1165
- targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
1166
- } else {
1167
- targetLeft = 0;
1168
- }
1169
- } else {
1170
- targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
1171
- }
1172
-
1173
- if (_.options.centerMode === true) {
1174
- if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
1175
- targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
1176
- } else {
1177
- targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);
1178
- }
1179
-
1180
- if (_.options.rtl === true) {
1181
- if (targetSlide[0]) {
1182
- targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
1183
- } else {
1184
- targetLeft = 0;
1185
- }
1186
- } else {
1187
- targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
1188
- }
1189
-
1190
- targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;
1191
- }
1192
- }
1193
-
1194
- return targetLeft;
1195
-
1196
- };
1197
-
1198
- Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {
1199
-
1200
- var _ = this;
1201
-
1202
- return _.options[option];
1203
-
1204
- };
1205
-
1206
- Slick.prototype.getNavigableIndexes = function() {
1207
-
1208
- var _ = this,
1209
- breakPoint = 0,
1210
- counter = 0,
1211
- indexes = [],
1212
- max;
1213
-
1214
- if (_.options.infinite === false) {
1215
- max = _.slideCount;
1216
- } else {
1217
- breakPoint = _.options.slidesToScroll * -1;
1218
- counter = _.options.slidesToScroll * -1;
1219
- max = _.slideCount * 2;
1220
- }
1221
-
1222
- while (breakPoint < max) {
1223
- indexes.push(breakPoint);
1224
- breakPoint = counter + _.options.slidesToScroll;
1225
- counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1226
- }
1227
-
1228
- return indexes;
1229
-
1230
- };
1231
-
1232
- Slick.prototype.getSlick = function() {
1233
-
1234
- return this;
1235
-
1236
- };
1237
-
1238
- Slick.prototype.getSlideCount = function() {
1239
-
1240
- var _ = this,
1241
- slidesTraversed, swipedSlide, swipeTarget, centerOffset;
1242
-
1243
- centerOffset = _.options.centerMode === true ? Math.floor(_.$list.width() / 2) : 0;
1244
- swipeTarget = (_.swipeLeft * -1) + centerOffset;
1245
-
1246
- if (_.options.swipeToSlide === true) {
1247
-
1248
- _.$slideTrack.find('.slick-slide').each(function(index, slide) {
1249
-
1250
- var slideOuterWidth, slideOffset, slideRightBoundary;
1251
- slideOuterWidth = $(slide).outerWidth();
1252
- slideOffset = slide.offsetLeft;
1253
- if (_.options.centerMode !== true) {
1254
- slideOffset += (slideOuterWidth / 2);
1255
- }
1256
-
1257
- slideRightBoundary = slideOffset + (slideOuterWidth);
1258
-
1259
- if (swipeTarget < slideRightBoundary) {
1260
- swipedSlide = slide;
1261
- return false;
1262
- }
1263
- });
1264
-
1265
- slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;
1266
-
1267
- return slidesTraversed;
1268
-
1269
- } else {
1270
- return _.options.slidesToScroll;
1271
- }
1272
-
1273
- };
1274
-
1275
- Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {
1276
-
1277
- var _ = this;
1278
-
1279
- _.changeSlide({
1280
- data: {
1281
- message: 'index',
1282
- index: parseInt(slide)
1283
- }
1284
- }, dontAnimate);
1285
-
1286
- };
1287
-
1288
- Slick.prototype.init = function(creation) {
1289
-
1290
- var _ = this;
1291
-
1292
- if (!$(_.$slider).hasClass('slick-initialized')) {
1293
-
1294
- $(_.$slider).addClass('slick-initialized');
1295
-
1296
- _.buildRows();
1297
- _.buildOut();
1298
- _.setProps();
1299
- _.startLoad();
1300
- _.loadSlider();
1301
- _.initializeEvents();
1302
- _.updateArrows();
1303
- _.updateDots();
1304
- _.checkResponsive(true);
1305
- _.focusHandler();
1306
-
1307
- }
1308
-
1309
- if (creation) {
1310
- _.$slider.trigger('init', [_]);
1311
- }
1312
-
1313
- if (_.options.accessibility === true) {
1314
- _.initADA();
1315
- }
1316
-
1317
- if ( _.options.autoplay ) {
1318
-
1319
- _.paused = false;
1320
- _.autoPlay();
1321
-
1322
- }
1323
-
1324
- };
1325
-
1326
- Slick.prototype.initADA = function() {
1327
- var _ = this,
1328
- numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow),
1329
- tabControlIndexes = _.getNavigableIndexes().filter(function(val) {
1330
- return (val >= 0) && (val < _.slideCount);
1331
- });
1332
-
1333
- _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
1334
- 'aria-hidden': 'true',
1335
- 'tabindex': '-1'
1336
- }).find('a, input, button, select').attr({
1337
- 'tabindex': '-1'
1338
- });
1339
-
1340
- if (_.$dots !== null) {
1341
- _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
1342
- var slideControlIndex = tabControlIndexes.indexOf(i);
1343
-
1344
- $(this).attr({
1345
- 'role': 'tabpanel',
1346
- 'id': 'slick-slide' + _.instanceUid + i,
1347
- 'tabindex': -1
1348
- });
1349
-
1350
- if (slideControlIndex !== -1) {
1351
- var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex
1352
- if ($('#' + ariaButtonControl).length) {
1353
- $(this).attr({
1354
- 'aria-describedby': ariaButtonControl
1355
- });
1356
- }
1357
- }
1358
- });
1359
-
1360
- _.$dots.attr('role', 'tablist').find('li').each(function(i) {
1361
- var mappedSlideIndex = tabControlIndexes[i];
1362
-
1363
- $(this).attr({
1364
- 'role': 'presentation'
1365
- });
1366
-
1367
- $(this).find('button').first().attr({
1368
- 'role': 'tab',
1369
- 'id': 'slick-slide-control' + _.instanceUid + i,
1370
- 'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex,
1371
- 'aria-label': (i + 1) + ' of ' + numDotGroups,
1372
- 'aria-selected': null,
1373
- 'tabindex': '-1'
1374
- });
1375
-
1376
- }).eq(_.currentSlide).find('button').attr({
1377
- 'aria-selected': 'true',
1378
- 'tabindex': '0'
1379
- }).end();
1380
- }
1381
-
1382
- for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) {
1383
- if (_.options.focusOnChange) {
1384
- _.$slides.eq(i).attr({'tabindex': '0'});
1385
- } else {
1386
- _.$slides.eq(i).removeAttr('tabindex');
1387
- }
1388
- }
1389
-
1390
- _.activateADA();
1391
-
1392
- };
1393
-
1394
- Slick.prototype.initArrowEvents = function() {
1395
-
1396
- var _ = this;
1397
-
1398
- if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
1399
- _.$prevArrow
1400
- .off('click.slick')
1401
- .on('click.slick', {
1402
- message: 'previous'
1403
- }, _.changeSlide);
1404
- _.$nextArrow
1405
- .off('click.slick')
1406
- .on('click.slick', {
1407
- message: 'next'
1408
- }, _.changeSlide);
1409
-
1410
- if (_.options.accessibility === true) {
1411
- _.$prevArrow.on('keydown.slick', _.keyHandler);
1412
- _.$nextArrow.on('keydown.slick', _.keyHandler);
1413
- }
1414
- }
1415
-
1416
- };
1417
-
1418
- Slick.prototype.initDotEvents = function() {
1419
-
1420
- var _ = this;
1421
-
1422
- if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
1423
- $('li', _.$dots).on('click.slick', {
1424
- message: 'index'
1425
- }, _.changeSlide);
1426
-
1427
- if (_.options.accessibility === true) {
1428
- _.$dots.on('keydown.slick', _.keyHandler);
1429
- }
1430
- }
1431
-
1432
- if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.slideCount > _.options.slidesToShow) {
1433
-
1434
- $('li', _.$dots)
1435
- .on('mouseenter.slick', $.proxy(_.interrupt, _, true))
1436
- .on('mouseleave.slick', $.proxy(_.interrupt, _, false));
1437
-
1438
- }
1439
-
1440
- };
1441
-
1442
- Slick.prototype.initSlideEvents = function() {
1443
-
1444
- var _ = this;
1445
-
1446
- if ( _.options.pauseOnHover ) {
1447
-
1448
- _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true));
1449
- _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false));
1450
-
1451
- }
1452
-
1453
- };
1454
-
1455
- Slick.prototype.initializeEvents = function() {
1456
-
1457
- var _ = this;
1458
-
1459
- _.initArrowEvents();
1460
-
1461
- _.initDotEvents();
1462
- _.initSlideEvents();
1463
-
1464
- _.$list.on('touchstart.slick mousedown.slick', {
1465
- action: 'start'
1466
- }, _.swipeHandler);
1467
- _.$list.on('touchmove.slick mousemove.slick', {
1468
- action: 'move'
1469
- }, _.swipeHandler);
1470
- _.$list.on('touchend.slick mouseup.slick', {
1471
- action: 'end'
1472
- }, _.swipeHandler);
1473
- _.$list.on('touchcancel.slick mouseleave.slick', {
1474
- action: 'end'
1475
- }, _.swipeHandler);
1476
-
1477
- _.$list.on('click.slick', _.clickHandler);
1478
-
1479
- $(document).on(_.visibilityChange, $.proxy(_.visibility, _));
1480
-
1481
- if (_.options.accessibility === true) {
1482
- _.$list.on('keydown.slick', _.keyHandler);
1483
- }
1484
-
1485
- if (_.options.focusOnSelect === true) {
1486
- $(_.$slideTrack).children().on('click.slick', _.selectHandler);
1487
- }
1488
-
1489
- $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));
1490
-
1491
- $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));
1492
-
1493
- $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);
1494
-
1495
- $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
1496
- $(_.setPosition);
1497
-
1498
- };
1499
-
1500
- Slick.prototype.initUI = function() {
1501
-
1502
- var _ = this;
1503
-
1504
- if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
1505
-
1506
- _.$prevArrow.show();
1507
- _.$nextArrow.show();
1508
-
1509
- }
1510
-
1511
- if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
1512
-
1513
- _.$dots.show();
1514
-
1515
- }
1516
-
1517
- };
1518
-
1519
- Slick.prototype.keyHandler = function(event) {
1520
-
1521
- var _ = this;
1522
- //Dont slide if the cursor is inside the form fields and arrow keys are pressed
1523
- if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {
1524
- if (event.keyCode === 37 && _.options.accessibility === true) {
1525
- _.changeSlide({
1526
- data: {
1527
- message: _.options.rtl === true ? 'next' : 'previous'
1528
- }
1529
- });
1530
- } else if (event.keyCode === 39 && _.options.accessibility === true) {
1531
- _.changeSlide({
1532
- data: {
1533
- message: _.options.rtl === true ? 'previous' : 'next'
1534
- }
1535
- });
1536
- }
1537
- }
1538
-
1539
- };
1540
-
1541
- Slick.prototype.lazyLoad = function() {
1542
-
1543
- var _ = this,
1544
- loadRange, cloneRange, rangeStart, rangeEnd;
1545
-
1546
- function loadImages(imagesScope) {
1547
-
1548
- $('img[data-lazy]', imagesScope).each(function() {
1549
-
1550
- var image = $(this),
1551
- imageSource = $(this).attr('data-lazy'),
1552
- imageSrcSet = $(this).attr('data-srcset'),
1553
- imageSizes = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'),
1554
- imageToLoad = document.createElement('img');
1555
-
1556
- imageToLoad.onload = function() {
1557
-
1558
- image
1559
- .animate({ opacity: 0 }, 100, function() {
1560
-
1561
- if (imageSrcSet) {
1562
- image
1563
- .attr('srcset', imageSrcSet );
1564
-
1565
- if (imageSizes) {
1566
- image
1567
- .attr('sizes', imageSizes );
1568
- }
1569
- }
1570
-
1571
- image
1572
- .attr('src', imageSource)
1573
- .animate({ opacity: 1 }, 200, function() {
1574
- image
1575
- .removeAttr('data-lazy data-srcset data-sizes')
1576
- .removeClass('slick-loading');
1577
- });
1578
- _.$slider.trigger('lazyLoaded', [_, image, imageSource]);
1579
- });
1580
-
1581
- };
1582
-
1583
- imageToLoad.onerror = function() {
1584
-
1585
- image
1586
- .removeAttr( 'data-lazy' )
1587
- .removeClass( 'slick-loading' )
1588
- .addClass( 'slick-lazyload-error' );
1589
-
1590
- _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
1591
-
1592
- };
1593
-
1594
- imageToLoad.src = imageSource;
1595
-
1596
- });
1597
-
1598
- }
1599
-
1600
- if (_.options.centerMode === true) {
1601
- if (_.options.infinite === true) {
1602
- rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);
1603
- rangeEnd = rangeStart + _.options.slidesToShow + 2;
1604
- } else {
1605
- rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));
1606
- rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;
1607
- }
1608
- } else {
1609
- rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
1610
- rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow);
1611
- if (_.options.fade === true) {
1612
- if (rangeStart > 0) rangeStart--;
1613
- if (rangeEnd <= _.slideCount) rangeEnd++;
1614
- }
1615
- }
1616
-
1617
- loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);
1618
-
1619
- if (_.options.lazyLoad === 'anticipated') {
1620
- var prevSlide = rangeStart - 1,
1621
- nextSlide = rangeEnd,
1622
- $slides = _.$slider.find('.slick-slide');
1623
-
1624
- for (var i = 0; i < _.options.slidesToScroll; i++) {
1625
- if (prevSlide < 0) prevSlide = _.slideCount - 1;
1626
- loadRange = loadRange.add($slides.eq(prevSlide));
1627
- loadRange = loadRange.add($slides.eq(nextSlide));
1628
- prevSlide--;
1629
- nextSlide++;
1630
- }
1631
- }
1632
-
1633
- loadImages(loadRange);
1634
-
1635
- if (_.slideCount <= _.options.slidesToShow) {
1636
- cloneRange = _.$slider.find('.slick-slide');
1637
- loadImages(cloneRange);
1638
- } else
1639
- if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
1640
- cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
1641
- loadImages(cloneRange);
1642
- } else if (_.currentSlide === 0) {
1643
- cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
1644
- loadImages(cloneRange);
1645
- }
1646
-
1647
- };
1648
-
1649
- Slick.prototype.loadSlider = function() {
1650
-
1651
- var _ = this;
1652
-
1653
- _.setPosition();
1654
-
1655
- _.$slideTrack.css({
1656
- opacity: 1
1657
- });
1658
-
1659
- _.$slider.removeClass('slick-loading');
1660
-
1661
- _.initUI();
1662
-
1663
- if (_.options.lazyLoad === 'progressive') {
1664
- _.progressiveLazyLoad();
1665
- }
1666
-
1667
- };
1668
-
1669
- Slick.prototype.next = Slick.prototype.slickNext = function() {
1670
-
1671
- var _ = this;
1672
-
1673
- _.changeSlide({
1674
- data: {
1675
- message: 'next'
1676
- }
1677
- });
1678
-
1679
- };
1680
-
1681
- Slick.prototype.orientationChange = function() {
1682
-
1683
- var _ = this;
1684
-
1685
- _.checkResponsive();
1686
- _.setPosition();
1687
-
1688
- };
1689
-
1690
- Slick.prototype.pause = Slick.prototype.slickPause = function() {
1691
-
1692
- var _ = this;
1693
-
1694
- _.autoPlayClear();
1695
- _.paused = true;
1696
-
1697
- };
1698
-
1699
- Slick.prototype.play = Slick.prototype.slickPlay = function() {
1700
-
1701
- var _ = this;
1702
-
1703
- _.autoPlay();
1704
- _.options.autoplay = true;
1705
- _.paused = false;
1706
- _.focussed = false;
1707
- _.interrupted = false;
1708
-
1709
- };
1710
-
1711
- Slick.prototype.postSlide = function(index) {
1712
-
1713
- var _ = this;
1714
-
1715
- if( !_.unslicked ) {
1716
-
1717
- _.$slider.trigger('afterChange', [_, index]);
1718
-
1719
- _.animating = false;
1720
-
1721
- if (_.slideCount > _.options.slidesToShow) {
1722
- _.setPosition();
1723
- }
1724
-
1725
- _.swipeLeft = null;
1726
-
1727
- if ( _.options.autoplay ) {
1728
- _.autoPlay();
1729
- }
1730
-
1731
- if (_.options.accessibility === true) {
1732
- _.initADA();
1733
-
1734
- if (_.options.focusOnChange) {
1735
- var $currentSlide = $(_.$slides.get(_.currentSlide));
1736
- $currentSlide.attr('tabindex', 0).focus();
1737
- }
1738
- }
1739
-
1740
- }
1741
-
1742
- };
1743
-
1744
- Slick.prototype.prev = Slick.prototype.slickPrev = function() {
1745
-
1746
- var _ = this;
1747
-
1748
- _.changeSlide({
1749
- data: {
1750
- message: 'previous'
1751
- }
1752
- });
1753
-
1754
- };
1755
-
1756
- Slick.prototype.preventDefault = function(event) {
1757
-
1758
- event.preventDefault();
1759
-
1760
- };
1761
-
1762
- Slick.prototype.progressiveLazyLoad = function( tryCount ) {
1763
-
1764
- tryCount = tryCount || 1;
1765
-
1766
- var _ = this,
1767
- $imgsToLoad = $( 'img[data-lazy]', _.$slider ),
1768
- image,
1769
- imageSource,
1770
- imageSrcSet,
1771
- imageSizes,
1772
- imageToLoad;
1773
-
1774
- if ( $imgsToLoad.length ) {
1775
-
1776
- image = $imgsToLoad.first();
1777
- imageSource = image.attr('data-lazy');
1778
- imageSrcSet = image.attr('data-srcset');
1779
- imageSizes = image.attr('data-sizes') || _.$slider.attr('data-sizes');
1780
- imageToLoad = document.createElement('img');
1781
-
1782
- imageToLoad.onload = function() {
1783
-
1784
- if (imageSrcSet) {
1785
- image
1786
- .attr('srcset', imageSrcSet );
1787
-
1788
- if (imageSizes) {
1789
- image
1790
- .attr('sizes', imageSizes );
1791
- }
1792
- }
1793
-
1794
- image
1795
- .attr( 'src', imageSource )
1796
- .removeAttr('data-lazy data-srcset data-sizes')
1797
- .removeClass('slick-loading');
1798
-
1799
- if ( _.options.adaptiveHeight === true ) {
1800
- _.setPosition();
1801
- }
1802
-
1803
- _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]);
1804
- _.progressiveLazyLoad();
1805
-
1806
- };
1807
-
1808
- imageToLoad.onerror = function() {
1809
-
1810
- if ( tryCount < 3 ) {
1811
-
1812
- /**
1813
- * try to load the image 3 times,
1814
- * leave a slight delay so we don't get
1815
- * servers blocking the request.
1816
- */
1817
- setTimeout( function() {
1818
- _.progressiveLazyLoad( tryCount + 1 );
1819
- }, 500 );
1820
-
1821
- } else {
1822
-
1823
- image
1824
- .removeAttr( 'data-lazy' )
1825
- .removeClass( 'slick-loading' )
1826
- .addClass( 'slick-lazyload-error' );
1827
-
1828
- _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
1829
-
1830
- _.progressiveLazyLoad();
1831
-
1832
- }
1833
-
1834
- };
1835
-
1836
- imageToLoad.src = imageSource;
1837
-
1838
- } else {
1839
-
1840
- _.$slider.trigger('allImagesLoaded', [ _ ]);
1841
-
1842
- }
1843
-
1844
- };
1845
-
1846
- Slick.prototype.refresh = function( initializing ) {
1847
-
1848
- var _ = this, currentSlide, lastVisibleIndex;
1849
-
1850
- lastVisibleIndex = _.slideCount - _.options.slidesToShow;
1851
-
1852
- // in non-infinite sliders, we don't want to go past the
1853
- // last visible index.
1854
- if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) {
1855
- _.currentSlide = lastVisibleIndex;
1856
- }
1857
-
1858
- // if less slides than to show, go to start.
1859
- if ( _.slideCount <= _.options.slidesToShow ) {
1860
- _.currentSlide = 0;
1861
-
1862
- }
1863
-
1864
- currentSlide = _.currentSlide;
1865
-
1866
- _.destroy(true);
1867
-
1868
- $.extend(_, _.initials, { currentSlide: currentSlide });
1869
-
1870
- _.init();
1871
-
1872
- if( !initializing ) {
1873
-
1874
- _.changeSlide({
1875
- data: {
1876
- message: 'index',
1877
- index: currentSlide
1878
- }
1879
- }, false);
1880
-
1881
- }
1882
-
1883
- };
1884
-
1885
- Slick.prototype.registerBreakpoints = function() {
1886
-
1887
- var _ = this, breakpoint, currentBreakpoint, l,
1888
- responsiveSettings = _.options.responsive || null;
1889
-
1890
- if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) {
1891
-
1892
- _.respondTo = _.options.respondTo || 'window';
1893
-
1894
- for ( breakpoint in responsiveSettings ) {
1895
-
1896
- l = _.breakpoints.length-1;
1897
-
1898
- if (responsiveSettings.hasOwnProperty(breakpoint)) {
1899
- currentBreakpoint = responsiveSettings[breakpoint].breakpoint;
1900
-
1901
- // loop through the breakpoints and cut out any existing
1902
- // ones with the same breakpoint number, we don't want dupes.
1903
- while( l >= 0 ) {
1904
- if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) {
1905
- _.breakpoints.splice(l,1);
1906
- }
1907
- l--;
1908
- }
1909
-
1910
- _.breakpoints.push(currentBreakpoint);
1911
- _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;
1912
-
1913
- }
1914
-
1915
- }
1916
-
1917
- _.breakpoints.sort(function(a, b) {
1918
- return ( _.options.mobileFirst ) ? a-b : b-a;
1919
- });
1920
-
1921
- }
1922
-
1923
- };
1924
-
1925
- Slick.prototype.reinit = function() {
1926
-
1927
- var _ = this;
1928
-
1929
- _.$slides =
1930
- _.$slideTrack
1931
- .children(_.options.slide)
1932
- .addClass('slick-slide');
1933
-
1934
- _.slideCount = _.$slides.length;
1935
-
1936
- if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {
1937
- _.currentSlide = _.currentSlide - _.options.slidesToScroll;
1938
- }
1939
-
1940
- if (_.slideCount <= _.options.slidesToShow) {
1941
- _.currentSlide = 0;
1942
- }
1943
-
1944
- _.registerBreakpoints();
1945
-
1946
- _.setProps();
1947
- _.setupInfinite();
1948
- _.buildArrows();
1949
- _.updateArrows();
1950
- _.initArrowEvents();
1951
- _.buildDots();
1952
- _.updateDots();
1953
- _.initDotEvents();
1954
- _.cleanUpSlideEvents();
1955
- _.initSlideEvents();
1956
-
1957
- _.checkResponsive(false, true);
1958
-
1959
- if (_.options.focusOnSelect === true) {
1960
- $(_.$slideTrack).children().on('click.slick', _.selectHandler);
1961
- }
1962
-
1963
- _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
1964
-
1965
- _.setPosition();
1966
- _.focusHandler();
1967
-
1968
- _.paused = !_.options.autoplay;
1969
- _.autoPlay();
1970
-
1971
- _.$slider.trigger('reInit', [_]);
1972
-
1973
- };
1974
-
1975
- Slick.prototype.resize = function() {
1976
-
1977
- var _ = this;
1978
-
1979
- if ($(window).width() !== _.windowWidth) {
1980
- clearTimeout(_.windowDelay);
1981
- _.windowDelay = window.setTimeout(function() {
1982
- _.windowWidth = $(window).width();
1983
- _.checkResponsive();
1984
- if( !_.unslicked ) { _.setPosition(); }
1985
- }, 50);
1986
- }
1987
- };
1988
-
1989
- Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {
1990
-
1991
- var _ = this;
1992
-
1993
- if (typeof(index) === 'boolean') {
1994
- removeBefore = index;
1995
- index = removeBefore === true ? 0 : _.slideCount - 1;
1996
- } else {
1997
- index = removeBefore === true ? --index : index;
1998
- }
1999
-
2000
- if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {
2001
- return false;
2002
- }
2003
-
2004
- _.unload();
2005
-
2006
- if (removeAll === true) {
2007
- _.$slideTrack.children().remove();
2008
- } else {
2009
- _.$slideTrack.children(this.options.slide).eq(index).remove();
2010
- }
2011
-
2012
- _.$slides = _.$slideTrack.children(this.options.slide);
2013
-
2014
- _.$slideTrack.children(this.options.slide).detach();
2015
-
2016
- _.$slideTrack.append(_.$slides);
2017
-
2018
- _.$slidesCache = _.$slides;
2019
-
2020
- _.reinit();
2021
-
2022
- };
2023
-
2024
- Slick.prototype.setCSS = function(position) {
2025
-
2026
- var _ = this,
2027
- positionProps = {},
2028
- x, y;
2029
-
2030
- if (_.options.rtl === true) {
2031
- position = -position;
2032
- }
2033
- x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';
2034
- y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';
2035
-
2036
- positionProps[_.positionProp] = position;
2037
-
2038
- if (_.transformsEnabled === false) {
2039
- _.$slideTrack.css(positionProps);
2040
- } else {
2041
- positionProps = {};
2042
- if (_.cssTransitions === false) {
2043
- positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';
2044
- _.$slideTrack.css(positionProps);
2045
- } else {
2046
- positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';
2047
- _.$slideTrack.css(positionProps);
2048
- }
2049
- }
2050
-
2051
- };
2052
-
2053
- Slick.prototype.setDimensions = function() {
2054
-
2055
- var _ = this;
2056
-
2057
- if (_.options.vertical === false) {
2058
- if (_.options.centerMode === true) {
2059
- _.$list.css({
2060
- padding: ('0px ' + _.options.centerPadding)
2061
- });
2062
- }
2063
- } else {
2064
- _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);
2065
- if (_.options.centerMode === true) {
2066
- _.$list.css({
2067
- padding: (_.options.centerPadding + ' 0px')
2068
- });
2069
- }
2070
- }
2071
-
2072
- _.listWidth = _.$list.width();
2073
- _.listHeight = _.$list.height();
2074
-
2075
-
2076
- if (_.options.vertical === false && _.options.variableWidth === false) {
2077
- _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);
2078
- _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));
2079
-
2080
- } else if (_.options.variableWidth === true) {
2081
- _.$slideTrack.width(5000 * _.slideCount);
2082
- } else {
2083
- _.slideWidth = Math.ceil(_.listWidth);
2084
- _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));
2085
- }
2086
-
2087
- var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();
2088
- if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);
2089
-
2090
- };
2091
-
2092
- Slick.prototype.setFade = function() {
2093
-
2094
- var _ = this,
2095
- targetLeft;
2096
-
2097
- _.$slides.each(function(index, element) {
2098
- targetLeft = (_.slideWidth * index) * -1;
2099
- if (_.options.rtl === true) {
2100
- $(element).css({
2101
- position: 'relative',
2102
- right: targetLeft,
2103
- top: 0,
2104
- zIndex: _.options.zIndex - 2,
2105
- opacity: 0
2106
- });
2107
- } else {
2108
- $(element).css({
2109
- position: 'relative',
2110
- left: targetLeft,
2111
- top: 0,
2112
- zIndex: _.options.zIndex - 2,
2113
- opacity: 0
2114
- });
2115
- }
2116
- });
2117
-
2118
- _.$slides.eq(_.currentSlide).css({
2119
- zIndex: _.options.zIndex - 1,
2120
- opacity: 1
2121
- });
2122
-
2123
- };
2124
-
2125
- Slick.prototype.setHeight = function() {
2126
-
2127
- var _ = this;
2128
-
2129
- if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
2130
- var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
2131
- _.$list.css('height', targetHeight);
2132
- }
2133
-
2134
- };
2135
-
2136
- Slick.prototype.setOption =
2137
- Slick.prototype.slickSetOption = function() {
2138
-
2139
- /**
2140
- * accepts arguments in format of:
2141
- *
2142
- * - for changing a single option's value:
2143
- * .slick("setOption", option, value, refresh )
2144
- *
2145
- * - for changing a set of responsive options:
2146
- * .slick("setOption", 'responsive', [{}, ...], refresh )
2147
- *
2148
- * - for updating multiple values at once (not responsive)
2149
- * .slick("setOption", { 'option': value, ... }, refresh )
2150
- */
2151
-
2152
- var _ = this, l, item, option, value, refresh = false, type;
2153
-
2154
- if( $.type( arguments[0] ) === 'object' ) {
2155
-
2156
- option = arguments[0];
2157
- refresh = arguments[1];
2158
- type = 'multiple';
2159
-
2160
- } else if ( $.type( arguments[0] ) === 'string' ) {
2161
-
2162
- option = arguments[0];
2163
- value = arguments[1];
2164
- refresh = arguments[2];
2165
-
2166
- if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) {
2167
-
2168
- type = 'responsive';
2169
-
2170
- } else if ( typeof arguments[1] !== 'undefined' ) {
2171
-
2172
- type = 'single';
2173
-
2174
- }
2175
-
2176
- }
2177
-
2178
- if ( type === 'single' ) {
2179
-
2180
- _.options[option] = value;
2181
-
2182
-
2183
- } else if ( type === 'multiple' ) {
2184
-
2185
- $.each( option , function( opt, val ) {
2186
-
2187
- _.options[opt] = val;
2188
-
2189
- });
2190
-
2191
-
2192
- } else if ( type === 'responsive' ) {
2193
-
2194
- for ( item in value ) {
2195
-
2196
- if( $.type( _.options.responsive ) !== 'array' ) {
2197
-
2198
- _.options.responsive = [ value[item] ];
2199
-
2200
- } else {
2201
-
2202
- l = _.options.responsive.length-1;
2203
-
2204
- // loop through the responsive object and splice out duplicates.
2205
- while( l >= 0 ) {
2206
-
2207
- if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {
2208
-
2209
- _.options.responsive.splice(l,1);
2210
-
2211
- }
2212
-
2213
- l--;
2214
-
2215
- }
2216
-
2217
- _.options.responsive.push( value[item] );
2218
-
2219
- }
2220
-
2221
- }
2222
-
2223
- }
2224
-
2225
- if ( refresh ) {
2226
-
2227
- _.unload();
2228
- _.reinit();
2229
-
2230
- }
2231
-
2232
- };
2233
-
2234
- Slick.prototype.setPosition = function() {
2235
-
2236
- var _ = this;
2237
-
2238
- _.setDimensions();
2239
-
2240
- _.setHeight();
2241
-
2242
- if (_.options.fade === false) {
2243
- _.setCSS(_.getLeft(_.currentSlide));
2244
- } else {
2245
- _.setFade();
2246
- }
2247
-
2248
- _.$slider.trigger('setPosition', [_]);
2249
-
2250
- };
2251
-
2252
- Slick.prototype.setProps = function() {
2253
-
2254
- var _ = this,
2255
- bodyStyle = document.body.style;
2256
-
2257
- _.positionProp = _.options.vertical === true ? 'top' : 'left';
2258
-
2259
- if (_.positionProp === 'top') {
2260
- _.$slider.addClass('slick-vertical');
2261
- } else {
2262
- _.$slider.removeClass('slick-vertical');
2263
- }
2264
-
2265
- if (bodyStyle.WebkitTransition !== undefined ||
2266
- bodyStyle.MozTransition !== undefined ||
2267
- bodyStyle.msTransition !== undefined) {
2268
- if (_.options.useCSS === true) {
2269
- _.cssTransitions = true;
2270
- }
2271
- }
2272
-
2273
- if ( _.options.fade ) {
2274
- if ( typeof _.options.zIndex === 'number' ) {
2275
- if( _.options.zIndex < 3 ) {
2276
- _.options.zIndex = 3;
2277
- }
2278
- } else {
2279
- _.options.zIndex = _.defaults.zIndex;
2280
- }
2281
- }
2282
-
2283
- if (bodyStyle.OTransform !== undefined) {
2284
- _.animType = 'OTransform';
2285
- _.transformType = '-o-transform';
2286
- _.transitionType = 'OTransition';
2287
- if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
2288
- }
2289
- if (bodyStyle.MozTransform !== undefined) {
2290
- _.animType = 'MozTransform';
2291
- _.transformType = '-moz-transform';
2292
- _.transitionType = 'MozTransition';
2293
- if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;
2294
- }
2295
- if (bodyStyle.webkitTransform !== undefined) {
2296
- _.animType = 'webkitTransform';
2297
- _.transformType = '-webkit-transform';
2298
- _.transitionType = 'webkitTransition';
2299
- if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
2300
- }
2301
- if (bodyStyle.msTransform !== undefined) {
2302
- _.animType = 'msTransform';
2303
- _.transformType = '-ms-transform';
2304
- _.transitionType = 'msTransition';
2305
- if (bodyStyle.msTransform === undefined) _.animType = false;
2306
- }
2307
- if (bodyStyle.transform !== undefined && _.animType !== false) {
2308
- _.animType = 'transform';
2309
- _.transformType = 'transform';
2310
- _.transitionType = 'transition';
2311
- }
2312
- _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);
2313
- };
2314
-
2315
-
2316
- Slick.prototype.setSlideClasses = function(index) {
2317
-
2318
- var _ = this,
2319
- centerOffset, allSlides, indexOffset, remainder;
2320
-
2321
- allSlides = _.$slider
2322
- .find('.slick-slide')
2323
- .removeClass('slick-active slick-center slick-current')
2324
- .attr('aria-hidden', 'true');
2325
-
2326
- _.$slides
2327
- .eq(index)
2328
- .addClass('slick-current');
2329
-
2330
- if (_.options.centerMode === true) {
2331
-
2332
- var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0;
2333
-
2334
- centerOffset = Math.floor(_.options.slidesToShow / 2);
2335
-
2336
- if (_.options.infinite === true) {
2337
-
2338
- if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
2339
- _.$slides
2340
- .slice(index - centerOffset + evenCoef, index + centerOffset + 1)
2341
- .addClass('slick-active')
2342
- .attr('aria-hidden', 'false');
2343
-
2344
- } else {
2345
-
2346
- indexOffset = _.options.slidesToShow + index;
2347
- allSlides
2348
- .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2)
2349
- .addClass('slick-active')
2350
- .attr('aria-hidden', 'false');
2351
-
2352
- }
2353
-
2354
- if (index === 0) {
2355
-
2356
- allSlides
2357
- .eq(allSlides.length - 1 - _.options.slidesToShow)
2358
- .addClass('slick-center');
2359
-
2360
- } else if (index === _.slideCount - 1) {
2361
-
2362
- allSlides
2363
- .eq(_.options.slidesToShow)
2364
- .addClass('slick-center');
2365
-
2366
- }
2367
-
2368
- }
2369
-
2370
- _.$slides
2371
- .eq(index)
2372
- .addClass('slick-center');
2373
-
2374
- } else {
2375
-
2376
- if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {
2377
-
2378
- _.$slides
2379
- .slice(index, index + _.options.slidesToShow)
2380
- .addClass('slick-active')
2381
- .attr('aria-hidden', 'false');
2382
-
2383
- } else if (allSlides.length <= _.options.slidesToShow) {
2384
-
2385
- allSlides
2386
- .addClass('slick-active')
2387
- .attr('aria-hidden', 'false');
2388
-
2389
- } else {
2390
-
2391
- remainder = _.slideCount % _.options.slidesToShow;
2392
- indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;
2393
-
2394
- if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {
2395
-
2396
- allSlides
2397
- .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)
2398
- .addClass('slick-active')
2399
- .attr('aria-hidden', 'false');
2400
-
2401
- } else {
2402
-
2403
- allSlides
2404
- .slice(indexOffset, indexOffset + _.options.slidesToShow)
2405
- .addClass('slick-active')
2406
- .attr('aria-hidden', 'false');
2407
-
2408
- }
2409
-
2410
- }
2411
-
2412
- }
2413
-
2414
- if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') {
2415
- _.lazyLoad();
2416
- }
2417
- };
2418
-
2419
- Slick.prototype.setupInfinite = function() {
2420
-
2421
- var _ = this,
2422
- i, slideIndex, infiniteCount;
2423
-
2424
- if (_.options.fade === true) {
2425
- _.options.centerMode = false;
2426
- }
2427
-
2428
- if (_.options.infinite === true && _.options.fade === false) {
2429
-
2430
- slideIndex = null;
2431
-
2432
- if (_.slideCount > _.options.slidesToShow) {
2433
-
2434
- if (_.options.centerMode === true) {
2435
- infiniteCount = _.options.slidesToShow + 1;
2436
- } else {
2437
- infiniteCount = _.options.slidesToShow;
2438
- }
2439
-
2440
- for (i = _.slideCount; i > (_.slideCount -
2441
- infiniteCount); i -= 1) {
2442
- slideIndex = i - 1;
2443
- $(_.$slides[slideIndex]).clone(true).attr('id', '')
2444
- .attr('data-slick-index', slideIndex - _.slideCount)
2445
- .prependTo(_.$slideTrack).addClass('slick-cloned');
2446
- }
2447
- for (i = 0; i < infiniteCount + _.slideCount; i += 1) {
2448
- slideIndex = i;
2449
- $(_.$slides[slideIndex]).clone(true).attr('id', '')
2450
- .attr('data-slick-index', slideIndex + _.slideCount)
2451
- .appendTo(_.$slideTrack).addClass('slick-cloned');
2452
- }
2453
- _.$slideTrack.find('.slick-cloned').find('[id]').each(function() {
2454
- $(this).attr('id', '');
2455
- });
2456
-
2457
- }
2458
-
2459
- }
2460
-
2461
- };
2462
-
2463
- Slick.prototype.interrupt = function( toggle ) {
2464
-
2465
- var _ = this;
2466
-
2467
- if( !toggle ) {
2468
- _.autoPlay();
2469
- }
2470
- _.interrupted = toggle;
2471
-
2472
- };
2473
-
2474
- Slick.prototype.selectHandler = function(event) {
2475
-
2476
- var _ = this;
2477
-
2478
- var targetElement =
2479
- $(event.target).is('.slick-slide') ?
2480
- $(event.target) :
2481
- $(event.target).parents('.slick-slide');
2482
-
2483
- var index = parseInt(targetElement.attr('data-slick-index'));
2484
-
2485
- if (!index) index = 0;
2486
-
2487
- if (_.slideCount <= _.options.slidesToShow) {
2488
-
2489
- _.slideHandler(index, false, true);
2490
- return;
2491
-
2492
- }
2493
-
2494
- _.slideHandler(index);
2495
-
2496
- };
2497
-
2498
- Slick.prototype.slideHandler = function(index, sync, dontAnimate) {
2499
-
2500
- var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,
2501
- _ = this, navTarget;
2502
-
2503
- sync = sync || false;
2504
-
2505
- if (_.animating === true && _.options.waitForAnimate === true) {
2506
- return;
2507
- }
2508
-
2509
- if (_.options.fade === true && _.currentSlide === index) {
2510
- return;
2511
- }
2512
-
2513
- if (sync === false) {
2514
- _.asNavFor(index);
2515
- }
2516
-
2517
- targetSlide = index;
2518
- targetLeft = _.getLeft(targetSlide);
2519
- slideLeft = _.getLeft(_.currentSlide);
2520
-
2521
- _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;
2522
-
2523
- if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {
2524
- if (_.options.fade === false) {
2525
- targetSlide = _.currentSlide;
2526
- if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
2527
- _.animateSlide(slideLeft, function() {
2528
- _.postSlide(targetSlide);
2529
- });
2530
- } else {
2531
- _.postSlide(targetSlide);
2532
- }
2533
- }
2534
- return;
2535
- } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
2536
- if (_.options.fade === false) {
2537
- targetSlide = _.currentSlide;
2538
- if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
2539
- _.animateSlide(slideLeft, function() {
2540
- _.postSlide(targetSlide);
2541
- });
2542
- } else {
2543
- _.postSlide(targetSlide);
2544
- }
2545
- }
2546
- return;
2547
- }
2548
-
2549
- if ( _.options.autoplay ) {
2550
- clearInterval(_.autoPlayTimer);
2551
- }
2552
-
2553
- if (targetSlide < 0) {
2554
- if (_.slideCount % _.options.slidesToScroll !== 0) {
2555
- animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);
2556
- } else {
2557
- animSlide = _.slideCount + targetSlide;
2558
- }
2559
- } else if (targetSlide >= _.slideCount) {
2560
- if (_.slideCount % _.options.slidesToScroll !== 0) {
2561
- animSlide = 0;
2562
- } else {
2563
- animSlide = targetSlide - _.slideCount;
2564
- }
2565
- } else {
2566
- animSlide = targetSlide;
2567
- }
2568
-
2569
- _.animating = true;
2570
-
2571
- _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);
2572
-
2573
- oldSlide = _.currentSlide;
2574
- _.currentSlide = animSlide;
2575
-
2576
- _.setSlideClasses(_.currentSlide);
2577
-
2578
- if ( _.options.asNavFor ) {
2579
-
2580
- navTarget = _.getNavTarget();
2581
- navTarget = navTarget.slick('getSlick');
2582
-
2583
- if ( navTarget.slideCount <= navTarget.options.slidesToShow ) {
2584
- navTarget.setSlideClasses(_.currentSlide);
2585
- }
2586
-
2587
- }
2588
-
2589
- _.updateDots();
2590
- _.updateArrows();
2591
-
2592
- if (_.options.fade === true) {
2593
- if (dontAnimate !== true) {
2594
-
2595
- _.fadeSlideOut(oldSlide);
2596
-
2597
- _.fadeSlide(animSlide, function() {
2598
- _.postSlide(animSlide);
2599
- });
2600
-
2601
- } else {
2602
- _.postSlide(animSlide);
2603
- }
2604
- _.animateHeight();
2605
- return;
2606
- }
2607
-
2608
- if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
2609
- _.animateSlide(targetLeft, function() {
2610
- _.postSlide(animSlide);
2611
- });
2612
- } else {
2613
- _.postSlide(animSlide);
2614
- }
2615
-
2616
- };
2617
-
2618
- Slick.prototype.startLoad = function() {
2619
-
2620
- var _ = this;
2621
-
2622
- if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
2623
-
2624
- _.$prevArrow.hide();
2625
- _.$nextArrow.hide();
2626
-
2627
- }
2628
-
2629
- if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
2630
-
2631
- _.$dots.hide();
2632
-
2633
- }
2634
-
2635
- _.$slider.addClass('slick-loading');
2636
-
2637
- };
2638
-
2639
- Slick.prototype.swipeDirection = function() {
2640
-
2641
- var xDist, yDist, r, swipeAngle, _ = this;
2642
-
2643
- xDist = _.touchObject.startX - _.touchObject.curX;
2644
- yDist = _.touchObject.startY - _.touchObject.curY;
2645
- r = Math.atan2(yDist, xDist);
2646
-
2647
- swipeAngle = Math.round(r * 180 / Math.PI);
2648
- if (swipeAngle < 0) {
2649
- swipeAngle = 360 - Math.abs(swipeAngle);
2650
- }
2651
-
2652
- if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
2653
- return (_.options.rtl === false ? 'left' : 'right');
2654
- }
2655
- if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
2656
- return (_.options.rtl === false ? 'left' : 'right');
2657
- }
2658
- if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
2659
- return (_.options.rtl === false ? 'right' : 'left');
2660
- }
2661
- if (_.options.verticalSwiping === true) {
2662
- if ((swipeAngle >= 35) && (swipeAngle <= 135)) {
2663
- return 'down';
2664
- } else {
2665
- return 'up';
2666
- }
2667
- }
2668
-
2669
- return 'vertical';
2670
-
2671
- };
2672
-
2673
- Slick.prototype.swipeEnd = function(event) {
2674
-
2675
- var _ = this,
2676
- slideCount,
2677
- direction;
2678
-
2679
- _.dragging = false;
2680
- _.swiping = false;
2681
-
2682
- if (_.scrolling) {
2683
- _.scrolling = false;
2684
- return false;
2685
- }
2686
-
2687
- _.interrupted = false;
2688
- _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true;
2689
-
2690
- if ( _.touchObject.curX === undefined ) {
2691
- return false;
2692
- }
2693
-
2694
- if ( _.touchObject.edgeHit === true ) {
2695
- _.$slider.trigger('edge', [_, _.swipeDirection() ]);
2696
- }
2697
-
2698
- if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) {
2699
-
2700
- direction = _.swipeDirection();
2701
-
2702
- switch ( direction ) {
2703
-
2704
- case 'left':
2705
- case 'down':
2706
-
2707
- slideCount =
2708
- _.options.swipeToSlide ?
2709
- _.checkNavigable( _.currentSlide + _.getSlideCount() ) :
2710
- _.currentSlide + _.getSlideCount();
2711
-
2712
- _.currentDirection = 0;
2713
-
2714
- break;
2715
-
2716
- case 'right':
2717
- case 'up':
2718
-
2719
- slideCount =
2720
- _.options.swipeToSlide ?
2721
- _.checkNavigable( _.currentSlide - _.getSlideCount() ) :
2722
- _.currentSlide - _.getSlideCount();
2723
-
2724
- _.currentDirection = 1;
2725
-
2726
- break;
2727
-
2728
- default:
2729
-
2730
-
2731
- }
2732
-
2733
- if( direction != 'vertical' ) {
2734
-
2735
- _.slideHandler( slideCount );
2736
- _.touchObject = {};
2737
- _.$slider.trigger('swipe', [_, direction ]);
2738
-
2739
- }
2740
-
2741
- } else {
2742
-
2743
- if ( _.touchObject.startX !== _.touchObject.curX ) {
2744
-
2745
- _.slideHandler( _.currentSlide );
2746
- _.touchObject = {};
2747
-
2748
- }
2749
-
2750
- }
2751
-
2752
- };
2753
-
2754
- Slick.prototype.swipeHandler = function(event) {
2755
-
2756
- var _ = this;
2757
-
2758
- if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {
2759
- return;
2760
- } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {
2761
- return;
2762
- }
2763
-
2764
- _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
2765
- event.originalEvent.touches.length : 1;
2766
-
2767
- _.touchObject.minSwipe = _.listWidth / _.options
2768
- .touchThreshold;
2769
-
2770
- if (_.options.verticalSwiping === true) {
2771
- _.touchObject.minSwipe = _.listHeight / _.options
2772
- .touchThreshold;
2773
- }
2774
-
2775
- switch (event.data.action) {
2776
-
2777
- case 'start':
2778
- _.swipeStart(event);
2779
- break;
2780
-
2781
- case 'move':
2782
- _.swipeMove(event);
2783
- break;
2784
-
2785
- case 'end':
2786
- _.swipeEnd(event);
2787
- break;
2788
-
2789
- }
2790
-
2791
- };
2792
-
2793
- Slick.prototype.swipeMove = function(event) {
2794
-
2795
- var _ = this,
2796
- edgeWasHit = false,
2797
- curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength;
2798
-
2799
- touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;
2800
-
2801
- if (!_.dragging || _.scrolling || touches && touches.length !== 1) {
2802
- return false;
2803
- }
2804
-
2805
- curLeft = _.getLeft(_.currentSlide);
2806
-
2807
- _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;
2808
- _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;
2809
-
2810
- _.touchObject.swipeLength = Math.round(Math.sqrt(
2811
- Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));
2812
-
2813
- verticalSwipeLength = Math.round(Math.sqrt(
2814
- Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));
2815
-
2816
- if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) {
2817
- _.scrolling = true;
2818
- return false;
2819
- }
2820
-
2821
- if (_.options.verticalSwiping === true) {
2822
- _.touchObject.swipeLength = verticalSwipeLength;
2823
- }
2824
-
2825
- swipeDirection = _.swipeDirection();
2826
-
2827
- if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {
2828
- _.swiping = true;
2829
- event.preventDefault();
2830
- }
2831
-
2832
- positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);
2833
- if (_.options.verticalSwiping === true) {
2834
- positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;
2835
- }
2836
-
2837
-
2838
- swipeLength = _.touchObject.swipeLength;
2839
-
2840
- _.touchObject.edgeHit = false;
2841
-
2842
- if (_.options.infinite === false) {
2843
- if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {
2844
- swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;
2845
- _.touchObject.edgeHit = true;
2846
- }
2847
- }
2848
-
2849
- if (_.options.vertical === false) {
2850
- _.swipeLeft = curLeft + swipeLength * positionOffset;
2851
- } else {
2852
- _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;
2853
- }
2854
- if (_.options.verticalSwiping === true) {
2855
- _.swipeLeft = curLeft + swipeLength * positionOffset;
2856
- }
2857
-
2858
- if (_.options.fade === true || _.options.touchMove === false) {
2859
- return false;
2860
- }
2861
-
2862
- if (_.animating === true) {
2863
- _.swipeLeft = null;
2864
- return false;
2865
- }
2866
-
2867
- _.setCSS(_.swipeLeft);
2868
-
2869
- };
2870
-
2871
- Slick.prototype.swipeStart = function(event) {
2872
-
2873
- var _ = this,
2874
- touches;
2875
-
2876
- _.interrupted = true;
2877
-
2878
- if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
2879
- _.touchObject = {};
2880
- return false;
2881
- }
2882
-
2883
- if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {
2884
- touches = event.originalEvent.touches[0];
2885
- }
2886
-
2887
- _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
2888
- _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;
2889
-
2890
- _.dragging = true;
2891
-
2892
- };
2893
-
2894
- Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {
2895
-
2896
- var _ = this;
2897
-
2898
- if (_.$slidesCache !== null) {
2899
-
2900
- _.unload();
2901
-
2902
- _.$slideTrack.children(this.options.slide).detach();
2903
-
2904
- _.$slidesCache.appendTo(_.$slideTrack);
2905
-
2906
- _.reinit();
2907
-
2908
- }
2909
-
2910
- };
2911
-
2912
- Slick.prototype.unload = function() {
2913
-
2914
- var _ = this;
2915
-
2916
- $('.slick-cloned', _.$slider).remove();
2917
-
2918
- if (_.$dots) {
2919
- _.$dots.remove();
2920
- }
2921
-
2922
- if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {
2923
- _.$prevArrow.remove();
2924
- }
2925
-
2926
- if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {
2927
- _.$nextArrow.remove();
2928
- }
2929
-
2930
- _.$slides
2931
- .removeClass('slick-slide slick-active slick-visible slick-current')
2932
- .attr('aria-hidden', 'true')
2933
- .css('width', '');
2934
-
2935
- };
2936
-
2937
- Slick.prototype.unslick = function(fromBreakpoint) {
2938
-
2939
- var _ = this;
2940
- _.$slider.trigger('unslick', [_, fromBreakpoint]);
2941
- _.destroy();
2942
-
2943
- };
2944
-
2945
- Slick.prototype.updateArrows = function() {
2946
-
2947
- var _ = this,
2948
- centerOffset;
2949
-
2950
- centerOffset = Math.floor(_.options.slidesToShow / 2);
2951
-
2952
- if ( _.options.arrows === true &&
2953
- _.slideCount > _.options.slidesToShow &&
2954
- !_.options.infinite ) {
2955
-
2956
- _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2957
- _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2958
-
2959
- if (_.currentSlide === 0) {
2960
-
2961
- _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2962
- _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2963
-
2964
- } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {
2965
-
2966
- _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2967
- _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2968
-
2969
- } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {
2970
-
2971
- _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2972
- _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2973
-
2974
- }
2975
-
2976
- }
2977
-
2978
- };
2979
-
2980
- Slick.prototype.updateDots = function() {
2981
-
2982
- var _ = this;
2983
-
2984
- if (_.$dots !== null) {
2985
-
2986
- _.$dots
2987
- .find('li')
2988
- .removeClass('slick-active')
2989
- .end();
2990
-
2991
- _.$dots
2992
- .find('li')
2993
- .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))
2994
- .addClass('slick-active');
2995
-
2996
- }
2997
-
2998
- };
2999
-
3000
- Slick.prototype.visibility = function() {
3001
-
3002
- var _ = this;
3003
-
3004
- if ( _.options.autoplay ) {
3005
-
3006
- if ( document[_.hidden] ) {
3007
-
3008
- _.interrupted = true;
3009
-
3010
- } else {
3011
-
3012
- _.interrupted = false;
3013
-
3014
- }
3015
-
3016
- }
3017
-
3018
- };
3019
-
3020
- $.fn.slick = function() {
3021
- var _ = this,
3022
- opt = arguments[0],
3023
- args = Array.prototype.slice.call(arguments, 1),
3024
- l = _.length,
3025
- i,
3026
- ret;
3027
- for (i = 0; i < l; i++) {
3028
- if (typeof opt == 'object' || typeof opt == 'undefined')
3029
- _[i].slick = new Slick(_[i], opt);
3030
- else
3031
- ret = _[i].slick[opt].apply(_[i].slick, args);
3032
- if (typeof ret != 'undefined') return ret;
3033
- }
3034
- return _;
3035
- };
3036
-
3037
- }));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
public/js/slick.min.js DELETED
@@ -1,18 +0,0 @@
1
- /*
2
- _ _ _ _
3
- ___| (_) ___| | __ (_)___
4
- / __| | |/ __| |/ / | / __|
5
- \__ \ | | (__| < _ | \__ \
6
- |___/_|_|\___|_|\_(_)/ |___/
7
- |__/
8
-
9
- Version: 1.9.0
10
- Author: Ken Wheeler
11
- Website: http://kenwheeler.github.io
12
- Docs: http://kenwheeler.github.io/slick
13
- Repo: http://github.com/kenwheeler/slick
14
- Issues: http://github.com/kenwheeler/slick/issues
15
-
16
- */
17
- (function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)})(function(i){"use strict";var e=window.Slick||{};e=function(){function e(e,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(e),appendDots:i(e),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('<button type="button" />').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},n.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},i.extend(n,n.initials),n.activeBreakpoint=null,n.animType=null,n.animProp=null,n.breakpoints=[],n.breakpointSettings=[],n.cssTransitions=!1,n.focussed=!1,n.interrupted=!1,n.hidden="hidden",n.paused=!0,n.positionProp=null,n.respondTo=null,n.rowCount=1,n.shouldClick=!0,n.$slider=i(e),n.$slidesCache=null,n.transformType=null,n.transitionType=null,n.visibilityChange="visibilitychange",n.windowWidth=0,n.windowTimer=null,s=i(e).data("slick")||{},n.options=i.extend({},n.defaults,o,s),n.currentSlide=n.options.initialSlide,n.originalSettings=n.options,"undefined"!=typeof document.mozHidden?(n.hidden="mozHidden",n.visibilityChange="mozvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(n.hidden="webkitHidden",n.visibilityChange="webkitvisibilitychange"),n.autoPlay=i.proxy(n.autoPlay,n),n.autoPlayClear=i.proxy(n.autoPlayClear,n),n.autoPlayIterator=i.proxy(n.autoPlayIterator,n),n.changeSlide=i.proxy(n.changeSlide,n),n.clickHandler=i.proxy(n.clickHandler,n),n.selectHandler=i.proxy(n.selectHandler,n),n.setPosition=i.proxy(n.setPosition,n),n.swipeHandler=i.proxy(n.swipeHandler,n),n.dragHandler=i.proxy(n.dragHandler,n),n.keyHandler=i.proxy(n.keyHandler,n),n.instanceUid=t++,n.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,n.registerBreakpoints(),n.init(!0)}var t=0;return e}(),e.prototype.activateADA=function(){var i=this;i.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},e.prototype.addSlide=e.prototype.slickAdd=function(e,t,o){var s=this;if("boolean"==typeof t)o=t,t=null;else if(t<0||t>=s.slideCount)return!1;s.unload(),"number"==typeof t?0===t&&0===s.$slides.length?i(e).appendTo(s.$slideTrack):o?i(e).insertBefore(s.$slides.eq(t)):i(e).insertAfter(s.$slides.eq(t)):o===!0?i(e).prependTo(s.$slideTrack):i(e).appendTo(s.$slideTrack),s.$slides=s.$slideTrack.children(this.options.slide),s.$slideTrack.children(this.options.slide).detach(),s.$slideTrack.append(s.$slides),s.$slides.each(function(e,t){i(t).attr("data-slick-index",e)}),s.$slidesCache=s.$slides,s.reinit()},e.prototype.animateHeight=function(){var i=this;if(1===i.options.slidesToShow&&i.options.adaptiveHeight===!0&&i.options.vertical===!1){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({height:e},i.options.speed)}},e.prototype.animateSlide=function(e,t){var o={},s=this;s.animateHeight(),s.options.rtl===!0&&s.options.vertical===!1&&(e=-e),s.transformsEnabled===!1?s.options.vertical===!1?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,t):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,t):s.cssTransitions===!1?(s.options.rtl===!0&&(s.currentLeft=-s.currentLeft),i({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(i){i=Math.ceil(i),s.options.vertical===!1?(o[s.animType]="translate("+i+"px, 0px)",s.$slideTrack.css(o)):(o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o))},complete:function(){t&&t.call()}})):(s.applyTransition(),e=Math.ceil(e),s.options.vertical===!1?o[s.animType]="translate3d("+e+"px, 0px, 0px)":o[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(o),t&&setTimeout(function(){s.disableTransition(),t.call()},s.options.speed))},e.prototype.getNavTarget=function(){var e=this,t=e.options.asNavFor;return t&&null!==t&&(t=i(t).not(e.$slider)),t},e.prototype.asNavFor=function(e){var t=this,o=t.getNavTarget();null!==o&&"object"==typeof o&&o.each(function(){var t=i(this).slick("getSlick");t.unslicked||t.slideHandler(e,!0)})},e.prototype.applyTransition=function(i){var e=this,t={};e.options.fade===!1?t[e.transitionType]=e.transformType+" "+e.options.speed+"ms "+e.options.cssEase:t[e.transitionType]="opacity "+e.options.speed+"ms "+e.options.cssEase,e.options.fade===!1?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.autoPlay=function(){var i=this;i.autoPlayClear(),i.slideCount>i.options.slidesToShow&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},e.prototype.autoPlayClear=function(){var i=this;i.autoPlayTimer&&clearInterval(i.autoPlayTimer)},e.prototype.autoPlayIterator=function(){var i=this,e=i.currentSlide+i.options.slidesToScroll;i.paused||i.interrupted||i.focussed||(i.options.infinite===!1&&(1===i.direction&&i.currentSlide+1===i.slideCount-1?i.direction=0:0===i.direction&&(e=i.currentSlide-i.options.slidesToScroll,i.currentSlide-1===0&&(i.direction=1))),i.slideHandler(e))},e.prototype.buildArrows=function(){var e=this;e.options.arrows===!0&&(e.$prevArrow=i(e.options.prevArrow).addClass("slick-arrow"),e.$nextArrow=i(e.options.nextArrow).addClass("slick-arrow"),e.slideCount>e.options.slidesToShow?(e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.prependTo(e.options.appendArrows),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.appendTo(e.options.appendArrows),e.options.infinite!==!0&&e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},e.prototype.buildDots=function(){var e,t,o=this;if(o.options.dots===!0&&o.slideCount>o.options.slidesToShow){for(o.$slider.addClass("slick-dotted"),t=i("<ul />").addClass(o.options.dotsClass),e=0;e<=o.getDotCount();e+=1)t.append(i("<li />").append(o.options.customPaging.call(this,o,e)));o.$dots=t.appendTo(o.options.appendDots),o.$dots.find("li").first().addClass("slick-active")}},e.prototype.buildOut=function(){var e=this;e.$slides=e.$slider.children(e.options.slide+":not(.slick-cloned)").addClass("slick-slide"),e.slideCount=e.$slides.length,e.$slides.each(function(e,t){i(t).attr("data-slick-index",e).data("originalStyling",i(t).attr("style")||"")}),e.$slider.addClass("slick-slider"),e.$slideTrack=0===e.slideCount?i('<div class="slick-track"/>').appendTo(e.$slider):e.$slides.wrapAll('<div class="slick-track"/>').parent(),e.$list=e.$slideTrack.wrap('<div class="slick-list"/>').parent(),e.$slideTrack.css("opacity",0),e.options.centerMode!==!0&&e.options.swipeToSlide!==!0||(e.options.slidesToScroll=1),i("img[data-lazy]",e.$slider).not("[src]").addClass("slick-loading"),e.setupInfinite(),e.buildArrows(),e.buildDots(),e.updateDots(),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.options.draggable===!0&&e.$list.addClass("draggable")},e.prototype.buildRows=function(){var i,e,t,o,s,n,r,l=this;if(o=document.createDocumentFragment(),n=l.$slider.children(),l.options.rows>0){for(r=l.options.slidesPerRow*l.options.rows,s=Math.ceil(n.length/r),i=0;i<s;i++){var d=document.createElement("div");for(e=0;e<l.options.rows;e++){var a=document.createElement("div");for(t=0;t<l.options.slidesPerRow;t++){var c=i*r+(e*l.options.slidesPerRow+t);n.get(c)&&a.appendChild(n.get(c))}d.appendChild(a)}o.appendChild(d)}l.$slider.empty().append(o),l.$slider.children().children().children().css({width:100/l.options.slidesPerRow+"%",display:"inline-block"})}},e.prototype.checkResponsive=function(e,t){var o,s,n,r=this,l=!1,d=r.$slider.width(),a=window.innerWidth||i(window).width();if("window"===r.respondTo?n=a:"slider"===r.respondTo?n=d:"min"===r.respondTo&&(n=Math.min(a,d)),r.options.responsive&&r.options.responsive.length&&null!==r.options.responsive){s=null;for(o in r.breakpoints)r.breakpoints.hasOwnProperty(o)&&(r.originalSettings.mobileFirst===!1?n<r.breakpoints[o]&&(s=r.breakpoints[o]):n>r.breakpoints[o]&&(s=r.breakpoints[o]));null!==s?null!==r.activeBreakpoint?(s!==r.activeBreakpoint||t)&&(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),e===!0&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),e===!0&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,e===!0&&(r.currentSlide=r.options.initialSlide),r.refresh(e),l=s),e||l===!1||r.$slider.trigger("breakpoint",[r,l])}},e.prototype.changeSlide=function(e,t){var o,s,n,r=this,l=i(e.currentTarget);switch(l.is("a")&&e.preventDefault(),l.is("li")||(l=l.closest("li")),n=r.slideCount%r.options.slidesToScroll!==0,o=n?0:(r.slideCount-r.currentSlide)%r.options.slidesToScroll,e.data.message){case"previous":s=0===o?r.options.slidesToScroll:r.options.slidesToShow-o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide-s,!1,t);break;case"next":s=0===o?r.options.slidesToScroll:o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide+s,!1,t);break;case"index":var d=0===e.data.index?0:e.data.index||l.index()*r.options.slidesToScroll;r.slideHandler(r.checkNavigable(d),!1,t),l.children().trigger("focus");break;default:return}},e.prototype.checkNavigable=function(i){var e,t,o=this;if(e=o.getNavigableIndexes(),t=0,i>e[e.length-1])i=e[e.length-1];else for(var s in e){if(i<e[s]){i=t;break}t=e[s]}return i},e.prototype.cleanUpEvents=function(){var e=this;e.options.dots&&null!==e.$dots&&(i("li",e.$dots).off("click.slick",e.changeSlide).off("mouseenter.slick",i.proxy(e.interrupt,e,!0)).off("mouseleave.slick",i.proxy(e.interrupt,e,!1)),e.options.accessibility===!0&&e.$dots.off("keydown.slick",e.keyHandler)),e.$slider.off("focus.slick blur.slick"),e.options.arrows===!0&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow&&e.$prevArrow.off("click.slick",e.changeSlide),e.$nextArrow&&e.$nextArrow.off("click.slick",e.changeSlide),e.options.accessibility===!0&&(e.$prevArrow&&e.$prevArrow.off("keydown.slick",e.keyHandler),e.$nextArrow&&e.$nextArrow.off("keydown.slick",e.keyHandler))),e.$list.off("touchstart.slick mousedown.slick",e.swipeHandler),e.$list.off("touchmove.slick mousemove.slick",e.swipeHandler),e.$list.off("touchend.slick mouseup.slick",e.swipeHandler),e.$list.off("touchcancel.slick mouseleave.slick",e.swipeHandler),e.$list.off("click.slick",e.clickHandler),i(document).off(e.visibilityChange,e.visibility),e.cleanUpSlideEvents(),e.options.accessibility===!0&&e.$list.off("keydown.slick",e.keyHandler),e.options.focusOnSelect===!0&&i(e.$slideTrack).children().off("click.slick",e.selectHandler),i(window).off("orientationchange.slick.slick-"+e.instanceUid,e.orientationChange),i(window).off("resize.slick.slick-"+e.instanceUid,e.resize),i("[draggable!=true]",e.$slideTrack).off("dragstart",e.preventDefault),i(window).off("load.slick.slick-"+e.instanceUid,e.setPosition)},e.prototype.cleanUpSlideEvents=function(){var e=this;e.$list.off("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.off("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.cleanUpRows=function(){var i,e=this;e.options.rows>0&&(i=e.$slides.children().children(),i.removeAttr("style"),e.$slider.empty().append(i))},e.prototype.clickHandler=function(i){var e=this;e.shouldClick===!1&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},e.prototype.destroy=function(e){var t=this;t.autoPlayClear(),t.touchObject={},t.cleanUpEvents(),i(".slick-cloned",t.$slider).detach(),t.$dots&&t.$dots.remove(),t.$prevArrow&&t.$prevArrow.length&&(t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove()),t.$nextArrow&&t.$nextArrow.length&&(t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove()),t.$slides&&(t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){i(this).attr("style",i(this).data("originalStyling"))}),t.$slideTrack.children(this.options.slide).detach(),t.$slideTrack.detach(),t.$list.detach(),t.$slider.append(t.$slides)),t.cleanUpRows(),t.$slider.removeClass("slick-slider"),t.$slider.removeClass("slick-initialized"),t.$slider.removeClass("slick-dotted"),t.unslicked=!0,e||t.$slider.trigger("destroy",[t])},e.prototype.disableTransition=function(i){var e=this,t={};t[e.transitionType]="",e.options.fade===!1?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.fadeSlide=function(i,e){var t=this;t.cssTransitions===!1?(t.$slides.eq(i).css({zIndex:t.options.zIndex}),t.$slides.eq(i).animate({opacity:1},t.options.speed,t.options.easing,e)):(t.applyTransition(i),t.$slides.eq(i).css({opacity:1,zIndex:t.options.zIndex}),e&&setTimeout(function(){t.disableTransition(i),e.call()},t.options.speed))},e.prototype.fadeSlideOut=function(i){var e=this;e.cssTransitions===!1?e.$slides.eq(i).animate({opacity:0,zIndex:e.options.zIndex-2},e.options.speed,e.options.easing):(e.applyTransition(i),e.$slides.eq(i).css({opacity:0,zIndex:e.options.zIndex-2}))},e.prototype.filterSlides=e.prototype.slickFilter=function(i){var e=this;null!==i&&(e.$slidesCache=e.$slides,e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.filter(i).appendTo(e.$slideTrack),e.reinit())},e.prototype.focusHandler=function(){var e=this;e.$slider.off("focus.slick blur.slick").on("focus.slick","*",function(t){var o=i(this);setTimeout(function(){e.options.pauseOnFocus&&o.is(":focus")&&(e.focussed=!0,e.autoPlay())},0)}).on("blur.slick","*",function(t){i(this);e.options.pauseOnFocus&&(e.focussed=!1,e.autoPlay())})},e.prototype.getCurrent=e.prototype.slickCurrentSlide=function(){var i=this;return i.currentSlide},e.prototype.getDotCount=function(){var i=this,e=0,t=0,o=0;if(i.options.infinite===!0)if(i.slideCount<=i.options.slidesToShow)++o;else for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else if(i.options.centerMode===!0)o=i.slideCount;else if(i.options.asNavFor)for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else o=1+Math.ceil((i.slideCount-i.options.slidesToShow)/i.options.slidesToScroll);return o-1},e.prototype.getLeft=function(i){var e,t,o,s,n=this,r=0;return n.slideOffset=0,t=n.$slides.first().outerHeight(!0),n.options.infinite===!0?(n.slideCount>n.options.slidesToShow&&(n.slideOffset=n.slideWidth*n.options.slidesToShow*-1,s=-1,n.options.vertical===!0&&n.options.centerMode===!0&&(2===n.options.slidesToShow?s=-1.5:1===n.options.slidesToShow&&(s=-2)),r=t*n.options.slidesToShow*s),n.slideCount%n.options.slidesToScroll!==0&&i+n.options.slidesToScroll>n.slideCount&&n.slideCount>n.options.slidesToShow&&(i>n.slideCount?(n.slideOffset=(n.options.slidesToShow-(i-n.slideCount))*n.slideWidth*-1,r=(n.options.slidesToShow-(i-n.slideCount))*t*-1):(n.slideOffset=n.slideCount%n.options.slidesToScroll*n.slideWidth*-1,r=n.slideCount%n.options.slidesToScroll*t*-1))):i+n.options.slidesToShow>n.slideCount&&(n.slideOffset=(i+n.options.slidesToShow-n.slideCount)*n.slideWidth,r=(i+n.options.slidesToShow-n.slideCount)*t),n.slideCount<=n.options.slidesToShow&&(n.slideOffset=0,r=0),n.options.centerMode===!0&&n.slideCount<=n.options.slidesToShow?n.slideOffset=n.slideWidth*Math.floor(n.options.slidesToShow)/2-n.slideWidth*n.slideCount/2:n.options.centerMode===!0&&n.options.infinite===!0?n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)-n.slideWidth:n.options.centerMode===!0&&(n.slideOffset=0,n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)),e=n.options.vertical===!1?i*n.slideWidth*-1+n.slideOffset:i*t*-1+r,n.options.variableWidth===!0&&(o=n.slideCount<=n.options.slidesToShow||n.options.infinite===!1?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow),e=n.options.rtl===!0?o[0]?(n.$slideTrack.width()-o[0].offsetLeft-o.width())*-1:0:o[0]?o[0].offsetLeft*-1:0,n.options.centerMode===!0&&(o=n.slideCount<=n.options.slidesToShow||n.options.infinite===!1?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow+1),e=n.options.rtl===!0?o[0]?(n.$slideTrack.width()-o[0].offsetLeft-o.width())*-1:0:o[0]?o[0].offsetLeft*-1:0,e+=(n.$list.width()-o.outerWidth())/2)),e},e.prototype.getOption=e.prototype.slickGetOption=function(i){var e=this;return e.options[i]},e.prototype.getNavigableIndexes=function(){var i,e=this,t=0,o=0,s=[];for(e.options.infinite===!1?i=e.slideCount:(t=e.options.slidesToScroll*-1,o=e.options.slidesToScroll*-1,i=2*e.slideCount);t<i;)s.push(t),t=o+e.options.slidesToScroll,o+=e.options.slidesToScroll<=e.options.slidesToShow?e.options.slidesToScroll:e.options.slidesToShow;return s},e.prototype.getSlick=function(){return this},e.prototype.getSlideCount=function(){var e,t,o,s,n=this;return s=n.options.centerMode===!0?Math.floor(n.$list.width()/2):0,o=n.swipeLeft*-1+s,n.options.swipeToSlide===!0?(n.$slideTrack.find(".slick-slide").each(function(e,s){var r,l,d;if(r=i(s).outerWidth(),l=s.offsetLeft,n.options.centerMode!==!0&&(l+=r/2),d=l+r,o<d)return t=s,!1}),e=Math.abs(i(t).attr("data-slick-index")-n.currentSlide)||1):n.options.slidesToScroll},e.prototype.goTo=e.prototype.slickGoTo=function(i,e){var t=this;t.changeSlide({data:{message:"index",index:parseInt(i)}},e)},e.prototype.init=function(e){var t=this;i(t.$slider).hasClass("slick-initialized")||(i(t.$slider).addClass("slick-initialized"),t.buildRows(),t.buildOut(),t.setProps(),t.startLoad(),t.loadSlider(),t.initializeEvents(),t.updateArrows(),t.updateDots(),t.checkResponsive(!0),t.focusHandler()),e&&t.$slider.trigger("init",[t]),t.options.accessibility===!0&&t.initADA(),t.options.autoplay&&(t.paused=!1,t.autoPlay())},e.prototype.initADA=function(){var e=this,t=Math.ceil(e.slideCount/e.options.slidesToShow),o=e.getNavigableIndexes().filter(function(i){return i>=0&&i<e.slideCount});e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==e.$dots&&(e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t){var s=o.indexOf(t);if(i(this).attr({role:"tabpanel",id:"slick-slide"+e.instanceUid+t,tabindex:-1}),s!==-1){var n="slick-slide-control"+e.instanceUid+s;i("#"+n).length&&i(this).attr({"aria-describedby":n})}}),e.$dots.attr("role","tablist").find("li").each(function(s){var n=o[s];i(this).attr({role:"presentation"}),i(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+e.instanceUid+s,"aria-controls":"slick-slide"+e.instanceUid+n,"aria-label":s+1+" of "+t,"aria-selected":null,tabindex:"-1"})}).eq(e.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var s=e.currentSlide,n=s+e.options.slidesToShow;s<n;s++)e.options.focusOnChange?e.$slides.eq(s).attr({tabindex:"0"}):e.$slides.eq(s).removeAttr("tabindex");e.activateADA()},e.prototype.initArrowEvents=function(){var i=this;i.options.arrows===!0&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},i.changeSlide),i.$nextArrow.off("click.slick").on("click.slick",{message:"next"},i.changeSlide),i.options.accessibility===!0&&(i.$prevArrow.on("keydown.slick",i.keyHandler),i.$nextArrow.on("keydown.slick",i.keyHandler)))},e.prototype.initDotEvents=function(){var e=this;e.options.dots===!0&&e.slideCount>e.options.slidesToShow&&(i("li",e.$dots).on("click.slick",{message:"index"},e.changeSlide),e.options.accessibility===!0&&e.$dots.on("keydown.slick",e.keyHandler)),e.options.dots===!0&&e.options.pauseOnDotsHover===!0&&e.slideCount>e.options.slidesToShow&&i("li",e.$dots).on("mouseenter.slick",i.proxy(e.interrupt,e,!0)).on("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.initSlideEvents=function(){var e=this;e.options.pauseOnHover&&(e.$list.on("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.on("mouseleave.slick",i.proxy(e.interrupt,e,!1)))},e.prototype.initializeEvents=function(){var e=this;e.initArrowEvents(),e.initDotEvents(),e.initSlideEvents(),e.$list.on("touchstart.slick mousedown.slick",{action:"start"},e.swipeHandler),e.$list.on("touchmove.slick mousemove.slick",{action:"move"},e.swipeHandler),e.$list.on("touchend.slick mouseup.slick",{action:"end"},e.swipeHandler),e.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},e.swipeHandler),e.$list.on("click.slick",e.clickHandler),i(document).on(e.visibilityChange,i.proxy(e.visibility,e)),e.options.accessibility===!0&&e.$list.on("keydown.slick",e.keyHandler),e.options.focusOnSelect===!0&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),i(window).on("orientationchange.slick.slick-"+e.instanceUid,i.proxy(e.orientationChange,e)),i(window).on("resize.slick.slick-"+e.instanceUid,i.proxy(e.resize,e)),i("[draggable!=true]",e.$slideTrack).on("dragstart",e.preventDefault),i(window).on("load.slick.slick-"+e.instanceUid,e.setPosition),i(e.setPosition)},e.prototype.initUI=function(){var i=this;i.options.arrows===!0&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.show(),i.$nextArrow.show()),i.options.dots===!0&&i.slideCount>i.options.slidesToShow&&i.$dots.show()},e.prototype.keyHandler=function(i){var e=this;i.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===i.keyCode&&e.options.accessibility===!0?e.changeSlide({data:{message:e.options.rtl===!0?"next":"previous"}}):39===i.keyCode&&e.options.accessibility===!0&&e.changeSlide({data:{message:e.options.rtl===!0?"previous":"next"}}))},e.prototype.lazyLoad=function(){function e(e){i("img[data-lazy]",e).each(function(){var e=i(this),t=i(this).attr("data-lazy"),o=i(this).attr("data-srcset"),s=i(this).attr("data-sizes")||r.$slider.attr("data-sizes"),n=document.createElement("img");n.onload=function(){e.animate({opacity:0},100,function(){o&&(e.attr("srcset",o),s&&e.attr("sizes",s)),e.attr("src",t).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),r.$slider.trigger("lazyLoaded",[r,e,t])})},n.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),r.$slider.trigger("lazyLoadError",[r,e,t])},n.src=t})}var t,o,s,n,r=this;if(r.options.centerMode===!0?r.options.infinite===!0?(s=r.currentSlide+(r.options.slidesToShow/2+1),n=s+r.options.slidesToShow+2):(s=Math.max(0,r.currentSlide-(r.options.slidesToShow/2+1)),n=2+(r.options.slidesToShow/2+1)+r.currentSlide):(s=r.options.infinite?r.options.slidesToShow+r.currentSlide:r.currentSlide,n=Math.ceil(s+r.options.slidesToShow),r.options.fade===!0&&(s>0&&s--,n<=r.slideCount&&n++)),t=r.$slider.find(".slick-slide").slice(s,n),"anticipated"===r.options.lazyLoad)for(var l=s-1,d=n,a=r.$slider.find(".slick-slide"),c=0;c<r.options.slidesToScroll;c++)l<0&&(l=r.slideCount-1),t=t.add(a.eq(l)),t=t.add(a.eq(d)),l--,d++;e(t),r.slideCount<=r.options.slidesToShow?(o=r.$slider.find(".slick-slide"),e(o)):r.currentSlide>=r.slideCount-r.options.slidesToShow?(o=r.$slider.find(".slick-cloned").slice(0,r.options.slidesToShow),e(o)):0===r.currentSlide&&(o=r.$slider.find(".slick-cloned").slice(r.options.slidesToShow*-1),e(o))},e.prototype.loadSlider=function(){var i=this;i.setPosition(),i.$slideTrack.css({opacity:1}),i.$slider.removeClass("slick-loading"),i.initUI(),"progressive"===i.options.lazyLoad&&i.progressiveLazyLoad()},e.prototype.next=e.prototype.slickNext=function(){var i=this;i.changeSlide({data:{message:"next"}})},e.prototype.orientationChange=function(){var i=this;i.checkResponsive(),i.setPosition()},e.prototype.pause=e.prototype.slickPause=function(){var i=this;i.autoPlayClear(),i.paused=!0},e.prototype.play=e.prototype.slickPlay=function(){var i=this;i.autoPlay(),i.options.autoplay=!0,i.paused=!1,i.focussed=!1,i.interrupted=!1},e.prototype.postSlide=function(e){var t=this;if(!t.unslicked&&(t.$slider.trigger("afterChange",[t,e]),t.animating=!1,t.slideCount>t.options.slidesToShow&&t.setPosition(),t.swipeLeft=null,t.options.autoplay&&t.autoPlay(),t.options.accessibility===!0&&(t.initADA(),t.options.focusOnChange))){var o=i(t.$slides.get(t.currentSlide));o.attr("tabindex",0).focus()}},e.prototype.prev=e.prototype.slickPrev=function(){var i=this;i.changeSlide({data:{message:"previous"}})},e.prototype.preventDefault=function(i){i.preventDefault()},e.prototype.progressiveLazyLoad=function(e){e=e||1;var t,o,s,n,r,l=this,d=i("img[data-lazy]",l.$slider);d.length?(t=d.first(),o=t.attr("data-lazy"),s=t.attr("data-srcset"),n=t.attr("data-sizes")||l.$slider.attr("data-sizes"),r=document.createElement("img"),r.onload=function(){s&&(t.attr("srcset",s),n&&t.attr("sizes",n)),t.attr("src",o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),l.options.adaptiveHeight===!0&&l.setPosition(),l.$slider.trigger("lazyLoaded",[l,t,o]),l.progressiveLazyLoad()},r.onerror=function(){e<3?setTimeout(function(){l.progressiveLazyLoad(e+1)},500):(t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),l.$slider.trigger("lazyLoadError",[l,t,o]),l.progressiveLazyLoad())},r.src=o):l.$slider.trigger("allImagesLoaded",[l])},e.prototype.refresh=function(e){var t,o,s=this;o=s.slideCount-s.options.slidesToShow,!s.options.infinite&&s.currentSlide>o&&(s.currentSlide=o),s.slideCount<=s.options.slidesToShow&&(s.currentSlide=0),t=s.currentSlide,s.destroy(!0),i.extend(s,s.initials,{currentSlide:t}),s.init(),e||s.changeSlide({data:{message:"index",index:t}},!1)},e.prototype.registerBreakpoints=function(){var e,t,o,s=this,n=s.options.responsive||null;if("array"===i.type(n)&&n.length){s.respondTo=s.options.respondTo||"window";for(e in n)if(o=s.breakpoints.length-1,n.hasOwnProperty(e)){for(t=n[e].breakpoint;o>=0;)s.breakpoints[o]&&s.breakpoints[o]===t&&s.breakpoints.splice(o,1),o--;s.breakpoints.push(t),s.breakpointSettings[t]=n[e].settings}s.breakpoints.sort(function(i,e){return s.options.mobileFirst?i-e:e-i})}},e.prototype.reinit=function(){var e=this;e.$slides=e.$slideTrack.children(e.options.slide).addClass("slick-slide"),e.slideCount=e.$slides.length,e.currentSlide>=e.slideCount&&0!==e.currentSlide&&(e.currentSlide=e.currentSlide-e.options.slidesToScroll),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),e.registerBreakpoints(),e.setProps(),e.setupInfinite(),e.buildArrows(),e.updateArrows(),e.initArrowEvents(),e.buildDots(),e.updateDots(),e.initDotEvents(),e.cleanUpSlideEvents(),e.initSlideEvents(),e.checkResponsive(!1,!0),e.options.focusOnSelect===!0&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.setPosition(),e.focusHandler(),e.paused=!e.options.autoplay,e.autoPlay(),e.$slider.trigger("reInit",[e])},e.prototype.resize=function(){var e=this;i(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=i(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))},e.prototype.removeSlide=e.prototype.slickRemove=function(i,e,t){var o=this;return"boolean"==typeof i?(e=i,i=e===!0?0:o.slideCount-1):i=e===!0?--i:i,!(o.slideCount<1||i<0||i>o.slideCount-1)&&(o.unload(),t===!0?o.$slideTrack.children().remove():o.$slideTrack.children(this.options.slide).eq(i).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,void o.reinit())},e.prototype.setCSS=function(i){var e,t,o=this,s={};o.options.rtl===!0&&(i=-i),e="left"==o.positionProp?Math.ceil(i)+"px":"0px",t="top"==o.positionProp?Math.ceil(i)+"px":"0px",s[o.positionProp]=i,o.transformsEnabled===!1?o.$slideTrack.css(s):(s={},o.cssTransitions===!1?(s[o.animType]="translate("+e+", "+t+")",o.$slideTrack.css(s)):(s[o.animType]="translate3d("+e+", "+t+", 0px)",o.$slideTrack.css(s)))},e.prototype.setDimensions=function(){var i=this;i.options.vertical===!1?i.options.centerMode===!0&&i.$list.css({padding:"0px "+i.options.centerPadding}):(i.$list.height(i.$slides.first().outerHeight(!0)*i.options.slidesToShow),i.options.centerMode===!0&&i.$list.css({padding:i.options.centerPadding+" 0px"})),i.listWidth=i.$list.width(),i.listHeight=i.$list.height(),i.options.vertical===!1&&i.options.variableWidth===!1?(i.slideWidth=Math.ceil(i.listWidth/i.options.slidesToShow),i.$slideTrack.width(Math.ceil(i.slideWidth*i.$slideTrack.children(".slick-slide").length))):i.options.variableWidth===!0?i.$slideTrack.width(5e3*i.slideCount):(i.slideWidth=Math.ceil(i.listWidth),i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0)*i.$slideTrack.children(".slick-slide").length)));var e=i.$slides.first().outerWidth(!0)-i.$slides.first().width();i.options.variableWidth===!1&&i.$slideTrack.children(".slick-slide").width(i.slideWidth-e)},e.prototype.setFade=function(){var e,t=this;t.$slides.each(function(o,s){e=t.slideWidth*o*-1,t.options.rtl===!0?i(s).css({position:"relative",right:e,top:0,zIndex:t.options.zIndex-2,opacity:0}):i(s).css({position:"relative",left:e,top:0,zIndex:t.options.zIndex-2,opacity:0})}),t.$slides.eq(t.currentSlide).css({zIndex:t.options.zIndex-1,opacity:1})},e.prototype.setHeight=function(){var i=this;if(1===i.options.slidesToShow&&i.options.adaptiveHeight===!0&&i.options.vertical===!1){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.css("height",e)}},e.prototype.setOption=e.prototype.slickSetOption=function(){var e,t,o,s,n,r=this,l=!1;if("object"===i.type(arguments[0])?(o=arguments[0],l=arguments[1],n="multiple"):"string"===i.type(arguments[0])&&(o=arguments[0],s=arguments[1],l=arguments[2],"responsive"===arguments[0]&&"array"===i.type(arguments[1])?n="responsive":"undefined"!=typeof arguments[1]&&(n="single")),"single"===n)r.options[o]=s;else if("multiple"===n)i.each(o,function(i,e){r.options[i]=e});else if("responsive"===n)for(t in s)if("array"!==i.type(r.options.responsive))r.options.responsive=[s[t]];else{for(e=r.options.responsive.length-1;e>=0;)r.options.responsive[e].breakpoint===s[t].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(s[t])}l&&(r.unload(),r.reinit())},e.prototype.setPosition=function(){var i=this;i.setDimensions(),i.setHeight(),i.options.fade===!1?i.setCSS(i.getLeft(i.currentSlide)):i.setFade(),i.$slider.trigger("setPosition",[i])},e.prototype.setProps=function(){var i=this,e=document.body.style;i.positionProp=i.options.vertical===!0?"top":"left",
18
- "top"===i.positionProp?i.$slider.addClass("slick-vertical"):i.$slider.removeClass("slick-vertical"),void 0===e.WebkitTransition&&void 0===e.MozTransition&&void 0===e.msTransition||i.options.useCSS===!0&&(i.cssTransitions=!0),i.options.fade&&("number"==typeof i.options.zIndex?i.options.zIndex<3&&(i.options.zIndex=3):i.options.zIndex=i.defaults.zIndex),void 0!==e.OTransform&&(i.animType="OTransform",i.transformType="-o-transform",i.transitionType="OTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.MozTransform&&(i.animType="MozTransform",i.transformType="-moz-transform",i.transitionType="MozTransition",void 0===e.perspectiveProperty&&void 0===e.MozPerspective&&(i.animType=!1)),void 0!==e.webkitTransform&&(i.animType="webkitTransform",i.transformType="-webkit-transform",i.transitionType="webkitTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.msTransform&&(i.animType="msTransform",i.transformType="-ms-transform",i.transitionType="msTransition",void 0===e.msTransform&&(i.animType=!1)),void 0!==e.transform&&i.animType!==!1&&(i.animType="transform",i.transformType="transform",i.transitionType="transition"),i.transformsEnabled=i.options.useTransform&&null!==i.animType&&i.animType!==!1},e.prototype.setSlideClasses=function(i){var e,t,o,s,n=this;if(t=n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),n.$slides.eq(i).addClass("slick-current"),n.options.centerMode===!0){var r=n.options.slidesToShow%2===0?1:0;e=Math.floor(n.options.slidesToShow/2),n.options.infinite===!0&&(i>=e&&i<=n.slideCount-1-e?n.$slides.slice(i-e+r,i+e+1).addClass("slick-active").attr("aria-hidden","false"):(o=n.options.slidesToShow+i,t.slice(o-e+1+r,o+e+2).addClass("slick-active").attr("aria-hidden","false")),0===i?t.eq(t.length-1-n.options.slidesToShow).addClass("slick-center"):i===n.slideCount-1&&t.eq(n.options.slidesToShow).addClass("slick-center")),n.$slides.eq(i).addClass("slick-center")}else i>=0&&i<=n.slideCount-n.options.slidesToShow?n.$slides.slice(i,i+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):t.length<=n.options.slidesToShow?t.addClass("slick-active").attr("aria-hidden","false"):(s=n.slideCount%n.options.slidesToShow,o=n.options.infinite===!0?n.options.slidesToShow+i:i,n.options.slidesToShow==n.options.slidesToScroll&&n.slideCount-i<n.options.slidesToShow?t.slice(o-(n.options.slidesToShow-s),o+s).addClass("slick-active").attr("aria-hidden","false"):t.slice(o,o+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==n.options.lazyLoad&&"anticipated"!==n.options.lazyLoad||n.lazyLoad()},e.prototype.setupInfinite=function(){var e,t,o,s=this;if(s.options.fade===!0&&(s.options.centerMode=!1),s.options.infinite===!0&&s.options.fade===!1&&(t=null,s.slideCount>s.options.slidesToShow)){for(o=s.options.centerMode===!0?s.options.slidesToShow+1:s.options.slidesToShow,e=s.slideCount;e>s.slideCount-o;e-=1)t=e-1,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t-s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");for(e=0;e<o+s.slideCount;e+=1)t=e,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t+s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");s.$slideTrack.find(".slick-cloned").find("[id]").each(function(){i(this).attr("id","")})}},e.prototype.interrupt=function(i){var e=this;i||e.autoPlay(),e.interrupted=i},e.prototype.selectHandler=function(e){var t=this,o=i(e.target).is(".slick-slide")?i(e.target):i(e.target).parents(".slick-slide"),s=parseInt(o.attr("data-slick-index"));return s||(s=0),t.slideCount<=t.options.slidesToShow?void t.slideHandler(s,!1,!0):void t.slideHandler(s)},e.prototype.slideHandler=function(i,e,t){var o,s,n,r,l,d=null,a=this;if(e=e||!1,!(a.animating===!0&&a.options.waitForAnimate===!0||a.options.fade===!0&&a.currentSlide===i))return e===!1&&a.asNavFor(i),o=i,d=a.getLeft(o),r=a.getLeft(a.currentSlide),a.currentLeft=null===a.swipeLeft?r:a.swipeLeft,a.options.infinite===!1&&a.options.centerMode===!1&&(i<0||i>a.getDotCount()*a.options.slidesToScroll)?void(a.options.fade===!1&&(o=a.currentSlide,t!==!0&&a.slideCount>a.options.slidesToShow?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o))):a.options.infinite===!1&&a.options.centerMode===!0&&(i<0||i>a.slideCount-a.options.slidesToScroll)?void(a.options.fade===!1&&(o=a.currentSlide,t!==!0&&a.slideCount>a.options.slidesToShow?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o))):(a.options.autoplay&&clearInterval(a.autoPlayTimer),s=o<0?a.slideCount%a.options.slidesToScroll!==0?a.slideCount-a.slideCount%a.options.slidesToScroll:a.slideCount+o:o>=a.slideCount?a.slideCount%a.options.slidesToScroll!==0?0:o-a.slideCount:o,a.animating=!0,a.$slider.trigger("beforeChange",[a,a.currentSlide,s]),n=a.currentSlide,a.currentSlide=s,a.setSlideClasses(a.currentSlide),a.options.asNavFor&&(l=a.getNavTarget(),l=l.slick("getSlick"),l.slideCount<=l.options.slidesToShow&&l.setSlideClasses(a.currentSlide)),a.updateDots(),a.updateArrows(),a.options.fade===!0?(t!==!0?(a.fadeSlideOut(n),a.fadeSlide(s,function(){a.postSlide(s)})):a.postSlide(s),void a.animateHeight()):void(t!==!0&&a.slideCount>a.options.slidesToShow?a.animateSlide(d,function(){a.postSlide(s)}):a.postSlide(s)))},e.prototype.startLoad=function(){var i=this;i.options.arrows===!0&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.hide(),i.$nextArrow.hide()),i.options.dots===!0&&i.slideCount>i.options.slidesToShow&&i.$dots.hide(),i.$slider.addClass("slick-loading")},e.prototype.swipeDirection=function(){var i,e,t,o,s=this;return i=s.touchObject.startX-s.touchObject.curX,e=s.touchObject.startY-s.touchObject.curY,t=Math.atan2(e,i),o=Math.round(180*t/Math.PI),o<0&&(o=360-Math.abs(o)),o<=45&&o>=0?s.options.rtl===!1?"left":"right":o<=360&&o>=315?s.options.rtl===!1?"left":"right":o>=135&&o<=225?s.options.rtl===!1?"right":"left":s.options.verticalSwiping===!0?o>=35&&o<=135?"down":"up":"vertical"},e.prototype.swipeEnd=function(i){var e,t,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1,!1;if(o.interrupted=!1,o.shouldClick=!(o.touchObject.swipeLength>10),void 0===o.touchObject.curX)return!1;if(o.touchObject.edgeHit===!0&&o.$slider.trigger("edge",[o,o.swipeDirection()]),o.touchObject.swipeLength>=o.touchObject.minSwipe){switch(t=o.swipeDirection()){case"left":case"down":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide+o.getSlideCount()):o.currentSlide+o.getSlideCount(),o.currentDirection=0;break;case"right":case"up":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide-o.getSlideCount()):o.currentSlide-o.getSlideCount(),o.currentDirection=1}"vertical"!=t&&(o.slideHandler(e),o.touchObject={},o.$slider.trigger("swipe",[o,t]))}else o.touchObject.startX!==o.touchObject.curX&&(o.slideHandler(o.currentSlide),o.touchObject={})},e.prototype.swipeHandler=function(i){var e=this;if(!(e.options.swipe===!1||"ontouchend"in document&&e.options.swipe===!1||e.options.draggable===!1&&i.type.indexOf("mouse")!==-1))switch(e.touchObject.fingerCount=i.originalEvent&&void 0!==i.originalEvent.touches?i.originalEvent.touches.length:1,e.touchObject.minSwipe=e.listWidth/e.options.touchThreshold,e.options.verticalSwiping===!0&&(e.touchObject.minSwipe=e.listHeight/e.options.touchThreshold),i.data.action){case"start":e.swipeStart(i);break;case"move":e.swipeMove(i);break;case"end":e.swipeEnd(i)}},e.prototype.swipeMove=function(i){var e,t,o,s,n,r,l=this;return n=void 0!==i.originalEvent?i.originalEvent.touches:null,!(!l.dragging||l.scrolling||n&&1!==n.length)&&(e=l.getLeft(l.currentSlide),l.touchObject.curX=void 0!==n?n[0].pageX:i.clientX,l.touchObject.curY=void 0!==n?n[0].pageY:i.clientY,l.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(l.touchObject.curX-l.touchObject.startX,2))),r=Math.round(Math.sqrt(Math.pow(l.touchObject.curY-l.touchObject.startY,2))),!l.options.verticalSwiping&&!l.swiping&&r>4?(l.scrolling=!0,!1):(l.options.verticalSwiping===!0&&(l.touchObject.swipeLength=r),t=l.swipeDirection(),void 0!==i.originalEvent&&l.touchObject.swipeLength>4&&(l.swiping=!0,i.preventDefault()),s=(l.options.rtl===!1?1:-1)*(l.touchObject.curX>l.touchObject.startX?1:-1),l.options.verticalSwiping===!0&&(s=l.touchObject.curY>l.touchObject.startY?1:-1),o=l.touchObject.swipeLength,l.touchObject.edgeHit=!1,l.options.infinite===!1&&(0===l.currentSlide&&"right"===t||l.currentSlide>=l.getDotCount()&&"left"===t)&&(o=l.touchObject.swipeLength*l.options.edgeFriction,l.touchObject.edgeHit=!0),l.options.vertical===!1?l.swipeLeft=e+o*s:l.swipeLeft=e+o*(l.$list.height()/l.listWidth)*s,l.options.verticalSwiping===!0&&(l.swipeLeft=e+o*s),l.options.fade!==!0&&l.options.touchMove!==!1&&(l.animating===!0?(l.swipeLeft=null,!1):void l.setCSS(l.swipeLeft))))},e.prototype.swipeStart=function(i){var e,t=this;return t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow?(t.touchObject={},!1):(void 0!==i.originalEvent&&void 0!==i.originalEvent.touches&&(e=i.originalEvent.touches[0]),t.touchObject.startX=t.touchObject.curX=void 0!==e?e.pageX:i.clientX,t.touchObject.startY=t.touchObject.curY=void 0!==e?e.pageY:i.clientY,void(t.dragging=!0))},e.prototype.unfilterSlides=e.prototype.slickUnfilter=function(){var i=this;null!==i.$slidesCache&&(i.unload(),i.$slideTrack.children(this.options.slide).detach(),i.$slidesCache.appendTo(i.$slideTrack),i.reinit())},e.prototype.unload=function(){var e=this;i(".slick-cloned",e.$slider).remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove(),e.$nextArrow&&e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove(),e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")},e.prototype.unslick=function(i){var e=this;e.$slider.trigger("unslick",[e,i]),e.destroy()},e.prototype.updateArrows=function(){var i,e=this;i=Math.floor(e.options.slidesToShow/2),e.options.arrows===!0&&e.slideCount>e.options.slidesToShow&&!e.options.infinite&&(e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),e.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===e.currentSlide?(e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),e.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):e.currentSlide>=e.slideCount-e.options.slidesToShow&&e.options.centerMode===!1?(e.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):e.currentSlide>=e.slideCount-1&&e.options.centerMode===!0&&(e.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},e.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active").end(),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active"))},e.prototype.visibility=function(){var i=this;i.options.autoplay&&(document[i.hidden]?i.interrupted=!0:i.interrupted=!1)},i.fn.slick=function(){var i,t,o=this,s=arguments[0],n=Array.prototype.slice.call(arguments,1),r=o.length;for(i=0;i<r;i++)if("object"==typeof s||"undefined"==typeof s?o[i].slick=new e(o[i],s):t=o[i].slick[s].apply(o[i].slick,n),"undefined"!=typeof t)return t;return o}});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
public/js/swiper-bundle.min.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Swiper 8.3.2
3
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
4
+ * https://swiperjs.com
5
+ *
6
+ * Copyright 2014-2022 Vladimir Kharlampidi
7
+ *
8
+ * Released under the MIT License
9
+ *
10
+ * Released on: July 26, 2022
11
+ */
12
+
13
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis: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(s,a){void 0===s&&(s={}),void 0===a&&(a={}),Object.keys(a).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}class n extends Array{constructor(e){"number"==typeof e?super(e):(super(...e||[]),function(e){const t=e.__proto__;Object.defineProperty(e,"__proto__",{get:()=>t,set(e){t.__proto__=e}})}(this))}}function l(e){void 0===e&&(e=[]);const t=[];return e.forEach((e=>{Array.isArray(e)?t.push(...l(e)):t.push(e)})),t}function o(e,t){return Array.prototype.filter.call(e,t)}function d(e,t){const s=r(),i=a();let l=[];if(!t&&e instanceof n)return e;if(!e)return new n(l);if("string"==typeof e){const s=e.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){let e="div";0===s.indexOf("<li")&&(e="ul"),0===s.indexOf("<tr")&&(e="tbody"),0!==s.indexOf("<td")&&0!==s.indexOf("<th")||(e="tr"),0===s.indexOf("<tbody")&&(e="table"),0===s.indexOf("<option")&&(e="select");const t=i.createElement(e);t.innerHTML=s;for(let e=0;e<t.childNodes.length;e+=1)l.push(t.childNodes[e])}else l=function(e,t){if("string"!=typeof e)return[e];const s=[],a=t.querySelectorAll(e);for(let e=0;e<a.length;e+=1)s.push(a[e]);return s}(e.trim(),t||i)}else if(e.nodeType||e===s||e===i)l.push(e);else if(Array.isArray(e)){if(e instanceof n)return e;l=e}return new n(function(e){const t=[];for(let s=0;s<e.length;s+=1)-1===t.indexOf(e[s])&&t.push(e[s]);return t}(l))}d.fn=n.prototype;const c={addClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));return this.forEach((e=>{e.classList.add(...a)})),this},removeClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));return this.forEach((e=>{e.classList.remove(...a)})),this},hasClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));return o(this,(e=>a.filter((t=>e.classList.contains(t))).length>0)).length>0},toggleClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));this.forEach((e=>{a.forEach((t=>{e.classList.toggle(t)}))}))},attr:function(e,t){if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(let s=0;s<this.length;s+=1)if(2===arguments.length)this[s].setAttribute(e,t);else for(const t in e)this[s][t]=e[t],this[s].setAttribute(t,e[t]);return this},removeAttr:function(e){for(let t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},transform:function(e){for(let t=0;t<this.length;t+=1)this[t].style.transform=e;return this},transition:function(e){for(let t=0;t<this.length;t+=1)this[t].style.transitionDuration="string"!=typeof e?`${e}ms`:e;return this},on:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];let[a,i,r,n]=t;function l(e){const t=e.target;if(!t)return;const s=e.target.dom7EventData||[];if(s.indexOf(e)<0&&s.unshift(e),d(t).is(i))r.apply(t,s);else{const e=d(t).parents();for(let t=0;t<e.length;t+=1)d(e[t]).is(i)&&r.apply(e[t],s)}}function o(e){const t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),r.apply(this,t)}"function"==typeof t[1]&&([a,r,n]=t,i=void 0),n||(n=!1);const c=a.split(" ");let p;for(let e=0;e<this.length;e+=1){const t=this[e];if(i)for(p=0;p<c.length;p+=1){const e=c[p];t.dom7LiveListeners||(t.dom7LiveListeners={}),t.dom7LiveListeners[e]||(t.dom7LiveListeners[e]=[]),t.dom7LiveListeners[e].push({listener:r,proxyListener:l}),t.addEventListener(e,l,n)}else for(p=0;p<c.length;p+=1){const e=c[p];t.dom7Listeners||(t.dom7Listeners={}),t.dom7Listeners[e]||(t.dom7Listeners[e]=[]),t.dom7Listeners[e].push({listener:r,proxyListener:o}),t.addEventListener(e,o,n)}}return this},off:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];let[a,i,r,n]=t;"function"==typeof t[1]&&([a,r,n]=t,i=void 0),n||(n=!1);const l=a.split(" ");for(let e=0;e<l.length;e+=1){const t=l[e];for(let e=0;e<this.length;e+=1){const s=this[e];let a;if(!i&&s.dom7Listeners?a=s.dom7Listeners[t]:i&&s.dom7LiveListeners&&(a=s.dom7LiveListeners[t]),a&&a.length)for(let e=a.length-1;e>=0;e-=1){const i=a[e];r&&i.listener===r||r&&i.listener&&i.listener.dom7proxy&&i.listener.dom7proxy===r?(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1)):r||(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1))}}}return this},trigger:function(){const e=r();for(var t=arguments.length,s=new Array(t),a=0;a<t;a++)s[a]=arguments[a];const i=s[0].split(" "),n=s[1];for(let t=0;t<i.length;t+=1){const a=i[t];for(let t=0;t<this.length;t+=1){const i=this[t];if(e.CustomEvent){const t=new e.CustomEvent(a,{detail:n,bubbles:!0,cancelable:!0});i.dom7EventData=s.filter(((e,t)=>t>0)),i.dispatchEvent(t),i.dom7EventData=[],delete i.dom7EventData}}}return this},transitionEnd:function(e){const t=this;return e&&t.on("transitionend",(function s(a){a.target===this&&(e.call(this,a),t.off("transitionend",s))})),this},outerWidth:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){const e=r();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){const e=r(),t=a(),s=this[0],i=s.getBoundingClientRect(),n=t.body,l=s.clientTop||n.clientTop||0,o=s.clientLeft||n.clientLeft||0,d=s===e?e.scrollY:s.scrollTop,c=s===e?e.scrollX:s.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}return null},css:function(e,t){const s=r();let a;if(1===arguments.length){if("string"!=typeof e){for(a=0;a<this.length;a+=1)for(const t in e)this[a].style[t]=e[t];return this}if(this[0])return s.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(a=0;a<this.length;a+=1)this[a].style[e]=t;return this}return this},each:function(e){return e?(this.forEach(((t,s)=>{e.apply(t,[t,s])})),this):this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:null;for(let 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(let t=0;t<this.length;t+=1)this[t].textContent=e;return this},is:function(e){const t=r(),s=a(),i=this[0];let l,o;if(!i||void 0===e)return!1;if("string"==typeof e){if(i.matches)return i.matches(e);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(e);if(i.msMatchesSelector)return i.msMatchesSelector(e);for(l=d(e),o=0;o<l.length;o+=1)if(l[o]===i)return!0;return!1}if(e===s)return i===s;if(e===t)return i===t;if(e.nodeType||e instanceof n){for(l=e.nodeType?[e]:e,o=0;o<l.length;o+=1)if(l[o]===i)return!0;return!1}return!1},index:function(){let 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;const t=this.length;if(e>t-1)return d([]);if(e<0){const s=t+e;return d(s<0?[]:[this[s]])}return d([this[e]])},append:function(){let e;const t=a();for(let s=0;s<arguments.length;s+=1){e=s<0||arguments.length<=s?void 0:arguments[s];for(let s=0;s<this.length;s+=1)if("string"==typeof e){const a=t.createElement("div");for(a.innerHTML=e;a.firstChild;)this[s].appendChild(a.firstChild)}else if(e instanceof n)for(let t=0;t<e.length;t+=1)this[s].appendChild(e[t]);else this[s].appendChild(e)}return this},prepend:function(e){const t=a();let s,i;for(s=0;s<this.length;s+=1)if("string"==typeof e){const a=t.createElement("div");for(a.innerHTML=e,i=a.childNodes.length-1;i>=0;i-=1)this[s].insertBefore(a.childNodes[i],this[s].childNodes[0])}else if(e instanceof n)for(i=0;i<e.length;i+=1)this[s].insertBefore(e[i],this[s].childNodes[0]);else this[s].insertBefore(e,this[s].childNodes[0]);return this},next:function(e){return this.length>0?e?this[0].nextElementSibling&&d(this[0].nextElementSibling).is(e)?d([this[0].nextElementSibling]):d([]):this[0].nextElementSibling?d([this[0].nextElementSibling]):d([]):d([])},nextAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.nextElementSibling;){const a=s.nextElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},prev:function(e){if(this.length>0){const t=this[0];return e?t.previousElementSibling&&d(t.previousElementSibling).is(e)?d([t.previousElementSibling]):d([]):t.previousElementSibling?d([t.previousElementSibling]):d([])}return d([])},prevAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.previousElementSibling;){const a=s.previousElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},parent:function(e){const t=[];for(let s=0;s<this.length;s+=1)null!==this[s].parentNode&&(e?d(this[s].parentNode).is(e)&&t.push(this[s].parentNode):t.push(this[s].parentNode));return d(t)},parents:function(e){const t=[];for(let s=0;s<this.length;s+=1){let a=this[s].parentNode;for(;a;)e?d(a).is(e)&&t.push(a):t.push(a),a=a.parentNode}return d(t)},closest:function(e){let t=this;return void 0===e?d([]):(t.is(e)||(t=t.parents(e).eq(0)),t)},find:function(e){const t=[];for(let s=0;s<this.length;s+=1){const a=this[s].querySelectorAll(e);for(let e=0;e<a.length;e+=1)t.push(a[e])}return d(t)},children:function(e){const t=[];for(let s=0;s<this.length;s+=1){const a=this[s].children;for(let s=0;s<a.length;s+=1)e&&!d(a[s]).is(e)||t.push(a[s])}return d(t)},filter:function(e){return d(o(this,e))},remove:function(){for(let e=0;e<this.length;e+=1)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this}};function p(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function u(){return Date.now()}function h(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function m(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function f(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function g(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let s=1;s<arguments.length;s+=1){const a=s<0||arguments.length<=s?void 0:arguments[s];if(null!=a&&!f(a)){const s=Object.keys(Object(a)).filter((e=>t.indexOf(e)<0));for(let t=0,i=s.length;t<i;t+=1){const i=s[t],r=Object.getOwnPropertyDescriptor(a,i);void 0!==r&&r.enumerable&&(m(e[i])&&m(a[i])?a[i].__swiper__?e[i]=a[i]:g(e[i],a[i]):!m(e[i])&&m(a[i])?(e[i]={},a[i].__swiper__?e[i]=a[i]:g(e[i],a[i])):e[i]=a[i])}}}return e}function v(e,t,s){e.style.setProperty(t,s)}function w(e){let{swiper:t,targetPosition:s,side:a}=e;const i=r(),n=-t.translate;let l,o=null;const d=t.params.speed;t.wrapperEl.style.scrollSnapType="none",i.cancelAnimationFrame(t.cssModeFrameID);const c=s>n?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}let b,x,y;function E(){return b||(b=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch),passiveListener:function(){let t=!1;try{const s=Object.defineProperty({},"passive",{get(){t=!0}});e.addEventListener("testPassiveListener",null,s)}catch(e){}return t}(),gestures:"ongesturestart"in e}}()),b}function C(e){return void 0===e&&(e={}),x||(x=function(e){let{userAgent:t}=void 0===e?{}:e;const s=E(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),h=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),m="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!m&&(l.os="android",l.android=!0),(p||h||u)&&(l.os="ios",l.ios=!0),l}(e)),x}function T(){return y||(y=function(){const e=r();return{isSafari:function(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),y}Object.keys(c).forEach((e=>{Object.defineProperty(d.fn,e,{value:c[e],writable:!0})}));var $={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n<s;n++)r[n]=arguments[n];t.apply(a,r)}return i.__emitterProxy=t,a.on(e,i,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const a=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[a](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n<i;n++)r[n]=arguments[n];"string"==typeof r[0]||Array.isArray(r[0])?(t=r[0],s=r.slice(1,r.length),a=e):(t=r[0].events,s=r[0].data,a=r[0].context||e),s.unshift(a);return(Array.isArray(t)?t:t.split(" ")).forEach((t=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};var S={updateSize:function(){const e=this;let t,s;const a=e.$el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:a[0].clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:a[0].clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(a.css("padding-left")||0,10)-parseInt(a.css("padding-right")||0,10),s=s-parseInt(a.css("padding-top")||0,10)-parseInt(a.css("padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t){return e.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}function s(e,s){return parseFloat(e.getPropertyValue(t(s))||0)}const a=e.params,{$wrapperEl:i,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&a.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=i.children(`.${e.params.slideClass}`),p=o?e.virtual.slides.length:c.length;let u=[];const h=[],m=[];let f=a.slidesOffsetBefore;"function"==typeof f&&(f=a.slidesOffsetBefore.call(e));let g=a.slidesOffsetAfter;"function"==typeof g&&(g=a.slidesOffsetAfter.call(e));const w=e.snapGrid.length,b=e.slidesGrid.length;let x=a.spaceBetween,y=-f,E=0,C=0;if(void 0===r)return;"string"==typeof x&&x.indexOf("%")>=0&&(x=parseFloat(x.replace("%",""))/100*r),e.virtualSize=-x,n?c.css({marginLeft:"",marginBottom:"",marginTop:""}):c.css({marginRight:"",marginBottom:"",marginTop:""}),a.centeredSlides&&a.cssMode&&(v(e.wrapperEl,"--swiper-centered-offset-before",""),v(e.wrapperEl,"--swiper-centered-offset-after",""));const T=a.grid&&a.grid.rows>1&&e.grid;let $;T&&e.grid.initSlides(p);const S="auto"===a.slidesPerView&&a.breakpoints&&Object.keys(a.breakpoints).filter((e=>void 0!==a.breakpoints[e].slidesPerView)).length>0;for(let i=0;i<p;i+=1){$=0;const n=c.eq(i);if(T&&e.grid.updateSlide(i,n,p,t),"none"!==n.css("display")){if("auto"===a.slidesPerView){S&&(c[i].style[t("width")]="");const r=getComputedStyle(n[0]),l=n[0].style.transform,o=n[0].style.webkitTransform;if(l&&(n[0].style.transform="none"),o&&(n[0].style.webkitTransform="none"),a.roundLengths)$=e.isHorizontal()?n.outerWidth(!0):n.outerHeight(!0);else{const e=s(r,"width"),t=s(r,"padding-left"),a=s(r,"padding-right"),i=s(r,"margin-left"),l=s(r,"margin-right"),o=r.getPropertyValue("box-sizing");if(o&&"border-box"===o)$=e+i+l;else{const{clientWidth:s,offsetWidth:r}=n[0];$=e+t+a+i+l+(r-s)}}l&&(n[0].style.transform=l),o&&(n[0].style.webkitTransform=o),a.roundLengths&&($=Math.floor($))}else $=(r-(a.slidesPerView-1)*x)/a.slidesPerView,a.roundLengths&&($=Math.floor($)),c[i]&&(c[i].style[t("width")]=`${$}px`);c[i]&&(c[i].swiperSlideSize=$),m.push($),a.centeredSlides?(y=y+$/2+E/2+x,0===E&&0!==i&&(y=y-r/2-x),0===i&&(y=y-r/2-x),Math.abs(y)<.001&&(y=0),a.roundLengths&&(y=Math.floor(y)),C%a.slidesPerGroup==0&&u.push(y),h.push(y)):(a.roundLengths&&(y=Math.floor(y)),(C-Math.min(e.params.slidesPerGroupSkip,C))%e.params.slidesPerGroup==0&&u.push(y),h.push(y),y=y+$+x),e.virtualSize+=$+x,E=$,C+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+g,n&&l&&("slide"===a.effect||"coverflow"===a.effect)&&i.css({width:`${e.virtualSize+a.spaceBetween}px`}),a.setWrapperSize&&i.css({[t("width")]:`${e.virtualSize+a.spaceBetween}px`}),T&&e.grid.updateWrapperSize($,u,t),!a.centeredSlides){const t=[];for(let s=0;s<u.length;s+=1){let i=u[s];a.roundLengths&&(i=Math.floor(i)),u[s]<=e.virtualSize-r&&t.push(i)}u=t,Math.floor(e.virtualSize-r)-Math.floor(u[u.length-1])>1&&u.push(e.virtualSize-r)}if(0===u.length&&(u=[0]),0!==a.spaceBetween){const s=e.isHorizontal()&&n?"marginLeft":t("marginRight");c.filter(((e,t)=>!a.cssMode||t!==c.length-1)).css({[s]:`${x}px`})}if(a.centeredSlides&&a.centeredSlidesBounds){let e=0;m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween;const t=e-r;u=u.map((e=>e<0?-f:e>t?t+g:e))}if(a.centerInsufficientSlides){let e=0;if(m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween,e<r){const t=(r-e)/2;u.forEach(((e,s)=>{u[s]=e-t})),h.forEach(((e,s)=>{h[s]=e+t}))}}if(Object.assign(e,{slides:c,snapGrid:u,slidesGrid:h,slidesSizesGrid:m}),a.centeredSlides&&a.cssMode&&!a.centeredSlidesBounds){v(e.wrapperEl,"--swiper-centered-offset-before",-u[0]+"px"),v(e.wrapperEl,"--swiper-centered-offset-after",e.size/2-m[m.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),u.length!==w&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==b&&e.emit("slidesGridLengthChange"),a.watchSlidesProgress&&e.updateSlidesOffset(),!(o||a.cssMode||"slide"!==a.effect&&"fade"!==a.effect)){const t=`${a.containerModifierClass}backface-hidden`,s=e.$el.hasClass(t);p<=a.maxBackfaceHiddenSlides?s||e.$el.addClass(t):s&&e.$el.removeClass(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides.filter((t=>parseInt(t.getAttribute("data-swiper-slide-index"),10)===e))[0]:t.slides.eq(e)[0];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||d([])).each((e=>{s.push(e)}));else for(i=0;i<Math.ceil(t.params.slidesPerView);i+=1){const e=t.activeIndex+i;if(e>t.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;i<s.length;i+=1)if(void 0!==s[i]){const e=s[i].offsetHeight;r=e>r?e:r}(r||0===r)&&t.$wrapperEl.css("height",`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides;for(let s=0;s<t.length;s+=1)t[s].swiperSlideOffset=e.isHorizontal()?t[s].offsetLeft:t[s].offsetTop},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const t=this,s=t.params,{slides:a,rtlTranslate:i,snapGrid:r}=t;if(0===a.length)return;void 0===a[0].swiperSlideOffset&&t.updateSlidesOffset();let n=-e;i&&(n=e),a.removeClass(s.slideVisibleClass),t.visibleSlidesIndexes=[],t.visibleSlides=[];for(let e=0;e<a.length;e+=1){const l=a[e];let o=l.swiperSlideOffset;s.cssMode&&s.centeredSlides&&(o-=a[0].swiperSlideOffset);const d=(n+(s.centeredSlides?t.minTranslate():0)-o)/(l.swiperSlideSize+s.spaceBetween),c=(n-r[0]+(s.centeredSlides?t.minTranslate():0)-o)/(l.swiperSlideSize+s.spaceBetween),p=-(n-o),u=p+t.slidesSizesGrid[e];(p>=0&&p<t.size-1||u>1&&u<=t.size||p<=0&&u>=t.size)&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(e),a.eq(e).addClass(s.slideVisibleClass)),l.progress=i?-d:d,l.originalProgress=i?-c:c}t.visibleSlides=d(t.visibleSlides)},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n}=t;const l=r,o=n;0===a?(i=0,r=!0,n=!0):(i=(e-t.minTranslate())/a,r=i<=0,n=i>=1),Object.assign(t,{progress:i,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!l&&t.emit("reachBeginning toEdge"),n&&!o&&t.emit("reachEnd toEdge"),(l&&!r||o&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,$wrapperEl:a,activeIndex:i,realIndex:r}=e,n=e.virtual&&s.virtual.enabled;let l;t.removeClass(`${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`),l=n?e.$wrapperEl.find(`.${s.slideClass}[data-swiper-slide-index="${i}"]`):t.eq(i),l.addClass(s.slideActiveClass),s.loop&&(l.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass));let o=l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);s.loop&&0===o.length&&(o=t.eq(0),o.addClass(s.slideNextClass));let d=l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);s.loop&&0===d.length&&(d=t.eq(-1),d.addClass(s.slidePrevClass)),s.loop&&(o.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass),d.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{slidesGrid:a,snapGrid:i,params:r,activeIndex:n,realIndex:l,snapIndex:o}=t;let d,c=e;if(void 0===c){for(let e=0;e<a.length;e+=1)void 0!==a[e+1]?s>=a[e]&&s<a[e+1]-(a[e+1]-a[e])/2?c=e:s>=a[e]&&s<a[e+1]&&(c=e+1):s>=a[e]&&(c=e);r.normalizeSlideIndex&&(c<0||void 0===c)&&(c=0)}if(i.indexOf(s)>=0)d=i.indexOf(s);else{const e=Math.min(r.slidesPerGroupSkip,c);d=e+Math.floor((c-e)/r.slidesPerGroup)}if(d>=i.length&&(d=i.length-1),c===n)return void(d!==o&&(t.snapIndex=d,t.emit("snapIndexChange")));const p=parseInt(t.slides.eq(c).attr("data-swiper-slide-index")||c,10);Object.assign(t,{snapIndex:d,realIndex:p,previousIndex:n,activeIndex:c}),t.emit("activeIndexChange"),t.emit("snapIndexChange"),l!==p&&t.emit("realIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&t.emit("slideChange")},updateClickedSlide:function(e){const t=this,s=t.params,a=d(e).closest(`.${s.slideClass}`)[0];let i,r=!1;if(a)for(let e=0;e<t.slides.length;e+=1)if(t.slides[e]===a){r=!0,i=e;break}if(!a||!r)return t.clickedSlide=void 0,void(t.clickedIndex=void 0);t.clickedSlide=a,t.virtual&&t.params.virtual.enabled?t.clickedIndex=parseInt(d(a).attr("data-swiper-slide-index"),10):t.clickedIndex=i,s.slideToClickedSlide&&void 0!==t.clickedIndex&&t.clickedIndex!==t.activeIndex&&t.slideToClickedSlide()}};var M={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:t,rtlTranslate:s,translate:a,$wrapperEl:i}=this;if(t.virtualTranslate)return s?-a:a;if(t.cssMode)return a;let r=h(i[0],e);return s&&(r=-r),r||0},setTranslate:function(e,t){const s=this,{rtlTranslate:a,params:i,$wrapperEl:r,wrapperEl:n,progress:l}=s;let o,d=0,c=0;s.isHorizontal()?d=a?-e:e:c=e,i.roundLengths&&(d=Math.floor(d),c=Math.floor(c)),i.cssMode?n[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-d:-c:i.virtualTranslate||r.transform(`translate3d(${d}px, ${c}px, 0px)`),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?d:c;const p=s.maxTranslate()-s.minTranslate();o=0===p?0:(e-s.minTranslate())/p,o!==l&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,s,a,i){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),void 0===a&&(a=!0);const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let c;if(c=a&&e>o?o:a&&e<d?d:e,r.updateProgress(c),n.cssMode){const e=r.isHorizontal();if(0===t)l[e?"scrollLeft":"scrollTop"]=-c;else{if(!r.support.smoothScroll)return w({swiper:r,targetPosition:-c,side:e?"left":"top"}),!0;l.scrollTo({[e?"left":"top"]:-c,behavior:"smooth"})}return!0}return 0===t?(r.setTransition(0),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,s&&r.emit("transitionEnd"))}),r.$wrapperEl[0].addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onTranslateToWrapperTransitionEnd))),!0}};function P(e){let{swiper:t,runCallbacks:s,direction:a,step:i}=e;const{activeIndex:r,previousIndex:n}=t;let l=a;if(l||(l=r>n?"next":r<n?"prev":"reset"),t.emit(`transition${i}`),s&&r!==n){if("reset"===l)return void t.emit(`slideResetTransition${i}`);t.emit(`slideChangeTransition${i}`),"next"===l?t.emit(`slideNextTransition${i}`):t.emit(`slidePrevTransition${i}`)}}var k={slideTo:function(e,t,s,a,i){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"number"!=typeof e&&"string"!=typeof e)throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`);if("string"==typeof e){const t=parseInt(e,10);if(!isFinite(t))throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);e=t}const r=this;let n=e;n<0&&(n=0);const{params:l,snapGrid:o,slidesGrid:d,previousIndex:c,activeIndex:p,rtlTranslate:u,wrapperEl:h,enabled:m}=r;if(r.animating&&l.preventInteractionOnTransition||!m&&!a&&!i)return!1;const f=Math.min(r.params.slidesPerGroupSkip,n);let g=f+Math.floor((n-f)/r.params.slidesPerGroup);g>=o.length&&(g=o.length-1),(p||l.initialSlide||0)===(c||0)&&s&&r.emit("beforeSlideChangeStart");const v=-o[g];if(r.updateProgress(v),l.normalizeSlideIndex)for(let e=0;e<d.length;e+=1){const t=-Math.floor(100*v),s=Math.floor(100*d[e]),a=Math.floor(100*d[e+1]);void 0!==d[e+1]?t>=s&&t<a-(a-s)/2?n=e:t>=s&&t<a&&(n=e+1):t>=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&v<r.translate&&v<r.minTranslate())return!1;if(!r.allowSlidePrev&&v>r.translate&&v>r.maxTranslate()&&(p||0)!==n)return!1}let b;if(b=n>p?"next":n<p?"prev":"reset",u&&-v===r.translate||!u&&v===r.translate)return r.updateActiveIndex(n),l.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==l.effect&&r.setTranslate(v),"reset"!==b&&(r.transitionStart(s,b),r.transitionEnd(s,b)),!1;if(l.cssMode){const e=r.isHorizontal(),s=u?v:-v;if(0===t){const t=r.virtual&&r.params.virtual.enabled;t&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),h[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._swiperImmediateVirtual=!1}))}else{if(!r.support.smoothScroll)return w({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(v),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):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(s,b))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"string"==typeof e){const t=parseInt(e,10);if(!isFinite(t))throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);e=t}const i=this;let r=e;return i.params.loop&&(r+=i.loopedSlides),i.slideTo(r,t,s,a)},slideNext:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{animating:i,enabled:r,params:n}=a;if(!r)return a;let l=n.slidesPerGroup;"auto"===n.slidesPerView&&1===n.slidesPerGroup&&n.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndex<n.slidesPerGroupSkip?1:l;if(n.loop){if(i&&n.loopPreventsSlide)return!1;a.loopFix(),a._clientLeft=a.$wrapperEl[0].clientLeft}return n.rewind&&a.isEnd?a.slideTo(0,e,t,s):a.slideTo(a.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{params:i,animating:r,snapGrid:n,slidesGrid:l,rtlTranslate:o,enabled:d}=a;if(!d)return a;if(i.loop){if(r&&i.loopPreventsSlide)return!1;a.loopFix(),a._clientLeft=a.$wrapperEl[0].clientLeft}function c(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const p=c(o?a.translate:-a.translate),u=n.map((e=>c(e)));let h=n[u.indexOf(p)-1];if(void 0===h&&i.cssMode){let e;n.forEach(((t,s)=>{p>=t&&(e=s)})),void 0!==e&&(h=n[e>0?e-1:e])}let m=0;if(void 0!==h&&(m=l.indexOf(h),m<0&&(m=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(m=m-a.slidesPerViewDynamic("previous",!0)+1,m=Math.max(m,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return a.slideTo(m,e,t,s)},slideReset:function(e,t,s){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this,{params:t,$wrapperEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;if(t.loop){if(e.animating)return;i=parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10),t.centeredSlides?r<e.loopedSlides-a/2||r>e.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var z={loopCreate:function(){const e=this,t=a(),{params:s,$wrapperEl:i}=e,r=i.children().length>0?d(i.children()[0].parentNode):i;r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();let n=r.children(`.${s.slideClass}`);if(s.loopFillGroupWithBlank){const e=s.slidesPerGroup-n.length%s.slidesPerGroup;if(e!==s.slidesPerGroup){for(let a=0;a<e;a+=1){const e=d(t.createElement("div")).addClass(`${s.slideClass} ${s.slideBlankClass}`);r.append(e)}n=r.children(`.${s.slideClass}`)}}"auto"!==s.slidesPerView||s.loopedSlides||(s.loopedSlides=n.length),e.loopedSlides=Math.ceil(parseFloat(s.loopedSlides||s.slidesPerView,10)),e.loopedSlides+=s.loopAdditionalSlides,e.loopedSlides>n.length&&e.params.loopedSlidesLimit&&(e.loopedSlides=n.length);const l=[],o=[];n.each(((e,t)=>{d(e).attr("data-swiper-slide-index",t)}));for(let t=0;t<e.loopedSlides;t+=1){const e=t-Math.floor(t/n.length)*n.length;o.push(n.eq(e)[0]),l.unshift(n.eq(n.length-e-1)[0])}for(let e=0;e<o.length;e+=1)r.append(d(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass));for(let e=l.length-1;e>=0;e-=1)r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass))},loopFix:function(){const e=this;e.emit("beforeLoopFix");const{activeIndex:t,slides:s,loopedSlides:a,allowSlidePrev:i,allowSlideNext:r,snapGrid:n,rtlTranslate:l}=e;let o;e.allowSlidePrev=!0,e.allowSlideNext=!0;const d=-n[t]-e.getTranslate();if(t<a){o=s.length-3*a+t,o+=a;e.slideTo(o,0,!1,!0)&&0!==d&&e.setTranslate((l?-e.translate:e.translate)-d)}else if(t>=s.length-a){o=-s.length+t+a,o+=a;e.slideTo(o,0,!1,!0)&&0!==d&&e.setTranslate((l?-e.translate:e.translate)-d)}e.allowSlidePrev=i,e.allowSlideNext=r,e.emit("loopFix")},loopDestroy:function(){const{$wrapperEl:e,params:t,slides:s}=this;e.children(`.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`).remove(),s.removeAttr("data-swiper-slide-index")}};function L(e){const t=this,s=a(),i=r(),n=t.touchEventsData,{params:l,touches:o,enabled:c}=t;if(!c)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=e;p.originalEvent&&(p=p.originalEvent);let h=d(p.target);if("wrapper"===l.touchEventsTarget&&!h.closest(t.wrapperEl).length)return;if(n.isTouchEvent="touchstart"===p.type,!n.isTouchEvent&&"which"in p&&3===p.which)return;if(!n.isTouchEvent&&"button"in p&&p.button>0)return;if(n.isTouched&&n.isMoved)return;!!l.noSwipingClass&&""!==l.noSwipingClass&&p.target&&p.target.shadowRoot&&e.path&&e.path[0]&&(h=d(e.path[0]));const m=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!p.target||!p.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(m,h[0]):h.closest(m)[0]))return void(t.allowClick=!0);if(l.swipeHandler&&!h.closest(l.swipeHandler)[0])return;o.currentX="touchstart"===p.type?p.targetTouches[0].pageX:p.pageX,o.currentY="touchstart"===p.type?p.targetTouches[0].pageY:p.pageY;const g=o.currentX,v=o.currentY,w=l.edgeSwipeDetection||l.iOSEdgeSwipeDetection,b=l.edgeSwipeThreshold||l.iOSEdgeSwipeThreshold;if(w&&(g<=b||g>=i.innerWidth-b)){if("prevent"!==w)return;e.preventDefault()}if(Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=g,o.startY=v,n.touchStartTime=u(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1),"touchstart"!==p.type){let e=!0;h.is(n.focusableElements)&&(e=!1,"SELECT"===h[0].nodeName&&(n.isTouched=!1)),s.activeElement&&d(s.activeElement).is(n.focusableElements)&&s.activeElement!==h[0]&&s.activeElement.blur();const a=e&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!a||h[0].isContentEditable||p.preventDefault()}t.params.freeMode&&t.params.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",p)}function O(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:o}=s;if(!o)return;let c=e;if(c.originalEvent&&(c=c.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",c));if(i.isTouchEvent&&"touchmove"!==c.type)return;const p="touchmove"===c.type&&c.targetTouches&&(c.targetTouches[0]||c.changedTouches[0]),h="touchmove"===c.type?p.pageX:c.pageX,m="touchmove"===c.type?p.pageY:c.pageY;if(c.preventedByNestedSwiper)return n.startX=h,void(n.startY=m);if(!s.allowTouchMove)return d(c.target).is(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:h,startY:m,currentX:h,currentY:m}),i.touchStartTime=u()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(m<n.startY&&s.translate<=s.maxTranslate()||m>n.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(h<n.startX&&s.translate<=s.maxTranslate()||h>n.startX&&s.translate>=s.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&c.target===t.activeElement&&d(c.target).is(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);if(i.allowTouchCallbacks&&s.emit("touchMove",c),c.targetTouches&&c.targetTouches.length>1)return;n.currentX=h,n.currentY=m;const f=n.currentX-n.startX,g=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(f**2+g**2)<s.params.threshold)return;if(void 0===i.isScrolling){let e;s.isHorizontal()&&n.currentY===n.startY||s.isVertical()&&n.currentX===n.startX?i.isScrolling=!1:f*f+g*g>=25&&(e=180*Math.atan2(Math.abs(g),Math.abs(f))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",c),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&c.cancelable&&c.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&c.stopPropagation(),i.isMoved||(r.loop&&!r.cssMode&&s.loopFix(),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating&&s.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",c)),s.emit("sliderMove",c),i.isMoved=!0;let v=s.isHorizontal()?f:g;n.diff=v,v*=r.touchRatio,l&&(v=-v),s.swipeDirection=v>0?"prev":"next",i.currentTranslate=v+i.startTranslate;let w=!0,b=r.resistanceRatio;if(r.touchReleaseOnEdges&&(b=0),v>0&&i.currentTranslate>s.minTranslate()?(w=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+v)**b)):v<0&&i.currentTranslate<s.maxTranslate()&&(w=!1,r.resistance&&(i.currentTranslate=s.maxTranslate()+1-(s.maxTranslate()-i.startTranslate-v)**b)),w&&(c.preventedByNestedSwiper=!0),!s.allowSlideNext&&"next"===s.swipeDirection&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!s.allowSlidePrev&&"prev"===s.swipeDirection&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(v)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),s.params.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function I(e){const t=this,s=t.touchEventsData,{params:a,touches:i,rtlTranslate:r,slidesGrid:n,enabled:l}=t;if(!l)return;let o=e;if(o.originalEvent&&(o=o.originalEvent),s.allowTouchCallbacks&&t.emit("touchEnd",o),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&a.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);a.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const d=u(),c=d-s.touchStartTime;if(t.allowClick){const e=o.path||o.composedPath&&o.composedPath();t.updateClickedSlide(e&&e[0]||o.target),t.emit("tap click",o),c<300&&d-s.lastClickTime<300&&t.emit("doubleTap doubleClick",o)}if(s.lastClickTime=u(),p((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===i.diff||s.currentTranslate===s.startTranslate)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=a.followFinger?r?t.translate:-t.translate:-s.currentTranslate,a.cssMode)return;if(t.params.freeMode&&a.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});let m=0,f=t.slidesSizesGrid[0];for(let e=0;e<n.length;e+=e<a.slidesPerGroupSkip?1:a.slidesPerGroup){const t=e<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;void 0!==n[e+t]?h>=n[e]&&h<n[e+t]&&(m=e,f=n[e+t]-n[e]):h>=n[e]&&(m=e,f=n[n.length-1]-n[n.length-2])}let g=null,v=null;a.rewind&&(t.isBeginning?v=t.params.virtual&&t.params.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(g=0));const w=(h-n[m])/f,b=m<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;if(c>a.longSwipesMs){if(!a.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(w>=a.longSwipesRatio?t.slideTo(a.rewind&&t.isEnd?g:m+b):t.slideTo(m)),"prev"===t.swipeDirection&&(w>1-a.longSwipesRatio?t.slideTo(m+b):null!==v&&w<0&&Math.abs(w)>a.longSwipesRatio?t.slideTo(v):t.slideTo(m))}else{if(!a.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(o.target===t.navigation.nextEl||o.target===t.navigation.prevEl)?o.target===t.navigation.nextEl?t.slideTo(m+b):t.slideTo(m):("next"===t.swipeDirection&&t.slideTo(null!==g?g:m+b),"prev"===t.swipeDirection&&t.slideTo(null!==v?v:m))}}function A(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function D(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function G(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}let N=!1;function B(){}const H=(e,t)=>{const s=a(),{params:i,touchEvents:r,el:n,wrapperEl:l,device:o,support:d}=e,c=!!i.nested,p="on"===t?"addEventListener":"removeEventListener",u=t;if(d.touch){const t=!("touchstart"!==r.start||!d.passiveListener||!i.passiveListeners)&&{passive:!0,capture:!1};n[p](r.start,e.onTouchStart,t),n[p](r.move,e.onTouchMove,d.passiveListener?{passive:!1,capture:c}:c),n[p](r.end,e.onTouchEnd,t),r.cancel&&n[p](r.cancel,e.onTouchEnd,t)}else n[p](r.start,e.onTouchStart,!1),s[p](r.move,e.onTouchMove,c),s[p](r.end,e.onTouchEnd,!1);(i.preventClicks||i.preventClicksPropagation)&&n[p]("click",e.onClick,!0),i.cssMode&&l[p]("scroll",e.onScroll),i.updateOnWindowResize?e[u](o.ios||o.android?"resize orientationchange observerUpdate":"resize observerUpdate",A,!0):e[u]("observerUpdate",A,!0)};var X={attachEvents:function(){const e=this,t=a(),{params:s,support:i}=e;e.onTouchStart=L.bind(e),e.onTouchMove=O.bind(e),e.onTouchEnd=I.bind(e),s.cssMode&&(e.onScroll=G.bind(e)),e.onClick=D.bind(e),i.touch&&!N&&(t.addEventListener("touchstart",B),N=!0),H(e,"on")},detachEvents:function(){H(this,"off")}};const Y=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var R={addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,$el:i,device:r,support:n}=e,l=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"pointer-events":!n.touch},{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...l),i.addClass([...t].join(" ")),e.emitContainerClasses()},removeClasses:function(){const{$el:e,classNames:t}=this;e.removeClass(t.join(" ")),this.emitContainerClasses()}};var W={init:!0,direction:"horizontal",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,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,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopedSlidesLimit:!0,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",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,_emitClasses:!1};function j(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(["navigation","pagination","scrollbar"].indexOf(a)>=0&&!0===e[a]&&(e[a]={auto:!0}),a in e&&"enabled"in i?(!0===e[a]&&(e[a]={enabled:!0}),"object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),g(t,s)):g(t,s)):g(t,s)}}const q={eventsEmitter:$,update:S,translate:M,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||s.$wrapperEl.transition(e),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),P({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),P({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:k,loop:z,grabCursor:{setGrabCursor:function(e){const t=this;if(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;s.style.cursor="move",s.style.cursor=e?"grabbing":"grab"},unsetGrabCursor:function(){const e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="")}},events:X,breakpoints:{setBreakpoint:function(){const e=this,{activeIndex:t,initialized:s,loopedSlides:a=0,params:i,$el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=e.getBreakpoint(n,e.params.breakpointsBase,e.el);if(!l||e.currentBreakpoint===l)return;const o=(l in n?n[l]:void 0)||e.originalParams,d=Y(e,i),c=Y(e,o),p=i.enabled;d&&!c?(r.removeClass(`${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!d&&c&&(r.addClass(`${i.containerModifierClass}grid`),(o.grid.fill&&"column"===o.grid.fill||!o.grid.fill&&"column"===i.grid.fill)&&r.addClass(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach((t=>{const s=i[t]&&i[t].enabled,a=o[t]&&o[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const u=o.direction&&o.direction!==i.direction,h=i.loop&&(o.slidesPerView!==i.slidesPerView||u);u&&s&&e.changeDirection(),g(e.params,o);const m=e.params.enabled;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),p&&!m?e.disable():!p&&m&&e.enable(),e.currentBreakpoint=l,e.emit("_beforeBreakpoint",o),h&&s&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-a+e.loopedSlides,0,!1)),e.emit("breakpoint",o)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;e<l.length;e+=1){const{point:r,value:n}=l[e];"window"===t?i.matchMedia(`(min-width: ${n}px)`).matches&&(a=r):n<=s.clientWidth&&(a=r)}return a||"max"}},checkOverflow:{checkOverflow:function(){const e=this,{isLocked:t,params:s}=e,{slidesOffsetBefore:a}=s;if(a){const t=e.slides.length-1,s=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*a;e.isLocked=e.size>s}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:R,images:{loadImage:function(e,t,s,a,i,n){const l=r();let o;function c(){n&&n()}d(e).parent("picture")[0]||e.complete&&i?c():t?(o=new l.Image,o.onload=c,o.onerror=c,a&&(o.sizes=a),s&&(o.srcset=s),t&&(o.src=t)):c()},preloadImages:function(){const 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(let s=0;s<e.imagesToLoad.length;s+=1){const a=e.imagesToLoad[s];e.loadImage(a,a.currentSrc||a.getAttribute("src"),a.srcset||a.getAttribute("srcset"),a.sizes||a.getAttribute("sizes"),!0,t)}}}},_={};class V{constructor(){let e,t;for(var s=arguments.length,a=new Array(s),i=0;i<s;i++)a[i]=arguments[i];if(1===a.length&&a[0].constructor&&"Object"===Object.prototype.toString.call(a[0]).slice(8,-1)?t=a[0]:[e,t]=a,t||(t={}),t=g({},t),e&&!t.el&&(t.el=e),t.el&&d(t.el).length>1){const e=[];return d(t.el).each((s=>{const a=g({},t,{el:s});e.push(new V(a))})),e}const r=this;r.__swiper__=!0,r.support=E(),r.device=C({userAgent:t.userAgent}),r.browser=T(),r.eventsListeners={},r.eventsAnyListeners=[],r.modules=[...r.__modules__],t.modules&&Array.isArray(t.modules)&&r.modules.push(...t.modules);const n={};r.modules.forEach((e=>{e({swiper:r,extendParams:j(t,n),on:r.on.bind(r),once:r.once.bind(r),off:r.off.bind(r),emit:r.emit.bind(r)})}));const l=g({},W,n);return r.params=g({},l,_,t),r.originalParams=g({},r.params),r.passedParams=g({},t),r.params&&r.params.on&&Object.keys(r.params.on).forEach((e=>{r.on(e,r.params.on[e])})),r.params&&r.params.onAny&&r.onAny(r.params.onAny),r.$=d,Object.assign(r,{enabled:r.params.enabled,el:e,classNames:[],slides:d(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===r.params.direction,isVertical:()=>"vertical"===r.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:r.params.allowSlideNext,allowSlidePrev:r.params.allowSlidePrev,touchEvents:function(){const e=["touchstart","touchmove","touchend","touchcancel"],t=["pointerdown","pointermove","pointerup"];return r.touchEventsTouch={start:e[0],move:e[1],end:e[2],cancel:e[3]},r.touchEventsDesktop={start:t[0],move:t[1],end:t[2]},r.support.touch||!r.params.simulateTouch?r.touchEventsTouch:r.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,focusableElements:r.params.focusableElements,lastClickTime:u(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:r.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),r.emit("_swiper"),r.params.init&&r.init(),r}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.each((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if(s.centeredSlides){let e,t=a[l].swiperSlideSize;for(let s=l+1;s<a.length;s+=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e<a.length;e+=1){(t?i[e]+r[e]-i[l]<n:i[e]-i[l]<n)&&(o+=1)}else for(let e=l-1;e>=0;e-=1){i[l]-i[e]<n&&(o+=1)}return o}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:t,params:s}=e;function a(){const t=e.rtlTranslate?-1*e.translate:e.translate,s=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(s),e.updateActiveIndex(),e.updateSlidesClasses()}let i;s.breakpoints&&e.setBreakpoint(),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode&&e.params.freeMode.enabled?(a(),e.params.autoHeight&&e.updateAutoHeight()):(i=("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),i||a()),s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.$el.removeClass(`${s.params.containerModifierClass}${a}`).addClass(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.each((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.$el.addClass(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.$el.removeClass(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;const s=d(e||t.params.el);if(!(e=s[0]))return!1;e.swiper=t;const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=(()=>{if(e&&e.shadowRoot&&e.shadowRoot.querySelector){const t=d(e.shadowRoot.querySelector(i()));return t.children=e=>s.children(e),t}return s.children?s.children(i()):d(s).children(i())})();if(0===r.length&&t.params.createElements){const e=a().createElement("div");r=d(e),e.className=t.params.wrapperClass,s.append(e),s.children(`.${t.params.slideClass}`).each((e=>{r.append(e)}))}return Object.assign(t,{$el:s,el:e,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0}init(e){const t=this;if(t.initialized)return t;return!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.params.loop?t.slideTo(t.params.initialSlide+t.loopedSlides,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,$el:i,$wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([a.slideVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.$el[0].swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){g(_,e)}static get extendedDefaults(){return _}static get defaults(){return W}static installModule(e){V.prototype.__modules__||(V.prototype.__modules__=[]);const t=V.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>V.installModule(e))),V):(V.installModule(e),V)}}function F(e,t,s,i){const r=a();return e.params.createElements&&Object.keys(i).forEach((a=>{if(!s[a]&&!0===s.auto){let n=e.$el.children(`.${i[a]}`)[0];n||(n=r.createElement("div"),n.className=i[a],e.$el.append(n)),s[a]=n,t[a]=n}})),s}function U(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,".")}`}function K(e){const t=this,{$wrapperEl:s,params:a}=t;if(a.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&s.append(e[t]);else s.append(e);a.loop&&t.loopCreate(),a.observer||t.update()}function Z(e){const t=this,{params:s,$wrapperEl:a,activeIndex:i}=t;s.loop&&t.loopDestroy();let r=i+1;if("object"==typeof e&&"length"in e){for(let t=0;t<e.length;t+=1)e[t]&&a.prepend(e[t]);r=i+e.length}else a.prepend(e);s.loop&&t.loopCreate(),s.observer||t.update(),t.slideTo(r,0,!1)}function Q(e,t){const s=this,{$wrapperEl:a,params:i,activeIndex:r}=s;let n=r;i.loop&&(n-=s.loopedSlides,s.loopDestroy(),s.slides=a.children(`.${i.slideClass}`));const l=s.slides.length;if(e<=0)return void s.prependSlide(t);if(e>=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides.eq(t);e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;e<t.length;e+=1)t[e]&&a.append(t[e]);o=n>e?n+t.length:n}else a.append(t);for(let e=0;e<d.length;e+=1)a.append(d[e]);i.loop&&s.loopCreate(),i.observer||s.update(),i.loop?s.slideTo(o+s.loopedSlides,0,!1):s.slideTo(o,0,!1)}function J(e){const t=this,{params:s,$wrapperEl:a,activeIndex:i}=t;let r=i;s.loop&&(r-=t.loopedSlides,t.loopDestroy(),t.slides=a.children(`.${s.slideClass}`));let n,l=r;if("object"==typeof e&&"length"in e){for(let s=0;s<e.length;s+=1)n=e[s],t.slides[n]&&t.slides.eq(n).remove(),n<l&&(l-=1);l=Math.max(l,0)}else n=e,t.slides[n]&&t.slides.eq(n).remove(),n<l&&(l-=1),l=Math.max(l,0);s.loop&&t.loopCreate(),s.observer||t.update(),s.loop?t.slideTo(l+t.loopedSlides,0,!1):t.slideTo(l,0,!1)}function ee(){const e=this,t=[];for(let s=0;s<e.slides.length;s+=1)t.push(s);e.removeSlide(t)}function te(e){const{effect:t,swiper:s,on:a,setTranslate:i,setTransition:r,overwriteParams:n,perspective:l,recreateShadows:o,getEffectParams:d}=e;let c;a("beforeInit",(()=>{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.each((e=>{s.$(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").remove()})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function se(e,t){return e.transformEl?t.find(e.transformEl).css({"backface-visibility":"hidden","-webkit-backface-visibility":"hidden"}):t}function ae(e){let{swiper:t,duration:s,transformEl:a,allSlides:i}=e;const{slides:r,activeIndex:n,$wrapperEl:l}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a?r.find(a):r:a?r.eq(n).find(a):r.eq(n),e.transitionEnd((()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=["webkitTransitionEnd","transitionend"];for(let t=0;t<e.length;t+=1)l.trigger(e[t])}))}}function ie(e,t,s){const a="swiper-slide-shadow"+(s?`-${s}`:""),i=e.transformEl?t.find(e.transformEl):t;let r=i.children(`.${a}`);return r.length||(r=d(`<div class="swiper-slide-shadow${s?`-${s}`:""}"></div>`),i.append(r)),r}Object.keys(q).forEach((e=>{Object.keys(q[e]).forEach((t=>{V.prototype[t]=q[e][t]}))})),V.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,t){void 0===t&&(t={});const s=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(1===e.length)return void i("observerUpdate",e[0]);const t=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(t):l.setTimeout(t,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}),n.push(s)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=t.$el.parents();for(let t=0;t<e.length;t+=1)o(e[t])}o(t.$el[0],{childList:t.params.observeSlideChildren}),o(t.$wrapperEl[0],{attributes:!1})}})),a("destroy",(()=>{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const re=[function(e){let t,{swiper:s,extendParams:a,on:i,emit:r}=e;function n(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];const i=a.renderSlide?d(a.renderSlide.call(s,e,t)):d(`<div class="${s.params.slideClass}" data-swiper-slide-index="${t}">${e}</div>`);return i.attr("data-swiper-slide-index")||i.attr("data-swiper-slide-index",t),a.cache&&(s.virtual.cache[t]=i),i}function l(e){const{slidesPerView:t,slidesPerGroup:a,centeredSlides:i}=s.params,{addSlidesBefore:l,addSlidesAfter:o}=s.params.virtual,{from:d,to:c,slides:p,slidesGrid:u,offset:h}=s.virtual;s.params.cssMode||s.updateActiveIndex();const m=s.activeIndex||0;let f,g,v;f=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",i?(g=Math.floor(t/2)+a+o,v=Math.floor(t/2)+a+l):(g=t+(a-1)+o,v=a+l);const w=Math.max((m||0)-v,0),b=Math.min((m||0)+g,p.length-1),x=(s.slidesGrid[w]||0)-(s.slidesGrid[0]||0);function y(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),s.lazy&&s.params.lazy.enabled&&s.lazy.load(),r("virtualUpdate")}if(Object.assign(s.virtual,{from:w,to:b,offset:x,slidesGrid:s.slidesGrid}),d===w&&c===b&&!e)return s.slidesGrid!==u&&x!==h&&s.slides.css(f,`${x}px`),s.updateProgress(),void r("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:x,from:w,to:b,slides:function(){const e=[];for(let t=w;t<=b;t+=1)e.push(p[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?y():r("virtualUpdate"));const E=[],C=[];if(e)s.$wrapperEl.find(`.${s.params.slideClass}`).remove();else for(let e=d;e<=c;e+=1)(e<w||e>b)&&s.$wrapperEl.find(`.${s.params.slideClass}[data-swiper-slide-index="${e}"]`).remove();for(let t=0;t<p.length;t+=1)t>=w&&t<=b&&(void 0===c||e?C.push(t):(t>c&&C.push(t),t<d&&E.push(t)));C.forEach((e=>{s.$wrapperEl.append(n(p[e],e))})),E.sort(((e,t)=>t-e)).forEach((e=>{s.$wrapperEl.prepend(n(p[e],e))})),s.$wrapperEl.children(".swiper-slide").css(f,`${x}px`),y()}a({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}}),s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]},i("beforeInit",(()=>{s.params.virtual.enabled&&(s.virtual.slides=s.params.virtual.slides,s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,s.params.initialSlide||l())})),i("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{l()}),100)):l())})),i("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&v(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.push(e[t]);else s.virtual.slides.push(e);l(!0)},prependSlide:function(e){const t=s.activeIndex;let a=t+1,i=1;if(Array.isArray(e)){for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.unshift(e[t]);a=t+e.length,i=e.length}else s.virtual.slides.unshift(e);if(s.params.virtual.cache){const e=s.virtual.cache,t={};Object.keys(e).forEach((s=>{const a=e[s],r=a.attr("data-swiper-slide-index");r&&a.attr("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}l(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.virtual.slides.splice(e[a],1),s.params.virtual.cache&&delete s.virtual.cache[e[a]],e[a]<t&&(t-=1),t=Math.max(t,0);else s.virtual.slides.splice(e,1),s.params.virtual.cache&&delete s.virtual.cache[e],e<t&&(t-=1),t=Math.max(t,0);l(!0),s.slideTo(t,0)},removeAllSlides:function(){s.virtual.slides=[],s.params.virtual.cache&&(s.virtual.cache={}),l(!0),s.slideTo(0,0)},update:l})},function(e){let{swiper:t,extendParams:s,on:i,emit:n}=e;const l=a(),o=r();function c(e){if(!t.enabled)return;const{rtlTranslate:s}=t;let a=e;a.originalEvent&&(a=a.originalEvent);const i=a.keyCode||a.charCode,r=t.params.keyboard.pageUpDown,d=r&&33===i,c=r&&34===i,p=37===i,u=39===i,h=38===i,m=40===i;if(!t.allowSlideNext&&(t.isHorizontal()&&u||t.isVertical()&&m||c))return!1;if(!t.allowSlidePrev&&(t.isHorizontal()&&p||t.isVertical()&&h||d))return!1;if(!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey||l.activeElement&&l.activeElement.nodeName&&("input"===l.activeElement.nodeName.toLowerCase()||"textarea"===l.activeElement.nodeName.toLowerCase()))){if(t.params.keyboard.onlyInViewport&&(d||c||p||u||h||m)){let e=!1;if(t.$el.parents(`.${t.params.slideClass}`).length>0&&0===t.$el.parents(`.${t.params.slideActiveClass}`).length)return;const a=t.$el,i=a[0].clientWidth,r=a[0].clientHeight,n=o.innerWidth,l=o.innerHeight,d=t.$el.offset();s&&(d.left-=t.$el[0].scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t<c.length;t+=1){const s=c[t];if(s[0]>=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||h||m)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||m)&&t.slideNext(),(d||h)&&t.slidePrev()),n("keyPress",i)}}function p(){t.keyboard.enabled||(d(l).on("keydown",c),t.keyboard.enabled=!0)}function u(){t.keyboard.enabled&&(d(l).off("keydown",c),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&p()})),i("destroy",(()=>{t.keyboard.enabled&&u()})),Object.assign(t.keyboard,{enable:p,disable:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let l;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null}}),t.mousewheel={enabled:!1};let o,c=u();const h=[];function m(){t.enabled&&(t.mouseEntered=!0)}function f(){t.enabled&&(t.mouseEntered=!1)}function g(e){return!(t.params.mousewheel.thresholdDelta&&e.delta<t.params.mousewheel.thresholdDelta)&&(!(t.params.mousewheel.thresholdTime&&u()-c<t.params.mousewheel.thresholdTime)&&(e.delta>=6&&u()-c<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),c=(new n.Date).getTime(),!1)))}function v(e){let s=e,a=!0;if(!t.enabled)return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.$el;if("container"!==t.params.mousewheel.eventsTarget&&(n=d(t.params.mousewheel.eventsTarget)),!t.mouseEntered&&!n[0].contains(s.target)&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let c=0;const m=t.rtlTranslate?-1:1,f=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(f.pixelX)>Math.abs(f.pixelY)))return!0;c=-f.pixelX*m}else{if(!(Math.abs(f.pixelY)>Math.abs(f.pixelX)))return!0;c=-f.pixelY}else c=Math.abs(f.pixelX)>Math.abs(f.pixelY)?-f.pixelX*m:-f.pixelY;if(0===c)return!0;r.invert&&(c=-c);let v=t.getTranslate()+c*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:u(),delta:Math.abs(c),direction:Math.sign(c)},a=o&&e.time<o.time+500&&e.delta<=o.delta&&e.direction===o.direction;if(!a){o=void 0,t.params.loop&&t.loopFix();let n=t.getTranslate()+c*r.sensitivity;const d=t.isBeginning,u=t.isEnd;if(n>=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!d&&t.isBeginning||!u&&t.isEnd)&&t.updateSlidesClasses(),t.params.freeMode.sticky){clearTimeout(l),l=void 0,h.length>=15&&h.shift();const s=h.length?h[h.length-1]:void 0,a=h[0];if(h.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))h.splice(0);else if(h.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=c>0?.8:.2;o=e,h.splice(0),l=p((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}l||(l=p((()=>{o=e,h.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),n===t.minTranslate()||n===t.maxTranslate())return!0}}else{const s={time:u(),delta:Math.abs(c),direction:Math.sign(c),raw:e};h.length>=2&&h.shift();const a=h.length?h[h.length-1]:void 0;if(h.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&g(s):g(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function w(e){let s=t.$el;"container"!==t.params.mousewheel.eventsTarget&&(s=d(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",f),s[e]("wheel",v)}function b(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",v),!0):!t.mousewheel.enabled&&(w("on"),t.mousewheel.enabled=!0,!0)}function x(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,v),!0):!!t.mousewheel.enabled&&(w("off"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&x(),t.params.mousewheel.enabled&&b()})),a("destroy",(()=>{t.params.cssMode&&b(),t.mousewheel.enabled&&x()})),Object.assign(t.mousewheel,{enable:b,disable:x})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&(s=d(e),t.params.uniqueNavElements&&"string"==typeof e&&s.length>1&&1===t.$el.find(e).length&&(s=t.$el.find(e))),s}function n(e,s){const a=t.params.navigation;e&&e.length>0&&(e[s?"addClass":"removeClass"](a.disabledClass),e[0]&&"BUTTON"===e[0].tagName&&(e[0].disabled=s),t.params.watchOverflow&&t.enabled&&e[t.isLocked?"addClass":"removeClass"](a.lockClass))}function l(){if(t.params.loop)return;const{$nextEl:e,$prevEl:s}=t.navigation;n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function c(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function p(){const e=t.params.navigation;if(t.params.navigation=F(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;const s=r(e.nextEl),a=r(e.prevEl);s&&s.length>0&&s.on("click",c),a&&a.length>0&&a.on("click",o),Object.assign(t.navigation,{$nextEl:s,nextEl:s&&s[0],$prevEl:a,prevEl:a&&a[0]}),t.enabled||(s&&s.addClass(e.lockClass),a&&a.addClass(e.lockClass))}function u(){const{$nextEl:e,$prevEl:s}=t.navigation;e&&e.length&&(e.off("click",c),e.removeClass(t.params.navigation.disabledClass)),s&&s.length&&(s.off("click",o),s.removeClass(t.params.navigation.disabledClass))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,$nextEl:null,prevEl:null,$prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?h():(p(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{u()})),a("enable disable",(()=>{const{$nextEl:e,$prevEl:s}=t.navigation;e&&e[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),s&&s[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)})),a("click",((e,s)=>{const{$nextEl:a,$prevEl:r}=t.navigation,n=s.target;if(t.params.navigation.hideOnClick&&!d(n).is(r)&&!d(n).is(a)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a?e=a.hasClass(t.params.navigation.hiddenClass):r&&(e=r.hasClass(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),a&&a.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}));const h=()=>{t.$el.addClass(t.params.navigation.navigationDisabledClass),u()};Object.assign(t.navigation,{enable:()=>{t.$el.removeClass(t.params.navigation.navigationDisabledClass),p(),l()},disable:h,update:l,init:p,destroy:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({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:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,$el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||!t.pagination.$el||0===t.pagination.$el.length}function c(e,s){const{bulletActiveClass:a}=t.params.pagination;e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`)}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;const a=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,r=t.pagination.$el;let p;const u=t.params.loop?Math.ceil((a-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(p=Math.ceil((t.activeIndex-t.loopedSlides)/t.params.slidesPerGroup),p>a-1-2*t.loopedSlides&&(p-=a-2*t.loopedSlides),p>u-1&&(p-=u),p<0&&"bullets"!==t.params.paginationType&&(p=u+p)):p=void 0!==t.snapIndex?t.snapIndex:t.activeIndex||0,"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const a=t.pagination.bullets;let i,o,u;if(s.dynamicBullets&&(n=a.eq(0)[t.isHorizontal()?"outerWidth":"outerHeight"](!0),r.css(t.isHorizontal()?"width":"height",n*(s.dynamicMainBullets+4)+"px"),s.dynamicMainBullets>1&&void 0!==t.previousIndex&&(l+=p-(t.previousIndex-t.loopedSlides||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),i=Math.max(p-l,0),o=i+(Math.min(a.length,s.dynamicMainBullets)-1),u=(o+i)/2),a.removeClass(["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`)).join(" ")),r.length>1)a.each((e=>{const t=d(e),a=t.index();a===p&&t.addClass(s.bulletActiveClass),s.dynamicBullets&&(a>=i&&a<=o&&t.addClass(`${s.bulletActiveClass}-main`),a===i&&c(t,"prev"),a===o&&c(t,"next"))}));else{const e=a.eq(p),r=e.index();if(e.addClass(s.bulletActiveClass),s.dynamicBullets){const e=a.eq(i),n=a.eq(o);for(let e=i;e<=o;e+=1)a.eq(e).addClass(`${s.bulletActiveClass}-main`);if(t.params.loop)if(r>=a.length){for(let e=s.dynamicMainBullets;e>=0;e-=1)a.eq(a.length-e).addClass(`${s.bulletActiveClass}-main`);a.eq(a.length-s.dynamicMainBullets-1).addClass(`${s.bulletActiveClass}-prev`)}else c(e,"prev"),c(n,"next");else c(e,"prev"),c(n,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),r=(n*i-n)/2-u*n,l=e?"right":"left";a.css(t.isHorizontal()?l:"top",`${r}px`)}}if("fraction"===s.type&&(r.find(U(s.currentClass)).text(s.formatFractionCurrent(p+1)),r.find(U(s.totalClass)).text(s.formatFractionTotal(u))),"progressbar"===s.type){let e;e=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const a=(p+1)/u;let i=1,n=1;"horizontal"===e?i=a:n=a,r.find(U(s.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${i}) scaleY(${n})`).transition(t.params.speed)}"custom"===s.type&&s.renderCustom?(r.html(s.renderCustom(t,p+1,u)),i("paginationRender",r[0])):i("paginationUpdate",r[0]),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](s.lockClass)}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,a=t.pagination.$el;let r="";if("bullets"===e.type){let i=t.params.loop?Math.ceil((s-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&!t.params.loop&&i>s&&(i=s);for(let s=0;s<i;s+=1)e.renderBullet?r+=e.renderBullet.call(t,s,e.bulletClass):r+=`<${e.bulletElement} class="${e.bulletClass}"></${e.bulletElement}>`;a.html(r),t.pagination.bullets=a.find(U(e.bulletClass))}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):`<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`,a.html(r)),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):`<span class="${e.progressbarFillClass}"></span>`,a.html(r)),"custom"!==e.type&&i("paginationRender",t.pagination.$el[0])}function h(){t.params.pagination=F(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s=d(e.el);0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&s.length>1&&(s=t.$el.find(e.el),s.length>1&&(s=s.filter((e=>d(e).parents(".swiper")[0]===t.el)))),"bullets"===e.type&&e.clickable&&s.addClass(e.clickableClass),s.addClass(e.modifierClass+e.type),s.addClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.addClass(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.addClass(e.progressbarOppositeClass),e.clickable&&s.on("click",U(e.bulletClass),(function(e){e.preventDefault();let s=d(this).index()*t.params.slidesPerGroup;t.params.loop&&(s+=t.loopedSlides),t.slideTo(s)})),Object.assign(t.pagination,{$el:s,el:s[0]}),t.enabled||s.addClass(e.lockClass))}function m(){const e=t.params.pagination;if(o())return;const s=t.pagination.$el;s.removeClass(e.hiddenClass),s.removeClass(e.modifierClass+e.type),s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.pagination.bullets&&t.pagination.bullets.removeClass&&t.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&s.off("click",U(e.bulletClass))}a("init",(()=>{!1===t.params.pagination.enabled?f():(h(),u(),p())})),a("activeIndexChange",(()=>{(t.params.loop||void 0===t.snapIndex)&&p()})),a("snapIndexChange",(()=>{t.params.loop||p()})),a("slidesLengthChange",(()=>{t.params.loop&&(u(),p())})),a("snapGridLengthChange",(()=>{t.params.loop||(u(),p())})),a("destroy",(()=>{m()})),a("enable disable",(()=>{const{$el:e}=t.pagination;e&&e[t.enabled?"removeClass":"addClass"](t.params.pagination.lockClass)})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,{$el:r}=t.pagination;if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!d(a).hasClass(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r.hasClass(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.toggleClass(t.params.pagination.hiddenClass)}}));const f=()=>{t.$el.addClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.addClass(t.params.pagination.paginationDisabledClass),m()};Object.assign(t.pagination,{enable:()=>{t.$el.removeClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.removeClass(t.params.pagination.paginationDisabledClass),h(),u(),p()},disable:f,render:u,update:p,init:h,destroy:m})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const n=a();let l,o,c,u,h=!1,m=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s,progress:a}=t,{$dragEl:i,$el:r}=e,n=t.params.scrollbar;let l=o,d=(c-o)*a;s?(d=-d,d>0?(l=o-d,d=0):-d+o>c&&(l=c+d)):d<0?(l=o+d,d=0):d+o>c&&(l=c-d),t.isHorizontal()?(i.transform(`translate3d(${d}px, 0, 0)`),i[0].style.width=`${l}px`):(i.transform(`translate3d(0px, ${d}px, 0)`),i[0].style.height=`${l}px`),n.hide&&(clearTimeout(m),r[0].style.opacity=1,m=setTimeout((()=>{r[0].style.opacity=0,r.transition(400)}),1e3))}function v(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{$dragEl:s,$el:a}=e;s[0].style.width="",s[0].style.height="",c=t.isHorizontal()?a[0].offsetWidth:a[0].offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),o="auto"===t.params.scrollbar.dragSize?c*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s[0].style.width=`${o}px`:s[0].style.height=`${o}px`,a[0].style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a[0].style.opacity=0),t.params.watchOverflow&&t.enabled&&e.$el[t.isLocked?"addClass":"removeClass"](t.params.scrollbar.lockClass)}function w(e){return t.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}function b(e){const{scrollbar:s,rtlTranslate:a}=t,{$el:i}=s;let r;r=(w(e)-i.offset()[t.isHorizontal()?"left":"top"]-(null!==l?l:o/2))/(c-o),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n,$dragEl:o}=a;h=!0,l=e.target===o[0]||e.target===o?w(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.transition(100),o.transition(100),b(e),clearTimeout(f),n.transition(0),s.hide&&n.css("opacity",1),t.params.cssMode&&t.$wrapperEl.css("scroll-snap-type","none"),r("scrollbarDragStart",e)}function y(e){const{scrollbar:s,$wrapperEl:a}=t,{$el:i,$dragEl:n}=s;h&&(e.preventDefault?e.preventDefault():e.returnValue=!1,b(e),a.transition(0),i.transition(0),n.transition(0),r("scrollbarDragMove",e))}function E(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n}=a;h&&(h=!1,t.params.cssMode&&(t.$wrapperEl.css("scroll-snap-type",""),i.transition("")),s.hide&&(clearTimeout(f),f=p((()=>{n.css("opacity",0),n.transition(400)}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,touchEventsTouch:a,touchEventsDesktop:i,params:r,support:l}=t,o=s.$el;if(!o)return;const d=o[0],c=!(!l.passiveListener||!r.passiveListeners)&&{passive:!1,capture:!1},p=!(!l.passiveListener||!r.passiveListeners)&&{passive:!0,capture:!1};if(!d)return;const u="on"===e?"addEventListener":"removeEventListener";l.touch?(d[u](a.start,x,c),d[u](a.move,y,c),d[u](a.end,E,p)):(d[u](i.start,x,c),n[u](i.move,y,c),n[u](i.end,E,p))}function T(){const{scrollbar:e,$el:s}=t;t.params.scrollbar=F(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i=d(a.el);t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.find(a.el).length&&(i=s.find(a.el)),i.addClass(t.isHorizontal()?a.horizontalClass:a.verticalClass);let r=i.find(`.${t.params.scrollbar.dragClass}`);0===r.length&&(r=d(`<div class="${t.params.scrollbar.dragClass}"></div>`),i.append(r)),Object.assign(e,{$el:i,el:i[0],$dragEl:r,dragEl:r[0]}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)}function $(){const e=t.params.scrollbar,s=t.scrollbar.$el;s&&s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null,$el:null,$dragEl:null},i("init",(()=>{!1===t.params.scrollbar.enabled?S():(T(),v(),g())})),i("update resize observerUpdate lock unlock",(()=>{v()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&t.scrollbar.$dragEl.transition(e)}(s)})),i("enable disable",(()=>{const{$el:e}=t.scrollbar;e&&e[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)})),i("destroy",(()=>{$()}));const S=()=>{t.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),$()};Object.assign(t.scrollbar,{enable:()=>{t.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),T(),v(),g()},disable:S,updateSize:v,setTranslate:g,init:T,destroy:$})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i=(e,s)=>{const{rtl:a}=t,i=d(e),r=a?-1:1,n=i.attr("data-swiper-parallax")||"0";let l=i.attr("data-swiper-parallax-x"),o=i.attr("data-swiper-parallax-y");const c=i.attr("data-swiper-parallax-scale"),p=i.attr("data-swiper-parallax-opacity");if(l||o?(l=l||"0",o=o||"0"):t.isHorizontal()?(l=n,o="0"):(o=n,l="0"),l=l.indexOf("%")>=0?parseInt(l,10)*s*r+"%":l*s*r+"px",o=o.indexOf("%")>=0?parseInt(o,10)*s+"%":o*s+"px",null!=p){const e=p-(p-1)*(1-Math.abs(s));i[0].style.opacity=e}if(null==c)i.transform(`translate3d(${l}, ${o}, 0px)`);else{const e=c-(c-1)*(1-Math.abs(s));i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`)}},r=()=>{const{$el:e,slides:s,progress:a,snapGrid:r}=t;e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,a)})),s.each(((e,s)=>{let n=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(n+=Math.ceil(s/2)-a*(r.length-1)),n=Math.min(Math.max(n,-1),1),d(e).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,n)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&r()})),a("setTranslate",(()=>{t.params.parallax.enabled&&r()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{$el:s}=t;s.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((t=>{const s=d(t);let a=parseInt(s.attr("data-swiper-parallax-duration"),10)||e;0===e&&(a=0),s.transition(a)}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,o,c,p=1,u=!1;const m={$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},f={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:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let v=1;function w(e){if(e.targetTouches.length<2)return 1;const t=e.targetTouches[0].pageX,s=e.targetTouches[0].pageY,a=e.targetTouches[1].pageX,i=e.targetTouches[1].pageY;return Math.sqrt((a-t)**2+(i-s)**2)}function b(e){const s=t.support,a=t.params.zoom;if(o=!1,c=!1,!s.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;o=!0,m.scaleStart=w(e)}m.$slideEl&&m.$slideEl.length||(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`),0===m.$slideEl.length&&(m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`),m.maxRatio=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,0!==m.$imageWrapEl.length)?(m.$imageEl&&m.$imageEl.transition(0),u=!0):m.$imageEl=void 0}function x(e){const s=t.support,a=t.params.zoom,i=t.zoom;if(!s.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;c=!0,m.scaleMove=w(e)}m.$imageEl&&0!==m.$imageEl.length?(s.gestures?i.scale=e.scale*p:i.scale=m.scaleMove/m.scaleStart*p,i.scale>m.maxRatio&&(i.scale=m.maxRatio-1+(i.scale-m.maxRatio+1)**.5),i.scale<a.minRatio&&(i.scale=a.minRatio+1-(a.minRatio-i.scale+1)**.5),m.$imageEl.transform(`translate3d(0,0,0) scale(${i.scale})`)):"gesturechange"===e.type&&b(e)}function y(e){const s=t.device,a=t.support,i=t.params.zoom,r=t.zoom;if(!a.gestures){if(!o||!c)return;if("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2&&!s.android)return;o=!1,c=!1}m.$imageEl&&0!==m.$imageEl.length&&(r.scale=Math.max(Math.min(r.scale,m.maxRatio),i.minRatio),m.$imageEl.transition(t.params.speed).transform(`translate3d(0,0,0) scale(${r.scale})`),p=r.scale,u=!1,1===r.scale&&(m.$slideEl=void 0))}function E(e){const s=t.zoom;if(!m.$imageEl||0===m.$imageEl.length)return;if(t.allowClick=!1,!f.isTouched||!m.$slideEl)return;f.isMoved||(f.width=m.$imageEl[0].offsetWidth,f.height=m.$imageEl[0].offsetHeight,f.startX=h(m.$imageWrapEl[0],"x")||0,f.startY=h(m.$imageWrapEl[0],"y")||0,m.slideWidth=m.$slideEl[0].offsetWidth,m.slideHeight=m.$slideEl[0].offsetHeight,m.$imageWrapEl.transition(0));const a=f.width*s.scale,i=f.height*s.scale;if(!(a<m.slideWidth&&i<m.slideHeight)){if(f.minX=Math.min(m.slideWidth/2-a/2,0),f.maxX=-f.minX,f.minY=Math.min(m.slideHeight/2-i/2,0),f.maxY=-f.minY,f.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,f.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!f.isMoved&&!u){if(t.isHorizontal()&&(Math.floor(f.minX)===Math.floor(f.startX)&&f.touchesCurrent.x<f.touchesStart.x||Math.floor(f.maxX)===Math.floor(f.startX)&&f.touchesCurrent.x>f.touchesStart.x))return void(f.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(f.minY)===Math.floor(f.startY)&&f.touchesCurrent.y<f.touchesStart.y||Math.floor(f.maxY)===Math.floor(f.startY)&&f.touchesCurrent.y>f.touchesStart.y))return void(f.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),f.isMoved=!0,f.currentX=f.touchesCurrent.x-f.touchesStart.x+f.startX,f.currentY=f.touchesCurrent.y-f.touchesStart.y+f.startY,f.currentX<f.minX&&(f.currentX=f.minX+1-(f.minX-f.currentX+1)**.8),f.currentX>f.maxX&&(f.currentX=f.maxX-1+(f.currentX-f.maxX+1)**.8),f.currentY<f.minY&&(f.currentY=f.minY+1-(f.minY-f.currentY+1)**.8),f.currentY>f.maxY&&(f.currentY=f.maxY-1+(f.currentY-f.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=f.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=f.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(f.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(f.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(f.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(f.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=f.touchesCurrent.x,g.prevPositionY=f.touchesCurrent.y,g.prevTime=Date.now(),m.$imageWrapEl.transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}}function C(){const e=t.zoom;m.$slideEl&&t.previousIndex!==t.activeIndex&&(m.$imageEl&&m.$imageEl.transform("translate3d(0,0,0) scale(1)"),m.$imageWrapEl&&m.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,p=1,m.$slideEl=void 0,m.$imageEl=void 0,m.$imageWrapEl=void 0)}function T(e){const s=t.zoom,a=t.params.zoom;if(m.$slideEl||(e&&e.target&&(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`)),m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`)),!m.$imageEl||0===m.$imageEl.length||!m.$imageWrapEl||0===m.$imageWrapEl.length)return;let i,r,l,o,c,u,h,g,v,w,b,x,y,E,C,T,$,S;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.$slideEl.addClass(`${a.zoomedSlideClass}`),void 0===f.touchesStart.x&&e?(i="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,r="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(i=f.touchesStart.x,r=f.touchesStart.y),s.scale=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,p=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,e?($=m.$slideEl[0].offsetWidth,S=m.$slideEl[0].offsetHeight,l=m.$slideEl.offset().left+n.scrollX,o=m.$slideEl.offset().top+n.scrollY,c=l+$/2-i,u=o+S/2-r,v=m.$imageEl[0].offsetWidth,w=m.$imageEl[0].offsetHeight,b=v*s.scale,x=w*s.scale,y=Math.min($/2-b/2,0),E=Math.min(S/2-x/2,0),C=-y,T=-E,h=c*s.scale,g=u*s.scale,h<y&&(h=y),h>C&&(h=C),g<E&&(g=E),g>T&&(g=T)):(h=0,g=0),m.$imageWrapEl.transition(300).transform(`translate3d(${h}px, ${g}px,0)`),m.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${s.scale})`)}function $(){const e=t.zoom,s=t.params.zoom;m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex),m.$imageEl=m.$slideEl.find(`.${s.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${s.containerClass}`)),m.$imageEl&&0!==m.$imageEl.length&&m.$imageWrapEl&&0!==m.$imageWrapEl.length&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,p=1,m.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),m.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),m.$slideEl.removeClass(`${s.zoomedSlideClass}`),m.$slideEl=void 0)}function S(e){const s=t.zoom;s.scale&&1!==s.scale?$():T(e)}function M(){const e=t.support;return{passiveListener:!("touchstart"!==t.touchEvents.start||!e.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1},activeListenerWithCapture:!e.passiveListener||{passive:!1,capture:!0}}}function P(){return`.${t.params.slideClass}`}function k(e){const{passiveListener:s}=M(),a=P();t.$wrapperEl[e]("gesturestart",a,b,s),t.$wrapperEl[e]("gesturechange",a,x,s),t.$wrapperEl[e]("gestureend",a,y,s)}function z(){l||(l=!0,k("on"))}function L(){l&&(l=!1,k("off"))}function O(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const s=t.support,{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.on(t.touchEvents.start,z,a),t.$wrapperEl.on(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.on(t.touchEvents.start,r,b,a),t.$wrapperEl.on(t.touchEvents.move,r,x,i),t.$wrapperEl.on(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.on(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.on(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}function I(){const e=t.zoom;if(!e.enabled)return;const s=t.support;e.enabled=!1;const{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.off(t.touchEvents.start,z,a),t.$wrapperEl.off(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.off(t.touchEvents.start,r,b,a),t.$wrapperEl.off(t.touchEvents.move,r,x,i),t.$wrapperEl.off(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.off(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.off(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}Object.defineProperty(t.zoom,"scale",{get:()=>v,set(e){if(v!==e){const t=m.$imageEl?m.$imageEl[0]:void 0,s=m.$slideEl?m.$slideEl[0]:void 0;i("zoomChange",e,t,s)}v=e}}),a("init",(()=>{t.params.zoom.enabled&&O()})),a("destroy",(()=>{I()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;m.$imageEl&&0!==m.$imageEl.length&&(f.isTouched||(s.android&&e.cancelable&&e.preventDefault(),f.isTouched=!0,f.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,f.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.$imageEl||0===m.$imageEl.length)return;if(!f.isTouched||!f.isMoved)return f.isTouched=!1,void(f.isMoved=!1);f.isTouched=!1,f.isMoved=!1;let s=300,a=300;const i=g.x*s,r=f.currentX+i,n=g.y*a,l=f.currentY+n;0!==g.x&&(s=Math.abs((r-f.currentX)/g.x)),0!==g.y&&(a=Math.abs((l-f.currentY)/g.y));const o=Math.max(s,a);f.currentX=r,f.currentY=l;const d=f.width*e.scale,c=f.height*e.scale;f.minX=Math.min(m.slideWidth/2-d/2,0),f.maxX=-f.minX,f.minY=Math.min(m.slideHeight/2-c/2,0),f.maxY=-f.minY,f.currentX=Math.max(Math.min(f.currentX,f.maxX),f.minX),f.currentY=Math.max(Math.min(f.currentY,f.maxY),f.minY),m.$imageWrapEl.transition(o).transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&S(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&C()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&C()})),Object.assign(t.zoom,{enable:O,disable:I,in:T,out:$,toggle:S})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;s({lazy:{checkInView:!1,enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,scrollingElement:"",elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}}),t.lazy={};let n=!1,l=!1;function o(e,s){void 0===s&&(s=!0);const a=t.params.lazy;if(void 0===e)return;if(0===t.slides.length)return;const r=t.virtual&&t.params.virtual.enabled?t.$wrapperEl.children(`.${t.params.slideClass}[data-swiper-slide-index="${e}"]`):t.slides.eq(e),n=r.find(`.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})`);!r.hasClass(a.elementClass)||r.hasClass(a.loadedClass)||r.hasClass(a.loadingClass)||n.push(r[0]),0!==n.length&&n.each((e=>{const n=d(e);n.addClass(a.loadingClass);const l=n.attr("data-background"),c=n.attr("data-src"),p=n.attr("data-srcset"),u=n.attr("data-sizes"),h=n.parent("picture");t.loadImage(n[0],c||l,p,u,!1,(()=>{if(null!=t&&t&&(!t||t.params)&&!t.destroyed){if(l?(n.css("background-image",`url("${l}")`),n.removeAttr("data-background")):(p&&(n.attr("srcset",p),n.removeAttr("data-srcset")),u&&(n.attr("sizes",u),n.removeAttr("data-sizes")),h.length&&h.children("source").each((e=>{const t=d(e);t.attr("data-srcset")&&(t.attr("srcset",t.attr("data-srcset")),t.removeAttr("data-srcset"))})),c&&(n.attr("src",c),n.removeAttr("data-src"))),n.addClass(a.loadedClass).removeClass(a.loadingClass),r.find(`.${a.preloaderClass}`).remove(),t.params.loop&&s){const e=r.attr("data-swiper-slide-index");if(r.hasClass(t.params.slideDuplicateClass)){o(t.$wrapperEl.children(`[data-swiper-slide-index="${e}"]:not(.${t.params.slideDuplicateClass})`).index(),!1)}else{o(t.$wrapperEl.children(`.${t.params.slideDuplicateClass}[data-swiper-slide-index="${e}"]`).index(),!1)}}i("lazyImageReady",r[0],n[0]),t.params.autoHeight&&t.updateAutoHeight()}})),i("lazyImageLoad",r[0],n[0])}))}function c(){const{$wrapperEl:e,params:s,slides:a,activeIndex:i}=t,r=t.virtual&&s.virtual.enabled,n=s.lazy;let c=s.slidesPerView;function p(t){if(r){if(e.children(`.${s.slideClass}[data-swiper-slide-index="${t}"]`).length)return!0}else if(a[t])return!0;return!1}function u(e){return r?d(e).attr("data-swiper-slide-index"):d(e).index()}if("auto"===c&&(c=0),l||(l=!0),t.params.watchSlidesProgress)e.children(`.${s.slideVisibleClass}`).each((e=>{o(r?d(e).attr("data-swiper-slide-index"):d(e).index())}));else if(c>1)for(let e=i;e<i+c;e+=1)p(e)&&o(e);else o(i);if(n.loadPrevNext)if(c>1||n.loadPrevNextAmount&&n.loadPrevNextAmount>1){const e=n.loadPrevNextAmount,t=Math.ceil(c),s=Math.min(i+t+Math.max(e,t),a.length),r=Math.max(i-Math.max(t,e),0);for(let e=i+t;e<s;e+=1)p(e)&&o(e);for(let e=r;e<i;e+=1)p(e)&&o(e)}else{const t=e.children(`.${s.slideNextClass}`);t.length>0&&o(u(t));const a=e.children(`.${s.slidePrevClass}`);a.length>0&&o(u(a))}}function p(){const e=r();if(!t||t.destroyed)return;const s=t.params.lazy.scrollingElement?d(t.params.lazy.scrollingElement):d(e),a=s[0]===e,i=a?e.innerWidth:s[0].offsetWidth,l=a?e.innerHeight:s[0].offsetHeight,o=t.$el.offset(),{rtlTranslate:u}=t;let h=!1;u&&(o.left-=t.$el[0].scrollLeft);const m=[[o.left,o.top],[o.left+t.width,o.top],[o.left,o.top+t.height],[o.left+t.width,o.top+t.height]];for(let e=0;e<m.length;e+=1){const t=m[e];if(t[0]>=0&&t[0]<=i&&t[1]>=0&&t[1]<=l){if(0===t[0]&&0===t[1])continue;h=!0}}const f=!("touchstart"!==t.touchEvents.start||!t.support.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1};h?(c(),s.off("scroll",p,f)):n||(n=!0,s.on("scroll",p,f))}a("beforeInit",(()=>{t.params.lazy.enabled&&t.params.preloadImages&&(t.params.preloadImages=!1)})),a("init",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("scroll",(()=>{t.params.freeMode&&t.params.freeMode.enabled&&!t.params.freeMode.sticky&&c()})),a("scrollbarDragMove resize _freeModeNoMomentumRelease",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("transitionStart",(()=>{t.params.lazy.enabled&&(t.params.lazy.loadOnTransitionStart||!t.params.lazy.loadOnTransitionStart&&!l)&&(t.params.lazy.checkInView?p():c())})),a("transitionEnd",(()=>{t.params.lazy.enabled&&!t.params.lazy.loadOnTransitionStart&&(t.params.lazy.checkInView?p():c())})),a("slideChange",(()=>{const{lazy:e,cssMode:s,watchSlidesProgress:a,touchReleaseOnEdges:i,resistanceRatio:r}=t.params;e.enabled&&(s||a&&(i||0===r))&&c()})),a("destroy",(()=>{t.$el&&t.$el.find(`.${t.params.lazy.loadingClass}`).removeClass(t.params.lazy.loadingClass)})),Object.assign(t.lazy,{load:c,loadInSlide:o})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline||(t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid))}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e<a.length;e+=1)a[e]!==s&&a[e]instanceof l&&o(a[e]);else a instanceof l&&s!==a&&o(a)},setTransition:function(e,s){const a=t.constructor,i=t.controller.control;let r;function n(s){s.setTransition(e,t),0!==e&&(s.transitionStart(),s.params.autoHeight&&p((()=>{s.updateAutoHeight()})),s.$wrapperEl.transitionEnd((()=>{i&&(s.params.loop&&"slide"===t.params.controller.by&&s.loopFix(),s.transitionEnd())})))}if(Array.isArray(i))for(r=0;r<i.length;r+=1)i[r]!==s&&i[r]instanceof a&&n(i[r]);else i instanceof a&&s!==i&&n(i)}})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({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}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,itemRoleDescriptionMessage:null,slideRole:"group",id:null}});let i=null;function r(e){const t=i;0!==t.length&&(t.html(""),t.html(e))}function n(e){e.attr("tabIndex","0")}function l(e){e.attr("tabIndex","-1")}function o(e,t){e.attr("role",t)}function c(e,t){e.attr("aria-roledescription",t)}function p(e,t){e.attr("aria-label",t)}function u(e){e.attr("aria-disabled",!0)}function h(e){e.attr("aria-disabled",!1)}function m(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=d(e.target);t.navigation&&t.navigation.$nextEl&&a.is(t.navigation.$nextEl)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?r(s.lastSlideMessage):r(s.nextSlideMessage)),t.navigation&&t.navigation.$prevEl&&a.is(t.navigation.$prevEl)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?r(s.firstSlideMessage):r(s.prevSlideMessage)),t.pagination&&a.is(U(t.params.pagination.bulletClass))&&a[0].click()}function f(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function g(){return f()&&t.params.pagination.clickable}const v=(e,t,s)=>{n(e),"BUTTON"!==e[0].tagName&&(o(e,"button"),e.on("keydown",m)),p(e,s),function(e,t){e.attr("aria-controls",t)}(e,t)},w=e=>{const s=e.target.closest(`.${t.params.slideClass}`);if(!s||!t.slides.includes(s))return;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,t.slideTo(t.slides.indexOf(s),0))},b=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&c(d(t.slides),e.itemRoleDescriptionMessage),e.slideRole&&o(d(t.slides),e.slideRole);const s=t.params.loop?t.slides.filter((e=>!e.classList.contains(t.params.slideDuplicateClass))).length:t.slides.length;e.slideLabelMessage&&t.slides.each(((a,i)=>{const r=d(a),n=t.params.loop?parseInt(r.attr("data-swiper-slide-index"),10):i;p(r,e.slideLabelMessage.replace(/\{\{index\}\}/,n+1).replace(/\{\{slidesLength\}\}/,s))}))},x=()=>{const e=t.params.a11y;t.$el.append(i);const s=t.$el;e.containerRoleDescriptionMessage&&c(s,e.containerRoleDescriptionMessage),e.containerMessage&&p(s,e.containerMessage);const a=t.$wrapperEl,r=e.id||a.attr("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const l=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var o;let d,u;o=r,a.attr("id",o),function(e,t){e.attr("aria-live",t)}(a,l),b(),t.navigation&&t.navigation.$nextEl&&(d=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(u=t.navigation.$prevEl),d&&d.length&&v(d,r,e.nextSlideMessage),u&&u.length&&v(u,r,e.prevSlideMessage),g()&&t.pagination.$el.on("keydown",U(t.params.pagination.bulletClass),m),t.$el.on("focus",w,!0)};a("beforeInit",(()=>{i=d(`<span class="${t.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`)})),a("afterInit",(()=>{t.params.a11y.enabled&&x()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&b()})),a("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{$nextEl:e,$prevEl:s}=t.navigation;s&&s.length>0&&(t.isBeginning?(u(s),l(s)):(h(s),n(s))),e&&e.length>0&&(t.isEnd?(u(e),l(e)):(h(e),n(e)))}()})),a("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;f()&&t.pagination.bullets.each((s=>{const a=d(s);t.params.pagination.clickable&&(n(a),t.params.pagination.renderBullet||(o(a,"button"),p(a,e.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1)))),a.is(`.${t.params.pagination.bulletActiveClass}`)?a.attr("aria-current","true"):a.removeAttr("aria-current")}))}()})),a("destroy",(()=>{t.params.a11y.enabled&&function(){let e,s;i&&i.length>0&&i.remove(),t.navigation&&t.navigation.$nextEl&&(e=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(s=t.navigation.$prevEl),e&&e.off("keydown",m),s&&s.off("keydown",m),g()&&t.pagination.$el.off("keydown",U(t.params.pagination.bulletClass),m),t.$el.off("focus",w,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.slides.eq(s);let d=l(o.attr("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e}/${d}`}else n.pathname.includes(e)||(d=`${e}/${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i<r;i+=1){const r=t.slides.eq(i);if(l(r.attr("data-history"))===s&&!r.hasClass(t.params.slideDuplicateClass)){const s=r.index();t.slideTo(s,e,a)}}else t.slideTo(0,e,a)},p=()=>{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),(n.key||n.value)&&(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p))}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),c=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}});const p=()=>{i("hashChange");const e=o.location.hash.replace("#","");if(e!==t.slides.eq(t.activeIndex).attr("data-hash")){const s=t.$wrapperEl.children(`.${t.params.slideClass}[data-hash="${e}"]`).index();if(void 0===s)return;t.slideTo(s)}},u=()=>{if(l&&t.params.hashNavigation.enabled)if(t.params.hashNavigation.replaceState&&c.history&&c.history.replaceState)c.history.replaceState(null,null,`#${t.slides.eq(t.activeIndex).attr("data-hash")}`||""),i("hashSet");else{const e=t.slides.eq(t.activeIndex),s=e.attr("data-hash")||e.attr("data-history");o.location.hash=s||"",i("hashSet")}};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0;for(let a=0,i=t.slides.length;a<i;a+=1){const i=t.slides.eq(a);if((i.attr("data-hash")||i.attr("data-history"))===e&&!i.hasClass(t.params.slideDuplicateClass)){const e=i.index();t.slideTo(e,s,t.params.runCallbacksOnInit,!0)}}}t.params.hashNavigation.watchState&&d(c).on("hashchange",p)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d(c).off("hashchange",p)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&u()})),n("slideChange",(()=>{l&&t.params.cssMode&&u()}))},function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;function l(){if(!s.size)return s.autoplay.running=!1,void(s.autoplay.paused=!1);const e=s.slides.eq(s.activeIndex);let a=s.params.autoplay.delay;e.attr("data-swiper-autoplay")&&(a=e.attr("data-swiper-autoplay")||s.params.autoplay.delay),clearTimeout(t),t=p((()=>{let e;s.params.autoplay.reverseDirection?s.params.loop?(s.loopFix(),e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.isBeginning?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(s.slides.length-1,s.params.speed,!0,!0),n("autoplay")):(e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.params.loop?(s.loopFix(),e=s.slideNext(s.params.speed,!0,!0),n("autoplay")):s.isEnd?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(0,s.params.speed,!0,!0),n("autoplay")):(e=s.slideNext(s.params.speed,!0,!0),n("autoplay")),(s.params.cssMode&&s.autoplay.running||!1===e)&&l()}),a)}function o(){return void 0===t&&(!s.autoplay.running&&(s.autoplay.running=!0,n("autoplayStart"),l(),!0))}function d(){return!!s.autoplay.running&&(void 0!==t&&(t&&(clearTimeout(t),t=void 0),s.autoplay.running=!1,n("autoplayStop"),!0))}function c(e){s.autoplay.running&&(s.autoplay.paused||(t&&clearTimeout(t),s.autoplay.paused=!0,0!==e&&s.params.autoplay.waitForTransition?["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].addEventListener(e,h)})):(s.autoplay.paused=!1,l())))}function u(){const e=a();"hidden"===e.visibilityState&&s.autoplay.running&&c(),"visible"===e.visibilityState&&s.autoplay.paused&&(l(),s.autoplay.paused=!1)}function h(e){s&&!s.destroyed&&s.$wrapperEl&&e.target===s.$wrapperEl[0]&&(["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)})),s.autoplay.paused=!1,s.autoplay.running?l():d())}function m(){s.params.autoplay.disableOnInteraction?d():(n("autoplayPause"),c()),["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)}))}function f(){s.params.autoplay.disableOnInteraction||(s.autoplay.paused=!1,n("autoplayResume"),l())}s.autoplay={running:!1,paused:!1},i({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}}),r("init",(()=>{if(s.params.autoplay.enabled){o();a().addEventListener("visibilitychange",u),s.params.autoplay.pauseOnMouseEnter&&(s.$el.on("mouseenter",m),s.$el.on("mouseleave",f))}})),r("beforeTransitionStart",((e,t,a)=>{s.autoplay.running&&(a||!s.params.autoplay.disableOnInteraction?s.autoplay.pause(t):d())})),r("sliderFirstMove",(()=>{s.autoplay.running&&(s.params.autoplay.disableOnInteraction?d():c())})),r("touchEnd",(()=>{s.params.cssMode&&s.autoplay.paused&&!s.params.autoplay.disableOnInteraction&&l()})),r("destroy",(()=>{s.$el.off("mouseenter",m),s.$el.off("mouseleave",f),s.autoplay.running&&d();a().removeEventListener("visibilitychange",u)})),Object.assign(s.autoplay,{pause:c,run:l,start:o,stop:d})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let i=!1,r=!1;function n(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&d(a).hasClass(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;if(i=e.params.loop?parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10):s,t.params.loop){let e=t.activeIndex;t.slides.eq(e).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,e=t.activeIndex);const s=t.slides.eq(e).prevAll(`[data-swiper-slide-index="${i}"]`).eq(0).index(),a=t.slides.eq(e).nextAll(`[data-swiper-slide-index="${i}"]`).eq(0).index();i=void 0===s?a:void 0===a?s:a-e<e-s?a:s}t.slideTo(i)}function l(){const{thumbs:e}=t.params;if(i)return!1;i=!0;const s=t.constructor;if(e.swiper instanceof s)t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1});else if(m(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),r=!0}return t.thumbs.swiper.$el.addClass(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",n),!0}function o(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.removeClass(r),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e<i;e+=1)s.$wrapperEl.children(`[data-swiper-slide-index="${t.realIndex+e}"]`).addClass(r);else for(let e=0;e<i;e+=1)s.slides.eq(t.realIndex+e).addClass(r);const n=t.params.thumbs.autoScrollOffset,l=n&&!s.params.loop;if(t.realIndex!==s.realIndex||l){let i,r,o=s.activeIndex;if(s.params.loop){s.slides.eq(o).hasClass(s.params.slideDuplicateClass)&&(s.loopFix(),s._clientLeft=s.$wrapperEl[0].clientLeft,o=s.activeIndex);const e=s.slides.eq(o).prevAll(`[data-swiper-slide-index="${t.realIndex}"]`).eq(0).index(),a=s.slides.eq(o).nextAll(`[data-swiper-slide-index="${t.realIndex}"]`).eq(0).index();i=void 0===e?a:void 0===a?e:a-o==o-e?s.params.slidesPerGroup>1?a:o:a-o<o-e?a:e,r=t.activeIndex>t.previousIndex?"next":"prev"}else i=t.realIndex,r=i>t.previousIndex?"next":"prev";l&&(i+="next"===r?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(i)<0&&(s.params.centeredSlides?i=i>o?i-Math.floor(a/2)+1:i+Math.floor(a/2)-1:i>o&&s.params.slidesPerGroup,s.slideTo(i,e?0:void 0))}}t.thumbs={swiper:null},a("beforeInit",(()=>{const{thumbs:e}=t.params;e&&e.swiper&&(l(),o(!0))})),a("slideChange update resize observerUpdate",(()=>{o()})),a("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),a("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&r&&e.destroy()})),Object.assign(t.thumbs,{init:l,update:o})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:u()})},onTouchEnd:function(e){let{currentPos:s}=e;const{params:r,$wrapperEl:n,rtlTranslate:l,snapGrid:o,touchEventsData:d}=t,c=u()-d.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length<o.length?t.slideTo(o.length-1):t.slideTo(t.slides.length-1);else{if(r.freeMode.momentum){if(d.velocities.length>1){const e=d.velocities.pop(),s=d.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)<r.freeMode.minimumVelocity&&(t.velocity=0),(i>150||u()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,d.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let c=t.translate+s;l&&(c=-c);let p,h=!1;const m=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(c<t.maxTranslate())r.freeMode.momentumBounce?(c+t.maxTranslate()<-m&&(c=t.maxTranslate()-m),p=t.maxTranslate(),h=!0,d.allowMomentumBounce=!0):c=t.maxTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(c>t.minTranslate())r.freeMode.momentumBounce?(c-t.minTranslate()>m&&(c=t.minTranslate()+m),p=t.minTranslate(),h=!0,d.allowMomentumBounce=!0):c=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t<o.length;t+=1)if(o[t]>-c){e=t;break}c=Math.abs(o[e]-c)<Math.abs(o[e-1]-c)||"next"===t.swipeDirection?o[e]:o[e-1],c=-c}if(f&&i("transitionEnd",(()=>{t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-c-t.translate)/t.velocity):Math.abs((c-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-c:c)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s<a?r.speed:s<2*a?1.5*r.speed:2.5*r.speed}}else if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode.momentumBounce&&h?(t.updateProgress(p),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating=!0,n.transitionEnd((()=>{t&&!t.destroyed&&d.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(p),n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(c),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(c),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||c>=r.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,{swiper:i,extendParams:r}=e;r({grid:{rows:1,fill:"column"}}),i.grid={initSlides:e=>{const{slidesPerView:r}=i.params,{rows:n,fill:l}=i.params.grid;s=t/n,a=Math.floor(e/n),t=Math.floor(e/n)===e/n?e:Math.ceil(e/n)*n,"auto"!==r&&"row"===l&&(t=Math.max(t,r*n))},updateSlide:(e,r,n,l)=>{const{slidesPerGroup:o,spaceBetween:d}=i.params,{rows:c,fill:p}=i.params.grid;let u,h,m;if("row"===p&&o>1){const s=Math.floor(e/(o*c)),a=e-c*o*s,i=0===s?o:Math.min(Math.ceil((n-s*c*o)/c),o);m=Math.floor(a/i),h=a-m*i+s*o,u=h+m*t/c,r.css({"-webkit-order":u,order:u})}else"column"===p?(h=Math.floor(e/c),m=e-h*c,(h>a||h===a&&m===c-1)&&(m+=1,m>=c&&(m=0,h+=1))):(m=Math.floor(e/s),h=e-m*s);r.css(l("margin-top"),0!==m?d&&`${d}px`:"")},updateWrapperSize:(e,s,a)=>{const{spaceBetween:r,centeredSlides:n,roundLengths:l}=i.params,{rows:o}=i.params.grid;if(i.virtualSize=(e+r)*t,i.virtualSize=Math.ceil(i.virtualSize/o)-r,i.$wrapperEl.css({[a("width")]:`${i.virtualSize+r}px`}),n){s.splice(0,s.length);const e=[];for(let t=0;t<s.length;t+=1){let a=s[t];l&&(a=Math.floor(a)),s[t]<i.virtualSize+s[0]&&e.push(a)}s.push(...e)}}}},function(e){let{swiper:t}=e;Object.assign(t,{appendSlide:K.bind(t),prependSlide:Z.bind(t),addSlide:Q.bind(t),removeSlide:J.bind(t),removeAllSlides:ee.bind(t)})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({fadeEffect:{crossFade:!1,transformEl:null}}),te({effect:"fade",swiper:t,on:a,setTranslate:()=>{const{slides:e}=t,s=t.params.fadeEffect;for(let a=0;a<e.length;a+=1){const e=t.slides.eq(a);let i=-e[0].swiperSlideOffset;t.params.virtualTranslate||(i-=t.translate);let r=0;t.isHorizontal()||(r=i,i=0);const n=t.params.fadeEffect.crossFade?Math.max(1-Math.abs(e[0].progress),0):1+Math.min(Math.max(e[0].progress,-1),0);se(s,e).css({opacity:n}).transform(`translate3d(${i}px, ${r}px, 0px)`)}},setTransition:e=>{const{transformEl:s}=t.params.fadeEffect;(s?t.slides.find(s):t.slides).transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),i=s?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===a.length&&(a=d(`<div class="swiper-slide-shadow-${s?"left":"top"}"></div>`),e.append(a)),0===i.length&&(i=d(`<div class="swiper-slide-shadow-${s?"right":"bottom"}"></div>`),e.append(i)),a.length&&(a[0].style.opacity=Math.max(-t,0)),i.length&&(i[0].style.opacity=Math.max(t,0))};te({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{$el:e,$wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:c}=t,p=t.params.cubeEffect,u=t.isHorizontal(),h=t.virtual&&t.params.virtual.enabled;let m,f=0;p.shadow&&(u?(m=s.find(".swiper-cube-shadow"),0===m.length&&(m=d('<div class="swiper-cube-shadow"></div>'),s.append(m)),m.css({height:`${r}px`})):(m=e.find(".swiper-cube-shadow"),0===m.length&&(m=d('<div class="swiper-cube-shadow"></div>'),e.append(m))));for(let e=0;e<a.length;e+=1){const t=a.eq(e);let s=e;h&&(s=parseInt(t.attr("data-swiper-slide-index"),10));let r=90*s,n=Math.floor(r/360);l&&(r=-r,n=Math.floor(-r/360));const d=Math.max(Math.min(t[0].progress,1),-1);let c=0,m=0,g=0;s%4==0?(c=4*-n*o,g=0):(s-1)%4==0?(c=0,g=4*-n*o):(s-2)%4==0?(c=o+4*n*o,g=o):(s-3)%4==0&&(c=-o,g=3*o+4*o*n),l&&(c=-c),u||(m=c,c=0);const v=`rotateX(${u?0:-r}deg) rotateY(${u?r:0}deg) translate3d(${c}px, ${m}px, ${g}px)`;d<=1&&d>-1&&(f=90*s+90*d,l&&(f=90*-s-90*d)),t.transform(v),p.slideShadows&&i(t,d,u)}if(s.css({"-webkit-transform-origin":`50% 50% -${o/2}px`,"transform-origin":`50% 50% -${o/2}px`}),p.shadow)if(u)m.transform(`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(90deg) rotateZ(0deg) scale(${p.shadowScale})`);else{const e=Math.abs(f)-90*Math.floor(Math.abs(f)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;m.transform(`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-90deg)`)}const g=c.isSafari||c.isWebView?-o/2:0;s.transform(`translate3d(0px,0,${g}px) rotateX(${t.isHorizontal()?0:f}deg) rotateY(${t.isHorizontal()?-f:0}deg)`),s[0].style.setProperty("--swiper-cube-translate-z",`${g}px`)},setTransition:e=>{const{$el:s,slides:a}=t;a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.cubeEffect.shadow&&!t.isHorizontal()&&s.find(".swiper-cube-shadow").transition(e)},recreateShadows:()=>{const e=t.isHorizontal();t.slides.each((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(d(t),s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0,transformEl:null}});const i=(e,s,a)=>{let i=t.isHorizontal()?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),r=t.isHorizontal()?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===i.length&&(i=ie(a,e,t.isHorizontal()?"left":"top")),0===r.length&&(r=ie(a,e,t.isHorizontal()?"right":"bottom")),i.length&&(i[0].style.opacity=Math.max(-s,0)),r.length&&(r[0].style.opacity=Math.max(s,0))};te({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect;for(let r=0;r<e.length;r+=1){const n=e.eq(r);let l=n[0].progress;t.params.flipEffect.limitRotation&&(l=Math.max(Math.min(n[0].progress,1),-1));const o=n[0].swiperSlideOffset;let d=-180*l,c=0,p=t.params.cssMode?-o-t.translate:-o,u=0;t.isHorizontal()?s&&(d=-d):(u=p,p=0,c=-d,d=0),n[0].style.zIndex=-Math.abs(Math.round(l))+e.length,a.slideShadows&&i(n,l,a);const h=`translate3d(${p}px, ${u}px, 0px) rotateX(${c}deg) rotateY(${d}deg)`;se(a,n).transform(h)}},setTransition:e=>{const{transformEl:s}=t.params.flipEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),ae({swiper:t,duration:e,transformEl:s})},recreateShadows:()=>{const e=t.params.flipEffect;t.slides.each((s=>{const a=d(s);let r=a[0].progress;t.params.flipEffect.limitRotation&&(r=Math.max(Math.min(s.progress,1),-1)),i(a,r,e)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0,transformEl:null}}),te({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth;for(let e=0,t=a.length;e<t;e+=1){const t=a.eq(e),s=i[e],l=(o-t[0].swiperSlideOffset-s/2)/s,p="function"==typeof r.modifier?r.modifier(l):l*r.modifier;let u=n?d*p:0,h=n?0:d*p,m=-c*Math.abs(p),f=r.stretch;"string"==typeof f&&-1!==f.indexOf("%")&&(f=parseFloat(r.stretch)/100*s);let g=n?0:f*p,v=n?f*p:0,w=1-(1-r.scale)*Math.abs(p);Math.abs(v)<.001&&(v=0),Math.abs(g)<.001&&(g=0),Math.abs(m)<.001&&(m=0),Math.abs(u)<.001&&(u=0),Math.abs(h)<.001&&(h=0),Math.abs(w)<.001&&(w=0);const b=`translate3d(${v}px,${g}px,${m}px) rotateX(${h}deg) rotateY(${u}deg) scale(${w})`;if(se(r,t).transform(b),t[0].style.zIndex=1-Math.abs(Math.round(p)),r.slideShadows){let e=n?t.find(".swiper-slide-shadow-left"):t.find(".swiper-slide-shadow-top"),s=n?t.find(".swiper-slide-shadow-right"):t.find(".swiper-slide-shadow-bottom");0===e.length&&(e=ie(r,t,n?"left":"top")),0===s.length&&(s=ie(r,t,n?"right":"bottom")),e.length&&(e[0].style.opacity=p>0?p:0),s.length&&(s[0].style.opacity=-p>0?-p:0)}}},setTransition:e=>{const{transformEl:s}=t.params.coverflowEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{transformEl:null,limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;te({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,$wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.transform(`translateX(calc(50% - ${e}px))`)}for(let s=0;s<e.length;s+=1){const a=e.eq(s),o=a[0].progress,d=Math.min(Math.max(a[0].progress,-r.limitProgress),r.limitProgress);let c=d;l||(c=Math.min(Math.max(a[0].originalProgress,-r.limitProgress),r.limitProgress));const p=a[0].swiperSlideOffset,u=[t.params.cssMode?-p-t.translate:-p,0,0],h=[0,0,0];let m=!1;t.isHorizontal()||(u[1]=u[0],u[0]=0);let f={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1};d<0?(f=r.next,m=!0):d>0&&(f=r.prev,m=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`})),h.forEach(((e,t)=>{h[t]=f.rotate[t]*Math.abs(d*n)})),a[0].style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,w=c<0?`scale(${1+(1-f.scale)*c*n})`:`scale(${1-(1-f.scale)*c*n})`,b=c<0?1+(1-f.opacity)*c*n:1-(1-f.opacity)*c*n,x=`translate3d(${g}) ${v} ${w}`;if(m&&f.shadow||!m){let e=a.children(".swiper-slide-shadow");if(0===e.length&&f.shadow&&(e=ie(r,a)),e.length){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e[0].style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const y=se(r,a);y.transform(x).css({opacity:b}),f.origin&&y.css("transform-origin",f.origin)}},setTransition:e=>{const{transformEl:s}=t.params.creativeEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,transformEl:null,rotate:!0}}),te({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s}=t,a=t.params.cardsEffect,{startTranslate:i,isTouched:r}=t.touchEventsData,n=t.translate;for(let l=0;l<e.length;l+=1){const o=e.eq(l),d=o[0].progress,c=Math.min(Math.max(d,-4),4);let p=o[0].swiperSlideOffset;t.params.centeredSlides&&!t.params.cssMode&&t.$wrapperEl.transform(`translateX(${t.minTranslate()}px)`),t.params.centeredSlides&&t.params.cssMode&&(p-=e[0].swiperSlideOffset);let u=t.params.cssMode?-p-t.translate:-p,h=0;const m=-100*Math.abs(c);let f=1,g=-2*c,v=8-.75*Math.abs(c);const w=t.virtual&&t.params.virtual.enabled?t.virtual.from+l:l,b=(w===s||w===s-1)&&c>0&&c<1&&(r||t.params.cssMode)&&n<i,x=(w===s||w===s+1)&&c<0&&c>-1&&(r||t.params.cssMode)&&n>i;if(b||x){const e=(1-Math.abs((Math.abs(c)-.5)/.5))**.5;g+=-28*c*e,f+=-.5*e,v+=96*e,h=-25*e*Math.abs(c)+"%"}if(u=c<0?`calc(${u}px + (${v*Math.abs(c)}%))`:c>0?`calc(${u}px + (-${v*Math.abs(c)}%))`:`${u}px`,!t.isHorizontal()){const e=h;h=u,u=e}const y=c<0?""+(1+(1-f)*c):""+(1-(1-f)*c),E=`\n translate3d(${u}, ${h}, ${m}px)\n rotateZ(${a.rotate?g:0}deg)\n scale(${y})\n `;if(a.slideShadows){let e=o.find(".swiper-slide-shadow");0===e.length&&(e=ie(a,o)),e.length&&(e[0].style.opacity=Math.min(Math.max((Math.abs(c)-.5)/.5,0),1))}o[0].style.zIndex=-Math.abs(Math.round(d))+e.length;se(a,o).transform(E)}},setTransition:e=>{const{transformEl:s}=t.params.cardsEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];return V.use(re),V}));
public/js/wp-carousel-free-public.js CHANGED
@@ -4,16 +4,70 @@
4
 
5
  var carousel_id = $(this).attr('id');
6
  var _this = $(this);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
- if (jQuery().slick && ! jQuery('#' + carousel_id).hasClass('slick-initialized') ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
- jQuery('#' + carousel_id).slick({
11
- prevArrow: '<div class="slick-prev"><i class="fa fa-angle-left"></i></div>',
12
- nextArrow: '<div class="slick-next"><i class="fa fa-angle-right"></i></div>',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  });
14
  }
15
- $(window).on('resize orientationchange', function () {
16
- jQuery('#' + carousel_id).slick('resize');
17
- });
18
  });
19
  })(jQuery);
4
 
5
  var carousel_id = $(this).attr('id');
6
  var _this = $(this);
7
+ var wpcpSwiperData = $('#' + carousel_id).data('swiper');
8
+ var wpcpSwiper = new Swiper('#' + carousel_id + ':not(.swiper-initialized, .swiper-container-initialized)', {
9
+ // Optional parameters
10
+ autoplay: wpcpSwiperData.autoplay ? ({ delay: wpcpSwiperData.autoplaySpeed, disableOnInteraction: false, }) : false,
11
+ speed: wpcpSwiperData.speed,
12
+ // slidesPerGroup: 1,
13
+ slidesPerView: wpcpSwiperData.slidesToShow.mobile,
14
+ simulateTouch: wpcpSwiperData.draggable,
15
+ loop: wpcpSwiperData.infinite,
16
+ allowTouchMove: wpcpSwiperData.swipe,
17
+ spaceBetween: 15,
18
+ preloadImages: ('false' !== wpcpSwiperData.lazyLoad) ? true : false,
19
+ lazy: {
20
+ loadPrevNext: ('false' !== wpcpSwiperData.lazyLoad) ? true : false,
21
+ loadPrevNextAmount: 1
22
+ },
23
 
24
+ // Responsive breakpoints
25
+ breakpoints: {
26
+ // when window width is >= 480px
27
+ [wpcpSwiperData.responsive.mobile]: {
28
+ slidesPerView: wpcpSwiperData.slidesToShow.tablet,
29
+ },
30
+ // when window width is >= 736px
31
+ [wpcpSwiperData.responsive.tablet]: {
32
+ slidesPerView: wpcpSwiperData.slidesToShow.laptop,
33
+ },
34
+ // when window width is >= 980px
35
+ [wpcpSwiperData.responsive.laptop]: {
36
+ slidesPerView: wpcpSwiperData.slidesToShow.desktop,
37
+ },
38
+ [wpcpSwiperData.responsive.desktop]: {
39
+ slidesPerView: wpcpSwiperData.slidesToShow.lg_desktop,
40
+ }
41
+ },
42
+
43
+ // If we need pagination
44
+ pagination: {
45
+ el: '.swiper-pagination',
46
+ clickable: true,
47
+ },
48
 
49
+ a11y: wpcpSwiperData.accessibility ? ({
50
+ prevSlideMessage: 'Previous slide',
51
+ nextSlideMessage: 'Next slide',
52
+ }) : false,
53
+
54
+ // Navigation arrows
55
+ navigation: {
56
+ nextEl: '#' + carousel_id + ' .swiper-button-next',
57
+ prevEl: '#' + carousel_id + ' .swiper-button-prev',
58
+ },
59
+ });
60
+
61
+ // On hover stop.
62
+ if (wpcpSwiperData.pauseOnHover && wpcpSwiperData.autoplay) {
63
+ $('#' + carousel_id).on({
64
+ mouseenter: function () {
65
+ wpcpSwiper.autoplay.stop();
66
+ },
67
+ mouseleave: function () {
68
+ wpcpSwiper.autoplay.start();
69
+ }
70
  });
71
  }
 
 
 
72
  });
73
  })(jQuery);
public/js/wp-carousel-free-public.min.js CHANGED
@@ -1 +1 @@
1
- !function($){"use strict";jQuery("body").find(".wpcp-carousel-section.wpcp-standard").each((function(){var carousel_id=$(this).attr("id"),_this=$(this);jQuery().slick&&!jQuery("#"+carousel_id).hasClass("slick-initialized")&&jQuery("#"+carousel_id).slick({prevArrow:'<div class="slick-prev"><i class="fa fa-angle-left"></i></div>',nextArrow:'<div class="slick-next"><i class="fa fa-angle-right"></i></div>'}),$(window).on("resize orientationchange",(function(){jQuery("#"+carousel_id).slick("resize")}))}))}(jQuery);
1
+ !function($){"use strict";jQuery("body").find(".wpcp-carousel-section.wpcp-standard").each((function(){var carousel_id=$(this).attr("id"),_this=$(this),wpcpSwiperData=$("#"+carousel_id).data("swiper"),wpcpSwiper=new Swiper("#"+carousel_id+":not(.swiper-initialized, .swiper-container-initialized)",{autoplay:!!wpcpSwiperData.autoplay&&{delay:wpcpSwiperData.autoplaySpeed,disableOnInteraction:!1},speed:wpcpSwiperData.speed,slidesPerView:wpcpSwiperData.slidesToShow.mobile,simulateTouch:wpcpSwiperData.draggable,loop:wpcpSwiperData.infinite,allowTouchMove:wpcpSwiperData.swipe,spaceBetween:15,preloadImages:"false"!==wpcpSwiperData.lazyLoad,lazy:{loadPrevNext:"false"!==wpcpSwiperData.lazyLoad,loadPrevNextAmount:1},breakpoints:{[wpcpSwiperData.responsive.mobile]:{slidesPerView:wpcpSwiperData.slidesToShow.tablet},[wpcpSwiperData.responsive.tablet]:{slidesPerView:wpcpSwiperData.slidesToShow.laptop},[wpcpSwiperData.responsive.laptop]:{slidesPerView:wpcpSwiperData.slidesToShow.desktop},[wpcpSwiperData.responsive.desktop]:{slidesPerView:wpcpSwiperData.slidesToShow.lg_desktop}},pagination:{el:".swiper-pagination",clickable:!0},a11y:!!wpcpSwiperData.accessibility&&{prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide"},navigation:{nextEl:"#"+carousel_id+" .swiper-button-next",prevEl:"#"+carousel_id+" .swiper-button-prev"}});wpcpSwiperData.pauseOnHover&&wpcpSwiperData.autoplay&&$("#"+carousel_id).on({mouseenter:function(){wpcpSwiper.autoplay.stop()},mouseleave:function(){wpcpSwiper.autoplay.start()}})}))}(jQuery);
public/shortcode-deprecated.php CHANGED
@@ -147,13 +147,14 @@ if ( ! function_exists( 'wp_carousel_free_shortcode' ) ) {
147
  $gallery_div = '';
148
 
149
  // Carousel Configurations.
150
- wp_enqueue_script( 'wpcf-slick' );
151
- wp_enqueue_script( 'wpcf-slick-config' );
152
  $rtl = ( 'ltr' === $carousel_direction ) ? 'true' : 'false';
153
- $wpcp_slick_options = 'data-slick=\'{ "accessibility": true, "arrows":' . $nav . ', "autoplay":' . $auto_play . ', "autoplaySpeed":' . $autoplay_speed . ', "dots":' . $bullets . ', "infinite":' . $infinite . ', "speed":' . $speed . ', "pauseOnHover":' . $pause_on_hover . ', "slidesToShow":' . $items . ', "responsive":[ { "breakpoint":1200, "settings": { "slidesToShow":' . $items_desktop . ' } }, { "breakpoint":980, "settings":{ "slidesToShow":' . $items_desktop_small . ' } }, { "breakpoint":736, "settings": { "slidesToShow":' . $items_tablet . ' } }, {"breakpoint":480, "settings":{ "slidesToShow":' . $items_mobile . ', "arrows":' . $nav_mobile . ', "dots":' . $bullets_mobile . ' } } ], "rows":1, "rtl":' . $rtl . ', "swipe":' . $swipe . ', "draggable":' . $draggable . ' }\' ';
 
154
 
155
  $gallery_div = "
156
- <div id='wordpress-carousel-free-$id' class='wpcp-carousel-section wpcp-standard nav-vertical-center' $wpcp_slick_options>";
157
 
158
  $output = apply_filters( 'gallery_style', $gallery_style . $gallery_div );
159
 
147
  $gallery_div = '';
148
 
149
  // Carousel Configurations.
150
+ wp_enqueue_script( 'wpcf-swiper' );
151
+ wp_enqueue_script( 'wpcf-swiper-config' );
152
  $rtl = ( 'ltr' === $carousel_direction ) ? 'true' : 'false';
153
+ $wpcp_swiper_options = 'data-swiper=\'{ "accessibility":true, "arrows":' . $arrows . ', "autoplay":' . $auto_play . ', "autoplaySpeed":' . $autoplay_speed . ', "dots":' . $dots . ', "infinite":' . $infinite . ', "speed":' . $speed . ', "pauseOnHover":' . $pause_on_hover . ',
154
+ "slidesToShow":{"lg_desktop":' . $column_lg_desktop . ', "desktop": ' . $column_desktop . ', "laptop": ' . $column_sm_desktop . ', "tablet": ' . $column_tablet . ', "mobile": ' . $column_mobile . '}, "responsive":{"desktop":' . $desktop_size . ', "laptop": ' . $laptop_size . ', "tablet": ' . $tablet_size . ', "mobile": ' . $mobile_size . '}, "rtl":' . $rtl . ', "lazyLoad": "' . $lazy_load_image . '", "swipe": ' . $swipe . ', "draggable": ' . $draggable . ', "swipeToSlide":' . $swipetoslide . ' }\' ';
155
 
156
  $gallery_div = "
157
+ <div id='wordpress-carousel-free-$id' class='wpcp-carousel-section wpcp-standard nav-vertical-center' $wpcp_swiper_options>";
158
 
159
  $output = apply_filters( 'gallery_style', $gallery_style . $gallery_div );
160
 
public/templates/carousel.php CHANGED
@@ -20,9 +20,21 @@ if ( ! defined( 'WPINC' ) ) {
20
  WPCF_Helper::preloader( $post_id, $preloader );
21
  $the_rtl = ( 'ltr' === $carousel_direction ) ? ' dir="rtl"' : ' dir="ltr"';
22
  ?>
23
- <div id="sp-wp-carousel-free-id-<?php echo esc_attr( $post_id ); ?>" class="<?php echo esc_attr( $carousel_classes ); ?>" <?php echo wp_kses_post( $wpcp_slick_options ); ?> <?php echo $the_rtl; ?>>
 
 
24
  <?php
25
  WPCF_Helper::get_item_loops( $upload_data, $shortcode_data, $carousel_type, $post_id );
26
  ?>
 
 
 
 
 
 
 
 
 
 
27
  </div>
28
  </div>
20
  WPCF_Helper::preloader( $post_id, $preloader );
21
  $the_rtl = ( 'ltr' === $carousel_direction ) ? ' dir="rtl"' : ' dir="ltr"';
22
  ?>
23
+ <div class="wpcp-carousel-content-wrapper">
24
+ <div id="sp-wp-carousel-free-id-<?php echo esc_attr( $post_id ); ?>" class="<?php echo esc_attr( $carousel_classes ); ?>" <?php echo wp_kses_post( $wpcp_swiper_options ); ?> <?php echo $the_rtl; ?>>
25
+ <div class="swiper-wrapper">
26
  <?php
27
  WPCF_Helper::get_item_loops( $upload_data, $shortcode_data, $carousel_type, $post_id );
28
  ?>
29
+ </div>
30
+ <?php if ( 'hide' !== $wpcp_dots ) { ?>
31
+ <div class="wpcp-swiper-dots swiper-pagination"></div>
32
+ <?php } ?>
33
+ <!-- If we need navigation buttons -->
34
+ <?php if ( 'hide' !== $wpcp_arrows ) { ?>
35
+ <div class="wpcp-prev-button swiper-button-prev"><i class="fa fa-angle-left"></i></div>
36
+ <div class="wpcp-next-button swiper-button-next"><i class="fa fa-angle-right"></i></div>
37
+ <?php } ?>
38
+ </div>
39
  </div>
40
  </div>
public/templates/loop/image-type.php CHANGED
@@ -23,17 +23,15 @@ $image_url = is_array( $image_url ) ? $image_url : array( '', '', '' );
23
  $the_image_title_attr = ' title="' . $image_title . '"';
24
  $image_title_attr = 'true' === $show_image_title_attr ? $the_image_title_attr : '';
25
 
26
- if ( 'false' !== $lazy_load_image && 'carousel' === $wpcp_layout ) {
27
- $image = sprintf( '<img class="wcp-lazy" data-lazy="%1$s" src="%2$s"%3$s alt="%4$s" width="%5$s" height="%6$s">', $image_url[0], $lazy_load_img, $image_title_attr, $image_alt_title, $image_url[1], $image_url[2] );
28
- } else {
29
- $image = sprintf( '<img class="skip-lazy" src="%1$s"%2$s alt="%3$s" width="%4$s" height="%5$s">', $image_url[0], $image_title_attr, $image_alt_title, $image_url[1], $image_url[2] );
30
- }
31
- ?>
32
  <div class="<?php echo esc_attr( $grid_column ); ?>">
33
  <div class="wpcp-single-item">
34
  <?php
35
-
36
  require WPCF_Helper::wpcf_locate_template( 'loop/image-type/image.php' );
37
  ?>
38
  </div>
39
  </div>
 
 
23
  $the_image_title_attr = ' title="' . $image_title . '"';
24
  $image_title_attr = 'true' === $show_image_title_attr ? $the_image_title_attr : '';
25
 
26
+ if ( ! empty( $image_url[0] ) ) {
27
+ $image = WPCF_Helper::get_item_image( $lazy_load_image, $wpcp_layout, $image_url[0], $image_title_attr, $image_url[1], $image_url[2], $image_alt_title, $lazy_load_img );
28
+ ?>
 
 
 
29
  <div class="<?php echo esc_attr( $grid_column ); ?>">
30
  <div class="wpcp-single-item">
31
  <?php
 
32
  require WPCF_Helper::wpcf_locate_template( 'loop/image-type/image.php' );
33
  ?>
34
  </div>
35
  </div>
36
+ <?php
37
+ }
public/templates/loop/post-type/thumbnails.php CHANGED
@@ -1,5 +1,4 @@
1
  <?php
2
-
3
  /**
4
  * Post thumbnails
5
  *
@@ -18,16 +17,14 @@ if ( has_post_thumbnail() && $show_slide_image ) {
18
  $the_image_title_attr = ' title="' . the_title_attribute( 'echo=0' ) . '"';
19
  $image_title_attr = ( 'true' === $show_image_title_attr ) ? $the_image_title_attr : '';
20
 
21
- if ( 'false' !== $lazy_load_image && 'carousel' === $wpcp_layout ) {
22
- $post_thumb = sprintf( '<img class="wcp-lazy" data-lazy="%1$s" src="%2$s"%3$s alt="%4$s" width="%5$s" height="%6$s">', $image_url[0], $lazy_load_img, $image_title_attr, $image_alt_text, $image_url[1], $image_url[2] );
23
- } else {
24
- $post_thumb = sprintf( '<img class="skip-lazy" src="%1$s"%2$s alt="%3$s" width="%4$s" height="%5$s">', $image_url[0], $image_title_attr, $image_alt_text, $image_url[1], $image_url[2] );
25
- }
26
- ?>
27
  <div class="wpcp-slide-image">
28
  <a href="<?php echo esc_url( get_the_permalink() ); ?>">
29
  <?php echo wp_kses_post( $post_thumb ); ?>
30
  </a>
31
  </div>
32
- <?php
 
33
  } // End of Has post thumbnail.
1
  <?php
 
2
  /**
3
  * Post thumbnails
4
  *
17
  $the_image_title_attr = ' title="' . the_title_attribute( 'echo=0' ) . '"';
18
  $image_title_attr = ( 'true' === $show_image_title_attr ) ? $the_image_title_attr : '';
19
 
20
+ if ( ! empty( $image_url[0] ) ) {
21
+ $post_thumb = WPCF_Helper::get_item_image( $lazy_load_image, $wpcp_layout, $image_url[0], $image_title_attr, $image_url[1], $image_url[2], $image_alt_text, $lazy_load_img );
22
+ ?>
 
 
 
23
  <div class="wpcp-slide-image">
24
  <a href="<?php echo esc_url( get_the_permalink() ); ?>">
25
  <?php echo wp_kses_post( $post_thumb ); ?>
26
  </a>
27
  </div>
28
+ <?php
29
+ }
30
  } // End of Has post thumbnail.
public/templates/loop/product-type/image.php CHANGED
@@ -19,13 +19,9 @@ if ( has_post_thumbnail() && $show_slide_image ) {
19
  $image_title_attr = $show_image_title_attr ? $the_image_title_attr : '';
20
 
21
  // Product Thumbnail.
22
- $wpcp_product_image = '';
23
  if ( ! empty( $image_url[0] ) ) {
24
- if ( 'false' !== $lazy_load_image && 'carousel' === $wpcp_layout ) {
25
- $wpcp_product_thumb = sprintf( '<img class="wcp-lazy" data-lazy="%1$s" src="%2$s"%3$s alt="%4$s" width="%5$s" height="%6$s">', $image_url[0], $lazy_load_img, $image_title_attr, $product_thumb_alt_text, $image_url[1], $image_url[2] );
26
- } else {
27
- $wpcp_product_thumb = sprintf( '<img class="skip-lazy" src="%1$s"%2$s alt="%3$s" width="%4$s" height="%5$s">', $image_url[0], $image_title_attr, $product_thumb_alt_text, $image_url[1], $image_url[2] );
28
- }
29
  ?>
30
  <div class="wpcp-slide-image">
31
  <a href="<?php the_permalink(); ?>"><?php echo wp_kses_post( $wpcp_product_thumb ); ?></a>
19
  $image_title_attr = $show_image_title_attr ? $the_image_title_attr : '';
20
 
21
  // Product Thumbnail.
22
+ $wpcp_product_thumb = '';
23
  if ( ! empty( $image_url[0] ) ) {
24
+ $wpcp_product_thumb = WPCF_Helper::get_item_image( $lazy_load_image, $wpcp_layout, $image_url[0], $image_title_attr, $image_url[1], $image_url[2], $product_thumb_alt_text, $lazy_load_img );
 
 
 
 
25
  ?>
26
  <div class="wpcp-slide-image">
27
  <a href="<?php the_permalink(); ?>"><?php echo wp_kses_post( $wpcp_product_thumb ); ?></a>
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: shapedplugin, khalilu, shamimmiashuhagh, rubel_miah
3
  Donate link: http://shapedplugin.com/donate
4
  Tags: wordpress carousel, best carousel plugin, image carousel, image slider, post carousel, custom post carousel, custom taxonomy carousel, woocommerce product carousel, content carousel, video carousel, video slider, video lightbox, youtube carousel, video gallery, carousel, slider, responsive slider, responsive carousel, carousel slider, ticker carousel, center mode carousel, slide anything, image gallery, image lightbox, wordpress image gallery, photo gallery, gallery slider, wordpress gallery plugin, gallery, post slider, vimeo slider, self hosted video carousel, content slider, wordpress slider, featured content slider, html slider, horizontal carousel slider, posts content slider, product carousel, woocommerce slider, woocommerce product slider
5
  Requires at least: 4.5
6
- Tested up to: 6.0.1
7
- Stable tag: 2.4.10
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -21,13 +21,13 @@ The Most Powerful and User-friendly Carousel & Gallery plugin. Create beautiful
21
 
22
  = Overview =
23
 
24
- **WordPress Carousel** is the most powerful and user-friendly WordPress Carousel plugin to create beautiful carousels with **Images, Posts, WooCommerce Products etc.** This plugin will allow you simply select images from WordPress media library, drag and drop them into place and also supports WordPress posts and WooCommerce products. It's fully responsive, highly customizable and works smoothly on iPhone, iPad, Android, Firefox, Chrome, Safari, Opera and Edge.
25
 
26
  We believe that you shouldn't be a coder or hire a developer to create a carousel for your WordPress site. That’s why we built the **WordPress Carousel** plugin that’s both **EASY and POWERFUL.**
27
 
28
- = WordPress Carousel 2.0 =
29
 
30
- **WordPress Carousel 2.0** has completely been rebuilt and this provides you now many improvements and new amazing features.
31
 
32
  = You'll be able to display =
33
 
@@ -80,15 +80,15 @@ We believe that you shouldn't be a coder or hire a developer to create a carouse
80
  >Ask us at [__Support.__](https://shapedplugin.com/support/?user=lite)
81
 
82
 
83
- = WordPress Carousel Pro =
84
 
85
- [__WordPress Carousel Pro__](https://shapedplugin.com/wp-carousel/?ref=1) is the most powerful and user-friendly multi-purpose WordPress Carousel plugin to create beautiful carousels with **images, Posts, WooCommerce Products, Contents (Images, Text, HTML, Shortcodes), Video** etc. The plugin has own image and content management system and also supports **Posts, Pages, Custom Post Type, Taxonomy, Custom Taxonomy, Custom Contents, YouTube, Vimeo, Dailymotion, mp4, WebM, Self-hosted Video with Lightbox.** It's fully responsive, highly customizable and works smoothly on iPhone, iPad, Android, Firefox, Chrome, Safari, Opera and Edge.
86
 
87
  It’s even easier to put images of different height together so the width is dynamic with fixed height so that your site looks pretty. The plugin vastly improves user experience and lets you create different types of beautiful carousels easily and quickly.
88
 
89
  = Popular Carousel Types =
90
 
91
- * **Image Carousel** - WordPress Carousel Pro allows you to create beautiful image carousels for your site in minutes! Upload images via WordPress regular media gallery, create a gallery to make carousel.
92
  * **Post Carousel** - Display posts from multiple Categories, Tags, Formats, or Types: Latest, Taxonomies, Specific etc. Show the standard post contents: title, image, excerpt, read more, category, date, author, tags, comments etc.
93
  * **Product Carousel** - Filter by different product types. (e.g. latest, categories, specific products etc.). Show/hide the product name, image, price, excerpt, read more, rating, add to cart button etc.
94
  * **Content Carousel (Slide Anything)** - Slide anything you want based on your WordPress site. (e.g. images, text, HTML, shortcodes, any custom contents etc.) You can sort slide content by drag and drop easily.
@@ -96,7 +96,7 @@ It’s even easier to put images of different height together so the width is dy
96
 
97
 
98
 
99
- = WordPress Carousel Pro Features =
100
 
101
  * [__All Sample Carousels__](https://shapedplugin.com/wp-carousel/simple-image-carousel/?ref=1) (Live Demo in action).
102
  * Fully Responsive and Touch-friendly.
@@ -198,7 +198,7 @@ It’s even easier to put images of different height together so the width is dy
198
  * Themify Builder etc.
199
 
200
 
201
- **WordPress Carousel Pro - Admin Panel Overview**
202
 
203
  [youtube https://www.youtube.com/embed/videoseries?list=PLoUb-7uG-5jNgTTcnUflIiytxgTWaBEzm]
204
 
@@ -227,9 +227,9 @@ Designed and Developed by [__ShapedPlugin__](https://shapedplugin.com/)
227
 
228
  = AUTOMATIC INSTALLATION (EASIEST WAY) =
229
 
230
- To do an automatic install of WordPress Carousel, log in to your WordPress dashboard, navigate to the Plugins menu and
231
  click Add New.
232
- In the search field type "WordPress Carousel". Once you have found it you can install it by simply
233
  clicking "Install Now" and then "Activate".
234
 
235
  = MANUAL INSTALLATION =
@@ -255,28 +255,28 @@ The WordPress codex contains <a href="https://codex.wordpress.org/Managing_Plugi
255
 
256
  == Frequently Asked Questions ==
257
 
258
- = Who should use WordPress Carousel? =
259
 
260
- **WordPress Carousel** is perfect for photographers, designers, bloggers, different organizations, and small to large businesses. Basically, if you want to create beautiful carousels like, Image Carousel, Post Carousel, and Product Carousel, then you need to use WordPress Carousel.
261
 
262
 
263
- = What types of carousel you can create using WordPress Carousel? =
264
- You can create three (3) types of carousel using **WordPress Carousel** such as: **Image Carousel, Post Carousel, and Product Carousel.** And with the [__Premium Version__](https://shapedplugin.com/wp-carousel/?ref=1), you can create also **Content Carousel** and **Video Carousel**.
265
 
266
- = Do I need to have coding skills to use WordPress Carousel? =
267
  No. You don’t need any coding skill. No more pain writing any shortcode attributes to display carousel in your site. With just a few clicks, you can amazingly create unlimited Image, Post, and Product Carousels.
268
 
269
- = Is WordPress Carousel responsive? =
270
- Yes, WordPress Carousel is fully responsive, mobile and touch-friendly.
271
 
272
- = Can I add WordPress Carousel anywhere on my website?=
273
- Yes, you can add Logo Carousel inside your blog posts, pages, widgets, and anywhere else on your WordPress website with a shortcode or PHP function.
274
 
275
  = Can I have multiple carousels with the separate setting?
276
  Yes. You can have an unlimited carousel with each separate setting in the page, post, template, widget or anywhere you like.
277
 
278
- = Will WordPress Carousel work with my theme? =
279
- WordPress Carousel works with any WordPress theme if themes are developed according to WordPress standard.
280
 
281
  = How can I get support if the plugin is not working? =
282
  If you face any problem with our plugin or something is not working as it should, first follow the preliminary steps:
@@ -292,16 +292,16 @@ Pro version users [__Support__](https://shapedplugin.com/create-new-ticket/) and
292
  If you find a bug, please report it in our active [support](https://shapedplugin.com/support/?user=lite). You will be replied once the issue is resolved.
293
 
294
  = I’d like access to more features. How can I get them? =
295
- You can get access to more features when you purchase a license of the plugin. Purchasing a license of [__WordPress Carousel Pro__](https://shapedplugin.com/wp-carousel/?ref=1) gets you to access the full version of WordPress Carousel, automatic lifetime updates, and support.
296
 
297
- =Is WordPress Carousel Multilingual Ready?=
298
- Yes, WordPress Carousel is 100% translation ready and tested with [WPML](https://wpml.org/), [Polylang](https://wordpress.org/plugins/polylang/), [qTranslate-x](https://wordpress.org/plugins/qtranslate-x/), [GTranslate](https://wordpress.org/plugins/gtranslate/), [Google Language Translator](https://wordpress.org/plugins/google-language-translator/), [WPGlobus](https://wordpress.org/plugins/wpglobus/) etc.
299
 
300
- = Is WordPress Carousel compatible with WordPress multisite? =
301
- Yes, WordPress Carousel works perfectly with WordPress multi-site network.
302
 
303
- = How to use ‘WordPress Carousel’ in WordPress 5.0 Gutenberg Block Editor =
304
- Adding a **WordPress Carousel (Image Carousel, Post Carousel, Product Carousel)** using the WordPress 5.0 **Block Editor** is pretty straight-forward. You can paste the generated shortcode into a ‘Paragraph Block’ or use the ‘Shortcode Block’. It works nicely as classic editor.
305
 
306
  = Do you Like this Plugin and want to encourage us for improvement? =
307
  Please give the plugin [__5 stars__](https://wordpress.org/support/plugin/wp-carousel-free/reviews/?filter=5#new-post) rating and your precious appreciation will help us to make it much great in the future.
@@ -327,6 +327,10 @@ Thank you!
327
 
328
  == Changelog ==
329
 
 
 
 
 
330
  = 2.4.10 – Aug 29, 2022 =
331
  * Fix: WP Carousel does not works properly inside tab content of WP Tabs Pro.
332
  * Removed: Unused codes and assets from the plugin.
3
  Donate link: http://shapedplugin.com/donate
4
  Tags: wordpress carousel, best carousel plugin, image carousel, image slider, post carousel, custom post carousel, custom taxonomy carousel, woocommerce product carousel, content carousel, video carousel, video slider, video lightbox, youtube carousel, video gallery, carousel, slider, responsive slider, responsive carousel, carousel slider, ticker carousel, center mode carousel, slide anything, image gallery, image lightbox, wordpress image gallery, photo gallery, gallery slider, wordpress gallery plugin, gallery, post slider, vimeo slider, self hosted video carousel, content slider, wordpress slider, featured content slider, html slider, horizontal carousel slider, posts content slider, product carousel, woocommerce slider, woocommerce product slider
5
  Requires at least: 4.5
6
+ Tested up to: 6.0.2
7
+ Stable tag: 2.4.11
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
21
 
22
  = Overview =
23
 
24
+ **WP Carousel** is the most powerful and user-friendly WordPress Carousel plugin to create beautiful carousels with **Images, Posts, WooCommerce Products etc.** This plugin will allow you simply select images from WordPress media library, drag and drop them into place and also supports WordPress posts and WooCommerce products. It's fully responsive, highly customizable and works smoothly on iPhone, iPad, Android, Firefox, Chrome, Safari, Opera and Edge.
25
 
26
  We believe that you shouldn't be a coder or hire a developer to create a carousel for your WordPress site. That’s why we built the **WordPress Carousel** plugin that’s both **EASY and POWERFUL.**
27
 
28
+ = WP Carousel 2.0 =
29
 
30
+ **WP Carousel 2.0** has completely been rebuilt and this provides you now many improvements and new amazing features.
31
 
32
  = You'll be able to display =
33
 
80
  >Ask us at [__Support.__](https://shapedplugin.com/support/?user=lite)
81
 
82
 
83
+ = WP Carousel Pro =
84
 
85
+ [__WP Carousel Pro__](https://shapedplugin.com/wp-carousel/?ref=1) is the most powerful and user-friendly multi-purpose WordPress Carousel plugin to create beautiful carousels with **images, Posts, WooCommerce Products, Contents (Images, Text, HTML, Shortcodes), Video** etc. The plugin has own image and content management system and also supports **Posts, Pages, Custom Post Type, Taxonomy, Custom Taxonomy, Custom Contents, YouTube, Vimeo, Dailymotion, mp4, WebM, Self-hosted Video with Lightbox.** It's fully responsive, highly customizable and works smoothly on iPhone, iPad, Android, Firefox, Chrome, Safari, Opera and Edge.
86
 
87
  It’s even easier to put images of different height together so the width is dynamic with fixed height so that your site looks pretty. The plugin vastly improves user experience and lets you create different types of beautiful carousels easily and quickly.
88
 
89
  = Popular Carousel Types =
90
 
91
+ * **Image Carousel** - WP Carousel Pro allows you to create beautiful image carousels for your site in minutes! Upload images via WordPress regular media gallery, create a gallery to make carousel.
92
  * **Post Carousel** - Display posts from multiple Categories, Tags, Formats, or Types: Latest, Taxonomies, Specific etc. Show the standard post contents: title, image, excerpt, read more, category, date, author, tags, comments etc.
93
  * **Product Carousel** - Filter by different product types. (e.g. latest, categories, specific products etc.). Show/hide the product name, image, price, excerpt, read more, rating, add to cart button etc.
94
  * **Content Carousel (Slide Anything)** - Slide anything you want based on your WordPress site. (e.g. images, text, HTML, shortcodes, any custom contents etc.) You can sort slide content by drag and drop easily.
96
 
97
 
98
 
99
+ = WP Carousel Pro Features =
100
 
101
  * [__All Sample Carousels__](https://shapedplugin.com/wp-carousel/simple-image-carousel/?ref=1) (Live Demo in action).
102
  * Fully Responsive and Touch-friendly.
198
  * Themify Builder etc.
199
 
200
 
201
+ **WP Carousel Pro - Admin Panel Overview**
202
 
203
  [youtube https://www.youtube.com/embed/videoseries?list=PLoUb-7uG-5jNgTTcnUflIiytxgTWaBEzm]
204
 
227
 
228
  = AUTOMATIC INSTALLATION (EASIEST WAY) =
229
 
230
+ To do an automatic install of WP Carousel, log in to your WordPress dashboard, navigate to the Plugins menu and
231
  click Add New.
232
+ In the search field type "WP Carousel". Once you have found it you can install it by simply
233
  clicking "Install Now" and then "Activate".
234
 
235
  = MANUAL INSTALLATION =
255
 
256
  == Frequently Asked Questions ==
257
 
258
+ = Who should use WP Carousel? =
259
 
260
+ **WP Carousel** is perfect for photographers, designers, bloggers, different organizations, and small to large businesses. Basically, if you want to create beautiful carousels like, Image Carousel, Post Carousel, and Product Carousel, then you need to use WP Carousel.
261
 
262
 
263
+ = What types of carousel you can create using WP Carousel? =
264
+ You can create three (3) types of carousel using **WP Carousel** such as: **Image Carousel, Post Carousel, and Product Carousel.** And with the [__Premium Version__](https://shapedplugin.com/wp-carousel/pricing/?ref=1), you can create also **Content Carousel** and **Video Carousel**.
265
 
266
+ = Do I need to have coding skills to use WP Carousel? =
267
  No. You don’t need any coding skill. No more pain writing any shortcode attributes to display carousel in your site. With just a few clicks, you can amazingly create unlimited Image, Post, and Product Carousels.
268
 
269
+ = Is WP Carousel responsive? =
270
+ Yes, WP Carousel is fully responsive, mobile and touch-friendly.
271
 
272
+ = Can I add WP Carousel anywhere on my website?=
273
+ Yes, you can add WP Carousel inside your blog posts, pages, widgets, and anywhere else on your WordPress website with a shortcode or PHP function.
274
 
275
  = Can I have multiple carousels with the separate setting?
276
  Yes. You can have an unlimited carousel with each separate setting in the page, post, template, widget or anywhere you like.
277
 
278
+ = Will WP Carousel work with my theme? =
279
+ WP Carousel works with any WordPress theme if themes are developed according to WordPress standard.
280
 
281
  = How can I get support if the plugin is not working? =
282
  If you face any problem with our plugin or something is not working as it should, first follow the preliminary steps:
292
  If you find a bug, please report it in our active [support](https://shapedplugin.com/support/?user=lite). You will be replied once the issue is resolved.
293
 
294
  = I’d like access to more features. How can I get them? =
295
+ You can get access to more features when you purchase a license of the plugin. Purchasing a license of [__WP Carousel Pro__](https://shapedplugin.com/wp-carousel/pricing/?ref=1) gets you to access the full version of WP Carousel, automatic lifetime updates, and support.
296
 
297
+ =Is WP Carousel Multilingual Ready?=
298
+ Yes, WP Carousel is 100% translation ready and tested with [WPML](https://wpml.org/), [Polylang](https://wordpress.org/plugins/polylang/), [qTranslate-x](https://wordpress.org/plugins/qtranslate-x/), [GTranslate](https://wordpress.org/plugins/gtranslate/), [Google Language Translator](https://wordpress.org/plugins/google-language-translator/), [WPGlobus](https://wordpress.org/plugins/wpglobus/) etc.
299
 
300
+ = Is WP Carousel compatible with WordPress multisite? =
301
+ Yes, WP Carousel works perfectly with WordPress multi-site network.
302
 
303
+ = How to use ‘WP Carousel’ in WordPress 5.0 Gutenberg Block Editor =
304
+ Adding a **WP Carousel (Image Carousel, Post Carousel, Product Carousel)** using the WordPress 5.0 **Block Editor** is pretty straight-forward. You can paste the generated shortcode into a ‘Paragraph Block’ or use the ‘Shortcode Block’. It works nicely as classic editor.
305
 
306
  = Do you Like this Plugin and want to encourage us for improvement? =
307
  Please give the plugin [__5 stars__](https://wordpress.org/support/plugin/wp-carousel-free/reviews/?filter=5#new-post) rating and your precious appreciation will help us to make it much great in the future.
327
 
328
  == Changelog ==
329
 
330
+ = 2.4.11 – Sept 19, 2022 =
331
+ * Improved: Migrated from Slick to Swiper for carousel layout.
332
+ * Fix: Navigation icon issue at Gutenberg edit page with Astra theme.
333
+
334
  = 2.4.10 – Aug 29, 2022 =
335
  * Fix: WP Carousel does not works properly inside tab content of WP Tabs Pro.
336
  * Removed: Unused codes and assets from the plugin.
wp-carousel-free.php CHANGED
@@ -6,10 +6,10 @@
6
  * @since 2.0.0
7
  * @package WP_Carousel_Free
8
  *
9
- * Plugin Name: WordPress Carousel
10
  * Plugin URI: https://shapedplugin.com/wp-carousel/
11
  * Description: The Most Powerful and User-friendly WordPress Carousel Plugin. Create beautiful carousels in minutes using Images, Posts, WooCommerce Products etc.
12
- * Version: 2.4.10
13
  * Author: ShapedPlugin
14
  * Author URI: https://shapedplugin.com/
15
  * License: GPL-2.0+
@@ -17,7 +17,7 @@
17
  * Text Domain: wp-carousel-free
18
  * Domain Path: /languages
19
  * WC requires at least: 4.0
20
- * WC tested up to: 6.8.2
21
  */
22
 
23
  // If this file is called directly, abort.
@@ -119,7 +119,7 @@ class SP_WP_Carousel_Free {
119
  */
120
  public function setup() {
121
  $this->plugin_name = 'wp-carousel-free';
122
- $this->version = '2.4.10';
123
  $this->define_constants();
124
  $this->includes();
125
  $this->load_dependencies();
6
  * @since 2.0.0
7
  * @package WP_Carousel_Free
8
  *
9
+ * Plugin Name: WP Carousel
10
  * Plugin URI: https://shapedplugin.com/wp-carousel/
11
  * Description: The Most Powerful and User-friendly WordPress Carousel Plugin. Create beautiful carousels in minutes using Images, Posts, WooCommerce Products etc.
12
+ * Version: 2.4.11
13
  * Author: ShapedPlugin
14
  * Author URI: https://shapedplugin.com/
15
  * License: GPL-2.0+
17
  * Text Domain: wp-carousel-free
18
  * Domain Path: /languages
19
  * WC requires at least: 4.0
20
+ * WC tested up to: 6.9.2
21
  */
22
 
23
  // If this file is called directly, abort.
119
  */
120
  public function setup() {
121
  $this->plugin_name = 'wp-carousel-free';
122
+ $this->version = '2.4.11';
123
  $this->define_constants();
124
  $this->includes();
125
  $this->load_dependencies();